/* ==== app.css ==== */
:root{--ink:#111113;--muted:#6d6a67;--line:#dedbd6;--paper:#fff;--soft:#f6f4f1;--red:#e00000;--green:#168a4b;--amber:#b56b00;--shadow:0 12px 40px rgba(20,18,16,.08);font-family:'Google Sans','Poppins';color:var(--ink);background:var(--soft)}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}.brand{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none;font-weight:800}.brand img{width:28px;height:28px}.brand b{font-size:10px;letter-spacing:.14em;color:var(--red);border:1px solid var(--red);padding:3px 6px;border-radius:4px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:36px;box-shadow:var(--shadow)}h1,h2,p{margin-top:0}.login-card h1{margin:28px 0 8px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:var(--red);margin-bottom:8px}.muted{color:var(--muted)}label{display:grid;gap:6px;font-size:13px;font-weight:700;margin:16px 0}input{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff}.primary,.ghost{border:0;border-radius:8px;padding:11px 15px;font-weight:750}.primary{width:100%;background:var(--red);color:#fff}.ghost{background:rgba(255,255,255,.1);color:#fff}.error{background:#fff0f0;color:#9f1111;border:1px solid #f1b8b8;border-radius:8px;padding:10px;font-size:13px}.topbar{height:64px;padding:0 28px;display:flex;align-items:center;gap:28px;background:var(--ink);color:#fff;position:sticky;top:0;z-index:10}.topbar nav{display:flex;gap:4px;overflow:auto}.topbar nav a{color:#d4d1cd;text-decoration:none;padding:9px 10px;border-radius:7px;font-size:13px;font-weight:700;white-space:nowrap}.topbar nav a:hover,.topbar nav a.active{color:#fff;background:rgba(255,255,255,.1)}.account{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:12px;white-space:nowrap}main{max-width:1220px;margin:0 auto;padding:42px 28px 70px}.pill{display:inline-flex;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.pill.ok{background:#e1f4e9;color:#116837}.pill.warn{background:#fff0d8;color:#895000}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:28px 0}.stats article,.panel{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:20px}.stats strong{display:block;font-size:28px}.stats span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.panel h2{font-size:18px}.checks{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check{display:flex;gap:9px;padding:10px;border-radius:8px;background:var(--soft);font-size:13px}.check i{font-style:normal;color:var(--green);font-weight:900}.check.bad i{color:var(--amber)}dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:10px;font-size:13px}dt{color:var(--muted)}dd{margin:0;font-weight:700}@media(max-width:850px){.topbar{height:auto;min-height:64px;flex-wrap:wrap;padding:12px 18px}.topbar nav{order:3;width:100%}.account span{display:none}main{padding:28px 18px}.pill{margin-top:8px}.stats{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}.checks{grid-template-columns:1fr}}@media(max-width:480px){.stats{grid-template-columns:1fr}.login-card{padding:28px 22px}.brand b{display:none}}


/* ==== visibility.css ==== */
[hidden] {
  display: none !important;
}

/* ==== crm.css ==== */
.crm-tabs{display:flex;gap:.35rem;flex-wrap:wrap}.crm-tabs button{border:0;background:transparent;padding:.7rem 1rem;border-radius:9px;font-weight:700;color:#606067;cursor:pointer}.crm-tabs button.active{background:#171719;color:#fff}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:1rem;border-bottom:1px solid #ececef;vertical-align:middle}th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#777;background:#f7f7f8}td{font-size:.9rem}tbody tr:last-child td{border-bottom:0}.status{display:inline-flex;padding:.28rem .55rem;border-radius:999px;background:#f0f0f2;font-size:.75rem;font-weight:700}.modal{position:fixed;inset:0;z-index:20;background:rgba(17,17,19,.55);display:grid;place-items:center;padding:1rem}.modal[hidden]{display:none}.modal-card{width:min(680px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;padding:1.4rem;box-shadow:0 20px 60px rgba(0,0,0,.25)}.modal-head,.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.modal-head h2{margin:0}.icon-button{border:0;background:transparent;font-size:1.8rem;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.25rem 0}.form-grid label{display:grid;gap:.4rem;font-size:.78rem;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea{width:100%;box-sizing:border-box;border:1px solid #d9d9de;border-radius:8px;padding:.72rem;font:inherit}.form-grid textarea{min-height:90px}.form-grid .wide{grid-column:1/-1}.modal-actions{justify-content:flex-end}.sales-cart{border:1px solid #e1e1e5;border-radius:10px;margin-bottom:1rem}.pos-only{display:none}@media(max-width:700px){.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}}

/* ==== sales.css ==== */
.sales-periods{display:flex;gap:4px;padding:4px;background:#f1f1f3;border-radius:10px}.sales-periods button{border:0;background:transparent;padding:9px 14px;border-radius:7px;color:#626269}.sales-periods button.active{background:#fff;color:#171719;box-shadow:0 1px 4px #0001}.sales-empty{display:flex;min-height:180px;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#77777e}.sales-empty b{color:#242428;font-size:16px}
.sales-workspace{position:fixed;inset:0;z-index:100;background:#f4f5f7;overflow:auto}.sales-cart{min-height:230px}.document-error{position:sticky;bottom:16px;margin:18px auto 0;max-width:700px}.pos-only{display:none!important}.pos-mode .pos-only{display:flex!important}.pos-mode .quote-only{display:none!important}
#app .sales-list-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}
#app #sales-add[hidden]{display:none!important}
#app .sales-list-layout:has(>.sales-detail:not([hidden])){grid-template-columns:minmax(0,1fr) minmax(340px,380px)}
#app .sales-list-layout>.board{min-width:0;margin:0}
#app .sales-detail[hidden]{display:none!important}
#app .sales-detail{position:sticky;top:76px;min-width:0;max-height:calc(100vh - 92px);overflow:auto;padding:18px;border:0;border-radius:8px;background:#fff;box-shadow:0 3px 14px rgba(22,42,68,.08),0 1px 3px rgba(22,42,68,.035);color:#17181b}
#app .sales-detail h2{margin:0;font-size:20px;font-weight:650;line-height:1.25}
#app .sales-detail h3{margin:18px 0 9px;font-size:13px;font-weight:700}
#app .sales-detail small,#app .sales-detail p{color:#62656b;font-size:12px;line-height:1.5}
#app .sales-detail a{color:#a32034}
#app #sales-body tr.clickable{cursor:pointer}
#app #sales-body tr.clickable:hover td{background:#fbf8f3}
#app #sales-body tr.clickable.selected td{background:#fff2f3}
@media(max-width:1200px){#app .sales-list-layout:has(>.sales-detail:not([hidden])){grid-template-columns:minmax(0,1fr) 340px}}
@media(max-width:900px){#app .sales-list-layout:has(>.sales-detail:not([hidden])){grid-template-columns:minmax(0,1fr)}#app .sales-detail{position:static;max-height:none}}

/* ==== repairs.css ==== */
.repair-intake{width:min(850px,100%)}.repair-intake .ghost{background:#efeff1;color:#171719}.repair-number{font-weight:800}.repair-asset{display:flex;flex-direction:column;gap:3px}.repair-asset small{color:#73737a}.repair-status-select{min-width:150px;padding:8px;border:1px solid #dedee3;border-radius:8px;background:#fff}.priority-Urgent{color:#a21515;font-weight:800}.repair-empty{padding:65px 20px;text-align:center;color:#74747b}.repair-empty b{display:block;color:#222227;margin-bottom:6px}

/* ==== inventory.css ==== */
/* Omnisky Operations v0.5.0 — Inventory & reservations
 * Extends app.css. Only what the inventory screen needs. */

#inventory-view table td.n,#inventory-view table th.n{text-align:right;font-variant-numeric:tabular-nums}
#inventory-view table td.a,#inventory-view table th.a{text-align:right;white-space:nowrap}
#inventory-view td.held{color:#b54708;font-weight:600}
#inventory-view td.negative,#inventory-view .negative{color:#b42318;font-weight:600}

.sku{font-family:'Poppins';font-variant-numeric:tabular-nums;font-size:.82rem;color:#0b2545}

button.small{padding:.32rem .6rem;font-size:.82rem}
button.small+button.small{margin-left:.35rem}
button.danger{color:#b42318;border-color:#fda29b}
button.danger:hover{background:#fef3f2}

#inventory-view .status{display:inline-block;padding:.2rem .55rem;border-radius:1rem;font-size:.76rem;font-weight:600;background:#eef2f6;color:#3d4a5c}
.s-Active{background:#ecfdf3;color:#027a48}
.s-PartiallyConsumed{background:#fffaeb;color:#b54708}
.s-Consumed{background:#eef2f6;color:#3d4a5c}
.s-Expired,.s-Released,.s-Cancelled{background:#f2f4f7;color:#667085}
.s-critical{background:#fef3f2;color:#b42318}
.s-warning{background:#fffaeb;color:#b54708}
.s-info{background:#eef2f6;color:#3d4a5c}

/* ==== quote-versions.css ==== */
/* Omnisky Operations v0.5.0 — Quote versions
 * Slide-in drawer on the Sales screen. Extends app.css. */

#qv-drawer{position:fixed;inset:0;z-index:60}
.qv-backdrop{position:absolute;inset:0;background:rgba(11,37,69,.35)}
.qv-panel{position:absolute;top:0;right:0;bottom:0;width:min(46rem,100%);background:#fff;
  box-shadow:-8px 0 32px rgba(11,37,69,.18);display:flex;flex-direction:column;
  animation:qv-slide .18s ease-out}
@keyframes qv-slide{from{transform:translateX(2rem);opacity:.6}to{transform:none;opacity:1}}

.qv-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;
  padding:1.25rem 1.5rem 1rem;border-bottom:1px solid #e4eaf0}
.qv-head h2{margin:.15rem 0 .1rem;font-size:1.3rem;color:#0b2545}
.qv-head .muted{margin:0;font-size:.88rem}

#qv-note{margin:1rem 1.5rem 0;background:#ecfdf3;border:1px solid #a6f4c5;color:#027a48;
  padding:.65rem .85rem;border-radius:.5rem;font-size:.88rem}
#qv-error{margin:1rem 1.5rem 0;font-size:.88rem}

.qv-actions{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem 1.5rem .5rem}
.qv-actions .muted{align-self:center;font-size:.85rem}
.qv-rule{margin:0 1.5rem 1rem;font-size:.8rem;color:#667085;border-left:3px solid #c75000;
  padding-left:.7rem;line-height:1.45}

.qv-scroll{flex:1;overflow-y:auto;padding:0 1.5rem 2rem}

.qv-versions{list-style:none;margin:0 0 1.5rem;padding:0;display:flex;flex-direction:column;gap:.6rem}
.qv-version{border:1px solid #e4eaf0;border-radius:.6rem;padding:.8rem .9rem;cursor:pointer;
  transition:border-color .12s,background .12s}
.qv-version:hover{border-color:#c9d4df;background:#fbfcfd}
.qv-version.current{border-color:#0b2545;background:#f7f9fb}
.qv-version.open{border-color:#c75000}
.qv-v-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.3rem}
.qv-v-head strong{color:#0b2545;font-size:.95rem}
.qv-v-meta{font-size:.85rem;color:#3d4a5c}
.qv-v-dates{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:.35rem;font-size:.78rem;color:#667085}

.qv-lines h3{font-size:.95rem;color:#0b2545;margin:0 0 .6rem}
.qv-line-table{width:100%;border-collapse:collapse;font-size:.86rem}
.qv-line-table th{text-align:left;font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;
  color:#667085;border-bottom:1px solid #e4eaf0;padding:.45rem .5rem}
.qv-line-table td{padding:.5rem;border-bottom:1px solid #f2f4f7;vertical-align:top}
.qv-line-table .n,.qv-line-table th.n{text-align:right;font-variant-numeric:tabular-nums}

.line-type{display:inline-block;padding:.12rem .45rem;border-radius:1rem;font-size:.72rem;font-weight:600}
.t-part{background:#eef2f6;color:#0b2545}
.t-labour{background:#fffaeb;color:#b54708}
.t-service{background:#f0f9ff;color:#026aa2}
.t-fee,.t-discount,.t-note{background:#f2f4f7;color:#667085}

.qv-totals{display:grid;grid-template-columns:1fr auto;gap:.35rem 1.5rem;margin:1rem 0 0;
  font-size:.88rem;color:#3d4a5c}
.qv-totals dt{text-align:right}
.qv-totals dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.qv-totals .grand{font-weight:700;color:#0b2545;font-size:1rem;padding-top:.35rem;border-top:1px solid #e4eaf0}

.qv-empty{padding:2rem 1rem;text-align:center;color:#667085;font-size:.9rem}
.qv-empty b{display:block;color:#0b2545;margin-bottom:.35rem}

button.qv-open{margin-left:.6rem}

.qv-revise-card{max-width:56rem}
.qv-revise-card .hint{font-size:.82rem;color:#667085;margin:0 0 1rem;line-height:1.5}
.qv-line-head,.qv-line-row{display:grid;grid-template-columns:7rem 7rem 1fr 5rem 7rem 2rem;gap:.5rem;align-items:center}
.qv-line-head{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:#667085;margin-bottom:.4rem}
.qv-line-row{margin-bottom:.45rem}
.qv-line-row select,.qv-line-row input{padding:.45rem .55rem;border:1px solid #d6dee7;border-radius:.4rem;font:inherit;font-size:.86rem;width:100%}
.qv-line-row input:disabled{background:#f7f9fb;color:#98a2b3}
.qv-discount{display:flex;align-items:center;gap:.75rem;justify-content:flex-end;margin:1.2rem 0 0;font-size:.88rem;color:#3d4a5c}
.qv-discount input{width:9rem;padding:.45rem .55rem;border:1px solid #d6dee7;border-radius:.4rem;font:inherit;text-align:right}

@media(max-width:860px){
  .qv-panel{width:100%}
  .qv-line-head{display:none}
  .qv-line-row{grid-template-columns:1fr 1fr;gap:.4rem}
  .qv-line-row .l-desc{grid-column:1/-1}
}

/* ==== workshop.css ==== */
/* Omnisky Operations v0.6.0 — Workshop board and job drawer */
.ws-empty{padding:3rem 1rem;text-align:center;color:#667085}
.ws-empty b{display:block;color:#0b2545;margin-bottom:.35rem}

#ws-note{background:#fffaeb;border:1px solid #fedf89;color:#b54708;padding:.75rem .9rem;
  border-radius:.5rem;margin-bottom:1rem;font-size:.88rem;line-height:1.5}
#ws-note code{display:block;margin-top:.35rem;word-break:break-all;background:#fff;padding:.4rem .5rem;
  border-radius:.3rem;font-size:.78rem}

#ws-drawer{position:fixed;inset:0;z-index:60}
#ws-backdrop{position:absolute;inset:0;background:rgba(11,37,69,.35)}
.ws-panel{position:absolute;top:0;right:0;bottom:0;width:min(44rem,100%);background:#fff;
  display:flex;flex-direction:column;box-shadow:-8px 0 32px rgba(11,37,69,.18)}
.ws-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;
  padding:1.2rem 1.5rem 1rem;border-bottom:1px solid #e4eaf0}
.ws-head h2{margin:.1rem 0;font-size:1.25rem;color:#0b2545}
.ws-head p{margin:0;font-size:.85rem;color:#475467}
.ws-scroll{flex:1;overflow-y:auto;padding:0 1.5rem 2rem}

.ws-status{background:#f7f9fb;border-radius:.4rem;padding:.6rem .8rem;margin:1rem 0;font-size:.88rem;color:#344054}
.ws-block{border-top:1px solid #eaecf0;padding:1.1rem 0}
.ws-block h3{margin:0 0 .5rem;font-size:.95rem;color:#0b2545}
.ws-block p{margin:0;font-size:.9rem;color:#344054;line-height:1.5}
.ws-block-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.6rem;flex-wrap:wrap}
.ws-block-actions{display:flex;gap:.4rem;flex-wrap:wrap}
.ws-sub{font-size:.8rem;color:#667085;margin-top:.35rem}
#ws-diagnosis{width:100%;padding:.6rem .7rem;border:1px solid #d6dee7;border-radius:.4rem;font:inherit;font-size:.9rem;resize:vertical}

.ws-est{background:#f7f9fb;border:1px solid #e4eaf0;border-radius:.45rem;padding:.8rem .9rem}
.ws-est-total{font-size:1.35rem;font-weight:700;color:#0b2545;margin:.3rem 0}

.ws-parts-table{width:100%;border-collapse:collapse;font-size:.86rem}
.ws-parts-table th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;
  color:#667085;border-bottom:1px solid #e4eaf0;padding:.4rem}
.ws-parts-table td{padding:.5rem .4rem;border-bottom:1px solid #f2f4f7;vertical-align:top}
.ws-parts-table .n{text-align:right}

.ws-events{list-style:none;margin:0;padding:0;font-size:.85rem}
.ws-events li{padding:.5rem 0 .5rem .9rem;border-left:2px solid #e4eaf0;margin-bottom:.15rem}
.ws-ev{font-weight:600;color:#0b2545}
.ws-events em{color:#667085;font-style:normal}
.ws-events p{margin:.2rem 0;color:#475467;font-size:.84rem}
.ws-events time{display:block;font-size:.75rem;color:#98a2b3;margin-top:.15rem}

.ws-est-card{max-width:52rem}
.ws-line{display:grid;grid-template-columns:6.5rem 6.5rem 1fr 4.5rem 6.5rem 2rem;gap:.4rem;margin-bottom:.4rem}
.ws-line select,.ws-line input{padding:.45rem .5rem;border:1px solid #d6dee7;border-radius:.35rem;font:inherit;font-size:.85rem;width:100%}
.ws-line input:disabled{background:#f7f9fb;color:#98a2b3}
.ws-est-foot{display:flex;gap:1rem;align-items:flex-end;margin-top:1rem;flex-wrap:wrap}
.ws-est-foot label{flex:1;display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:#344054}
.ws-est-foot input,.ws-est-foot textarea{padding:.5rem .6rem;border:1px solid #d6dee7;border-radius:.4rem;font:inherit}

@media(max-width:820px){
  .ws-panel{width:100%}
  .ws-line{grid-template-columns:1fr 1fr;gap:.35rem}
  .ws-line .l-desc{grid-column:1/-1}
}
.collection-checks{border:1px solid #dedbd6;border-radius:10px;padding:12px 16px;display:grid;gap:8px}
.collection-checks legend{font-weight:600;padding:0 6px}
.collection-checks label{display:flex;align-items:center;gap:8px}
.collection-checks input{width:auto!important;margin:0}
.collection-signature{display:grid;gap:8px}
.collection-signature canvas{display:block;width:100%;height:130px;border:1px solid #cbc8c2;border-radius:8px;background:#fff;touch-action:none;cursor:crosshair}
.collection-signature button{justify-self:start}
.qc-checklist{display:grid;gap:12px}
.qc-check{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid #e4e1da;border-radius:9px}
.qc-check fieldset{display:flex;gap:10px;border:0;padding:0;margin:0}
.qc-check label{display:flex;gap:4px;align-items:center;white-space:nowrap}
.qc-check input{margin:0}
.qc-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
@media(max-width:680px){.qc-check{grid-template-columns:1fr}.qc-check fieldset{flex-wrap:wrap}}

/* ==== design.css ==== */
/* ===================================================================
   OMNISKY OPERATIONS — Design system v0.7
   Loaded last, so it overrides app.css without editing it.

   Direction: the hangar board. This is a tool used standing up, in a
   workshop, on a phone. Legibility at arm's length beats decoration.

   Status colour is a separate vocabulary from brand colour. Omnisky red
   means Omnisky; it never means "overdue". A technician must be able to
   read state from colour alone without learning it.
   =================================================================== */

:root{
  /* Surfaces */
  --paper:#FBFBF9;
  --card:#FFFFFF;
  --sunk:#F3F4F2;
  --line:#E2E5E9;
  --line-strong:#C8CDD4;

  /* Text */
  --ink:#14181F;
  --slate:#5A6472;
  --faint:#8B94A1;

  /* Status — meaning, not decoration */
  --ready:#1E7A4C;      --ready-bg:#ECF6F0;
  --waiting:#B26B00;    --waiting-bg:#FDF5E7;
  --overdue:#C0342B;    --overdue-bg:#FCEFEE;
  --resting:#5A6472;    --resting-bg:#F3F4F2;

  /* Brand */
  --brand:#E11D2E;
  --hull:#14181F;

  --r-tag:3px;
  --r-card:6px;
  --shadow:0 1px 2px rgba(20,24,31,.06);
}

/* Google Sans and Poppins are loaded by index.html. */

body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Google Sans','Poppins';
  font-size:15px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

/* Identifiers use Poppins with tabular numerals for alignment. */
.sku,.mono,.qv-line-table .sku,code{
  font-family:'Poppins';
  font-variant-numeric:tabular-nums;
  font-variant-ligatures:none;
}

h1,h2,h3{letter-spacing:-.012em;font-weight:600;font-family:'Poppins'}
h1{font-size:1.55rem;line-height:1.2}
h2{font-size:1.15rem}
h3{font-size:.98rem}

/* The all-caps tracked eyebrow is gone from static headings — it
   labelled things that were already labelled. Two remain because they
   carry live values (the document kind, the version being revised), so
   this restyles rather than hides them: hiding would have blanked real
   content. */
.eyebrow{
  font-size:.82rem;letter-spacing:0;text-transform:none;
  font-weight:500;color:var(--slate);margin:0 0 .1rem;
}
.eyebrow:empty{display:none}

/* ---------- Top bar -------------------------------------------- */
.topbar{background:var(--hull);border-bottom:0;padding:0}
.topbar nav a{
  font-size:.9rem;font-weight:500;letter-spacing:0;
  padding:1.05rem .95rem;border-radius:0;border-bottom:2px solid transparent;
}
.topbar nav a.active{background:transparent;border-bottom-color:var(--brand);color:#fff}
.topbar nav a:hover{background:rgba(255,255,255,.06)}

/* ---------- Today ---------------------------------------------- */

.lanes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;align-items:start}
.lane{min-width:0}
.lane-head{
  display:flex;align-items:baseline;gap:.5rem;
  padding:0 0 .55rem;margin-bottom:.75rem;border-bottom:2px solid var(--ink);
}
.lane-head h2{margin:0;font-size:.9rem;font-weight:600}
.lane-head .n{margin-left:auto;font-size:.85rem;color:var(--slate);font-variant-numeric:tabular-nums}
.lane[data-tone="now"] .lane-head{border-bottom-color:var(--overdue)}
.lane[data-tone="bench"] .lane-head{border-bottom-color:var(--waiting)}
.lane[data-tone="ready"] .lane-head{border-bottom-color:var(--ready)}

/* ---------- The job card: a repair tag ------------------------- *
   The signature element. Everything else on the page stays quiet.  */
.tag{
  position:relative;background:var(--card);border:1px solid var(--line);
  border-left:4px solid var(--resting);border-radius:var(--r-tag);
  padding:.75rem .85rem .7rem;margin-bottom:.6rem;cursor:pointer;
  display:block;width:100%;text-align:left;font:inherit;color:inherit;
}
.tag:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}
.tag:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.tag[data-tone="overdue"]{border-left-color:var(--overdue)}
.tag[data-tone="waiting"]{border-left-color:var(--waiting)}
.tag[data-tone="ready"]{border-left-color:var(--ready)}
.tag[data-tone="bench"]{border-left-color:var(--hull)}

.tag-id{
  font-family:'Poppins';font-size:.73rem;font-weight:500;font-variant-numeric:tabular-nums;
  color:var(--faint);letter-spacing:.01em;
}
.tag-asset{display:block;font-weight:600;font-size:.97rem;margin:.15rem 0 .05rem;line-height:1.25}
.tag-serial{font-family:'Poppins';font-size:.75rem;color:var(--slate);font-variant-numeric:tabular-nums}
.tag-who{display:block;font-size:.84rem;color:var(--slate);margin-top:.2rem}

/* The line that says why this card is in this lane. One job each. */
.tag-why{
  display:flex;align-items:center;gap:.4rem;margin-top:.55rem;
  padding-top:.5rem;border-top:1px solid var(--line);
  font-size:.82rem;font-weight:500;
}
.tag-why[data-tone="overdue"]{color:var(--overdue)}
.tag-why[data-tone="waiting"]{color:var(--waiting)}
.tag-why[data-tone="ready"]{color:var(--ready)}
.tag-why[data-tone="resting"]{color:var(--slate);font-weight:400}
.tag-money{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}

.lane-empty{
  border:1px dashed var(--line-strong);border-radius:var(--r-tag);
  padding:1.5rem 1rem;text-align:center;color:var(--faint);font-size:.85rem;
}

/* ---------- Counters strip ------------------------------------- */

/* ---------- Shared primitives ---------------------------------- */
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:none}

.status{
  display:inline-block;padding:.13rem .5rem;border-radius:2px;
  font-size:.75rem;font-weight:600;letter-spacing:.005em;
  background:var(--resting-bg);color:var(--resting);
}
.s-Active,.s-Accepted,.s-Ready.for.collection{background:var(--ready-bg);color:var(--ready)}
.s-PartiallyConsumed,.s-Sent,.s-Viewed,.s-warning{background:var(--waiting-bg);color:var(--waiting)}
.s-critical,.s-Rejected{background:var(--overdue-bg);color:var(--overdue)}

button,.ghost,.primary{border-radius:var(--r-tag);font-family:inherit}
.primary{background:var(--ink);border-color:var(--ink)}
.primary:hover{background:#000}
.ghost{border-color:var(--line-strong);color:var(--ink)}
.ghost:hover{background:var(--sunk)}

table td,table th{border-color:var(--line)}
th{color:var(--slate);font-weight:600;letter-spacing:0;text-transform:none;font-size:.8rem}

/* ---------- Motion --------------------------------------------- *
   One orchestrated moment: the board arriving. Nothing else moves
   unless a person caused it.                                       */
@keyframes tag-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.lanes .tag{animation:tag-in .22s ease-out backwards}
.lanes .lane:nth-child(1) .tag{animation-delay:.02s}
.lanes .lane:nth-child(2) .tag{animation-delay:.06s}
.lanes .lane:nth-child(3) .tag{animation-delay:.1s}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}

/* ---------- Phone ---------------------------------------------- *
   A technician holds this one-handed at a bench, so lanes stack and
   the tags stay full width and thumb-sized.                         */
@media(max-width:840px){
  .lanes{grid-template-columns:1fr;gap:1.75rem}
  .tag{padding:.9rem;margin-bottom:.5rem}
}

/* ===================================================================
   SHARED VIEW CHROME
   Every screen now uses the same four parts: a head, a strip of
   counters that link somewhere, a bar of tabs, and a board. Learning
   one screen teaches you all of them.
   =================================================================== */

.view-head{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:1.5rem;flex-wrap:wrap;padding:1.75rem 0 1.1rem;
  border-bottom:1px solid var(--line);margin-bottom:1.25rem;
}
.view-head h1{margin:0;font-size:1.5rem}
/* One sentence, saying what the screen is for. Not documentation. */
.view-sub{margin:.3rem 0 0;font-size:.9rem;color:var(--slate);max-width:56ch}
.view-tools{display:flex;gap:.5rem;flex-shrink:0}

/* Counters are navigation, not decoration: each one goes somewhere. */
.stats{display:none}
.crm-tabs,.sales-periods{
  display:inline-flex;gap:0;background:transparent;padding:0;border-radius:0;
  border-bottom:1px solid var(--line);
}
.crm-tabs button,.sales-periods button{
  background:transparent;border:0;border-bottom:2px solid transparent;
  padding:.5rem .85rem;margin-bottom:-1px;border-radius:0;
  font:inherit;font-size:.9rem;color:var(--slate);cursor:pointer;
}
.crm-tabs button:hover,.sales-periods button:hover{color:var(--ink)}
.crm-tabs button.active,.sales-periods button.active{
  color:var(--ink);font-weight:600;border-bottom-color:var(--ink);background:transparent;box-shadow:none;
}

.filters{
  display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem;
}
.filters input,.filters select{
  padding:.5rem .65rem;border:1px solid var(--line-strong);border-radius:var(--r-tag);
  font:inherit;font-size:.9rem;background:var(--card);min-width:14rem;
}
.filters input:focus,.filters select:focus{
  outline:2px solid var(--ink);outline-offset:-1px;border-color:var(--ink);
}

.board{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}
.board table{margin:0}
.board th{background:var(--sunk);padding:.6rem .8rem;border-bottom:1px solid var(--line)}
.board td{padding:.7rem .8rem}
.board tbody tr:last-child td{border-bottom:0}
.board tbody tr:hover{background:var(--sunk)}

.notice{padding:.7rem .9rem;border-radius:var(--r-tag);margin:0 0 1rem;font-size:.88rem;border:1px solid}
.notice.bad{background:var(--overdue-bg);border-color:#F3C9C6;color:var(--overdue)}
.notice.warn{background:var(--waiting-bg);border-color:#EBD5A8;color:var(--waiting)}
.notice.good{background:var(--ready-bg);border-color:#B9DEC9;color:var(--ready)}

/* Everything under here is the long tail: the full list, the archive.
   Collapsed by default so the board is what you see first. */

/* An unbuilt screen should say so plainly and send you somewhere real,
   rather than pretending with an empty table. */

/* ---------- Tables on a phone --------------------------------------
   A technician checking stock at the bench gets rows as blocks with
   their column names attached, instead of a sideways scroll.        */
@media(max-width:760px){
  .view-head{padding:1.25rem 0 1rem}
  .view-head h1{font-size:1.3rem}
  .filters input,.filters select{min-width:100%;flex:1 1 100%}
  .crm-tabs,.sales-periods{overflow-x:auto;-webkit-overflow-scrolling:touch}

  .board thead{display:none}
  .board tbody tr{display:block;padding:.85rem;border-bottom:1px solid var(--line)}
  .board tbody td{
    display:flex;justify-content:space-between;gap:1rem;
    padding:.2rem 0;border:0;text-align:right;
  }
  .board tbody td::before{
    content:attr(data-label);font-size:.78rem;color:var(--slate);
    text-align:left;flex-shrink:0;font-weight:500;
  }
  .board tbody td:first-child{
    text-align:left;font-weight:600;padding-bottom:.4rem;
    margin-bottom:.3rem;border-bottom:1px solid var(--line);
  }
  .board tbody td:first-child::before{display:none}
}

/* ---------- Focus is never invisible ------------------------------- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,summary:focus-visible{
  outline:2px solid var(--ink);outline-offset:2px;
}


/* A RepairDesk ticket is shown but not actionable in Operations yet —
   there is no job behind it to open. Marking it plainly is better than
   a card that looks clickable and does nothing. */
.tag.remote{cursor:default;background:repeating-linear-gradient(135deg,#fff,#fff 8px,#FCFCFB 8px,#FCFCFB 16px)}
.tag.remote:hover{box-shadow:none;border-color:var(--line)}
.origin{
  display:inline-block;margin-left:.35rem;padding:.02rem .3rem;
  background:var(--sunk);color:var(--slate);border-radius:2px;
  font-family:'Google Sans','Poppins';font-size:.65rem;font-weight:600;letter-spacing:.02em;
}

/* The reported fault, under the aircraft. Quieter than the aircraft
   name but still readable at arm's length. */
.tag-fault{
  display:block;font-size:.82rem;color:var(--slate);line-height:1.35;
  margin-top:.1rem;
}

/* Keep the requested typography readable when Google Fonts is unavailable. */
body,body button,body input,body select,body textarea,body *{font-family:'Google Sans','Poppins',sans-serif!important}
body h1,body h2,body h3{font-family:'Poppins','Google Sans',sans-serif!important}

/* ==== entity.css ==== */
/* ===================================================================
   OMNISKY OPERATIONS — Entity pages v0.9

   One layout for every record: breadcrumb, identity and status, the
   actions that apply to it, a strip of facts, then tabs.

   Borrowed shamelessly from Dolibarr and Snipe-IT, where a quotation,
   a customer and a work order all look the same. Learning one page
   teaches you all of them — which is the thing this app was missing.
   =================================================================== */

.crumbs{
  display:flex;align-items:center;gap:.5rem;padding:1.25rem 0 .25rem;
  font-size:.85rem;color:var(--faint);
}
.crumbs a{color:var(--slate);text-decoration:none}
.crumbs a:hover{color:var(--ink);text-decoration:underline}
.crumb-now{color:var(--ink);font-weight:500}

.entity-head{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:1.5rem;flex-wrap:wrap;padding:.25rem 0 1.1rem;
}
.entity-title{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}
.entity-title h1{
  margin:0;font-size:1.5rem;letter-spacing:-.015em;
  font-family:'Poppins';font-variant-numeric:tabular-nums;font-weight:600;
}
.entity-sub{margin:.3rem 0 0;font-size:.95rem;color:var(--slate)}
.entity-actions{display:flex;gap:.5rem;flex-wrap:wrap;flex-shrink:0}
.entity-actions button:disabled{opacity:.45;cursor:not-allowed}

/* The four or five things you need without opening a tab. */
.entity-facts{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));
  gap:0;margin:0 0 1.5rem;border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.entity-facts > div{padding:.75rem 1rem .75rem 0;border-right:1px solid var(--line)}
.entity-facts > div:last-child{border-right:0}
.entity-facts dt{font-size:.78rem;color:var(--slate);margin-bottom:.15rem}
.entity-facts dd{margin:0;font-size:.95rem;font-weight:500;color:var(--ink)}
.entity-facts dd.negative{color:var(--overdue)}

.entity-tabs{
  display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:1.5rem;
  overflow-x:auto;-webkit-overflow-scrolling:touch;
}
.entity-tabs button{
  background:transparent;border:0;border-bottom:2px solid transparent;
  padding:.6rem .95rem;margin-bottom:-1px;border-radius:0;
  font:inherit;font-size:.92rem;color:var(--slate);cursor:pointer;white-space:nowrap;
}
.entity-tabs button:hover{color:var(--ink)}
.entity-tabs button.active{color:var(--ink);font-weight:600;border-bottom-color:var(--ink)}
.entity-tabs .n{
  display:inline-block;margin-left:.3rem;padding:.02rem .35rem;
  background:var(--sunk);border-radius:.7rem;font-size:.72rem;color:var(--slate);
}

.entity-body{padding-bottom:3rem}

.panel-block{border-bottom:1px solid var(--line);padding:0 0 1.4rem;margin-bottom:1.4rem}
.panel-block:last-child{border-bottom:0}
.panel-block h3{margin:0 0 .5rem;font-size:.95rem}
.panel-block p{margin:0;color:var(--ink);line-height:1.55}
.panel-block textarea{
  width:100%;padding:.7rem .8rem;border:1px solid var(--line-strong);
  border-radius:var(--r-tag);font:inherit;font-size:.93rem;resize:vertical;background:var(--card);
}
.panel-block textarea:focus{outline:2px solid var(--ink);outline-offset:-1px}

.detail-list{display:grid;grid-template-columns:10rem 1fr;gap:.6rem 1.25rem;margin:0;font-size:.93rem}
.detail-list > div{display:contents}
.detail-list dt{color:var(--slate)}
.detail-list dd{margin:0}

/* Shared empty state. Every list uses this one, so "nothing here" always
   looks and reads the same. */
.list-empty{
  border:1px dashed var(--line-strong);border-radius:var(--r-card);
  padding:2.5rem 1.5rem;text-align:center;color:var(--slate);
}
.list-empty b{display:block;color:var(--ink);font-size:1rem;margin-bottom:.35rem}
.list-empty span{font-size:.9rem}
.list-empty a{color:var(--ink)}

.rowlink{cursor:pointer}
.rowlink:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}

.timeline{list-style:none;margin:0;padding:0;font-size:.9rem}
.timeline li{padding:.6rem 0 .6rem 1rem;border-left:2px solid var(--line);margin-bottom:.1rem}
.timeline .ev{font-weight:600;color:var(--ink)}
.timeline em{color:var(--slate);font-style:normal}
.timeline p{margin:.25rem 0;color:var(--slate)}
.timeline time{display:block;font-size:.78rem;color:var(--faint);margin-top:.2rem}

.hint{font-size:.83rem;color:var(--slate);margin:1rem 0 0}
.loading{padding:3rem 0;text-align:center;color:var(--faint)}

/* Job cards are anchors now, not buttons — so middle-click, open in a
   new tab and the back button all work without any JavaScript. */
a.tag{text-decoration:none;color:inherit;display:block}
a.tag.remote{cursor:default}

@media(max-width:760px){
  .entity-head{flex-direction:column;gap:1rem}
  .entity-actions{width:100%}
  .entity-actions button{flex:1 1 auto}
  .entity-facts{grid-template-columns:1fr 1fr}
  .entity-facts > div{border-right:0;border-bottom:1px solid var(--line)}
  .detail-list{grid-template-columns:1fr;gap:.15rem}
  .detail-list dt{margin-top:.6rem}
}

/* ===================================================================
   WORK LIST
   Dense by design. A workshop list must answer, without opening
   anything: which aircraft, whose, which serial, how to reach them,
   what it is worth, what stage. Whitespace is not the priority here —
   answering the question in one glance is.
   =================================================================== */

/* Phone and email are links: chasing a customer is a tap, not a
   navigation into a detail page and back out again. */
.customer-record-related{display:inline-flex;margin-top:12px;color:#bd1732;font-weight:700;text-decoration:none}
.customer-record-related:hover{text-decoration:underline}

/* ==== shell.css ==== */
/* Omnisky Operations v0.10.0 — unified application shell
 * Loaded after the existing design system so legacy workflows keep their
 * component styling while navigation and module structure can scale.
 */

:root{
  --rail-width:236px;
  --utility-height:64px;
  --rail-muted:#98A2B3;
  --rail-hover:#222832;
  --focus:#355CFF;
}

#app{
  min-height:100vh;
  grid-template-columns:var(--rail-width) minmax(0,1fr);
  grid-template-rows:var(--utility-height) minmax(calc(100vh - var(--utility-height)),auto);
  background:var(--paper);
}

.app-rail.topbar{
  grid-column:1;
  grid-row:1 / span 2;
  position:sticky;
  top:0;
  z-index:40;
  width:var(--rail-width);
  height:100vh;
  min-height:0;
  padding:.9rem .7rem .8rem;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  overflow-y:auto;
  background:var(--hull);
  color:#fff;
  border:0;
}

.rail-brand-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.15rem .55rem 1.15rem}
.app-rail .brand{min-width:0;color:#fff;gap:.5rem}
.app-rail .brand img{width:25px;height:25px}
.app-rail .brand span{font-size:.94rem;letter-spacing:.045em}
.app-rail .brand b{font-size:.6rem;padding:.15rem .3rem;border-radius:2px;color:#fff;border-color:rgba(255,255,255,.32)}
.rail-close{display:none;color:#fff;background:transparent;border-color:transparent}
.rail-section-label{margin:.8rem .7rem .3rem;color:#7F8998;font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}

.app-rail.topbar nav{
  display:grid;
  order:initial;
  flex:0 0 auto;
  width:100%;
  gap:.13rem;
  overflow:visible;
}
.app-rail.topbar nav a{
  min-width:0;
  display:grid;
  grid-template-columns:1.55rem minmax(0,1fr) auto;
  align-items:center;
  gap:.55rem;
  padding:.55rem .65rem;
  border:0;
  border-radius:4px;
  color:#C6CCD4;
  font-size:.86rem;
  font-weight:500;
  line-height:1.2;
}
.app-rail.topbar nav a:hover{background:var(--rail-hover);color:#fff}
.app-rail.topbar nav a.active{background:#2A303A;color:#fff;box-shadow:inset 3px 0 0 var(--brand)}
.nav-glyph{
  width:1.45rem;height:1.45rem;display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.16);border-radius:4px;
  color:#AEB6C2;font-family:'Poppins';font-size:.68rem;font-weight:600;font-variant-numeric:tabular-nums;
}
.app-rail a.active .nav-glyph{color:#fff;border-color:rgba(255,255,255,.34)}
.app-rail nav em{
  min-width:1.2rem;padding:.05rem .35rem;border-radius:999px;background:var(--brand);
  color:#fff;font-size:.65rem;font-style:normal;text-align:center;font-variant-numeric:tabular-nums;
}
.rail-spacer{flex:1 1 2rem;min-height:1rem}
.rail-build{margin:.8rem .55rem 0;padding:.7rem .65rem 0;border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:#7F8998;font-size:.68rem}
.rail-build code{color:#AEB6C2;font-size:.67rem}

.utilitybar{
  grid-column:2;
  grid-row:1;
  position:sticky;
  top:0;
  z-index:35;
  min-width:0;
  height:var(--utility-height);
  display:flex;
  align-items:center;
  gap:.8rem;
  padding:.6rem 1.3rem;
  background:rgba(251,251,249,.96);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(9px);
}
.utility-icon{
  position:relative;width:2.25rem;height:2.25rem;display:grid;place-items:center;flex:0 0 auto;
  border:1px solid var(--line);border-radius:4px;background:var(--card);color:var(--ink);font:600 .9rem 'Google Sans','Poppins';
}
.utility-icon:hover{background:var(--sunk)}
#rail-open{display:none;font-size:1.1rem}
.context-switch{
  min-width:9rem;max-width:13rem;display:grid;gap:.02rem;text-align:left;
  padding:.35rem .55rem;border:0;border-radius:4px;background:transparent;color:var(--ink);
}
.context-switch:hover{background:var(--sunk)}
.context-switch span{font-size:.82rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.context-switch small{font-size:.68rem;color:var(--slate)}

.global-search{position:relative;flex:1 1 30rem;max-width:46rem;margin:0 auto}
.global-search > span{position:absolute;left:.75rem;top:50%;transform:translateY(-52%);z-index:1;color:var(--slate);font-size:1.05rem}
.global-search input{height:2.5rem;margin:0;padding:.55rem 3rem .55rem 2.25rem;border:1px solid var(--line-strong);border-radius:5px;background:var(--card);font-size:.86rem}
.global-search input:focus{outline:2px solid var(--focus);outline-offset:-1px;border-color:var(--focus)}
.global-search kbd{position:absolute;right:.65rem;top:50%;transform:translateY(-50%);border:1px solid var(--line);border-bottom-color:var(--line-strong);border-radius:3px;padding:.02rem .35rem;color:var(--faint);background:var(--sunk);font:500 .68rem 'Poppins'}
.global-search-results{
  position:absolute;left:0;right:0;top:calc(100% + .5rem);max-height:min(34rem,calc(100vh - 6rem));overflow:auto;
  background:var(--card);border:1px solid var(--line-strong);border-radius:6px;box-shadow:0 18px 45px rgba(20,24,31,.16);padding:.35rem;z-index:70;
}
.search-state{padding:1rem;color:var(--slate);font-size:.84rem;text-align:center}
.search-group + .search-group{margin-top:.35rem;padding-top:.35rem;border-top:1px solid var(--line)}
.search-group h3{margin:.25rem .55rem;color:var(--faint);font-size:.67rem;text-transform:uppercase;letter-spacing:.08em}
.search-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;padding:.55rem .6rem;border-radius:4px;text-decoration:none;color:var(--ink)}
.search-result:hover,.search-result:focus{background:var(--sunk)}
.search-result b{display:block;font-size:.84rem;font-weight:600}
.search-result span,.search-result small{display:block;color:var(--slate);font-size:.72rem}
.search-result .search-id{font-family:'Poppins';font-variant-numeric:tabular-nums;color:var(--faint);white-space:nowrap;text-align:right}

.utility-actions{display:flex;align-items:center;gap:.55rem;margin-left:auto}
/* Match the approved top-right grouping: Create, bell, avatar and name. */
.context-switch{display:none}
.global-search{margin-left:0;margin-right:auto;max-width:34rem}
.utility-actions{gap:1rem}
#global-create{min-height:2.25rem;padding:.55rem 1rem;border-radius:5px;box-shadow:0 2px 5px rgba(204,0,20,.13)}
.attention-button{border:0;background:transparent}
.attention-button:hover,.attention-button:focus-visible{background:var(--sunk)}
.actor-copy small{display:none}
.account-toggle{gap:.65rem}
.actor-avatar{width:2.25rem;height:2.25rem;background:#718198;font-size:.78rem}
.actor-copy b{max-width:11rem;font-size:.81rem}
.primary,.ghost{width:auto}
.login-card .primary{width:100%}
.compact{padding:.55rem .75rem;font-size:.78rem}
.create-wrap{position:relative}
#global-create{display:flex;align-items:center;gap:.45rem}
#global-create span{font-size:1rem;line-height:.7}
.create-menu{
  position:absolute;right:0;top:calc(100% + .5rem);width:18rem;padding:.35rem;
  background:var(--card);border:1px solid var(--line-strong);border-radius:6px;box-shadow:0 18px 45px rgba(20,24,31,.16);z-index:70;
}
.create-menu a{display:grid;gap:.08rem;padding:.65rem .7rem;border-radius:4px;color:var(--ink);text-decoration:none}
.create-menu a:hover,.create-menu a:focus{background:var(--sunk)}
.create-menu b{font-size:.84rem}.create-menu span{font-size:.72rem;color:var(--slate)}
.attention-button em{position:absolute;right:-.35rem;top:-.35rem;min-width:1.15rem;padding:.06rem .28rem;border-radius:999px;background:var(--overdue);color:#fff;font-size:.62rem;font-style:normal}
.attention-button{display:grid;place-items:center}
.account{margin:0;padding-left:.2rem;color:var(--ink);gap:.45rem}
.account-menu-wrap{position:relative}
.account-toggle{display:flex;align-items:center;gap:.5rem;padding:.2rem .4rem;border:0;background:transparent;color:var(--ink);cursor:pointer}
.account-toggle:hover,.account-toggle:focus-visible{background:var(--sunk)}
.account-chevron{font-size:1.1rem;color:var(--slate)}
.account-menu{position:absolute;right:0;top:calc(100% + .5rem);width:13rem;padding:.3rem;background:var(--card);border:1px solid var(--line-strong);border-radius:6px;box-shadow:0 18px 45px rgba(20,24,31,.16);z-index:70}
.account-menu-label{padding:.55rem .65rem;border-bottom:1px solid var(--line);color:var(--slate);font-size:.73rem}
.account-menu-label b{display:block;color:var(--ink);font-size:.82rem;overflow:hidden;text-overflow:ellipsis}
.account-menu button{width:100%;padding:.6rem .65rem;text-align:left;border:0;background:transparent;color:var(--ink);cursor:pointer}
.account-menu button:hover,.account-menu button:focus-visible{background:var(--sunk)}
.actor-avatar{width:2rem;height:2rem;display:grid;place-items:center;border-radius:50%;background:var(--hull);color:#fff;font-size:.72rem;font-weight:700}
.actor-copy{display:grid;min-width:0;line-height:1.2}
.actor-copy b{max-width:8rem;overflow:hidden;text-overflow:ellipsis;font-size:.77rem;white-space:nowrap}
.actor-copy small{color:var(--slate);font-size:.64rem;text-transform:capitalize}
.account .ghost{background:transparent;color:var(--slate);border:1px solid var(--line)}
.account .ghost:hover{background:var(--sunk);color:var(--ink)}

main.app-view{
  grid-column:2;
  grid-row:2;
  width:100%;
  max-width:1560px;
  min-width:0;
  margin:0 auto;
  padding:1.25rem clamp(1.15rem,2.6vw,2.5rem) 4rem;
}
.app-view[hidden]{display:none!important}
.button-link{display:inline-flex;align-items:center;text-decoration:none}

.authority-banner{
  display:flex;align-items:flex-start;gap:.7rem;margin:0 0 1rem;padding:.72rem .85rem;
  border:1px solid #C9D7FF;border-radius:5px;background:#F2F6FF;color:#29406F;font-size:.84rem;
}
.authority-banner > span{width:1.2rem;height:1.2rem;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#DCE7FF;font-size:.7rem;font-weight:700}
.authority-banner p{margin:0}.authority-banner a{color:inherit;font-weight:600}
.ws-est-hint{font-size:.82rem;color:#667085;margin:0 0 1rem}
.ws-est-discount{max-width:10rem}
.metric{padding:.85rem 1rem;border:1px solid var(--line);border-radius:5px;background:var(--card)}
.metric b{display:block;font-size:1.45rem;line-height:1.2;font-weight:600;font-variant-numeric:tabular-nums}.metric span{display:block;margin-top:.2rem;color:var(--slate);font-size:.73rem}
.metric.alert b{color:var(--overdue)}
.work-empty{margin:0;padding:1rem;color:var(--faint);font-size:.76rem;text-align:center}
.module-empty{padding:2.4rem 1.5rem;border:1px dashed var(--line-strong);border-radius:6px;text-align:center;color:var(--slate)}
.module-empty b{display:block;margin-bottom:.35rem;color:var(--ink)}
.module-empty p{max-width:48rem;margin:0 auto .9rem;font-size:.85rem}
.module-empty a{display:inline-block;padding:.5rem .75rem;border:1px solid var(--line-strong);border-radius:4px;color:var(--ink);text-decoration:none;font-size:.8rem}
.module-empty a:hover{background:var(--sunk)}
.cutover{margin-top:1.2rem;padding:1rem;border:1px solid var(--line);border-radius:6px;background:var(--card)}

.rail-backdrop{display:none}

@media(max-width:1180px){
  .actor-copy{display:grid}
  .context-switch{min-width:7rem;max-width:9rem}
}

@media(max-width:980px){
  #app{grid-template-columns:minmax(0,1fr)}
  .app-rail.topbar{position:fixed;left:0;top:0;transform:translateX(-105%);transition:transform .18s ease;box-shadow:0 0 30px rgba(0,0,0,.25)}
  body.rail-open .app-rail{transform:translateX(0)}
  .rail-close,#rail-open{display:grid}
  .utilitybar,main.app-view{grid-column:1}
  .rail-backdrop{position:fixed;inset:0;z-index:38;border:0;background:rgba(20,24,31,.45)}
  body.rail-open .rail-backdrop{display:block}
  .context-switch{display:none}
}

@media(max-width:760px){
  .utilitybar{padding:.55rem .75rem;gap:.5rem}
  .global-search kbd{display:none}
  .global-search input{padding-right:.65rem}
  .actor-copy{display:none}
  .create-wrap .primary{font-size:0;width:2.25rem;height:2.25rem;padding:0}
  .create-wrap .primary::after{content:'+';font-size:1.15rem}
}

@media(max-width:480px){
  .utility-actions{gap:.3rem}
  .attention-button{display:grid}
  main.app-view{padding:1rem .85rem 3rem}
}

@media(prefers-reduced-motion:reduce){.app-rail.topbar{transition:none}}

/* v0.17.6.0 — account security */
.floating-note{position:fixed;right:16px;bottom:16px;z-index:200;max-width:min(360px,calc(100vw - 32px));box-shadow:0 8px 24px rgba(0,0,0,.15)}
.twofa-steps{margin:0 0 12px 18px;padding:0;line-height:1.6}
.twofa-key{display:inline-block;margin:4px 0;padding:6px 10px;border-radius:6px;background:var(--surface-2,#f1f3f5);font-size:15px;letter-spacing:.06em;user-select:all;word-break:break-all}
/* v0.17.6.0 — in-page dialogs */
.ops-dialog{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:16px;background:rgba(15,23,42,.45)}
.ops-dialog-card{width:min(440px,100%);display:grid;gap:12px;padding:20px}
.ops-dialog-text p{margin:0 0 6px;line-height:1.5}
.ops-dialog-input{width:100%}
.ops-dialog .danger{background:#b42318;color:#fff;border-color:#b42318}
/* v0.17.6.0 — visible keyboard focus everywhere, and urgency not shown by colour alone */
#app :focus-visible,.login-card :focus-visible,.modal :focus-visible{outline:2px solid #1d4ed8!important;outline-offset:2px!important;box-shadow:none}
#app tr[tabindex]:focus-visible{outline-offset:-2px!important}
.urgent-text{color:#b42318;font-weight:700}
/* v0.17.6.0 — Admin → System check */
.sys-state{display:inline-block;min-width:52px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;text-align:center}
.sys-ok{background:#e7f6ec;color:#1e6b3a}.sys-warn{background:#fff4e0;color:#8a4b00}.sys-fail{background:#fdecec;color:#b42318}
.sys-check-table td:last-child{white-space:normal;min-width:280px}
/* v0.17.6.0 — credit note form */
#sx-inv-credit .sx-form-grid{grid-template-columns:1fr!important}
#sx-inv-credit .sx-check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;font-weight:500}
#sx-inv-credit .sx-check input{width:18px!important;height:18px!important;margin:0;flex:0 0 auto}
#app #sx-inv-credit label.sx-check{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important}
#app #sx-inv-credit label.sx-check input[type=checkbox]{width:18px!important;height:18px!important;min-width:18px!important;min-height:0!important;padding:0!important;margin:0!important;flex:0 0 18px!important}
/* v0.17.6.0 — the account menu lists its options one under the other (they were laid out in a row on desktop, pushing new options off screen) */
#app .account-menu:not([hidden]){display:flex!important;flex-direction:column!important;align-items:stretch!important;width:15rem!important;max-width:calc(100vw - 24px)!important}
#app .account-menu>button{display:block!important;width:100%!important;flex:0 0 auto!important;white-space:normal!important}
.twofa-qr-wrap{display:flex;justify-content:center;margin:4px 0 12px}
.twofa-qr{width:200px;height:200px;image-rendering:pixelated;border:1px solid var(--line,#e5e7eb);border-radius:8px;background:#fff;padding:6px}
.twofa-manual{margin:0 0 12px;font-size:13px}.twofa-manual summary{cursor:pointer;color:#1d4ed8}

/* ==== concept.css ==== */
/* Omnisky Operations v0.11.0 — approved concept implementation */
:root{
  --rail-width:184px;
  --utility-height:62px;
  --brand:#e41920;
  --hull:#111a21;
  --paper:#fff;
  --sunk:#f7f8f9;
  --line:#dfe3e7;
  --line-strong:#cbd1d7;
  --ink:#111820;
  --slate:#56606c;
  --faint:#86909a;
  --good:#168443;
  --good-bg:#eaf7ef;
  --warn:#d97706;
  --warn-bg:#fff6e8;
  --bad:#dc2626;
  --bad-bg:#fff0f0;
}

body{background:#fff;font-size:14px}
#app{background:#fff;grid-template-columns:var(--rail-width) minmax(0,1fr)}

/* Rail: one continuous, high-contrast navigation like the approved screens. */
.app-rail.topbar{width:var(--rail-width);padding:17px 7px 14px;background:linear-gradient(180deg,#111b23 0%,#111820 100%)}
.rail-brand-row{padding:0 14px 23px}
.concept-brand{display:grid!important;gap:0!important;line-height:1!important}
.concept-brand span{font-size:21px!important;letter-spacing:.06em!important;font-weight:800}
.concept-brand b{padding:0!important;border:0!important;border-radius:0!important;color:var(--brand)!important;font-size:10px!important;letter-spacing:.23em!important;margin-top:4px}
.rail-section-label{display:none}
.app-rail.topbar nav{gap:4px;margin-bottom:5px}
.app-rail.topbar nav a{grid-template-columns:28px minmax(0,1fr) auto;gap:5px;min-height:50px;padding:10px 13px;border-radius:4px;color:#edf1f4;font-size:13px}
.app-rail.topbar nav a:hover{background:#202a32}
.app-rail.topbar nav a.active{background:var(--brand);box-shadow:none;color:#fff}
.nav-glyph{border:0!important;border-radius:0;width:23px;height:23px;color:inherit!important;font-family:'Google Sans','Poppins';font-size:18px;font-weight:400}
.app-rail nav em{background:#fff;color:var(--brand)}
.rail-build{display:grid;gap:2px;justify-items:start;margin:10px 13px 0;padding:12px 0 0;font-size:10px}.rail-build code{font-size:10px;color:#bfc6cc}

/* Utility bar: global search first, company selector and actions to the right. */
.utilitybar{padding:9px 18px;gap:10px;background:#fff;height:var(--utility-height)}
.global-search{order:1;flex:0 1 600px;max-width:600px;margin:0}
.global-search input{height:40px;border-radius:4px;background:#fff;font-size:13px}
.context-switch{order:2;margin-left:auto;min-width:190px;max-width:230px;border-left:1px solid var(--line);padding-left:16px}
.context-switch small{display:none}
.utility-actions{order:3;margin-left:0}
.utility-icon{border:0;background:transparent}
.utility-actions .account{display:none}
.primary{background:var(--brand);border-color:var(--brand);border-radius:4px;font-weight:600}.primary:hover{background:#c9141a}
.ghost{background:#fff;border:1px solid var(--line-strong);border-radius:4px;color:var(--ink)}

main.app-view{max-width:none;margin:0;padding:17px 22px 38px;min-height:calc(100vh - var(--utility-height))}
.view-head{padding:0 0 13px;margin:0;border:0;align-items:center}
.view-head h1{font-size:27px}.view-sub{margin-top:3px;font-size:13px}
.view-tools button,.view-tools .button-link{min-height:39px;padding:9px 16px}
.authority-banner{padding:10px 13px;margin:0 0 12px;border-radius:4px;background:#f0f7ff;border-color:#3b82f6;color:#234e86}
.authority-banner.good{background:var(--good-bg);border-color:#54a875;color:#176b3a}

/* Reusable concept structures. */
.concept-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:2px 0 13px}
.concept-head h1{margin:0 0 3px;font-size:28px;line-height:1.1}.concept-head p{margin:0;color:var(--slate);font-size:13px}
.concept-actions{display:flex;gap:9px;align-items:center}.concept-actions button,.concept-actions a{width:auto;min-height:39px;padding:9px 15px}
.concept-tabs{display:flex;gap:29px;border-bottom:1px solid var(--line);margin:0 0 12px;overflow-x:auto}
.concept-tabs button{flex:0 0 auto;padding:10px 1px 9px;border:0;border-bottom:2px solid transparent;background:transparent;color:#454e58;font:inherit;font-size:12px}
.concept-tabs button.active{border-bottom-color:var(--brand);color:var(--ink);font-weight:600}
.concept-metrics{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:11px;margin:0 0 12px}
.concept-metric{min-height:82px;padding:14px 16px;border:1px solid var(--line);border-radius:4px;background:#fff}
.concept-metric span{display:block;color:var(--slate);font-size:10px}.concept-metric b{display:block;margin-top:6px;font-size:23px;line-height:1;font-weight:600;font-variant-numeric:tabular-nums}
.concept-metric.good b{color:var(--good)}.concept-metric.warn b{color:var(--warn)}.concept-metric.bad b{color:var(--bad)}
.concept-filterbar{display:flex;align-items:center;gap:10px;padding:10px 0 12px;flex-wrap:wrap}
.concept-filterbar input,.concept-filterbar select{width:auto;min-width:145px;height:38px;padding:8px 11px;margin:0;border:1px solid var(--line-strong);border-radius:4px;background:#fff;font-size:12px;font-weight:400}
.concept-filterbar input[type=search]{min-width:250px;flex:1 1 250px}
.concept-chip{border:1px solid var(--line-strong);border-radius:4px;background:#fff;color:var(--slate);padding:8px 11px;font-size:11px}.concept-chip.active{border-color:var(--brand);background:#fff5f5;color:var(--brand);font-weight:600}
.concept-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,31%);min-height:620px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.concept-master{min-width:0;padding-right:14px;border-right:1px solid var(--line)}
.concept-detail{min-width:0;padding:18px 5px 18px 22px;background:#fff;overflow:auto}
.concept-detail.empty{display:grid;place-items:center;text-align:center;color:var(--faint)}
.detail-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.detail-top h2{margin:0 0 3px;font-size:22px}.detail-top p{margin:0;color:var(--slate);font-size:12px}
.detail-section{padding:0 0 16px;margin:0 0 16px;border-bottom:1px solid var(--line)}.detail-section h3{display:flex;justify-content:space-between;margin:0 0 9px;font-size:13px}.detail-section p{font-size:12px;color:var(--slate)}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-fact small{display:block;color:var(--faint);font-size:10px}.detail-fact b{display:block;margin-top:3px;font-size:12px;font-weight:600}
.detail-actions{display:flex;gap:9px;position:sticky;bottom:-18px;margin:17px -5px -18px -22px;padding:14px 17px 18px 22px;background:#fff;border-top:1px solid var(--line)}.detail-actions button{flex:1;width:auto}
.status{border-radius:3px;padding:3px 7px;font-size:10px}.status.s-good,.status.s-Active,.status.s-Accepted{background:var(--good-bg);color:var(--good)}.status.s-warn,.status.s-warning,.status.s-PartiallyConsumed{background:var(--warn-bg);color:var(--warn)}.status.s-bad,.status.s-critical{background:var(--bad-bg);color:var(--bad)}

/* Dense operational lists. */
.concept-table{width:100%;border-collapse:collapse;min-width:760px}.concept-table th{padding:9px 10px;background:#fafafa;color:#4f5964;border-bottom:1px solid var(--line);font-size:10px;font-weight:600;text-transform:none;letter-spacing:0}.concept-table td{padding:10px;border-bottom:1px solid #e8ebee;font-size:11px;vertical-align:middle}.concept-table tbody tr{cursor:pointer}.concept-table tbody tr:hover{background:#fafafa}.concept-table tbody tr.selected{background:#fff3f3;box-shadow:inset 2px 0 0 var(--brand)}.concept-table strong{font-size:12px}.concept-table small{display:block;color:var(--slate);font-size:10px;margin-top:2px}.concept-table .n{text-align:right;font-variant-numeric:tabular-nums}.concept-table select{max-width:140px;padding:6px;border:1px solid var(--line);border-radius:3px;background:#fff;font-size:10px}
.concept-pager{display:flex;align-items:center;justify-content:space-between;padding:12px 5px;color:var(--slate);font-size:11px}.concept-pages{display:flex;gap:6px;align-items:center}.concept-pages span,.concept-pages button{min-width:27px;height:27px;display:grid;place-items:center;border:1px solid var(--line);border-radius:3px;background:#fff;color:var(--ink);padding:0 8px;font:inherit}.concept-pages button:not(:disabled){cursor:pointer}.concept-pages button:disabled{opacity:.45}.concept-pages .active{background:var(--brand);border-color:var(--brand);color:#fff}
.customer-grid.tab-focused{display:block}.customer-grid.tab-focused>section,.customer-grid.tab-focused>aside{display:contents}.customer-grid .side-card[hidden]{display:none!important}

/* Today — mixed work cards plus commitments/system health sidebar. */
.today-page{width:100%;max-width:1640px;margin:0 auto;color:var(--ink)}
.today-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:1px 0 15px}
.today-heading h1{margin:0 0 3px;font-size:31px;line-height:1.15;letter-spacing:-.035em}
.today-heading p{margin:0;color:var(--slate);font-size:13px}.today-heading p span{padding:0 8px}
.today-heading button{font-size:12px;padding:8px 12px}
.today-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:15px}
.today-kpi{display:grid;grid-template-columns:44px minmax(0,1fr) 14px;align-items:center;gap:13px;min-height:84px;padding:13px 17px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}
.today-kpi:hover,.today-kpi:focus-visible,.today-alert-row:hover{border-color:#b5bec6;background:#fcfcfd}
.today-kpi-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;font-size:24px;font-weight:700;background:#eaf2ff;color:#2362aa}
.today-kpi.waiting .today-kpi-icon{background:#edf0f4;color:#637184}.today-kpi.ready .today-kpi-icon{background:#e7f5ed;color:#17824a}.today-kpi.alert .today-kpi-icon{background:#fce9eb;color:#d51928}
.today-kpi small,.today-kpi b{display:block}.today-kpi small{font-size:12px;font-weight:600;color:#374151}.today-kpi b{margin-top:4px;font-size:25px;line-height:1;font-weight:750;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.today-chevron{font-size:23px;color:#86919d}
.today-main{display:grid;grid-template-columns:minmax(0,1.83fr) minmax(290px,.94fr);gap:12px;align-items:stretch}
.today-alerts{display:grid;grid-template-rows:auto auto;gap:12px;align-content:start}
.today-panel{min-width:0;border:1px solid var(--line);border-radius:5px;background:#fff;overflow:hidden}
.today-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:55px;padding:13px 17px;border-bottom:1px solid var(--line)}
.today-panel-head h2{margin:0;font-size:18px;font-weight:700;letter-spacing:-.025em}.today-panel-head a{color:var(--brand);font-size:11px;font-weight:600;text-decoration:none;white-space:nowrap}.today-panel-head a:hover{text-decoration:underline}
.today-view-select{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--slate)}.today-view-select select{min-width:142px;height:31px;padding:5px 9px;border:1px solid var(--line-strong);border-radius:4px;background:#fff;color:var(--ink);font:inherit}
.today-work-tabs{display:flex;gap:8px;overflow-x:auto;padding:0 12px;border-bottom:1px solid var(--line)}.today-work-tabs button{flex:0 0 auto;padding:11px 9px 10px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--slate);font:inherit;font-size:11px;white-space:nowrap;cursor:pointer}.today-work-tabs button.active{border-bottom-color:var(--brand);color:var(--brand);font-weight:700}.today-work-tabs span{font-weight:inherit}
.today-date-coverage{margin:0;padding:9px 15px;border-bottom:1px solid var(--line);background:#fff8e8;color:#75561a;font-size:11px;line-height:1.45}
.today-table-scroll{width:100%;overflow-x:auto}.today-table{width:100%;border-collapse:collapse;min-width:640px}.today-table th{padding:10px 12px;background:#f6f8f9;color:#4c5863;text-align:left;font-size:11px;font-weight:600}.today-table td{padding:10px 12px;border-bottom:1px solid #e9edf0;font-size:11px;white-space:nowrap}.today-table td:nth-child(2),.today-table td:nth-child(3){max-width:190px;overflow:hidden;text-overflow:ellipsis}.today-table td b{font-size:12px}.today-table td.late{color:#cf1822;font-weight:600}.today-table tr:hover td{background:#fafbfc}.today-work .concept-pager{min-height:52px;padding:10px 14px}.today-work .concept-pages button.active{background:var(--brand);border-color:var(--brand)}
.today-stage{display:inline-block;padding:4px 8px;border-radius:4px;background:#e7f2ff;color:#145b9f;font-size:10px;font-weight:600}.today-stage.repair{background:#fff1d9;color:#a55b00}.today-stage.waiting{background:#edf1f5;color:#41556a}.today-stage.ready{background:#e3f5ea;color:#12683a}.today-stage.testing{background:#e7f7ed;color:#176c42}
.today-open{padding:5px 12px;border:1px solid var(--brand);border-radius:4px;background:#fff;color:var(--brand);font-size:11px;font-weight:600;cursor:pointer}.today-open:hover,.today-open:focus-visible{background:#fff1f2}
.today-alert-row{display:grid;grid-template-columns:39px minmax(0,1fr) auto 8px;align-items:center;gap:12px;min-height:75px;padding:10px 17px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.today-alert-row:last-child{border-bottom:0}.today-alert-row b,.today-alert-row small{display:block}.today-alert-row b{font-size:12px}.today-alert-row small{margin-top:3px;color:var(--slate);font-size:10px}.today-alert-row strong{font-size:19px;font-variant-numeric:tabular-nums}.today-alert-row>span:last-child{color:var(--faint);font-size:21px}.today-alert-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#edf1f5;color:#637184;font-size:20px;font-weight:700}.today-alert-row.ready .today-alert-icon{background:#e7f5ed;color:#17824a}.today-alert-row.overdue .today-alert-icon,.today-alert-row.stock:last-child .today-alert-icon{background:#fce9eb;color:#d51928}.today-alert-row.stock .today-alert-icon{background:#fff1d9;color:#ad7100}.today-alert-row.overdue strong{color:var(--brand)}
.today-bottom{display:grid;grid-template-columns:minmax(0,1.36fr) minmax(310px,1fr);gap:12px;margin-top:12px}.today-bottom .today-panel-head h2{font-size:15px}.today-activity{padding:5px 16px 10px}.today-event{display:grid;grid-template-columns:48px minmax(0,1fr) 110px;gap:10px;align-items:center;min-height:32px;border-bottom:1px solid var(--line);font-size:11px}.today-event:last-child{border-bottom:0}.today-event time,.today-event small{color:var(--slate)}.today-event b{font-weight:700}.today-event small{text-align:right}.today-import-badge{display:inline-block;vertical-align:middle;padding:4px 7px;margin-left:6px;border-radius:12px;background:#edf1f4;color:#596779;font-size:9px;font-weight:600;letter-spacing:0}.today-import-status{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:center;margin:12px 16px;padding:9px 11px;border:1px solid var(--line);border-radius:4px}.today-import-status>span:first-child{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e4f6ec;color:#168448;font-weight:800}.today-import-status.bad>span:first-child{background:#fce9eb;color:#d51928}.today-import-status b,.today-import-status small{display:block}.today-import-status b{font-size:11px}.today-import-status small{margin-top:3px;color:var(--slate);font-size:10px}.today-import-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:0 16px 14px}.today-import-stats>span{padding:0 11px;border-right:1px solid var(--line)}.today-import-stats>span:first-child{padding-left:0}.today-import-stats>span:last-child{border:0}.today-import-stats b,.today-import-stats small{display:block}.today-import-stats b{font-size:13px}.today-import-stats small{margin-top:3px;color:var(--slate);font-size:10px}.today-empty{margin:0;padding:22px;color:var(--slate);text-align:center;font-size:12px}
@media(max-width:1220px){.today-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.today-main{grid-template-columns:minmax(0,1fr) 300px}.today-bottom{grid-template-columns:1fr}}
@media(max-width:950px){.today-main{grid-template-columns:1fr}.today-alerts{grid-template-columns:1fr 1fr;grid-template-rows:auto}}
@media(max-width:650px){.today-kpis,.today-alerts{grid-template-columns:1fr}.today-heading h1{font-size:27px}.today-panel-head{padding:11px 13px}.today-event{grid-template-columns:40px 1fr}.today-event small{display:none}.today-bottom{grid-template-columns:minmax(0,1fr)}}
.side-card{border:1px solid var(--line);border-radius:4px;background:#fff}.side-card>header{padding:11px 13px;border-bottom:1px solid var(--line)}.side-card h2{margin:0;font-size:13px}.side-row{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:8px;align-items:start;padding:10px 12px;border-bottom:1px solid var(--line);font-size:10px}.side-row:last-child{border:0}.side-row i{width:7px;height:7px;margin-top:4px;border-radius:50%;background:var(--good)}.side-row.warn i{background:var(--warn)}.side-row.bad i{background:var(--bad)}.side-row b,.side-row small{display:block}.side-row small{margin-top:2px;color:var(--slate)}.side-row time{color:var(--faint);white-space:nowrap}

/* Workshop lifecycle and record context. */
.lifecycle{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:15px 0}.life-step{position:relative;padding-top:17px;text-align:center;color:var(--faint);font-size:9px;border-top:2px solid var(--line)}.life-step:before{content:'';position:absolute;width:9px;height:9px;left:50%;top:-6px;transform:translateX(-50%);border-radius:50%;background:var(--line-strong)}.life-step.done{color:var(--good);border-color:var(--good)}.life-step.done:before{background:var(--good)}.life-step.current{color:var(--brand);border-color:var(--brand);font-weight:600}.life-step.current:before{background:var(--brand)}
.remote-banner{padding:10px 12px;border:1px solid #9db5d4;border-radius:4px;background:#f3f8ff;color:#31567f;font-size:11px}

/* Product image placeholders and channel cards. */
.product-cell{display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px;align-items:center}.product-thumb{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:3px;background:#f5f6f7;color:#87919b;font-size:18px}.product-hero{display:grid;grid-template-columns:82px 1fr;gap:13px;align-items:center;margin-bottom:14px}.product-hero .product-thumb{width:82px;height:82px;font-size:28px}.fitments{display:flex;gap:5px;flex-wrap:wrap}.fitments span{padding:4px 7px;border-radius:3px;background:#f1f3f5;color:#4d5863;font-size:10px}.channel-card{display:flex;justify-content:space-between;gap:12px;padding:9px;border:1px solid var(--line);border-radius:3px;margin-top:7px;font-size:10px}

/* Purchasing, Fleet and Integrations follow the same split pattern. */
.approval-flow{display:grid;grid-template-columns:repeat(4,1fr);margin:18px 0}.approval-step{text-align:center;color:var(--faint);font-size:9px}.approval-step i{display:grid;place-items:center;width:38px;height:38px;margin:0 auto 6px;border:1px solid var(--line-strong);border-radius:50%;font-style:normal}.approval-step.current{color:var(--brand)}.approval-step.current i{background:var(--brand);border-color:var(--brand);color:#fff}
.allocation{height:14px;display:flex;border-radius:2px;overflow:hidden;background:#dfe3e7}.allocation .used{background:var(--good)}
.connector-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:12px}.connector-card{padding:13px;border:1px solid var(--line);border-radius:4px}.connector-card header{display:flex;justify-content:space-between;gap:8px}.connector-card h2{margin:0;font-size:13px}.connector-card p{margin:7px 0 0;color:var(--slate);font-size:10px}.connector-card dl{display:grid;grid-template-columns:1fr auto;gap:5px;margin-top:11px;font-size:9px}.connector-card dd{text-align:right}
.rd-import-report{margin:12px 0;padding:14px;border:1px solid #b7c6d8;border-radius:5px;background:#f7faff;box-shadow:0 6px 18px rgba(33,52,72,.08)}.rd-import-report header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.rd-import-report header strong,.rd-import-report header small{display:block}.rd-import-report header small{margin-top:3px;color:var(--slate);font-size:10px}.rd-import-report header>div:last-child{display:flex;gap:7px}.rd-import-report button{padding:7px 10px;border:1px solid var(--line-strong);border-radius:4px;background:#fff;color:var(--ink);font:inherit;font-size:10px}.rd-import-report pre{max-height:320px;overflow:auto;margin:0;padding:12px;border-radius:4px;background:#10151d;color:#f1f5f9;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;user-select:text}

/* Customer 360 */
.customer-360{max-width:1400px;margin:0 auto}.customer-360 .crumbs{margin-bottom:10px}.customer-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.95fr);gap:16px}.customer-grid>section,.customer-grid>aside{display:grid;align-content:start;gap:12px}.customer-summary .detail-grid{grid-template-columns:repeat(4,1fr);padding:15px}.customer-work{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding:12px}.customer-work-card{display:grid;gap:4px;min-width:0;padding:11px;border:1px solid var(--line);border-radius:4px;color:var(--ink);text-decoration:none}.customer-work-card>span{font-size:9px;color:var(--slate)}.customer-work-card>b{font-size:11px}.customer-work-card>small{min-height:27px;color:#2966cc;font-size:10px}.customer-work-card .status{justify-self:start}.contact-row{display:grid;grid-template-columns:38px minmax(0,1fr) minmax(110px,1fr);gap:10px;align-items:center;padding:12px;border-bottom:1px solid var(--line);font-size:11px}.contact-row:last-child{border:0}.contact-row .avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#eceff1}.contact-row b,.contact-row small{display:block}.contact-row small{color:var(--slate)}.activity-row{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:9px;padding:11px 13px;border-bottom:1px solid var(--line);font-size:10px}.activity-row i{width:24px;height:24px;border-radius:50%;background:var(--good-bg);border:6px solid var(--good)}.activity-row b,.activity-row strong,.activity-row small{display:block}.activity-row b{color:var(--faint);font-size:9px;text-transform:uppercase}.activity-row small{color:var(--slate)}.activity-row time{color:var(--faint)}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}.quick-grid a{padding:12px;border:1px solid var(--line);border-radius:4px;color:var(--ink);text-decoration:none;font-size:11px}

/* Bring the quotation editor much closer to the approved document workspace. */
.sales-workspace{background:#fff}.sales-context{padding:7px 13px}.sales-context>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:10px}.sales-context span{color:var(--slate)}

@media(max-width:1180px){
  .concept-split{grid-template-columns:minmax(0,1fr) 340px}.concept-metrics{grid-template-columns:repeat(3,1fr)}
  .connector-cards{grid-template-columns:1fr 1fr}
}
@media(max-width:980px){
  #app{grid-template-columns:1fr}.utilitybar{grid-column:1}.context-switch{display:none}.global-search{flex:1}.app-rail.topbar{width:240px}
  .concept-split{grid-template-columns:1fr}.concept-master{border-right:0;padding-right:0}.concept-detail{border-top:1px solid var(--line);padding-left:5px}.detail-actions{margin-left:-5px}
  .customer-grid{grid-template-columns:1fr}.customer-work{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  main.app-view{padding:14px 12px 30px}.concept-head{align-items:stretch;flex-direction:column}.concept-actions{justify-content:flex-end}
  .concept-metrics{grid-template-columns:1fr 1fr}
  .connector-cards{grid-template-columns:1fr}.concept-table{min-width:680px}.concept-detail{min-height:440px}
  .utility-actions #attention-button{display:none}
}
/* Today audience assignment editor */
.ux-today-rules{display:grid;gap:12px}.ux-today-rules>header{position:sticky;top:0;z-index:2;background:#fff}.ux-today-rule{margin:0;padding:14px;border:1px solid #e6e2db;border-radius:10px;background:#fbfaf7}.ux-today-rule legend{display:flex;align-items:center;gap:8px;padding:0 6px}.ux-today-rule legend b{font-size:13px}.ux-today-rule legend span{padding:3px 7px;border-radius:999px;background:#ece9e3;color:#666;font-size:10px}.ux-today-mode{display:grid;grid-template-columns:120px minmax(220px,360px);align-items:center;gap:10px;color:#666;font-size:11px}.ux-today-mode select{height:36px;padding:0 9px;border:1px solid #cbc7bf;border-radius:7px;background:#fff}.ux-today-audiences{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px;padding-top:12px;border-top:1px solid #e8e4dd}.ux-today-audiences[hidden]{display:none}.ux-today-audiences section{display:grid;gap:6px}.ux-today-audiences strong{margin-bottom:3px;font-size:11px;text-transform:uppercase}.ux-today-audiences label{display:flex;align-items:center;gap:8px;font-size:12px}.ux-today-audiences small{color:#777}@media(max-width:800px){.ux-today-audiences{grid-template-columns:1fr}.ux-today-mode{grid-template-columns:1fr}}

/* ==== today-cross.css ==== */
/* Cross-functional Today, matching the approved concept without mock data. */
/* The dashboard cards float softly, as in the approved Today mockup. */

/* ==== customers-page.css ==== */
#crm-view{max-width:none}
.customers-heading{margin-bottom:1rem}
.customers-heading h1{font-size:2rem;letter-spacing:-.035em}
.customers-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:15px}
.customers-stats button{display:grid;grid-template-columns:46px minmax(0,1fr) 12px;align-items:center;gap:12px;min-height:86px;padding:15px;border:0;border-radius:6px;background:#fff;box-shadow:0 3px 14px rgba(22,42,68,.08),0 1px 3px rgba(22,42,68,.035);color:var(--ink);text-align:left;cursor:pointer}
.customers-stats button:hover,.customers-stats button:focus-visible{box-shadow:0 7px 22px rgba(22,42,68,.13);transform:translateY(-1px)}
.customers-stats i{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#e9f5ef;color:#15905d;font:700 23px 'Google Sans','Poppins'}
.customers-stats button:nth-child(2) i{background:#fce9eb;color:#d92034}.customers-stats button:nth-child(3) i{background:#e8f0fc;color:#1665c3}.customers-stats button:nth-child(4) i{background:#edf1f5;color:#50647c}
.customers-stats span{display:grid;gap:3px;font-size:.79rem;font-weight:600;color:#31425e}.customers-stats b{font-size:1.65rem;line-height:1.05;color:var(--ink);font-variant-numeric:tabular-nums}.customers-stats em{font:normal 22px 'Google Sans','Poppins';color:#5a6b83}
.customers-layout{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(310px,.8fr);gap:14px;align-items:start}
.customers-list,.customers-preview{min-width:0;border:0;border-radius:6px;background:#fff;box-shadow:0 3px 14px rgba(22,42,68,.08),0 1px 3px rgba(22,42,68,.035);overflow:hidden}
.customers-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) 118px 124px auto;gap:9px;padding:13px}
.customers-toolbar input,.customers-toolbar select{width:100%;height:38px;margin:0;border:1px solid #dae1eb;border-radius:5px;background:#fff;color:var(--ink);font-size:.76rem}
.customers-toolbar input{padding:0 12px}.customers-toolbar select{padding:0 8px}.customers-toolbar .primary{white-space:nowrap;margin:0}
.customers-tabs{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;padding:0 13px;border-bottom:1px solid #e8edf3}
.customers-tabs button{flex:0 0 auto;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#536884;padding:11px 9px;font-size:.76rem;font-weight:600}
.customers-tabs button.active{border-bottom-color:var(--brand);background:transparent;color:#bd0f20}
.customers-list table{min-width:650px}.customers-list th{padding:11px 12px;background:#f4f7fa;color:#42536d;font-size:.68rem;text-transform:none;letter-spacing:0}.customers-list td{padding:10px 12px;font-size:.76rem}.customers-list td small{display:block;margin-top:3px;color:#66778f;font-size:.68rem}.customers-row{cursor:pointer}.customers-row:hover td,.customers-row:focus-visible td{background:#f7f9fc}.customers-row.selected td{background:#fff4f5}
.customers-source{display:inline-block;border-radius:5px;padding:4px 7px;background:#e9f0fc;color:#1857a8;font-size:.67rem;font-weight:600;white-space:nowrap}.customers-source.rd{background:#edf0f5;color:#43536b}
.customers-secondary-actions{display:flex;gap:8px;justify-content:flex-end;padding:9px 13px;border-top:1px solid #edf0f4}.customers-secondary-actions button{font-size:.7rem;padding:6px 9px}
.customers-preview{position:sticky;top:70px}.customers-preview>header{display:flex;align-items:center;gap:11px;padding:16px;border-bottom:1px solid #edf0f4}.customers-avatar{display:grid;place-items:center;flex:0 0 auto;width:45px;height:45px;border-radius:50%;background:#e4f6ee;color:#18845b;font-size:1.3rem;font-weight:700}.customers-preview>header div{min-width:0;flex:1}.customers-preview h2{margin:0;font-size:1.13rem}.customers-preview header small{display:block;color:#65758d;font-size:.69rem}.customers-preview section{padding:11px 16px;border-bottom:1px solid #edf0f4}.customers-preview section:last-child{border:0}.customers-preview h3{margin:0 0 8px;font-size:.81rem}.customers-preview p{margin:5px 0;color:#2d405d;font-size:.73rem;line-height:1.4}.customers-preview p small{display:block;color:#708098;font-size:.67rem}.customers-preview-empty{padding:2rem 1rem;color:#66778f;text-align:center;font-size:.8rem}
.customers-match-note{margin:0;padding:10px 16px;background:#fff8e7;color:#735115;font-size:.72rem}
@media(max-width:1150px){.customers-layout{grid-template-columns:minmax(0,1fr) 300px}.customers-toolbar{grid-template-columns:minmax(170px,1fr) 110px 110px}.customers-toolbar .primary{grid-column:1/-1;justify-self:end}}
@media(max-width:850px){.customers-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.customers-layout{grid-template-columns:1fr}.customers-preview{position:static}}
@media(max-width:580px){.customers-stats{gap:8px}.customers-stats button{grid-template-columns:1fr 12px;min-height:80px}.customers-stats i{display:none}.customers-toolbar{grid-template-columns:1fr 1fr}.customers-toolbar input{grid-column:1/-1}.customers-toolbar .primary{grid-column:1/-1;justify-self:stretch}.customers-secondary-actions{justify-content:stretch;flex-wrap:wrap}}

/* ==== customers-mockup.css ==== */
/* Customers page: visual alignment with the approved 360-degree mockup. */
#crm-view{padding-top:14px;background:#f8fafc}
#crm-view .customers-heading{margin-bottom:14px}
#crm-view .customers-heading h1{margin:0;font-size:2rem;font-weight:700;color:#101827}
#crm-view .customers-heading .view-sub{margin-top:3px;color:#3c567b;font-size:.84rem}
#crm-view .customers-stats{gap:12px;margin-bottom:15px}
#crm-view .customers-stats button{min-height:85px;border-radius:6px;box-shadow:0 3px 14px rgba(22,42,68,.075);transition:box-shadow .16s ease,transform .16s ease}
#crm-view .customers-stats button:hover{box-shadow:0 6px 20px rgba(22,42,68,.12)}
#crm-view .customers-layout{grid-template-columns:minmax(0,2.15fr) minmax(330px,.85fr);gap:14px}
#crm-view .customers-list,#crm-view .customers-preview{border-radius:6px;box-shadow:0 3px 15px rgba(22,42,68,.075)}
#crm-view .customers-toolbar{grid-template-columns:minmax(190px,1fr) 112px 112px 132px auto;gap:9px;padding:14px 15px 8px}
#crm-view .customers-toolbar input,#crm-view .customers-toolbar select{height:39px;border-color:#dce5ef}
#crm-view .customers-toolbar .primary{background:#e20b22;border:0;border-radius:5px;font-weight:700}
#crm-view .customers-tabs{padding:0 15px;gap:4px}
#crm-view .customers-tabs button{padding:11px 12px;font-size:.76rem}
#crm-view .customers-list table{min-width:680px}
#crm-view .customers-list th{padding:12px 13px;background:#f1f5f9;color:#283b55;font-weight:700}
#crm-view .customers-list td{padding:11px 13px;height:63px;border-bottom:1px solid #e9eef5;color:#1f314d;font-size:.74rem}
#crm-view .customers-row.selected td{background:#fff1f2}
.customer-table-identity{display:flex;align-items:center;gap:10px;min-width:190px}
.customer-table-identity>span:nth-child(2){min-width:0;flex:1}
.customer-table-identity strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.79rem}
.customer-table-identity small{display:block;margin-top:2px;color:#7688a1}
.customer-table-avatar{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:#e8f5ef;color:#16855a;font-weight:800;font-size:.86rem}
.customers-row:nth-child(3n+2) .customer-table-avatar{background:#e8f0fc;color:#2763b2}
.customers-row:nth-child(3n+3) .customer-table-avatar{background:#eef1f5;color:#4c5a70}
.customer-table-identity .customers-source{margin-left:auto;font-size:.61rem}
#crm-view .customers-list .concept-pager{padding:11px 14px}
#crm-view .customers-preview{top:68px}
#crm-view .customer-preview-head{display:grid;grid-template-columns:50px minmax(0,1fr) auto;gap:10px;align-items:center;padding:17px 16px 12px;border:0}
#crm-view .customer-preview-head h2{font-size:1.18rem}
#crm-view .customer-preview-head small{margin-top:2px;font-size:.71rem;color:#58708f}
#crm-view .customers-avatar{width:48px;height:48px}
#crm-view .customer-preview-actions{display:flex;gap:8px;padding:0 16px 13px;border-bottom:1px solid #e8edf4}
#crm-view .customer-preview-actions .primary,#crm-view .customer-preview-actions .ghost{padding:7px 12px;font-size:.71rem;border-radius:4px;text-decoration:none}
#crm-view .customer-preview-actions .primary{background:#e20b22;color:#fff;border:0}
#crm-view .customer-preview-actions .ghost{border:1px solid #d9e2ed;background:#fff;color:#1d3454}
#crm-view .customer-preview-section{padding:12px 16px;border-bottom:1px solid #e8edf4}
#crm-view .customer-preview-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}
#crm-view .customer-preview-section-head h3{margin:0;color:#14223a;font-size:.8rem;font-weight:700}
#crm-view .customer-preview-section-head a{color:#d20a1e;text-decoration:none;font-size:.68rem;font-weight:600}
#crm-view .customer-preview-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto 10px;align-items:center;gap:8px;min-height:48px;border-top:1px solid #eef1f5;color:#1c2e49;text-decoration:none}
#crm-view .customer-preview-row:first-of-type{border-top:0}
#crm-view .customer-preview-row:hover,#crm-view .customer-preview-row:focus-visible{background:#f7faff}
#crm-view .customer-preview-row b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}
#crm-view .customer-preview-row small{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#687d9a;font-size:.65rem}
#crm-view .customer-preview-row strong{max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ce0c22;font-size:.67rem}
#crm-view .customer-preview-row em{font-size:1.1rem;color:#496483;font-style:normal}
#crm-view .customers-row:focus-visible td{outline:2px solid #d20a1e;outline-offset:-2px}
#crm-view .customers-row td .customer-table-identity small{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#crm-view .customers-preview .customer-record-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#crm-view .customers-preview .customer-record-fact{padding:9px;background:#f7f9fc}
#crm-view .customer-work-note{margin:10px 0 0;color:#536985;font-size:.72rem;line-height:1.45;overflow-wrap:anywhere}
#crm-view .customers-preview-empty{padding:12px 0;color:#7888a0;text-align:left;font-size:.71rem}
.customer-record-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
.customer-record-form label{display:grid;gap:4px;color:#33465e;font-size:.7rem;font-weight:600}
.customer-record-form input{width:100%;padding:8px;border:1px solid #d7e0ec;border-radius:4px;font:inherit}
.customer-record-form>div{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end}
.customer-record{max-width:1050px;margin:0 auto;padding:18px 4px 45px}
.customer-record-head{display:flex;align-items:start;justify-content:space-between;gap:12px;margin:16px 0}.customer-record-head h1{margin:0;font-size:1.7rem}.customer-record-head p{margin:4px 0;color:#647793}
.customer-record-note{padding:12px 15px;border-radius:5px;background:#eaf4ee;color:#26714d;font-size:.78rem}
.customer-record-tabs{display:flex;gap:6px;margin-top:17px;border-bottom:1px solid #dde5ee}.customer-record-tabs a{padding:10px 14px;color:#4c6080;text-decoration:none;font-size:.77rem}.customer-record-tabs a.active{border-bottom:2px solid #e20b22;color:#cb0e22;font-weight:700}
.customer-record-body{min-height:230px;margin-top:15px;padding:22px;border-radius:6px;background:#fff;box-shadow:0 3px 15px rgba(22,42,68,.075)}.customer-record-body h2{margin:0 0 15px;font-size:1.1rem}.customer-record-body p{color:#667991}
.customer-record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.customer-record-fact{padding:12px;background:#f7f9fc;border-radius:5px}.customer-record-fact small{display:block;color:#687b95;font-size:.68rem}.customer-record-fact b{display:block;margin-top:4px;font-size:.84rem}.customer-record-line{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e9eef4;font-size:.8rem}.customer-record-line span{color:#667991}
.customer-record-form{margin-top:18px}.customers-record-empty{padding:25px}
.customer-record-commercial{padding:14px 0;border-bottom:1px solid #e9eef4}.customer-record-commercial:first-of-type{padding-top:0}.customer-record-commercial:last-of-type{border-bottom:0}.customer-record-commercial .customer-record-grid{margin-bottom:12px}
@media(max-width:1000px){#crm-view .customers-layout{grid-template-columns:1fr}.customer-table-identity .customers-source{display:none}}
@media(max-width:650px){#crm-view .customers-toolbar{grid-template-columns:1fr 1fr}#crm-view .customers-toolbar input{grid-column:1/-1}#crm-view .customers-toolbar .primary{grid-column:1/-1}.customer-record-grid,.customer-record-form{grid-template-columns:1fr}}

/* ==== customers-reference.css ==== */
/* Customers artboard adaptation. Other Operations modules retain their own layout. */
#app:has(#crm-view:not([hidden])),#app:has(#crm-view:not([hidden])) button,#app:has(#crm-view:not([hidden])) input,#app:has(#crm-view:not([hidden])) select,#crm-view:not([hidden]),#crm-view:not([hidden]) *{font-family:'Google Sans','Poppins',sans-serif!important}
#app:has(#crm-view:not([hidden])){--rail-width:232px;--utility-height:60px;background:#F4F3EF}
#app:has(#crm-view:not([hidden])) .app-rail.topbar{width:232px;padding:20px 12px;background:#131417}
#app:has(#crm-view:not([hidden])) .rail-brand-row{padding:4px 12px 8px}
#app:has(#crm-view:not([hidden])) .concept-brand span{font-size:20px!important;letter-spacing:.14em!important;font-weight:700}
#app:has(#crm-view:not([hidden])) .concept-brand b{color:#80848D!important;letter-spacing:.22em!important;font-size:11px!important;margin-top:2px}
#app:has(#crm-view:not([hidden])) .rail-section-label{display:block;margin:18px 12px 6px;color:#80848D;font-size:11px;letter-spacing:.08em}
#app:has(#crm-view:not([hidden])) .app-rail.topbar nav{gap:2px;margin:0}
#app:has(#crm-view:not([hidden])) .app-rail.topbar nav a{min-height:38px;padding:0 12px;border-radius:8px;color:#B9BCC4;font-size:14px;font-weight:500}
#app:has(#crm-view:not([hidden])) .app-rail.topbar nav a:hover{background:#1F2125;color:#fff}
#app:has(#crm-view:not([hidden])) .app-rail.topbar nav a.active{background:#24262B;color:#fff}
#app:has(#crm-view:not([hidden])) .app-rail.topbar nav a.active .nav-glyph{color:#F0525F!important}
#app:has(#crm-view:not([hidden])) .rail-build{background:#1C1D21;border:0;border-radius:10px;margin:0 0 2px;padding:12px;color:#D6D8DC}
#app:has(#crm-view:not([hidden])) .utilitybar{height:60px;padding:0 32px;background:#fff;border-bottom:1px solid #E4E1DA;backdrop-filter:none}
#app:has(#crm-view:not([hidden])) .global-search{max-width:480px;margin:0}
#app:has(#crm-view:not([hidden])) .global-search input{height:38px;background:#FAF9F6;border:1px solid #DAD7CF;border-radius:8px;font-size:14px}
#app:has(#crm-view:not([hidden])) #global-create{background:#17181B;border:1px solid #17181B;border-radius:8px;box-shadow:none;color:#fff}
#app:has(#crm-view:not([hidden])) .utility-actions .account{display:block}
#app:has(#crm-view:not([hidden])) .actor-avatar{background:#E9E6DF;color:#17181B;border-radius:50%}
#crm-view:not([hidden]){display:flex;flex-direction:column;gap:20px;min-height:calc(100vh - 60px);height:calc(100vh - 60px);padding:26px 32px 28px;background:#F4F3EF;color:#17181B;font-family:'Google Sans','Poppins',sans-serif}
#crm-view .customers-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex:0 0 auto;padding:0;margin:0}
#crm-view .customers-heading h1{font-size:28px;letter-spacing:-.01em;font-weight:600;color:#17181B}
#crm-view .customers-heading .view-sub{font-size:14px;color:#5B5F66;margin:4px 0 0}
#crm-view .customers-head-actions{display:flex;align-items:center;gap:8px}
#crm-view .customers-head-actions button{height:38px;padding:0 14px;border-radius:8px;font:500 14px 'Google Sans','Poppins',sans-serif;white-space:nowrap}
#crm-view .customers-head-actions .ghost{border:1px solid #DAD7CF;background:#fff;color:#17181B}
#crm-view .customers-head-actions .primary{background:#C8102E;border-color:#C8102E;color:#fff}
#crm-view .customers-head-actions button:disabled{opacity:.55;cursor:not-allowed}
#crm-view .customers-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;flex:0 0 auto;margin:0;border:1px solid #E4E1DA;border-radius:12px;background:#fff;overflow:hidden}
#crm-view .customers-stats button{display:flex;align-items:center;gap:14px;min-height:64px;padding:0 18px;border:0;border-radius:0;border-left:1px solid #EFEDE7;background:transparent;box-shadow:none;transform:none;color:#17181B}
#crm-view .customers-stats button:first-child{border-left:0}
#crm-view .customers-stats button:hover{background:#FAF9F6;box-shadow:none;transform:none}
#crm-view .customers-stats i{width:36px;height:36px;border-radius:9px;background:#FBEFD9;color:#855000;font-size:18px;font-style:normal}
#crm-view .customers-stats button:nth-child(2) i{background:#E7EEFB;color:#1B4FB0}
#crm-view .customers-stats button:nth-child(3) i{background:#E2F2E8;color:#1B6B3D}
#crm-view .customers-stats button:nth-child(4) i{background:#EEEDE8;color:#50535A}
#crm-view .customers-stats span{gap:2px;font-size:13px;font-weight:400;color:#5B5F66}
#crm-view .customers-stats b{font-size:20px;font-weight:600;color:#17181B}
#crm-view .customers-stats em{font-size:16px;color:#5B5F66}
#crm-view .customers-layout{display:flex;flex:1 1 auto;min-height:0;gap:20px}
#crm-view .customers-list,#crm-view .customers-preview{border:1px solid #E4E1DA;border-radius:12px;background:#fff;box-shadow:none}
#crm-view .customers-list{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;overflow:hidden}
#crm-view .customers-preview{position:static;display:flex;flex-direction:column;flex:0 0 392px;width:392px;min-height:0;overflow:auto}
#crm-view .customers-toolbar{display:flex;align-items:center;gap:10px;flex:0 0 auto;padding:14px 16px}
#crm-view .customers-tabs{display:flex;gap:2px;flex:0 0 auto;padding:3px;border:0;border-radius:8px;background:#F1EFEA;overflow:visible}
#crm-view .customers-tabs button{height:32px;padding:0 12px;border:0;border-radius:6px;color:#5B5F66;font-size:13px;font-weight:500}
#crm-view .customers-tabs button.active{background:#fff;color:#17181B;box-shadow:0 1px 2px rgba(20,20,20,.1)}
#crm-view .customers-tabs button[hidden]{display:none!important}
#crm-view .customers-tabs button span{margin-left:4px;color:#5B5F66}
#crm-view .customers-toolbar input,#crm-view .customers-toolbar select{height:38px;margin:0;border:1px solid #DAD7CF;border-radius:8px;background:#fff;color:#17181B;font-size:13px}
#crm-view .customers-toolbar input{flex:1 1 130px;min-width:115px;padding:0 12px}
#crm-view .customers-toolbar select{flex:0 1 auto;width:auto;max-width:124px;padding:0 9px}
#crm-view .customers-toolbar #crm-source,#crm-view .customers-toolbar #crm-sort{max-width:92px}
#crm-view .customers-toolbar #crm-work-filter{max-width:132px}
#crm-view .customers-toolbar #crm-view-more{max-width:105px}
#crm-view .customers-filter-menu{position:relative;flex:0 0 auto}
#crm-view #crm-more-filters{width:38px;height:38px;padding:0;border:1px solid #DAD7CF;border-radius:8px;background:#fff;color:#17181B;font-size:20px;cursor:pointer}
#crm-view #crm-more-filters:hover{background:#FAF9F6}
#crm-view .customers-filter-popover{position:absolute;right:0;top:calc(100% + 8px);z-index:30;display:grid;gap:9px;width:210px;padding:14px;border:1px solid #E4E1DA;border-radius:10px;background:#fff;box-shadow:0 12px 28px rgba(20,20,20,.13)}
#crm-view .customers-filter-popover[hidden]{display:none!important}
#crm-view .customers-filter-popover strong{font-size:12px;color:#5B5F66}
#crm-view .customers-toolbar .customers-filter-popover select{width:100%;max-width:none;height:38px}
#crm-view .customers-toolbar .customers-filter-popover select[hidden]{display:none!important}
#crm-view .customers-toolbar select[hidden],#crm-view .customers-toolbar button[hidden]{display:none!important}
#crm-view #crm-add{display:none!important}
#crm-view .customers-list .table-scroll{flex:1 1 auto;min-height:0;overflow:auto}
#crm-view .customers-list table{width:100%;min-width:650px;border-collapse:collapse}
#crm-view .customers-list th{height:38px;padding:0 12px;background:#FAF9F6;color:#5B5F66;border:0;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
#crm-view .customers-list td{height:58px;padding:8px 12px;border-top:1px solid #EFEDE7;border-bottom:0;color:#17181B;font-size:13px}
#crm-view .customers-list .customers-row:hover td{background:#FAF9F6}
#crm-view .customers-list .customers-row.selected td{background:#FBF0F0}
#crm-view .customers-list .customer-table-avatar{width:34px;height:34px;border-radius:9px;background:#E2F2E8;color:#1B6B3D;font-size:12px;font-weight:600}
#crm-view .customers-list .customer-table-identity{min-width:0;gap:12px}
#crm-view .customers-list .customer-table-identity strong{font-size:14px;font-weight:600}
#crm-view .customers-list .customer-table-identity small{font-size:12px;color:#5B5F66}
#crm-view .customers-list .customers-source{border:1px solid #DAD7CF;border-radius:4px;background:transparent;color:#50535A;padding:0 5px;font-size:11px;font-weight:500}
#crm-view .customers-list .concept-pager{padding:10px 16px;border-top:1px solid #EFEDE7}
#crm-view .customers-secondary-actions{display:none}
#crm-view .customers-preview>header.customer-preview-head{padding:18px 20px 16px;border:0}
#crm-view .customers-preview .customers-avatar{width:48px;height:48px;border-radius:12px;background:#E2F2E8;color:#1B6B3D;font-size:15px}
#crm-view .customers-preview .customer-preview-head h2{font-size:19px;font-weight:600;color:#17181B}
#crm-view .customers-preview .customer-preview-head small{font-size:13px;color:#5B5F66}
#crm-view .customers-preview .customer-preview-actions{padding:0 20px 16px;border:0}
#crm-view .customers-preview .customer-preview-actions .primary{flex:1 1 auto;justify-content:center;background:#17181B;border:1px solid #17181B;border-radius:8px;color:#fff;font-size:14px;font-weight:500}
#crm-view .customers-preview .customer-preview-actions .ghost{border:1px solid #DAD7CF;border-radius:8px;color:#17181B}
#crm-view .customers-preview .customer-preview-section{padding:14px 20px;border-bottom:0}
#crm-view .customers-preview .customer-preview-section-head h3{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#5B5F66}
#crm-view .customers-preview .customer-preview-section-head a{font-size:13px;font-weight:500;color:#B3122B}
#crm-view .customers-preview .customer-preview-row{grid-template-columns:minmax(0,1fr) auto 10px;min-height:55px;border-top:1px solid #EFEDE7}
#crm-view .customers-preview .customer-preview-row b{font-size:13px}
#crm-view .customers-preview .customer-preview-row small{font-size:12px;color:#5B5F66}
#crm-view .customers-preview .customer-preview-row strong{color:#17181B;font-size:12px}
#crm-view .customer-quick-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #EFEDE7;border-bottom:1px solid #EFEDE7}
#crm-view .customer-quick-stats>div{padding:12px 20px;border-left:1px solid #EFEDE7}
#crm-view .customer-quick-stats>div:first-child{border-left:0}
#crm-view .customer-quick-stats b{display:block;font-size:20px;font-weight:600}
#crm-view .customer-quick-stats small{display:block;margin-top:3px;color:#5B5F66;font-size:12px}
#crm-view .customer-contact-primary{display:grid;gap:6px;font-size:13px}
#crm-view .customer-contact-primary strong{font-size:14px;font-weight:600}
#crm-view .customer-contact-primary a{color:#B3122B;overflow-wrap:anywhere}
#crm-view .customer-quick-close{width:32px;height:32px;border:0;background:transparent;color:#5B5F66;font-size:20px;cursor:pointer}
#crm-view .customer-check{width:16px;height:16px;margin:0;accent-color:#C8102E}
#crm-view .customers-list th.customer-check-cell,#crm-view .customers-list td.customer-check-cell{width:28px;padding-left:16px;padding-right:0}
#crm-view .customers-list th.customer-hidden-type,#crm-view .customers-list td.customer-hidden-type{display:none}
@media(max-width:1250px){#crm-view .customers-layout{gap:14px}#crm-view .customers-preview{flex-basis:340px;width:340px}#crm-view .customers-toolbar{flex-wrap:wrap}#crm-view .customers-toolbar input{flex:1 1 220px}}
@media(max-width:950px){#crm-view:not([hidden]){height:auto;min-height:calc(100vh - 60px)}#crm-view .customers-layout{display:grid;grid-template-columns:1fr}#crm-view .customers-list{min-height:470px}#crm-view .customers-preview{width:auto;max-height:none}#crm-view .customers-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){#crm-view:not([hidden]){padding:18px 14px}#crm-view .customers-heading{align-items:flex-start;flex-direction:column}#crm-view .customers-head-actions{flex-wrap:wrap}#crm-view .customers-stats{grid-template-columns:1fr 1fr}#crm-view .customers-stats button{padding:10px;gap:7px}#crm-view .customers-stats i{display:none}#crm-view .customers-toolbar{gap:7px}#crm-view .customers-tabs{width:100%}#crm-view .customers-tabs button{flex:1}#crm-view .customers-toolbar input{flex-basis:100%}}

/* ==== reference-ui.css ==== */
/* Omnisky Operations 0.16.5 — visual parity layer for the approved artifact. */
:root{--ux-bg:#f5f4f1;--ux-panel:#fff;--ux-ink:#17191d;--ux-muted:#676d75;--ux-line:#e5e3df;--ux-soft:#f8f7f4;--ux-red:#e11d2e;--ux-green:#197a4a;--ux-amber:#a96808;--ux-blue:#336da8;--rail-width:236px;--utility-height:58px}
*{box-sizing:border-box}
html,body{min-height:100%;background:var(--ux-bg)}
body{margin:0;font-family:'Google Sans','Poppins',sans-serif;color:var(--ux-ink);font-size:13px}
h1,h2,h3,strong,b,.primary{font-family:'Google Sans','Poppins',sans-serif}
button,input,select,textarea{font:inherit}
#app{min-height:100vh;display:grid;grid-template-columns:var(--rail-width) minmax(0,1fr);grid-template-rows:var(--utility-height) minmax(0,1fr)}
.app-rail.topbar{position:fixed;inset:0 auto 0 0;width:var(--rail-width);height:100vh;padding:26px 14px 15px;background:#16171c;color:#eef0f3;border:0;display:flex;flex-direction:column;z-index:50}
.rail-brand-row{padding:0 8px 27px}.concept-brand{display:grid!important;gap:0!important;color:#fff!important;text-decoration:none!important;letter-spacing:.13em!important}.concept-brand span{font-size:17px;font-weight:800;line-height:1}.concept-brand b{margin-top:5px;color:#868b93;font-size:7px;letter-spacing:.28em}
.rail-section-label{margin:7px 9px 6px;color:#777e88;font-size:8px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.app-rail nav{display:grid;gap:2px}.app-rail.topbar nav a{position:relative;display:flex;align-items:center;gap:11px;min-height:38px;padding:0 11px;border:0;border-radius:5px;color:#d6d9de;font-size:12px;font-weight:500;text-decoration:none}.app-rail.topbar nav a:hover{background:#22242b}.app-rail.topbar nav a.active{background:#282a31;color:#fff}.app-rail.topbar nav a.active:before{content:'';position:absolute;left:0;top:9px;bottom:9px;width:2px;background:var(--ux-red)}.nav-glyph{width:18px;color:#9aa0aa;text-align:center}.app-rail nav em{margin-left:auto;min-width:18px;padding:1px 5px;border-radius:9px;background:#34363d;color:#fff;font-size:9px;font-style:normal;text-align:center}
.rail-spacer{flex:1}.rail-build{display:flex;align-items:center;gap:10px;margin:10px 5px 0;padding:12px 9px;border-top:1px solid #292b31;color:#fff}.rail-build i{display:grid;place-items:center;width:31px;height:31px;border-radius:5px;background:var(--ux-red);font-weight:700;font-style:normal}.rail-build span{display:grid}.rail-build b{font-size:10px}.rail-build small{margin-top:2px;color:#858a93;font-size:8px}.rail-close{display:none}
.utilitybar{position:fixed;top:0;left:var(--rail-width);right:0;height:var(--utility-height);z-index:40;display:flex;align-items:center;gap:18px;padding:0 23px;background:#fff;border-bottom:1px solid var(--ux-line);box-shadow:none}.context-switch{display:flex;gap:8px;align-items:center;padding:0;border:0;background:transparent;color:var(--ux-ink);text-align:left}.context-switch:after{content:'⌄';color:#969ba3}.context-switch span,.context-switch small{font-size:11px}.context-switch small{color:var(--ux-muted)}
.global-search{position:relative;display:flex;align-items:center;gap:8px;width:min(520px,45vw);height:34px;padding:0 10px;border:1px solid #dedfe2;border-radius:5px;background:#fafafa}.global-search input{width:100%;border:0;outline:0;background:transparent;font-size:11px}.global-search kbd{padding:2px 5px;border:1px solid #ddd;border-radius:3px;background:#fff;color:#999;font-size:8px}.utility-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.utilitybar .primary.compact{height:34px;padding:0 15px;border-color:#111318;background:#111318;color:#fff;font-size:11px}.utility-icon{border:0;background:transparent}.attention-button{position:relative}.attention-button em{position:absolute;right:-3px;top:-4px;min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:var(--ux-red);color:#fff;font-size:8px;font-style:normal;line-height:15px}.account-toggle{display:flex;align-items:center;gap:8px;padding:0;border:0;background:transparent}.actor-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f1edf0;color:#5b4550;font-weight:700}.actor-copy{display:grid;text-align:left}.actor-copy b{font-size:10px}.actor-copy small{font-size:8px;color:var(--ux-muted)}
main.app-view{grid-column:2;grid-row:2;width:100%;max-width:none;padding:28px 28px 56px;background:var(--ux-bg);overflow-x:hidden}.view-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:0;margin:0 0 18px;border:0}.view-head h1{margin:0;font-size:25px;line-height:1.15;letter-spacing:-.035em}.view-sub{margin:5px 0 0;color:var(--ux-muted);font-size:11px;max-width:72ch}.view-tools{display:flex;gap:7px}.view-tools button,.button-link,.ghost,.primary{min-height:32px;padding:7px 12px;border-radius:4px;font-size:10px;font-weight:600}.ghost,.button-link{border:1px solid #d7d7d7;background:#fff;color:#27292d}.primary{border:1px solid #15171b;background:#15171b;color:#fff}.ux-secondary-refresh{display:none!important}
.board,.today-panel,.side-card,.connector-card,.customers-list,.customers-preview,.concept-detail{border:1px solid var(--ux-line)!important;border-radius:5px!important;background:#fff!important;box-shadow:none!important}.authority-banner{display:none!important}.concept-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:0 0 16px;border:1px solid var(--ux-line);border-radius:5px;background:#fff;overflow:hidden}.concept-metric,.metric{min-height:74px;padding:12px 15px;border:0!important;border-right:1px solid var(--ux-line)!important;background:#fff}.concept-metric:last-child,.metric:last-child{border-right:0!important}.concept-metric b,.metric b{font-size:20px}.concept-metric span,.metric span{font-size:9px;color:var(--ux-muted)}
.concept-tabs,.crm-tabs,.sales-periods{display:flex;gap:0;margin:0 0 14px;border-bottom:1px solid var(--ux-line);background:transparent}.concept-tabs button,.crm-tabs button,.sales-periods button{padding:9px 13px;margin:0 0 -1px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--ux-muted);font-size:10px}.concept-tabs button.active,.crm-tabs button.active,.sales-periods button.active{border-bottom-color:var(--ux-red);color:var(--ux-ink);font-weight:700}.concept-split,.customers-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:0;align-items:stretch}.concept-master,.customers-list{min-width:0;border-radius:5px 0 0 5px!important}.concept-detail,.customers-preview{border-left:0!important;border-radius:0 5px 5px 0!important;min-height:560px;padding:18px}.concept-filterbar,.filters,.customers-toolbar{display:flex;align-items:center;gap:7px;padding:12px;border-bottom:1px solid var(--ux-line);background:#fff}.concept-filterbar input,.concept-filterbar select,.filters input,.filters select,.customers-toolbar input,.customers-toolbar select{height:32px;padding:0 9px;border:1px solid #d9dadd;border-radius:4px;background:#fff;font-size:10px}.concept-table,table{width:100%;border-collapse:collapse}.concept-table th,table th{padding:9px 11px;border-bottom:1px solid var(--ux-line);background:#fafafa;color:#656b73;font-size:9px;font-weight:700;text-align:left}.concept-table td,table td{padding:10px 11px;border-bottom:1px solid #eeece8;font-size:10px}.concept-table tr:hover td,table tr:hover td{background:#faf9f6}.concept-table strong,table strong{font-size:11px}.concept-table small,table small{display:block;margin-top:2px;color:var(--ux-muted);font-size:9px}.status{display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;border-radius:10px;font-size:8px;font-weight:700}.concept-pager{display:flex;align-items:center;justify-content:space-between;min-height:46px;padding:10px 12px;color:var(--ux-muted);font-size:9px;background:#fff}
.detail-top{display:flex;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--ux-line)}.detail-top h2{margin:0;font-size:18px}.detail-top p{margin:4px 0 0;color:var(--ux-muted);font-size:9px}.detail-section{padding:15px 0;border-bottom:1px solid var(--ux-line)}.detail-section h3{margin:0 0 9px;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.detail-fact small{color:var(--ux-muted);font-size:8px}.detail-fact b{font-size:10px}.detail-actions{display:flex;gap:7px;padding-top:16px}
.connector-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.connector-card{padding:14px}.connector-card h2{font-size:13px}.connector-card p,.connector-card dl{font-size:9px}
.customers-heading{margin-bottom:14px}.customers-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 14px}.customers-stats button{min-height:64px;padding:11px 13px;border:1px solid var(--ux-line);border-radius:5px;background:#fff;text-align:left}.customers-stats i{display:none}.customers-stats span{font-size:9px;color:var(--ux-muted)}.customers-stats b{display:block;margin-top:5px;color:var(--ux-ink);font-size:17px}.customers-stats em{float:right}.customers-secondary-actions{display:none}.customers-preview-empty{display:grid;place-items:center;min-height:500px;color:var(--ux-muted);font-size:10px;text-align:center}
.login-shell{display:grid;grid-template-columns:minmax(360px,1.1fr) minmax(360px,.9fr);min-height:100vh;background:#f6f5f2}.login-intro{display:flex;flex-direction:column;justify-content:center;padding:10vw;background:#16171c;color:#fff}.login-wordmark{display:grid;gap:4px;margin-bottom:70px;letter-spacing:.14em}.login-wordmark b{font-size:21px}.login-wordmark span{color:#858a93;font-size:8px;letter-spacing:.3em}.login-intro h1{max-width:600px;font-size:38px;line-height:1.12;letter-spacing:-.04em}.login-intro ul{list-style:none;padding:0;margin:28px 0}.login-intro li{margin:13px 0;color:#c5c8cf;font-size:13px}.login-intro li:before{content:'✓';margin-right:10px;color:#fff}.login-intro p{margin-top:auto;color:#7f848d;font-size:10px}.login-card{align-self:center;width:min(430px,calc(100% - 48px));margin:0 auto;padding:34px;border:1px solid var(--ux-line);border-radius:8px;background:#fff;box-shadow:0 18px 45px rgba(18,20,24,.08)}.login-card h1{font-size:26px}.login-card label{display:block;margin-top:16px;font-size:10px;font-weight:700}.login-card input[type=email],.login-card input[type=password]{display:block;width:100%;height:40px;margin-top:6px;padding:0 11px;border:1px solid #d8d8da;border-radius:4px}.remember-row{display:flex!important;align-items:center;gap:7px;font-weight:400!important}.login-card .primary{width:100%;margin-top:18px}.login-help{margin:18px 0 0;color:var(--ux-muted);font-size:9px;line-height:1.5}
@media(max-width:1100px){:root{--rail-width:210px}.concept-split,.customers-layout{grid-template-columns:minmax(0,1fr) 330px}.connector-cards{grid-template-columns:1fr 1fr}.global-search{width:38vw}}
@media(max-width:820px){#app{display:block}.app-rail.topbar{transform:translateX(-100%);transition:transform .2s}.app-rail.open{transform:none}.utilitybar{left:0;padding:0 12px}.utilitybar #rail-open{display:block}.context-switch,.actor-copy{display:none}.global-search{width:auto;flex:1}main.app-view{padding:20px 13px 44px}.concept-split,.customers-layout{grid-template-columns:1fr}.concept-detail,.customers-preview{border-left:1px solid var(--ux-line)!important;border-top:0!important;border-radius:0 0 5px 5px!important}.concept-master,.customers-list{border-radius:5px 5px 0 0!important}.login-shell{grid-template-columns:1fr}.login-intro{display:none}.concept-metrics{grid-template-columns:repeat(2,1fr)}.view-head{flex-direction:column}.view-tools{flex-wrap:wrap}.connector-cards{grid-template-columns:1fr}}.today-panel>header{display:flex;align-items:center;justify-content:space-between;min-height:50px;padding:12px 15px;border-bottom:1px solid var(--ux-line)}.today-panel>header h2{margin:0;font-size:13px}.today-panel>header small,.today-panel>header a{color:var(--ux-muted);font-size:8px;text-decoration:none}
.ux-board-tools{display:flex;align-items:center;gap:8px;margin-bottom:8px}.ux-board-tools>div{display:flex}.ux-board-tools button,.ux-board-tools input,.ux-board-tools select{height:31px;padding:0 10px;border:1px solid var(--ux-line);background:#fff;font-size:9px}.ux-board-tools>div button{border-right:0}.ux-board-tools>div button:first-child{border-radius:4px 0 0 4px}.ux-board-tools>div button:last-child{border-right:1px solid var(--ux-line);border-radius:0 4px 4px 0}.ux-board-tools button.active{background:#191b20;color:#fff}.ux-board-tools input{margin-left:auto;width:240px;border-radius:4px}.ux-board-tools select,.ux-board-tools>button{border-radius:4px}.ux-board-help{margin:0 0 10px;color:var(--ux-muted);font-size:8px}.ux-workshop-board{display:grid;grid-template-columns:repeat(6,minmax(160px,1fr));gap:8px;align-items:start;overflow-x:auto}.ux-workshop-lane{min-height:580px;border:1px solid var(--ux-line);border-radius:5px;background:#efefed;overflow:hidden}.ux-workshop-lane>header{padding:11px 10px;border-bottom:1px solid var(--ux-line);background:#fff}.ux-workshop-lane>header span{display:flex;align-items:center;justify-content:space-between}.ux-workshop-lane h2{margin:0;font-size:10px}.ux-workshop-lane>header b{font-size:11px}.ux-workshop-lane>header small{display:block;margin-top:3px;color:var(--ux-muted);font-size:7px}.ux-job-card{display:block;width:calc(100% - 12px);margin:6px;padding:9px;border:1px solid #deddd9;border-radius:4px;background:#fff;color:var(--ux-ink);text-align:left;cursor:pointer}.ux-job-card:hover{border-color:#9fa4ab;box-shadow:0 2px 7px rgba(0,0,0,.06)}.ux-job-card>span{display:flex;justify-content:space-between}.ux-job-card>span b{font-size:9px}.ux-job-card em{color:#b22933;font-size:7px;font-style:normal}.ux-job-card strong,.ux-job-card small{display:block}.ux-job-card strong{margin-top:7px;font-size:9px}.ux-job-card small{margin-top:3px;color:var(--ux-muted);font-size:8px;line-height:1.35}.ux-job-card footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:7px;border-top:1px solid #efefed}.ux-job-card footer i{padding:2px 5px;border-radius:7px;background:#f1f1f1;color:#6d7278;font-size:6px;font-style:normal}.ux-job-card footer b{font-size:7px}.ux-more-card{width:calc(100% - 12px);margin:3px 6px 8px;padding:7px;border:0;background:transparent;color:var(--ux-muted);font-size:8px}.work-empty{padding:18px 8px;color:var(--ux-muted);font-size:8px;text-align:center}
@media(max-width:820px){.ux-board-tools{flex-wrap:wrap}.ux-board-tools input{order:2;width:100%;margin-left:0}.ux-workshop-board{grid-template-columns:repeat(6,230px)}}
.context-switch{order:1!important}.global-search{order:2!important}.utility-actions{order:3!important}.customers-head-actions .primary{background:#17191d!important;border-color:#17191d!important}.ux-report-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:20px}.ux-report-nav{display:flex;flex-direction:column;align-self:start;padding:10px;border:1px solid var(--ux-line);border-radius:5px;background:#fff}.ux-report-nav>b{margin:12px 8px 5px;color:var(--ux-muted);font-size:7px;letter-spacing:.08em}.ux-report-nav button{padding:8px;border:0;border-radius:4px;background:transparent;color:var(--ux-muted);font-size:9px;text-align:left}.ux-report-nav button.active{background:#f0efec;color:var(--ux-ink);font-weight:700}.ux-report-kpis{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:12px;border:1px solid var(--ux-line);border-radius:5px;background:#fff;overflow:hidden}.ux-report-kpis .concept-metric{border-right:1px solid var(--ux-line)}.ux-report-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ux-report-card{padding:16px;border:1px solid var(--ux-line);border-radius:5px;background:#fff}.ux-report-card.wide{grid-column:1/-1}.ux-report-card h2{margin:0;font-size:13px}.ux-report-card>p{color:var(--ux-muted);font-size:9px}.ux-bars{display:flex;align-items:end;gap:24px;height:140px;padding:18px 12px 0;border-bottom:1px solid var(--ux-line)}.ux-bars span{display:grid;align-items:end;justify-items:center;height:100%;min-width:44px}.ux-bars i{width:30px;max-height:105px;background:#d8dadd;border-radius:3px 3px 0 0}.ux-bars b{margin-top:4px;font-size:9px}.ux-bars small{font-size:7px;color:var(--ux-muted)}.ux-report-line{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--ux-line);font-size:9px}.ux-report-line:last-child{border-bottom:0}.ux-admin-card{border:1px solid var(--ux-line);border-radius:5px;background:#fff;overflow:hidden}.ux-admin-card>header{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-bottom:1px solid var(--ux-line)}.ux-admin-card h2{margin:0;font-size:13px}.ux-admin-card header a{color:var(--ux-red);font-size:8px;text-decoration:none}.ux-admin-note{margin:0;padding:12px 15px;color:var(--ux-muted);font-size:9px;line-height:1.45}.ux-admin-card>.ux-report-line{margin:0 15px}
@media(max-width:900px){.ux-report-layout{grid-template-columns:1fr}.ux-report-nav{display:none}.ux-report-kpis{grid-template-columns:1fr 1fr}}
.login-shell{position:fixed!important;inset:0;width:100%;min-height:100vh;padding:0!important}.remember-row input{width:auto!important;margin:0!important}
.repair-intake{width:min(820px,calc(100vw - 32px))!important;padding:0!important;overflow:hidden}.repair-intake .modal-head{padding:20px 24px 15px;border-bottom:1px solid var(--ux-line)}.repair-intake .modal-head h2{margin:0;font-size:21px}.repair-intake .form-grid{padding:0 24px 20px}.repair-intake .form-grid:before{content:'1  Customer     2  Device     3  Condition     4  Review';grid-column:1/-1;margin:0 -24px 16px;padding:13px 24px;border-bottom:1px solid var(--ux-line);background:#faf9f7;color:var(--ux-muted);font-size:8px;font-weight:700;word-spacing:5px}.repair-intake .modal-actions{padding:14px 24px;border-top:1px solid var(--ux-line);background:#faf9f7}

/* v0.16.5 — exact supplied navigation/utility components and readable desktop scale */
:root{--rail-width:232px;--utility-height:60px;--ux-red:#c8102e;--ux-ink:#17181b;--ux-muted:#5b5f66;--ux-line:#e4e1da}
body{font-size:15px}
.app-rail.topbar{width:232px;padding:20px 12px;background:#131417;color:#b9bcc4}
.rail-brand-row{padding:4px 12px 8px}.concept-brand{gap:2px!important;letter-spacing:normal!important}.concept-brand span{font-size:20px;font-weight:700;letter-spacing:.14em;line-height:1.15}.concept-brand b{margin:0;color:#80848d;font-size:11px;font-weight:600;letter-spacing:.22em;line-height:1.2}
.rail-section-label{margin:0;padding:18px 12px 6px;color:#80848d;font-size:11px;font-weight:600;letter-spacing:.08em}
.app-rail nav{gap:0}.app-rail.topbar nav a{gap:12px;height:38px;min-height:38px;padding:0 12px;border-radius:8px;color:#b9bcc4;font-size:14px;font-weight:500}.app-rail.topbar nav a:hover{background:#1c1d21}.app-rail.topbar nav a.active{background:#24262b;color:#fff}.app-rail.topbar nav a.active:before{display:none}.nav-glyph{display:block;width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;color:inherit}.app-rail.topbar nav a.active .nav-glyph{color:#f0525f}.app-rail nav em{padding:1px 7px;border-radius:999px;font-size:11px}
.rail-build{gap:10px;margin:8px 0 0;padding:12px;border:0;border-radius:10px;background:#1c1d21}.rail-build i{width:32px;height:32px;border-radius:8px;background:#c8102e;font-size:13px}.rail-build b{font-size:13px}.rail-build small{margin-top:2px;color:#9a9ea6;font-size:12px}
.utilitybar{left:232px;height:60px;gap:12px;padding:0 32px;border-color:#e4e1da}
.context-switch{height:38px;min-width:112px;flex-direction:column;justify-content:center;align-items:flex-start;gap:0;padding:0 12px;border:1px solid #dad7cf;border-radius:8px;background:#fff}.context-switch:after{display:none}.context-switch span{font-size:13px;font-weight:600;line-height:1.1}.context-switch small{display:block;font-size:11px;line-height:1.2}
.global-search{width:440px;height:38px;gap:10px;padding:0 12px;border-color:#dad7cf;border-radius:8px;background:#faf9f6}.search-glyph{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round}.global-search input{font-size:14px}.global-search kbd{padding:2px 7px;border-color:#dad7cf;border-radius:5px;font-family:'Google Sans','Poppins',sans-serif;font-size:11px}
.utilitybar .primary.compact{height:38px;min-height:38px;padding:0 14px;border-radius:8px;font-size:14px;font-weight:500}.utility-icon.attention-button{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:8px}.attention-button em{top:4px;right:2px;min-width:16px;height:16px;padding:0 4px;border:2px solid #fff;border-radius:999px;font-size:10px;line-height:12px}.utility-actions .account{display:block}.account-toggle{height:42px;gap:10px;padding:0 6px}.actor-avatar{width:32px;height:32px;background:#e9e6df;font-size:12px}.actor-copy b{font-size:13px;line-height:1.2}.actor-copy small{display:block;font-size:11px;line-height:1.2}.account-chevron{font-size:14px}
main.app-view{padding:32px 32px 60px}.view-head h1{font-size:30px}.view-sub{font-size:14px;line-height:1.45}.view-tools button,.button-link,.ghost,.primary{min-height:38px;padding:9px 14px;border-radius:8px;font-size:13px}.concept-metric span,.metric span,.customers-stats span{font-size:12px}.concept-metric b,.metric b{font-size:23px}.concept-tabs button,.crm-tabs button,.sales-periods button{padding:11px 15px;font-size:13px}.concept-filterbar input,.concept-filterbar select,.filters input,.filters select,.customers-toolbar input,.customers-toolbar select{height:38px;font-size:13px}.concept-table th,table th{padding:11px 13px;font-size:12px}.concept-table td,table td{padding:12px 13px;font-size:13px}.concept-table strong,table strong{font-size:14px}.concept-table small,table small{font-size:11px}.status{min-height:24px;padding:3px 8px;font-size:11px}.concept-pager{font-size:12px}.detail-top h2{font-size:22px}.detail-top p,.detail-section h3,.detail-fact b{font-size:12px}.detail-fact small{font-size:11px}.connector-card h2,.today-panel>header h2,.ux-report-card h2,.ux-admin-card h2{font-size:16px}.connector-card p,.connector-card dl,.today-panel>header small,.today-panel>header a,.ux-report-card>p{font-size:12px}.customers-stats b{font-size:22px}.customers-preview-empty{font-size:13px}
.ux-board-tools button,.ux-board-tools input,.ux-board-tools select{height:38px;font-size:12px}.ux-board-help{font-size:11px}.ux-workshop-lane h2{font-size:13px}.ux-workshop-lane>header b{font-size:14px}.ux-workshop-lane>header small{font-size:10px}.ux-job-card>span b,.ux-job-card strong{font-size:12px}.ux-job-card small{font-size:11px}.ux-job-card em,.ux-job-card footer b,.ux-job-card footer i,.ux-more-card,.work-empty{font-size:10px}
.ux-report-nav>b{font-size:10px}.ux-report-nav button,.ux-report-line,.ux-admin-note{font-size:12px}.ux-report-card header a,.ux-admin-card header a,.ux-bars small{font-size:10px}.ux-bars b{font-size:12px}
@media(max-width:820px){.utilitybar{left:0;padding:0 12px}.context-switch,.actor-copy{display:none}.global-search{width:auto}.app-rail.topbar{width:232px}main.app-view{padding:24px 14px 48px}}

/* ==== shell-force.css ==== */
/* Omnisky Operations v0.16.5 — authoritative shell. Loaded last intentionally. */
:root{--rail-width:232px!important;--utility-height:60px!important;--ux-bg:#f3f1ec!important;--ux-panel:#fff!important;--ux-ink:#121316!important;--ux-muted:#4e535b!important;--ux-line:#cbc7bf!important;--ux-red:#c8102e!important}
html,body{background:#f3f1ec!important;color:#121316!important}
#app{grid-template-columns:232px minmax(0,1fr)!important;grid-template-rows:60px minmax(0,1fr)!important}
#app>#app-rail.app-rail.topbar{position:fixed!important;inset:0 auto 0 0!important;z-index:50!important;display:flex!important;flex-direction:column!important;width:232px!important;height:100vh!important;padding:20px 12px!important;border:0!important;background:#131417!important;color:#d7dae0!important;box-shadow:none!important}
#app-rail .rail-brand-row{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;padding:4px 12px 8px!important}
#app-rail .concept-brand{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:4px!important;width:166px!important;padding:0!important;color:#fff!important;text-decoration:none!important}
#app-rail .concept-brand img{display:block!important;width:148px!important;height:auto!important;max-height:25px!important;object-fit:contain!important}
#app-rail .concept-brand b{display:block!important;margin:0 0 0 24px!important;color:#9da1a9!important;font-size:11px!important;font-weight:600!important;line-height:1!important;letter-spacing:.22em!important}
#app-rail .rail-section-label{display:block!important;margin:0!important;padding:18px 12px 6px!important;color:#9398a2!important;font-size:11px!important;font-weight:600!important;line-height:1.2!important;letter-spacing:.08em!important;text-transform:uppercase!important}
#app-rail nav{display:grid!important;gap:0!important;margin:0!important;padding:0!important;background:transparent!important}
#app-rail.app-rail.topbar nav a{position:relative!important;display:flex!important;align-items:center!important;gap:12px!important;width:100%!important;height:38px!important;min-height:38px!important;margin:0!important;padding:0 12px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#c9cdd5!important;font-size:14px!important;font-weight:500!important;line-height:1!important;text-decoration:none!important;box-shadow:none!important}
#app-rail.app-rail.topbar nav a:hover{background:#1c1d21!important;color:#fff!important}
#app-rail.app-rail.topbar nav a.active{background:#292c33!important;color:#fff!important}
#app-rail.app-rail.topbar nav a.active:before{display:none!important}
#app-rail nav a .nav-glyph{display:block!important;width:18px!important;height:18px!important;flex:0 0 18px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.75!important;stroke-linecap:round!important;stroke-linejoin:round!important;color:#aeb3bc!important}
#app-rail nav a.active .nav-glyph{color:#f0525f!important}
#app-rail nav a em{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin-left:auto!important;min-width:20px!important;height:20px!important;padding:0 7px!important;border-radius:999px!important;background:#3a3d45!important;color:#fff!important;font-size:11px!important;font-style:normal!important;line-height:20px!important}
#app-rail .rail-spacer{flex:1!important}
#app-rail .rail-build{display:flex!important;align-items:center!important;gap:10px!important;margin:8px 0 0!important;padding:12px!important;border:0!important;border-radius:10px!important;background:#1c1d21!important;color:#fff!important;box-shadow:0 1px 0 rgba(255,255,255,.04) inset!important}
#app-rail .rail-build i{display:grid!important;place-items:center!important;width:32px!important;height:32px!important;flex:0 0 32px!important;padding:4px!important;border-radius:8px!important;background:#fff!important;font-style:normal!important}
#app-rail .rail-build i img{display:block!important;width:100%!important;height:100%!important}
#app-rail .rail-build span{display:grid!important;min-width:0!important}.rail-build b{color:#fff!important;font-size:13px!important;font-weight:600!important}.rail-build small{margin-top:2px!important;color:#aeb2ba!important;font-size:12px!important}
#app>.utilitybar{position:fixed!important;top:0!important;right:0!important;left:232px!important;z-index:40!important;display:flex!important;align-items:center!important;gap:12px!important;height:60px!important;padding:0 32px!important;border:0!important;border-bottom:1px solid #cbc7bf!important;background:#fff!important;color:#121316!important;box-shadow:0 1px 0 rgba(17,18,20,.03)!important}
#app .context-switch{order:1!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:0!important;min-width:112px!important;height:38px!important;margin:0!important;padding:0 12px!important;border:1px solid #c9c5bd!important;border-radius:8px!important;background:#fff!important;color:#121316!important;box-shadow:none!important}
#app .context-switch:after{display:none!important}.context-switch span{font-size:13px!important;font-weight:600!important;line-height:1.1!important}.context-switch small{display:block!important;color:#4e535b!important;font-size:11px!important;line-height:1.2!important}
#app .global-search{order:2!important;position:relative!important;display:flex!important;align-items:center!important;gap:10px!important;width:440px!important;max-width:440px!important;height:38px!important;margin:0!important;padding:0 12px!important;border:1px solid #c9c5bd!important;border-radius:8px!important;background:#f8f7f3!important;color:#4e535b!important;box-shadow:none!important}
#app .global-search .search-glyph{display:block!important;width:17px!important;height:17px!important;flex:0 0 17px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.75!important;stroke-linecap:round!important}
#app .global-search input{height:auto!important;padding:0!important;border:0!important;background:transparent!important;color:#121316!important;font-size:14px!important;outline:0!important}#app .global-search input::placeholder{color:#686d75!important;opacity:1!important}
#app .global-search kbd{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:2px 7px!important;border:1px solid #c9c5bd!important;border-radius:5px!important;background:#fff!important;color:#4e535b!important;font-family:'Google Sans','Poppins',sans-serif!important;font-size:11px!important}
#app .utility-actions{order:3!important;display:flex!important;align-items:center!important;gap:10px!important;margin-left:auto!important}
#app .utilitybar #global-create{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:auto!important;height:38px!important;min-height:38px!important;padding:0 14px!important;border:1px solid #121316!important;border-radius:8px!important;background:#121316!important;color:#fff!important;font-size:14px!important;font-weight:500!important;line-height:1!important;box-shadow:none!important}
#global-create .utility-plus,#global-create .utility-chevron,.account-toggle .account-chevron{display:block!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}
#global-create .utility-plus{width:16px!important;height:16px!important}#global-create .utility-chevron{width:14px!important;height:14px!important;margin:0!important;align-self:center!important}
#app .attention-button{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;width:38px!important;height:38px!important;padding:0!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#121316!important}
#app .attention-button em{position:absolute!important;top:4px!important;right:2px!important;display:flex!important;align-items:center!important;justify-content:center!important;min-width:16px!important;height:16px!important;padding:0 4px!important;border:2px solid #fff!important;border-radius:999px!important;background:#c8102e!important;color:#fff!important;font-size:10px!important;font-weight:700!important;line-height:12px!important}
#app .utility-actions .account{display:block!important;margin:0!important;padding:0!important}
#app .account-toggle{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;height:42px!important;padding:0 6px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#121316!important}
#app .actor-avatar{display:flex!important;align-items:center!important;justify-content:center!important;width:32px!important;height:32px!important;flex:0 0 32px!important;border-radius:50%!important;background:#e2ded5!important;color:#31343a!important;font-size:12px!important;font-weight:600!important}
#app .actor-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;min-width:0!important;text-align:left!important}.actor-copy b{display:block!important;max-width:150px!important;color:#121316!important;font-size:13px!important;font-weight:600!important;line-height:1.2!important}.actor-copy small{display:block!important;color:#4e535b!important;font-size:11px!important;line-height:1.2!important;text-transform:capitalize!important}
#app .account-toggle .account-chevron{width:14px!important;height:14px!important;flex:0 0 14px!important;margin:0!important;align-self:center!important;color:#31343a!important}
main.app-view{background:#f3f1ec!important;color:#121316!important}.board,.today-panel,.side-card,.connector-card,.customers-list,.customers-preview,.concept-detail,.ux-report-card,.ux-admin-card{border-color:#cbc7bf!important;background:#fff!important;color:#121316!important}.concept-table th,table th{background:#f2f0eb!important;color:#343840!important}.concept-table td,table td{border-color:#dcd8d0!important;color:#17191d!important}.view-sub,small,.muted{color:#4e535b!important}.ghost,.button-link{border-color:#bbb7ae!important;background:#fff!important;color:#17191d!important}.primary{background:#121316!important;color:#fff!important}.status{color:#343840!important}.ux-workshop-lane{border-color:#c7c3bb!important;background:#e9e7e1!important}.ux-job-card{border-color:#c5c1b9!important;color:#121316!important}.concept-metrics{border-color:#c7c3bb!important}
.login-wordmark img{display:block;width:min(360px,80%);height:auto}.login-intro{background:#131417!important}
@media(max-width:1020px){#app .global-search{width:min(36vw,440px)!important}.actor-copy small{display:none!important}}
@media(max-width:820px){#app{display:block!important}#app>#app-rail.app-rail.topbar{transform:translateX(-100%)!important}body.rail-open #app>#app-rail.app-rail.topbar{transform:none!important}#app>.utilitybar{left:0!important;padding:0 12px!important}#app .context-switch,.actor-copy{display:none!important}#app .global-search{width:auto!important;max-width:none!important;flex:1!important}}

/* ==== app-force.css ==== */
/* Omnisky Operations v0.16.5 — authoritative application-wide reference UI. */
:root{--ref-canvas:#f3f1ec;--ref-card:#fff;--ref-ink:#121316;--ref-muted:#4e535b;--ref-faint:#737983;--ref-border:#cbc7bf;--ref-border-soft:#dedad2;--ref-red:#c8102e;--ref-red-soft:#fbe7ea;--ref-green:#087443;--ref-green-soft:#e0f4e9;--ref-amber:#8a5d00;--ref-amber-soft:#fff0cf;--ref-blue:#235f96;--ref-blue-soft:#e5f0fb;--ref-radius:8px;--ref-shadow:0 1px 2px rgba(18,19,22,.05)}
html,body,#app{background:var(--ref-canvas)!important;color:var(--ref-ink)!important}
#app #integrations-view>.view-head .view-tools{display:none!important}
#app #integrations-workspace>.authority-banner{display:flex!important;align-items:center!important;gap:12px!important}
#app #integrations-workspace>.authority-banner p{flex:1!important;margin:0!important}
#app #integrations-workspace>.authority-banner.good{border-color:#9bcfb3!important;background:var(--ref-green-soft)!important;color:#075b36!important}
#app #integrations-workspace>.authority-banner.warn{border-color:#e4c878!important;background:var(--ref-amber-soft)!important;color:#725000!important}
#app main.app-view{width:100%!important;max-width:none!important;margin:0!important;padding:32px 32px 64px!important;background:var(--ref-canvas)!important;color:var(--ref-ink)!important;overflow-x:hidden!important}
#app main.app-view>.view-head,#app .concept-head,#app .entity-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:24px!important;margin:0 0 20px!important;padding:0!important;border:0!important;background:transparent!important}
#app .view-head h1,#app .concept-head h1,#app .entity-title h1{margin:0!important;color:var(--ref-ink)!important;font-size:30px!important;font-weight:600!important;line-height:1.15!important;letter-spacing:-.025em!important}
#app .view-sub,#app .concept-head p,#app .entity-sub{max-width:76ch!important;margin:5px 0 0!important;color:var(--ref-muted)!important;font-size:14px!important;line-height:1.45!important}
#app button,#app input,#app select,#app textarea{font-family:'Google Sans','Poppins',sans-serif!important}
#app button:focus-visible,#app a:focus-visible,#app input:focus-visible,#app select:focus-visible,#app textarea:focus-visible{outline:3px solid rgba(200,16,46,.2)!important;outline-offset:2px!important}
#app .primary,#app .ghost,#app .button-link,#app .view-tools button,#app .concept-actions button,#app .entity-actions button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:38px!important;padding:8px 14px!important;border-radius:8px!important;font-size:13px!important;font-weight:600!important;line-height:1.1!important;text-decoration:none!important}
#app .primary{border:1px solid var(--ref-ink)!important;background:var(--ref-ink)!important;color:#fff!important;box-shadow:none!important}
#app .primary:hover{background:#2a2d33!important}
#app .ghost,#app .button-link{border:1px solid #bdb9b0!important;background:#fff!important;color:var(--ref-ink)!important;box-shadow:none!important}
#app .ghost:hover,#app .button-link:hover{border-color:#8f8b84!important;background:#f8f7f3!important}
#app button[disabled],#app .ghost[disabled],#app .primary[disabled]{opacity:.5!important;cursor:not-allowed!important}
#app .notice,#app .alert,#app .authority-banner,#app .remote-banner{margin:0 0 16px!important;padding:12px 14px!important;border:1px solid var(--ref-border)!important;border-radius:8px!important;background:#fff!important;color:var(--ref-ink)!important;font-size:13px!important;line-height:1.4!important}
#app .notice.good,#app .alert.good{border-color:#9bcfb3!important;background:var(--ref-green-soft)!important;color:#075b36!important}#app .notice.bad,#app .alert.bad,#app .error{border-color:#e0a3aa!important;background:#fff0f2!important;color:#8f1827!important}#app .notice.warn,#app .alert.warn{border-color:#e4c878!important;background:#fff7df!important;color:#725000!important}

/* Cards, metric strips and tabs */
#app .board,#app .panel-block,#app .today-panel,#app .side-card,#app .connector-card,#app .customers-list,#app .customers-preview,#app .concept-master,#app .concept-detail,#app .entity-body,#app .customer-record,#app .customer-work-card,#app .activity-card,#app .channel-card,#app .ux-report-card,#app .ux-admin-card{border:1px solid var(--ref-border)!important;border-radius:8px!important;background:var(--ref-card)!important;color:var(--ref-ink)!important;box-shadow:var(--ref-shadow)!important}
#app .concept-metrics,#app .customers-stats,#app .customer-quick-stats,#app .ux-report-kpis{display:grid!important;gap:0!important;margin:0 0 16px!important;border:1px solid var(--ref-border)!important;border-radius:8px!important;background:#fff!important;overflow:hidden!important;box-shadow:var(--ref-shadow)!important}
#app .concept-metric,#app .metric,#app .customers-stats>button,#app .customer-quick-stats>div,#app .ux-report-kpis>.concept-metric{min-height:82px!important;padding:14px 16px!important;border:0!important;border-right:1px solid var(--ref-border-soft)!important;border-radius:0!important;background:#fff!important;color:var(--ref-ink)!important;text-align:left!important;box-shadow:none!important}
#app .concept-metric:last-child,#app .metric:last-child,#app .customers-stats>button:last-child,#app .customer-quick-stats>div:last-child{border-right:0!important}
#app .concept-metric b,#app .metric b,#app .customers-stats b,#app .customer-quick-stats b{display:block!important;margin-top:5px!important;color:var(--ref-ink)!important;font-size:24px!important;font-weight:600!important;line-height:1!important}
#app .concept-metric span,#app .metric span,#app .customers-stats span,#app .customer-quick-stats small{color:var(--ref-muted)!important;font-size:12px!important;font-weight:500!important;line-height:1.3!important}
#app .concept-tabs,#app .crm-tabs,#app .sales-periods,#app .entity-tabs,#app .customer-record-tabs{display:flex!important;align-items:center!important;gap:0!important;margin:0 0 16px!important;padding:0!important;border:0!important;border-bottom:1px solid var(--ref-border)!important;background:transparent!important;overflow-x:auto!important}
#app .concept-tabs button,#app .crm-tabs button,#app .sales-periods button,#app .entity-tabs a,#app .customer-record-tabs button{min-height:42px!important;margin:0 0 -1px!important;padding:10px 15px!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:transparent!important;color:var(--ref-muted)!important;font-size:13px!important;font-weight:500!important;white-space:nowrap!important;text-decoration:none!important}
#app .concept-tabs .active,#app .crm-tabs .active,#app .sales-periods .active,#app .entity-tabs .active,#app .customer-record-tabs .active{border-bottom-color:var(--ref-red)!important;color:var(--ref-ink)!important;font-weight:700!important}
#app .concept-tabs,#app .crm-tabs,#app .sales-periods,#app .entity-tabs,#app .customer-record-tabs{scrollbar-width:none!important;-ms-overflow-style:none!important}
#app .concept-tabs::-webkit-scrollbar,#app .crm-tabs::-webkit-scrollbar,#app .sales-periods::-webkit-scrollbar,#app .entity-tabs::-webkit-scrollbar,#app .customer-record-tabs::-webkit-scrollbar{display:none!important}
#app #products-stats{display:none!important}

/* Filters, tables, paging and empty states */
#app .concept-filterbar,#app .filters,#app .customers-toolbar,#app .ux-board-tools{display:flex!important;align-items:center!important;gap:8px!important;min-height:60px!important;padding:11px 14px!important;border:0!important;border-bottom:1px solid var(--ref-border)!important;background:#fff!important}
#app .concept-filterbar input,#app .concept-filterbar select,#app .filters input,#app .filters select,#app .customers-toolbar input,#app .customers-toolbar select,#app .ux-board-tools input,#app .ux-board-tools select,#app .customer-record-form input,#app .customer-record-form select,#app .customer-record-form textarea{height:38px!important;min-width:0!important;padding:0 11px!important;border:1px solid #c4c0b8!important;border-radius:8px!important;background:#fff!important;color:var(--ref-ink)!important;font-size:13px!important;box-shadow:none!important}
#app textarea{min-height:96px!important;padding:10px 11px!important;line-height:1.45!important}
#app input::placeholder,#app textarea::placeholder{color:#70757e!important;opacity:1!important}
#app .table-scroll,#app .today-table-scroll{width:100%!important;overflow:auto!important;background:#fff!important}
#app .concept-table,#app table{width:100%!important;border-collapse:collapse!important;border-spacing:0!important;background:#fff!important}
#app .concept-table th,#app table th{padding:11px 13px!important;border:0!important;border-bottom:1px solid var(--ref-border)!important;background:#f1efea!important;color:#3f444c!important;font-size:12px!important;font-weight:700!important;line-height:1.25!important;letter-spacing:.025em!important;text-align:left!important;text-transform:uppercase!important;white-space:nowrap!important}
#app .concept-table td,#app table td{padding:12px 13px!important;border:0!important;border-bottom:1px solid var(--ref-border-soft)!important;background:#fff!important;color:var(--ref-ink)!important;font-size:13px!important;line-height:1.4!important;vertical-align:middle!important}
#app .concept-table tbody tr:hover td,#app table tbody tr:hover td{background:#f8f6f1!important}
#app .concept-table tbody tr.selected td,#app table tbody tr.selected td,#app .customers-row.selected td{background:#fdf0f2!important}
#app table strong,#app table b{color:var(--ref-ink)!important;font-size:14px!important;font-weight:600!important}#app table small{display:block!important;margin-top:3px!important;color:var(--ref-muted)!important;font-size:11px!important;line-height:1.35!important}
#app .concept-pager{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;min-height:50px!important;padding:10px 14px!important;border-top:0!important;background:#fff!important;color:var(--ref-muted)!important;font-size:12px!important}
#app .concept-pages button{min-width:32px!important;height:32px!important;padding:0 9px!important;border:1px solid var(--ref-border)!important;border-radius:6px!important;background:#fff!important;color:var(--ref-ink)!important}.concept-pages button.active{border-color:var(--ref-ink)!important;background:var(--ref-ink)!important;color:#fff!important}
#app .lane-empty,#app .module-empty,#app .repair-empty,#app .work-empty,#app .ws-empty,#app .today-empty,#app .customers-preview-empty,#app .customers-record-empty,#app .sales-empty,#app .list-empty{padding:32px 18px!important;color:var(--ref-muted)!important;font-size:13px!important;line-height:1.5!important;text-align:center!important}

/* Status language */
#app .status,#app .pill,#app .concept-chip,#app .tag,#app .customers-source,#app .today-import-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:24px!important;padding:3px 8px!important;border:1px solid #c8c4bc!important;border-radius:999px!important;background:#efede8!important;color:#363a41!important;font-size:11px!important;font-weight:700!important;line-height:1!important;white-space:nowrap!important}
#app .good,#app .pill.ok,#app .status.good,#app .status.s-completed,#app .status.s-collected,#app .status.s-ready{border-color:#a3d0b7!important;background:var(--ref-green-soft)!important;color:var(--ref-green)!important}
#app .warn,#app .pill.warn,#app .status.warn,#app .status.s-awaiting-approval,#app .status.s-waiting{border-color:#e3c87c!important;background:var(--ref-amber-soft)!important;color:var(--ref-amber)!important}
#app .bad,#app .danger,#app .pill.bad,#app .status.bad,#app .urgent,#app .negative,#app .s-critical{border-color:#e0a6ad!important;background:var(--ref-red-soft)!important;color:#a21d2c!important}
#app .status.remote,#app .customers-source.rd,#app .today-import-badge{border-color:#a8c5df!important;background:var(--ref-blue-soft)!important;color:var(--ref-blue)!important}

/* Master-detail modules: Customers, Products, Stock and Fleet */
#app .concept-split,#app .customers-layout,#app .customer-grid{display:grid!important;grid-template-columns:minmax(0,1fr) 400px!important;gap:0!important;align-items:stretch!important;min-height:590px!important}
#app .concept-master,#app .customers-list{min-width:0!important;border-radius:8px 0 0 8px!important;overflow:hidden!important}
#app .concept-detail,#app .customers-preview{min-width:0!important;min-height:590px!important;padding:20px!important;border-left:0!important;border-radius:0 8px 8px 0!important;overflow:auto!important}
#app .detail-top,#app .customer-preview-head,#app .customer-record-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;padding:0 0 16px!important;border-bottom:1px solid var(--ref-border)!important}
#app .detail-top h2,#app .customer-preview-head h2,#app .customer-record-head h1{margin:0!important;color:var(--ref-ink)!important;font-size:22px!important;font-weight:600!important}.detail-top p,.customer-preview-head small{margin:4px 0 0!important;color:var(--ref-muted)!important;font-size:12px!important}
#app .detail-section,#app .customer-preview-section{padding:17px 0!important;border-bottom:1px solid var(--ref-border-soft)!important}.detail-section h3,.customer-preview-section h3{margin:0 0 10px!important;color:#3f444c!important;font-size:12px!important;font-weight:700!important;letter-spacing:.055em!important;text-transform:uppercase!important}
#app .detail-grid,#app .quick-grid,#app .entity-facts,#app .customer-record-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.detail-fact,.customer-record-fact{padding:11px!important;border:1px solid var(--ref-border-soft)!important;border-radius:7px!important;background:#f8f7f3!important}.detail-fact small,.customer-record-fact small{display:block!important;color:var(--ref-muted)!important;font-size:11px!important}.detail-fact b,.customer-record-fact b{display:block!important;margin-top:3px!important;color:var(--ref-ink)!important;font-size:13px!important}
#app .customer-preview-row,#app .customer-record-line,#app .side-row,#app .activity-row{display:grid!important;align-items:center!important;gap:10px!important;min-height:52px!important;padding:10px 0!important;border-bottom:1px solid var(--ref-border-soft)!important;color:var(--ref-ink)!important;font-size:13px!important;text-decoration:none!important}.customer-preview-row:hover,.customer-record-line:hover{background:#f8f7f3!important}.customer-preview-row small,.customer-record-line small{color:var(--ref-muted)!important;font-size:11px!important}
#app .customers-avatar,#app .customer-table-avatar,#app .avatar{display:grid!important;place-items:center!important;border-radius:50%!important;background:#e4f2ea!important;color:#17643d!important;font-weight:700!important}

/* Today */.today-panel>header{min-height:54px!important;padding:13px 16px!important;border-bottom:1px solid var(--ref-border)!important}.today-panel>header h2{font-size:16px!important}.today-panel>header small,.today-panel>header a{color:var(--ref-muted)!important;font-size:11px!important}

/* Workshop board and job workspace */
#app .ux-board-tools{margin:0 0 10px!important;padding:0!important;border:0!important;background:transparent!important}.ux-board-tools>div{display:flex!important}.ux-board-tools button{height:38px!important;padding:0 13px!important;border:1px solid var(--ref-border)!important;background:#fff!important;color:var(--ref-ink)!important;font-size:12px!important}.ux-board-tools button.active{border-color:var(--ref-ink)!important;background:var(--ref-ink)!important;color:#fff!important}.ux-board-tools input{margin-left:auto!important;width:250px!important}.ux-board-help{margin:0 0 10px!important;color:var(--ref-muted)!important;font-size:11px!important}
#app .ux-workshop-board{display:grid!important;grid-template-columns:repeat(6,minmax(168px,1fr))!important;gap:8px!important;align-items:start!important;overflow-x:auto!important}.ux-workshop-lane{min-height:590px!important;border:1px solid var(--ref-border)!important;border-radius:8px!important;background:#e9e7e1!important;overflow:hidden!important}.ux-workshop-lane>header{padding:12px 11px!important;border-bottom:1px solid var(--ref-border)!important;background:#fff!important}.ux-workshop-lane h2{font-size:13px!important}.ux-workshop-lane>header b{font-size:14px!important}.ux-workshop-lane>header small{font-size:10px!important}.ux-job-card{width:calc(100% - 12px)!important;margin:6px!important;padding:10px!important;border:1px solid #c5c1b9!important;border-radius:7px!important;background:#fff!important;color:var(--ref-ink)!important;box-shadow:0 1px 2px rgba(18,19,22,.04)!important}.ux-job-card:hover{border-color:#8e8a82!important;box-shadow:0 3px 9px rgba(18,19,22,.1)!important}.ux-job-card b,.ux-job-card strong{font-size:12px!important}.ux-job-card small{font-size:11px!important}
#app .ux-technician-board{display:grid!important;grid-template-columns:repeat(3,minmax(240px,1fr))!important;gap:10px!important;align-items:start!important}.ux-technician-lane{min-height:280px!important;border:1px solid var(--ref-border)!important;border-radius:8px!important;background:#e9e7e1!important;overflow:hidden!important}.ux-technician-lane>header{padding:12px 13px!important;border-bottom:1px solid var(--ref-border)!important;background:#fff!important}.ux-technician-lane>header>span{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}.ux-technician-lane h2{margin:0!important;font-size:14px!important}.ux-technician-lane header b{font-size:14px!important}.ux-technician-lane header small{color:var(--ref-muted)!important;font-size:10px!important}.ux-more-card{width:calc(100% - 12px)!important;margin:6px!important;padding:9px!important;border:1px dashed #aaa59c!important;border-radius:7px!important;background:#f8f7f3!important;color:#555b63!important;font:600 11px 'Google Sans','Poppins',sans-serif!important;cursor:pointer!important}
.workshop-primary-filters{align-items:end!important}.workshop-primary-filters>input[type=search]{min-width:260px!important;flex:1 1 320px!important}.workshop-primary-filters select{min-width:170px!important}.workshop-date-filter{display:grid!important;gap:4px!important;color:var(--ref-muted)!important;font-size:10px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.04em!important}.workshop-date-filter input{min-width:145px!important;height:38px!important;border:1px solid var(--ref-border)!important;border-radius:6px!important;background:#fff!important;padding:0 10px!important;color:var(--ref-ink)!important;font:500 12px 'Google Sans','Poppins',sans-serif!important}.workshop-queue-filters{padding-top:0!important}
.workshop-source-summary{display:flex!important;align-items:center!important;gap:14px!important;margin:12px 0 10px!important;padding:10px 12px!important;border-radius:7px!important;background:#f0eee8!important;color:var(--ref-ink)!important}.workshop-source-summary b{font-size:12px!important}.workshop-source-summary span{font-size:12px!important;font-weight:700!important}.workshop-source-summary small{margin-left:auto!important;color:var(--ref-muted)!important;font-size:10px!important}
#app .entity{max-width:1460px!important;margin:0 auto!important}.entity-head{padding-bottom:18px!important;border-bottom:1px solid var(--ref-border)!important}.entity-id{color:var(--ref-red)!important;font-size:12px!important;font-weight:700!important;letter-spacing:.06em!important}.entity-body{display:grid!important;grid-template-columns:minmax(0,1fr) 340px!important;gap:0!important;overflow:hidden!important}.entity-body>section{padding:20px!important}.entity-body>aside{padding:20px!important;border-left:1px solid var(--ref-border)!important;background:#faf9f6!important}.ws-block{margin:0 0 14px!important;border:1px solid var(--ref-border)!important;border-radius:8px!important;background:#fff!important;overflow:hidden!important}.ws-block-head{padding:13px 15px!important;border-bottom:1px solid var(--ref-border)!important;background:#f6f4ef!important}.ws-block-head h2{font-size:15px!important}.ws-sub{color:var(--ref-muted)!important;font-size:12px!important}.timeline{border-left:2px solid #c7c3bb!important}.ev{padding:0 0 16px 18px!important;color:var(--ref-ink)!important;font-size:13px!important}

/* Sales and documents */.grand{color:var(--ref-ink)!important;font-size:22px!important;font-weight:700!important}.qv-version,.qv-lines,.qv-totals,.approval-flow{border:1px solid var(--ref-border)!important;border-radius:8px!important;background:#fff!important}.qv-v-head,.qv-v-meta,.qv-v-dates{padding:12px 14px!important;border-bottom:1px solid var(--ref-border-soft)!important}.approval-step{border-color:var(--ref-border)!important;background:#f8f7f3!important}.approval-step.current{border-color:var(--ref-red)!important;background:var(--ref-red-soft)!important}
#qv-drawer .qv-backdrop{background:rgba(10,12,16,.6)!important;backdrop-filter:blur(2px)!important}#qv-drawer .qv-panel{width:min(760px,100%)!important;background:#fff!important;color:var(--ref-ink)!important;box-shadow:-18px 0 55px rgba(10,12,16,.22)!important}#qv-drawer .qv-head{padding:18px 20px!important;border-bottom:1px solid var(--ref-border)!important}#qv-drawer .qv-head h2{color:var(--ref-ink)!important;font-size:22px!important;font-weight:600!important}#qv-drawer .qv-actions{padding:14px 20px 8px!important}#qv-drawer .qv-rule{margin:0 20px 14px!important;border-left-color:var(--ref-red)!important;color:var(--ref-muted)!important;font-size:12px!important}#qv-drawer .qv-scroll{padding:0 20px 24px!important}#qv-drawer .qv-version{border-color:var(--ref-border)!important;border-radius:8px!important;background:#fff!important}#qv-drawer .qv-version:hover{border-color:#8f8b84!important;background:#f8f7f3!important}#qv-drawer .qv-version.current{border-color:var(--ref-ink)!important;background:#f3f1ec!important}#qv-drawer .qv-version.open{border-color:var(--ref-red)!important}#qv-drawer .qv-v-head strong,#qv-drawer .qv-lines h3,#qv-drawer .qv-empty b{color:var(--ref-ink)!important}#qv-drawer .qv-v-meta,#qv-drawer .qv-v-dates,#qv-drawer .qv-empty,#qv-drawer .qv-actions .muted{color:var(--ref-muted)!important}#qv-drawer .qv-line-table th{background:#f1efea!important;color:#3f444c!important}#qv-drawer .qv-line-table td{border-color:var(--ref-border-soft)!important}#qv-drawer .qv-totals{color:var(--ref-muted)!important}#qv-drawer .qv-totals .grand{border-color:var(--ref-ink)!important;color:var(--ref-ink)!important}

/* Integrations, Purchasing, Reports and Admin */
#app .connector-cards{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin-bottom:16px!important}.connector-card{padding:15px!important}.connector-card h2{margin:0!important;font-size:16px!important}.connector-card p,.connector-card dl{color:var(--ref-muted)!important;font-size:12px!important}.lifecycle{display:grid!important;gap:8px!important}.life-step{padding:12px!important;border:1px solid var(--ref-border-soft)!important;border-radius:7px!important;background:#f8f7f3!important}
#app .ux-report-layout{display:grid!important;grid-template-columns:205px minmax(0,1fr)!important;gap:20px!important}.ux-report-nav{padding:10px!important;border:1px solid var(--ref-border)!important;border-radius:8px!important;background:#fff!important;box-shadow:var(--ref-shadow)!important}.ux-report-nav>b{margin:12px 9px 6px!important;color:var(--ref-faint)!important;font-size:10px!important}.ux-report-nav button{padding:9px!important;border-radius:6px!important;color:var(--ref-muted)!important;font-size:12px!important}.ux-report-nav button.active{background:#ece9e3!important;color:var(--ref-ink)!important}.ux-report-grid{gap:14px!important}.ux-report-card{padding:17px!important}.ux-report-card h2{font-size:16px!important}.ux-report-card>p{font-size:12px!important}.ux-report-line{padding:12px 0!important;border-bottom:1px solid var(--ref-border-soft)!important;font-size:12px!important}.ux-bars{border-color:var(--ref-border)!important}.ux-bars i{background:#8e949c!important}.ux-bars b{font-size:12px!important}.ux-admin-card>header{padding:14px 16px!important;border-bottom:1px solid var(--ref-border)!important}.ux-admin-card h2{font-size:16px!important}.ux-admin-card header a{color:var(--ref-red)!important;font-size:11px!important}.ux-admin-note{padding:13px 16px!important;color:var(--ref-muted)!important;font-size:12px!important}

/* Modals and forms */
.modal{background:rgba(10,12,16,.62)!important;backdrop-filter:blur(2px)!important}.modal-card{border:1px solid var(--ref-border)!important;border-radius:10px!important;background:#fff!important;color:var(--ref-ink)!important;box-shadow:0 24px 70px rgba(10,12,16,.28)!important}.modal-head{padding:18px 20px!important;border-bottom:1px solid var(--ref-border)!important}.modal-head h2{margin:0!important;font-size:22px!important}.form-grid{gap:14px!important;padding:18px 20px!important}.form-grid label{color:#343840!important;font-size:12px!important;font-weight:700!important}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid #c4c0b8!important;border-radius:8px!important;background:#fff!important;color:var(--ref-ink)!important;font-size:13px!important}.modal-actions{padding:14px 20px!important;border-top:1px solid var(--ref-border)!important;background:#f8f7f3!important}

/* Sign in */
.login-shell{background:#f3f1ec!important}.login-intro{background:#131417!important}.login-intro h1{color:#fff!important;font-size:40px!important}.login-intro li{color:#d2d5da!important;font-size:14px!important}.login-intro p{color:#aeb2ba!important;font-size:11px!important}.login-card{border:1px solid var(--ref-border)!important;border-radius:10px!important;background:#fff!important;box-shadow:0 20px 55px rgba(18,19,22,.12)!important}.login-card h1{color:var(--ref-ink)!important;font-size:28px!important}.login-card p{color:var(--ref-muted)!important;font-size:13px!important}.login-card label{color:#343840!important;font-size:12px!important}.login-card input{height:42px!important;border-color:#bdb9b0!important;border-radius:8px!important;font-size:14px!important}.login-card .primary{height:42px!important;border-radius:8px!important;background:var(--ref-ink)!important;font-size:14px!important}

@media(max-width:1100px){#app .concept-split,#app .customers-layout,#app .customer-grid{grid-template-columns:minmax(0,1fr) 350px!important}.connector-cards{grid-template-columns:repeat(2,1fr)!important}.entity-body{grid-template-columns:1fr!important}.entity-body>aside{border-top:1px solid var(--ref-border)!important;border-left:0!important}}
@media(max-width:820px){#app main.app-view{padding:24px 14px 48px!important}.view-head,.concept-head,.entity-head{flex-direction:column!important}.concept-split,.customers-layout,.customer-grid{grid-template-columns:1fr!important}.concept-detail,.customers-preview{border-top:0!important;border-left:1px solid var(--ref-border)!important;border-radius:0 0 8px 8px!important}.concept-master,.customers-list{border-radius:8px 8px 0 0!important}.concept-metrics,.customers-stats,.ux-report-kpis{grid-template-columns:repeat(2,1fr)!important}.connector-cards,.ux-report-grid,.ux-technician-board{grid-template-columns:1fr!important}.ux-workshop-board{grid-template-columns:repeat(6,235px)!important}.ux-report-layout{grid-template-columns:1fr!important}.ux-report-nav{display:none!important}.concept-filterbar,.filters,.customers-toolbar,.ux-board-tools{flex-wrap:wrap!important}.concept-filterbar input,.filters input,.customers-toolbar input,.ux-board-tools input{width:100%!important;flex:1 0 100%!important;margin-left:0!important}}

/* Workshop worklist sorting */
#app .workshop-list-table .ws-sort{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;width:auto!important;min-height:24px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#3f444c!important;font:inherit!important;font-weight:700!important;letter-spacing:.025em!important;text-transform:uppercase!important;cursor:pointer!important}
#app .workshop-list-table .ws-sort span{display:grid!important;place-items:center!important;width:18px!important;height:18px!important;border-radius:4px!important;color:#777b82!important;font-size:12px!important;line-height:1!important}
#app .workshop-list-table .ws-sort:hover span,#app .workshop-list-table .ws-sort.active span{background:#dedad2!important;color:var(--ref-ink)!important}

/* Workshop job workspace */
#app .entity-job{max-width:1480px!important}
#app .entity-job .entity-head{margin-bottom:0!important}
#app .entity-job .entity-facts{grid-template-columns:repeat(4,minmax(0,1fr))!important;margin-bottom:16px!important}
#app .entity-progress{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;margin:0 0 20px!important;padding:0!important;border:1px solid var(--ref-border)!important;border-radius:8px!important;background:#fff!important;overflow:hidden!important;list-style:none!important;box-shadow:var(--ref-shadow)!important}
#app .entity-progress li{display:flex!important;align-items:center!important;gap:10px!important;min-height:66px!important;padding:10px 12px!important;border-right:1px solid var(--ref-border-soft)!important;color:var(--ref-muted)!important}
#app .entity-progress li:last-child{border-right:0!important}
#app .entity-progress i{display:grid!important;place-items:center!important;flex:0 0 28px!important;width:28px!important;height:28px!important;border:1px solid #c5c1b9!important;border-radius:50%!important;background:#f3f1ec!important;color:#666b73!important;font-size:11px!important;font-style:normal!important;font-weight:700!important}
#app .entity-progress b,#app .entity-progress small{display:block!important}#app .entity-progress b{color:#555b63!important;font-size:12px!important}#app .entity-progress small{margin-top:2px!important;color:#858991!important;font-size:10px!important;line-height:1.2!important}
#app .entity-progress li.done{background:#f5faf7!important}#app .entity-progress li.done i{border-color:#91c6a8!important;background:#e0f4e9!important;color:#087443!important}#app .entity-progress li.current{background:#fbe7ea!important}#app .entity-progress li.current i{border-color:var(--ref-red)!important;background:var(--ref-red)!important;color:#fff!important}#app .entity-progress li.current b{color:#8f1827!important}
#app .entity-job .entity-body{display:block!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
#app .job-workspace-grid,#app .job-qc-layout{display:grid!important;grid-template-columns:minmax(0,1.65fr) 330px!important;gap:14px!important;align-items:start!important}
#app .job-workspace-main,#app .job-qc-main,#app .job-context-panel,#app .job-qc-side{border:1px solid var(--ref-border)!important;border-radius:8px!important;background:#fff!important;box-shadow:var(--ref-shadow)!important;overflow:hidden!important}
#app .job-tab-heading{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;padding:18px 20px!important;border-bottom:1px solid var(--ref-border)!important;background:#fff!important}
#app .job-tab-heading h2{margin:2px 0 4px!important;color:var(--ref-ink)!important;font-size:20px!important;font-weight:600!important;letter-spacing:-.015em!important}#app .job-tab-heading p{margin:0!important;color:var(--ref-muted)!important;font-size:12px!important;line-height:1.45!important}
#app .job-section-kicker{color:var(--ref-red)!important;font-size:10px!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase!important}
#app .job-record-card{margin:14px!important;border:1px solid var(--ref-border-soft)!important;border-radius:8px!important;background:#fff!important;overflow:hidden!important}
#app .job-record-card>header{display:flex!important;align-items:center!important;gap:11px!important;padding:13px 14px!important;border-bottom:1px solid var(--ref-border-soft)!important;background:#f8f7f3!important}#app .job-record-card>header>div{min-width:0!important;flex:1!important}#app .job-record-card h3{margin:0!important;font-size:14px!important}#app .job-record-card header p{margin:2px 0 0!important;color:var(--ref-muted)!important;font-size:11px!important}
#app .job-record-number{display:grid!important;place-items:center!important;flex:0 0 28px!important;width:28px!important;height:28px!important;border-radius:50%!important;background:#ece9e3!important;color:#4f545c!important;font-size:10px!important;font-weight:700!important}
#app .job-record-content{padding:15px!important;color:var(--ref-ink)!important;font-size:13px!important;line-height:1.5!important}#app .job-record-content>p{margin:0!important}#app .job-record-content textarea{width:100%!important;border:1px solid #bdb9b0!important;border-radius:8px!important;background:#fff!important;color:var(--ref-ink)!important;font-size:13px!important}
#app .job-intake-note{margin-top:13px!important;padding:12px!important;border-left:3px solid #99958c!important;background:#f8f7f3!important}#app .job-intake-note b{font-size:11px!important;text-transform:uppercase!important}#app .job-intake-note p{margin:3px 0 0!important;color:var(--ref-muted)!important;font-size:12px!important}
#app .job-context-panel>section,#app .job-qc-side>section{padding:18px!important;border-bottom:1px solid var(--ref-border-soft)!important}#app .job-context-panel>section:last-child,#app .job-qc-side>section:last-child{border-bottom:0!important}#app .job-context-panel h3,#app .job-qc-side h3{margin:3px 0 12px!important;font-size:18px!important}
#app .job-context-panel dl{display:block!important}#app .job-context-panel dl div{display:flex!important;justify-content:space-between!important;gap:14px!important;padding:9px 0!important;border-bottom:1px solid var(--ref-border-soft)!important;font-size:12px!important}#app .job-context-panel dl div:last-child{border-bottom:0!important}#app .job-context-panel dt{color:var(--ref-muted)!important}#app .job-context-panel dd{margin:0!important;color:var(--ref-ink)!important;text-align:right!important}
#app .job-next-step{background:#f8f7f3!important}#app .job-next-step b{font-size:12px!important}#app .job-next-step p,#app .job-qc-side p{margin:4px 0 0!important;color:var(--ref-muted)!important;font-size:12px!important;line-height:1.5!important}

/* Reference quality-check workspace */
#app .qc-table-head{display:grid!important;grid-template-columns:minmax(0,1fr) 310px!important;padding:9px 16px!important;border-bottom:1px solid var(--ref-border)!important;background:#f1efea!important;color:#545961!important;font-size:10px!important;font-weight:700!important;letter-spacing:.055em!important;text-transform:uppercase!important}
#app .qc-checklist{display:block!important}.qc-check{display:grid!important;grid-template-columns:minmax(0,1fr) 310px!important;align-items:center!important;gap:12px!important;margin:0!important;padding:13px 16px!important;border:0!important;border-bottom:1px solid var(--ref-border-soft)!important;border-radius:0!important;background:#fff!important}
#app .qc-check-label{display:flex!important;align-items:center!important;gap:10px!important;color:var(--ref-ink)!important;font-size:13px!important}#app .qc-check-label i{display:grid!important;place-items:center!important;width:25px!important;height:25px!important;border-radius:50%!important;background:#ece9e3!important;color:#666b73!important;font-size:10px!important;font-style:normal!important}
#app .qc-check fieldset{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:6px!important}.qc-check fieldset label{display:block!important;margin:0!important;cursor:pointer!important}.qc-check fieldset input{position:absolute!important;opacity:0!important;pointer-events:none!important}.qc-check fieldset span{display:grid!important;place-items:center!important;height:32px!important;border:1px solid #c5c1b9!important;border-radius:6px!important;background:#fff!important;color:#555b63!important;font-size:11px!important;font-weight:600!important}.qc-check fieldset input:checked+span{border-color:var(--ref-ink)!important;background:var(--ref-ink)!important;color:#fff!important}.qc-check fieldset label:nth-child(2) input:checked+span{border-color:#a21d2c!important;background:#fbe7ea!important;color:#a21d2c!important}
#app .qc-note{display:grid!important;gap:7px!important;margin:0!important;padding:16px!important;color:#343840!important;font-size:12px!important;font-weight:700!important}.qc-note textarea{width:100%!important;border:1px solid #bdb9b0!important;border-radius:8px!important;font-size:13px!important}
#app .qc-signoff{display:grid!important;gap:8px!important;background:#f8f7f3!important}.qc-signoff button{width:100%!important}.qc-signoff .primary{margin-top:4px!important}

/* Reference Book-in workspace */
.repair-intake-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:20px!important;padding:20px 24px 17px!important;border-bottom:1px solid var(--ref-border)!important;background:#fff!important}.repair-intake-head h2{margin:2px 0 4px!important;color:var(--ref-ink)!important;font-size:24px!important;font-weight:600!important;letter-spacing:-.02em!important}.repair-intake-head p{margin:0!important;color:var(--ref-muted)!important;font-size:12px!important}.repair-intake-kicker{color:var(--ref-red)!important;font-size:10px!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.repair-intake-progress{display:grid!important;grid-template-columns:repeat(4,1fr)!important;border-bottom:1px solid var(--ref-border)!important;background:#f8f7f3!important}.repair-intake-progress>span{display:grid!important;grid-template-columns:28px 1fr!important;column-gap:9px!important;min-height:58px!important;padding:10px 15px!important;border-right:1px solid var(--ref-border-soft)!important;color:var(--ref-muted)!important}.repair-intake-progress>span:last-child{border-right:0!important}.repair-intake-progress i{grid-row:1/3!important;display:grid!important;place-items:center!important;width:28px!important;height:28px!important;border:1px solid #c5c1b9!important;border-radius:50%!important;background:#fff!important;font-size:10px!important;font-style:normal!important;font-weight:700!important}.repair-intake-progress b{font-size:12px!important}.repair-intake-progress small{font-size:10px!important}.repair-intake-progress .active{background:#fbe7ea!important;color:#8f1827!important}.repair-intake-progress .active i{border-color:var(--ref-red)!important;background:var(--ref-red)!important;color:#fff!important}
.repair-intake-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 300px!important;min-height:0!important;overflow:auto!important}.repair-intake-fields{padding:16px 18px!important;background:var(--ref-canvas)!important}.repair-form-section{margin:0 0 12px!important;border:1px solid var(--ref-border)!important;border-radius:8px!important;background:#fff!important;overflow:hidden!important}.repair-form-section>header{display:flex!important;align-items:center!important;gap:11px!important;padding:12px 14px!important;border-bottom:1px solid var(--ref-border-soft)!important;background:#f8f7f3!important}.repair-form-section>header>span{display:grid!important;place-items:center!important;width:28px!important;height:28px!important;border-radius:50%!important;background:#e8e5de!important;color:#555b63!important;font-size:10px!important;font-weight:700!important}.repair-form-section h3{margin:0!important;font-size:14px!important}.repair-form-section header p{margin:2px 0 0!important;color:var(--ref-muted)!important;font-size:11px!important}.repair-field-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;padding:14px!important}.repair-field-grid label{display:grid!important;gap:6px!important;margin:0!important;color:#343840!important;font-size:11px!important;font-weight:700!important}.repair-field-grid .wide{grid-column:1/-1!important}.repair-field-grid input,.repair-field-grid select,.repair-field-grid textarea{width:100%!important;min-height:38px!important;padding:8px 10px!important;border:1px solid #bdb9b0!important;border-radius:7px!important;background:#fff!important;color:var(--ref-ink)!important;font:13px 'Google Sans','Poppins',sans-serif!important}.repair-field-grid textarea{min-height:80px!important;resize:vertical!important}
.repair-intake-summary{padding:16px!important;border-left:1px solid var(--ref-border)!important;background:#fff!important}.repair-summary-card,.repair-summary-note{padding:15px!important;border:1px solid var(--ref-border-soft)!important;border-radius:8px!important;background:#f8f7f3!important}.repair-summary-card h3{margin:3px 0 7px!important;font-size:18px!important}.repair-summary-card>p:not(.repair-intake-kicker),.repair-summary-note p{margin:0!important;color:var(--ref-muted)!important;font-size:12px!important;line-height:1.5!important}.repair-summary-card dl{display:block!important;margin-top:14px!important}.repair-summary-card dl div{display:flex!important;justify-content:space-between!important;gap:12px!important;padding:8px 0!important;border-top:1px solid var(--ref-border-soft)!important;font-size:11px!important}.repair-summary-card dd{margin:0!important;color:var(--ref-ink)!important}.repair-summary-note{margin-top:10px!important;background:#fff7df!important}.repair-summary-note b{font-size:12px!important}.repair-intake-error{margin:0 18px 12px!important}.repair-intake-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;padding:13px 18px!important;border-top:1px solid var(--ref-border)!important;background:#fff!important}.repair-intake-actions>span{margin-right:auto!important;color:var(--ref-muted)!important;font-size:11px!important}.repair-intake-actions .primary{width:auto!important}
@media(max-width:1000px){#app .job-workspace-grid,#app .job-qc-layout{grid-template-columns:1fr!important}.repair-intake-layout{grid-template-columns:1fr!important}.repair-intake-summary{border-top:1px solid var(--ref-border)!important;border-left:0!important}.repair-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:720px){#app .entity-job .entity-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important}#app .entity-progress{grid-template-columns:repeat(3,minmax(0,1fr))!important}#app .entity-progress li{min-width:0!important;padding:9px 7px!important;gap:6px!important}#app .entity-progress li span{min-width:0!important}#app .entity-progress small{overflow-wrap:anywhere!important}#app .job-tab-heading{flex-direction:column!important}#app .qc-table-head{display:none!important}#app .qc-check{grid-template-columns:1fr!important}#app .qc-check fieldset{grid-template-columns:repeat(3,minmax(0,1fr))!important}.repair-intake-progress{grid-template-columns:repeat(2,minmax(0,1fr))!important}.repair-field-grid{grid-template-columns:1fr!important}.repair-field-grid .wide{grid-column:auto!important}.repair-intake-actions>span{display:none!important}}

/* v0.16.5 Today — supplied cross-business command-centre reference */
#app .today-ref-page{width:100%;max-width:1500px;margin:0 auto;color:#17181b;font-family:'Google Sans','Poppins',system-ui,sans-serif}
#app .today-ref-hero{display:flex;align-items:flex-end;gap:12px;margin:0 0 16px}
#app .today-ref-hero>div{min-width:0;flex:1}.today-ref-hero p{margin:0;color:#5b5f66;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.today-ref-hero h1{margin:4px 0 0;color:#17181b;font-size:28px;font-weight:600;letter-spacing:-.01em}.today-ref-hero span{display:block;margin-top:4px;color:#5b5f66;font-size:14px}.today-ref-hero span b{color:inherit;font-weight:400}
#app .today-ref-hero nav{display:flex;gap:8px}.today-ref-hero nav button,.today-ref-hero nav a,.today-ref-btn{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 14px;border:1px solid #dad7cf;border-radius:8px;background:#fff;color:#17181b;font:500 14px 'Google Sans','Poppins',sans-serif;text-decoration:none;white-space:nowrap;cursor:pointer;box-sizing:border-box}.today-ref-hero nav button:hover,.today-ref-hero nav a:hover,.today-ref-btn:hover{background:#faf9f6;color:#17181b}.today-ref-hero nav .ink{border-color:#17181b;background:#17181b;color:#fff}.today-ref-hero nav .ink:hover{background:#2b2d31;color:#fff}.today-ref-btn.small{height:32px;padding:0 11px;font-size:13px}
#app .today-ref-glance{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:16px;border:1px solid #e4e1da;border-radius:12px;background:#fff;overflow:hidden}
#app .today-ref-module{display:flex;min-width:0;flex-direction:column;gap:3px;padding:12px 16px;border-left:1px solid #efede7;color:#17181b;text-decoration:none}.today-ref-module:first-child{border-left:0}.today-ref-module:hover{background:#faf9f6;color:#17181b}.today-ref-modname{display:flex;align-items:center;gap:7px;color:#5b5f66;font-size:12px;font-weight:600}.today-ref-modname>i{width:8px;height:8px;border-radius:2px;background:#17181b}.today-ref-modname>i.blue{background:#1b4fb0}.today-ref-modname>i.purple{background:#6b2d86}.today-ref-modname>i.amber{background:#855000}.today-ref-modname>i.green{background:#1b6b3d}.today-ref-modname>i.red{background:#b3122b}.today-ref-module>b{font-size:22px;font-weight:600}
#app .today-ref-pill{display:inline-flex;align-items:center;align-self:flex-start;gap:6px;width:max-content;max-width:100%;min-height:22px;padding:2px 8px;border:0!important;border-radius:999px;font-size:12px;font-weight:500;line-height:18px;white-space:nowrap;box-sizing:border-box}.today-ref-pill>i{display:none}.today-ref-pill.red{background:#fce8e6;color:#a3201a}.today-ref-pill.blue{background:#e7eefb;color:#1b4fb0}.today-ref-pill.amber{background:#fbefd9;color:#855000}.today-ref-pill.green{background:#e2f2e8;color:#1b6b3d}.today-ref-pill.grey{background:#eeede8;color:#50535a}.today-ref-pill.purple{background:#f1e9f8;color:#6b2d86}
#app .today-ref-grid{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:16px;align-items:start}.today-ref-grid>aside{display:flex;min-width:0;flex-direction:column;gap:16px}
#app .today-ref-card{border:1px solid #e4e1da;border-radius:12px;background:#fff;overflow:hidden}.today-ref-card>header{display:flex;min-height:50px;align-items:center;gap:10px;padding:0 18px;border-bottom:1px solid #efede7}.today-ref-card>header h2{min-width:0;flex:1;margin:0;color:#17181b;font-size:15px;font-weight:600}.today-ref-card>header>a{color:#b3122b;font-size:13px;font-weight:500;text-decoration:none}
#app .today-ref-scope{display:flex;gap:2px;padding:3px;border-radius:8px;background:#f1efea}.today-ref-scope button{height:26px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:#5b5f66;font:500 12px 'Google Sans','Poppins',sans-serif;cursor:pointer}.today-ref-scope button.active{background:#fff;color:#17181b;box-shadow:0 1px 2px rgba(20,20,20,.1)}
#app .today-ref-filters{display:flex;flex-wrap:wrap;gap:6px;padding:10px 18px}.today-ref-filters button{height:28px;padding:0 10px;border:1px solid #dad7cf;border-radius:999px;background:#fff;color:#17181b;font:500 12px 'Google Sans','Poppins',sans-serif;white-space:nowrap;cursor:pointer}.today-ref-filters button.active{border-color:#17181b;background:#17181b;color:#fff}
#app .today-ref-action{display:grid;grid-template-columns:30px minmax(0,1fr) auto;column-gap:14px;align-items:center;padding:11px 18px;border-top:1px solid #efede7}.today-ref-action:hover{background:#faf9f6}.today-ref-action-icon{display:flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:8px;background:#eeede8;color:#50535a}.today-ref-action-icon.sales{background:#e7eefb;color:#1b4fb0}.today-ref-action-icon.workshop{background:#fce8e6;color:#a3201a}.today-ref-action-icon.stock{background:#fbefd9;color:#855000}.today-ref-action-icon.customers{background:#e2f2e8;color:#1b6b3d}.today-ref-ic{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.today-ref-action-copy{min-width:0}.today-ref-action-copy>div{display:flex;min-width:0;align-items:center;gap:8px}.today-ref-area{display:inline-flex;height:20px;align-items:center;padding:0 8px;border-radius:999px;background:#eeede8;color:#50535a;font-size:11px;font-weight:500;white-space:nowrap}.today-ref-action-copy b{min-width:0;overflow:hidden;color:#17181b;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.today-ref-action-copy .today-ref-pill{min-height:22px;flex:0 0 auto}.today-ref-action-copy p{margin:3px 0 0;overflow:hidden;color:#5b5f66;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
#app .today-ref-money{display:grid;grid-template-columns:8px minmax(0,1fr) auto;column-gap:10px;align-items:center;padding:9px 18px;border-top:1px solid #efede7;color:#17181b;font-size:13px;text-decoration:none}.today-ref-money:hover{background:#faf9f6;color:#17181b}.today-ref-money>i,.today-ref-health>i{width:6px;height:6px;border-radius:50%;background:#9a9ea6}.today-ref-money>i.blue{background:#1b4fb0}.today-ref-money>i.green,.today-ref-health>i.green{background:#1b6b3d}.today-ref-money>i.amber,.today-ref-health>i.amber{background:#855000}.today-ref-money>i.purple{background:#6b2d86}.today-ref-money>i.red,.today-ref-health>i.red{background:#a3201a}.today-ref-money>b{font-family:'Google Sans','Poppins',sans-serif;font-weight:500}
#app .today-ref-team-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;column-gap:10px;align-items:center;padding:9px 18px;border-top:1px solid #efede7;font-size:13px}.today-ref-team-row>span{display:flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:50%;background:#e9e6df;font-size:11px;font-weight:600}.today-ref-team-row>div{min-width:0}.today-ref-team-row b,.today-ref-team-row small{display:block}.today-ref-team-row b{font-size:13px;font-weight:600}.today-ref-team-row small{margin-top:2px;overflow:hidden;color:#5b5f66;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.today-ref-team-row .today-ref-pill{justify-self:end}
#app .today-ref-health{display:grid;grid-template-columns:10px minmax(0,1fr) auto;column-gap:10px;align-items:start;padding:9px 18px;border-top:1px solid #efede7;font-size:13px}.today-ref-health>i{margin-top:6px}.today-ref-health>small{color:#5b5f66;font-size:12px}.today-ref-health>a{color:#b3122b;font-weight:500;text-decoration:none}
#app .today-ref-empty{display:flex;min-height:150px;align-items:center;justify-content:center;flex-direction:column;gap:4px;padding:24px;color:#5b5f66;text-align:center}.today-ref-empty b{color:#17181b;font-size:14px}.today-ref-empty span{font-size:12px}.today-ref-empty.compact{min-height:70px;font-size:12px}
@media(max-width:1280px){#app .today-ref-hero{align-items:flex-start;flex-direction:column}.today-ref-glance{grid-template-columns:repeat(4,minmax(0,1fr))}.today-ref-module:nth-child(5){border-left:0}.today-ref-module:nth-child(n+5){border-top:1px solid #efede7}}
@media(max-width:1050px){#app .today-ref-grid{grid-template-columns:1fr}.today-ref-grid>aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.today-ref-grid>aside .today-ref-system{grid-column:1/-1}}
@media(max-width:760px){#app .today-ref-hero nav{width:100%;flex-wrap:wrap}.today-ref-hero nav button,.today-ref-hero nav a{flex:1}.today-ref-glance{grid-template-columns:repeat(2,minmax(0,1fr))}.today-ref-module:nth-child(odd){border-left:0}.today-ref-module:nth-child(n+3){border-top:1px solid #efede7}.today-ref-grid>aside{grid-template-columns:1fr}.today-ref-grid>aside .today-ref-system{grid-column:auto}.today-ref-action{grid-template-columns:30px minmax(0,1fr)}.today-ref-action>.today-ref-btn{grid-column:2;margin-top:8px;justify-self:start}.today-ref-action-copy>div{flex-wrap:wrap}.today-ref-action-copy b{flex:1 0 60%;white-space:normal}.today-ref-action-copy p{white-space:normal}.today-ref-filters{overflow-x:auto;flex-wrap:nowrap}}
.ux-admin-person-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px;margin:10px 0 18px;background:#f7f7f5;border-radius:10px}.ux-admin-person-form[hidden]{display:none!important}.ux-admin-person-form label{display:grid;gap:6px;font-size:13px;font-weight:600;color:#303036}.ux-admin-person-form input,.ux-admin-person-form select{width:100%;min-height:42px;padding:9px 11px;border:1px solid #d3d2cd;border-radius:7px;background:#fff;font:inherit;color:#16171b}.ux-admin-person-form>div,.ux-admin-person-form>.notice{grid-column:1/-1}.ux-admin-person-form>div{display:flex;justify-content:flex-end;gap:8px}@media(max-width:760px){.ux-admin-person-form{grid-template-columns:1fr}}
.ux-permission-editor{padding:16px 18px;margin:-2px 0 10px 54px;background:#f7f7f5;border-radius:9px}.ux-permission-editor[hidden]{display:none!important}.ux-permission-editor>strong{display:block;margin-bottom:12px}.ux-permission-editor>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ux-permission-editor label{display:flex;align-items:center;gap:8px;padding:9px 10px;background:#fff;border-radius:7px;font-size:13px}.ux-permission-editor input{accent-color:#db202c}.ux-permission-editor footer{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.ux-permission-editor>.notice{margin:12px 0 0}@media(max-width:900px){.ux-permission-editor{margin-left:0}.ux-permission-editor>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ux-admin-section-nav{display:flex;gap:28px;margin:0 0 18px;border-bottom:1px solid var(--ref-border)}.ux-admin-section-nav button{appearance:none;border:0;border-bottom:2px solid transparent;background:transparent;padding:0 2px 12px;color:var(--ref-muted);font:600 14px "Google Sans",Montserrat,sans-serif;cursor:pointer}.ux-admin-section-nav button.active{border-color:var(--ref-red);color:var(--ref-ink)}
.ux-employee-manager>header,.ux-role-list>header,.ux-role-permissions>header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--ref-border)}.ux-employee-manager>header div p,.ux-role-list>header p,.ux-role-permissions>header p{margin:4px 0 0;color:var(--ref-muted);font-size:12px}.ux-employee-filters{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(180px,.7fr) minmax(180px,.7fr);gap:12px;padding:16px 20px;border-bottom:1px solid var(--ref-border-soft)}.ux-employee-filters label,.ux-role-title label{display:grid;gap:6px;color:var(--ref-muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.ux-employee-filters input,.ux-employee-filters select,.ux-role-title input,.ux-role-search,.ux-role-list form input{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--ref-border);border-radius:7px;background:#fff;color:var(--ref-ink);font:500 13px "Google Sans",Montserrat,sans-serif}.ux-employee-head,.ux-employee-row{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(180px,.7fr) 120px 100px;align-items:center;gap:12px;padding:11px 20px}.ux-employee-head{background:#f4f3ef;color:var(--ref-muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.ux-employee-row{border-top:1px solid var(--ref-border-soft);font-size:13px}.ux-employee-row[hidden]{display:none!important}.ux-employee-name{display:flex;align-items:center;gap:11px}.ux-employee-name>i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#eeeae2;color:var(--ref-ink);font-style:normal;font-weight:700}.ux-employee-name span{display:grid;gap:2px}.ux-employee-name small,.ux-editor-title small{color:var(--ref-muted)}.ux-employee-row select{width:100%;min-height:36px;padding:6px 9px;border:1px solid var(--ref-border);border-radius:6px;background:#fff;font:inherit}.ux-release-strip{margin-top:14px}.ux-release-strip .ux-report-line{display:inline-flex;width:33%;box-sizing:border-box}.ux-editor-title span{display:grid;gap:3px}.ux-permission-editor{margin:0 20px 14px;padding:18px 20px;border:1px solid var(--ref-border-soft);background:#faf9f6}
.ux-role-manager{display:grid;grid-template-columns:320px minmax(0,1fr);gap:14px}.ux-role-list,.ux-role-permissions{overflow:hidden;border:1px solid var(--ref-border);border-radius:8px;background:#fff;box-shadow:var(--ref-shadow)}.ux-role-list>header{padding:16px}.ux-role-list>form{display:flex;flex-wrap:wrap;gap:7px;padding:12px 14px;border-bottom:1px solid var(--ref-border-soft)}.ux-role-list>form[hidden]{display:none!important}.ux-role-list>form input{flex:1 0 100%}.ux-role-list>form .notice{flex:1 0 100%}.ux-role-search{width:calc(100% - 28px);margin:13px 14px}.ux-role-item{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;border:0;border-top:1px solid var(--ref-border-soft);background:#fff;color:var(--ref-ink);text-align:left;cursor:pointer}.ux-role-item:hover,.ux-role-item.active{background:#f4f3ef}.ux-role-item.active{box-shadow:inset 3px 0 var(--ref-red)}.ux-role-item>span:first-child{display:grid;gap:3px}.ux-role-item small{color:var(--ref-muted);font-size:10px}.ux-role-title{display:flex;align-items:end;gap:10px;padding:16px 20px}.ux-role-title label{flex:1}.ux-capability-matrix{margin:0 20px;border:1px solid var(--ref-border);border-radius:8px;overflow:hidden}.ux-capability-head,.ux-capability-row{display:grid;grid-template-columns:minmax(180px,1fr) repeat(3,88px);align-items:center}.ux-capability-head{min-height:42px;background:#f4f3ef;color:var(--ref-muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.ux-capability-head>*{padding:0 14px;text-align:center}.ux-capability-head b{text-align:left}.ux-capability-row{min-height:48px;border-top:1px solid var(--ref-border-soft)}.ux-capability-row>b{padding:0 14px;font-size:13px}.ux-capability-row label{display:grid;place-items:center;height:48px;border-left:1px solid var(--ref-border-soft);cursor:pointer}.ux-capability-row input{width:17px;height:17px;accent-color:var(--ref-red)}.ux-role-permissions form>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px}.ux-role-permissions form>footer span{color:var(--ref-muted);font-size:11px}.ux-role-permissions form>.notice{margin:12px 20px 0}.ux-permission-editor .ux-capability-matrix{margin:14px 0 0;background:#fff}.ux-permission-editor .ux-capability-head,.ux-permission-editor .ux-capability-row{grid-template-columns:minmax(180px,1fr) repeat(3,78px)}.ux-permission-editor .ux-capability-row label{padding:0;background:transparent;border-radius:0}
@media(max-width:900px){.ux-role-manager{grid-template-columns:1fr}.ux-employee-filters{grid-template-columns:1fr}.ux-employee-head{display:none}.ux-employee-row{grid-template-columns:minmax(180px,1fr) 1fr}.ux-employee-row>span:nth-child(3),.ux-employee-row>span:nth-child(4){justify-self:start}.ux-release-strip .ux-report-line{display:flex;width:100%}.ux-capability-head,.ux-capability-row,.ux-permission-editor .ux-capability-head,.ux-permission-editor .ux-capability-row{grid-template-columns:minmax(130px,1fr) repeat(3,64px)}}
[data-primary-nav] a[hidden]{display:none!important}
.ux-permission-editor>.ux-capability-matrix{display:block;grid-template-columns:none;gap:0}
.rd-exit-page{display:grid;gap:16px}.rd-exit-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border-radius:10px;background:#17181b;color:#fff}.rd-exit-head p{margin:0 0 4px;color:#ef3340;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.rd-exit-head h2{margin:0;font-size:22px}.rd-exit-head span{display:block;margin-top:5px;color:#c8c9cc;font-size:12px}.rd-exit-head .ghost{border-color:#55585f;background:#fff;color:#17181b}.rd-exit-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden;border-radius:10px;background:#fff;box-shadow:var(--ref-shadow)}.rd-exit-metrics .concept-metric{border:0!important;border-left:1px solid var(--ref-border-soft)!important;border-radius:0!important;box-shadow:none!important}.rd-exit-metrics .concept-metric:first-child{border-left:0!important}.rd-exit-grid{display:grid;grid-template-columns:minmax(380px,.85fr) minmax(520px,1.15fr);gap:14px}.rd-exit-card{overflow:hidden;border:1px solid var(--ref-border);border-radius:10px;background:#fff;box-shadow:var(--ref-shadow)}.rd-exit-card>header{padding:16px 18px;border-bottom:1px solid var(--ref-border-soft)}.rd-exit-card h3{margin:0;font-size:15px}.rd-exit-card header p{margin:4px 0 0;color:var(--ref-muted);font-size:11px}.rd-coverage-list>div{display:grid;grid-template-columns:minmax(180px,1fr) minmax(90px,.6fr) 46px;align-items:center;gap:12px;padding:10px 16px;border-top:1px solid var(--ref-border-soft)}.rd-coverage-list>div:first-child{border-top:0}.rd-coverage-list span{display:grid;gap:2px}.rd-coverage-list b{font-size:12px}.rd-coverage-list small{color:var(--ref-muted);font-size:10px}.rd-coverage-list i{display:block;height:6px;overflow:hidden;border-radius:99px;background:#e8e6e0}.rd-coverage-list i em{display:block;height:100%;border-radius:99px;background:#c91f2e}.rd-coverage-list strong{font-size:11px;text-align:right}.rd-exit-footnote{margin:0;padding:12px 15px;border-radius:8px;background:#fff5dd;color:#704d00;font-size:11px}.rd-ticket-readiness{display:flex;padding:12px 14px;margin-bottom:18px;border-radius:8px;background:#fff5dd;color:#704d00}.rd-ticket-readiness.good{background:#e7f6ed;color:#17683c}.rd-ticket-readiness span{display:grid;gap:3px}.rd-ticket-readiness small{font-size:11px}.customer-record-narrative{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:22px}.customer-record-narrative .customer-record-fact{min-height:82px}.customer-record-narrative .customer-record-fact b{white-space:pre-wrap;font-weight:500;line-height:1.45}
@media(max-width:1000px){.rd-exit-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.rd-exit-grid{grid-template-columns:1fr}.customer-record-narrative{grid-template-columns:1fr}}@media(max-width:620px){.rd-exit-head{align-items:flex-start;flex-direction:column}.rd-exit-metrics{grid-template-columns:1fr}.rd-coverage-list>div{grid-template-columns:1fr 70px 42px}}
.rd-exit-gate{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border-radius:10px}.rd-exit-gate.stop{background:#fce8e6;color:#922018}.rd-exit-gate.ready{background:#e2f2e8;color:#17643d}.rd-exit-gate small{display:block;margin-bottom:3px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.rd-exit-gate h3{margin:0;font-size:19px}.rd-exit-gate p{margin:5px 0 0;font-size:12px}.rd-exit-gate>strong{flex:0 0 auto;padding:7px 10px;border:1px solid currentColor;border-radius:999px;font-size:11px;letter-spacing:.04em}
.rd-recovery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.rd-recovery-grid article{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:70px;padding:12px 16px;border-top:1px solid var(--ref-border-soft);border-left:1px solid var(--ref-border-soft)}.rd-recovery-grid article:nth-child(-n+3){border-top:0}.rd-recovery-grid article:nth-child(3n+1){border-left:0}.rd-recovery-grid i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#17181b;color:#fff;font-size:11px;font-style:normal;font-weight:700}.rd-recovery-grid span{display:grid;gap:3px}.rd-recovery-grid b{font-size:12px}.rd-recovery-grid small{color:var(--ref-muted);font-size:10px}.rd-recovery-grid strong{padding:4px 7px;border-radius:999px;font-size:10px}.rd-recovery-grid strong.warn{background:#fbefd9;color:#855000}.rd-recovery-grid strong.good{background:#e2f2e8;color:#17643d}
.rd-exceptions-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.rd-exit-tools{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:8px;padding:12px 14px;border-bottom:1px solid var(--ref-border-soft)}.rd-exit-tools input,.rd-exit-tools select{min-height:38px;padding:7px 10px;border:1px solid var(--ref-border);border-radius:7px;background:#fff;color:var(--ref-ink);font:500 12px 'Google Sans',Montserrat,sans-serif}.rd-ticket-exceptions{max-height:670px;overflow:auto}.rd-ticket-exceptions>a{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(110px,.65fr) minmax(220px,1.5fr) 44px;align-items:center;gap:12px;padding:11px 14px;border-top:1px solid var(--ref-border-soft);color:var(--ref-ink);text-decoration:none}.rd-ticket-exceptions>a:first-child{border-top:0}.rd-ticket-exceptions>a:hover{background:#faf9f6}.rd-ticket-exceptions span{display:grid;min-width:0;gap:3px}.rd-ticket-exceptions b{overflow:hidden;font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.rd-ticket-exceptions small{overflow:hidden;color:var(--ref-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.rd-ticket-exceptions>p{margin:0}.rd-ticket-exceptions>a>strong{text-align:right;font-size:11px}
@media(max-width:1100px){.rd-recovery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rd-recovery-grid article:nth-child(-n+3){border-top:1px solid var(--ref-border-soft)}.rd-recovery-grid article:nth-child(-n+2){border-top:0}.rd-recovery-grid article:nth-child(3n+1){border-left:1px solid var(--ref-border-soft)}.rd-recovery-grid article:nth-child(odd){border-left:0}.rd-ticket-exceptions>a{grid-template-columns:minmax(130px,.8fr) minmax(180px,1.4fr) 44px}.rd-ticket-exceptions>a>span:nth-child(2){display:none}}@media(max-width:620px){.rd-exit-gate{align-items:flex-start;flex-direction:column}.rd-recovery-grid{grid-template-columns:1fr}.rd-recovery-grid article,.rd-recovery-grid article:nth-child(-n+2),.rd-recovery-grid article:nth-child(3n+1){border-top:1px solid var(--ref-border-soft);border-left:0}.rd-recovery-grid article:first-child{border-top:0}.rd-exit-tools{grid-template-columns:1fr}.rd-ticket-exceptions>a{grid-template-columns:minmax(0,1fr) 42px}.rd-ticket-exceptions>a>span:nth-child(3){grid-column:1/-1;grid-row:2}}
.rd-commercial-metrics{grid-template-columns:repeat(7,minmax(0,1fr))!important}.rd-commercial-tabs{display:flex;align-items:center;gap:4px;margin:14px 0 0;padding:4px;border:1px solid var(--ref-border);border-bottom:0;border-radius:9px 9px 0 0;background:#eeece7}.rd-commercial-tabs button{min-height:36px;padding:0 13px;border:0;border-radius:6px;background:transparent;color:var(--ref-muted);font:600 12px 'Google Sans',Montserrat,sans-serif;cursor:pointer}.rd-commercial-tabs button:hover{background:#f8f7f3;color:var(--ref-ink)}.rd-commercial-tabs button.active{background:#17181b;color:#fff;box-shadow:0 1px 3px rgba(15,16,18,.18)}.rd-commercial-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;min-height:560px;border:1px solid var(--ref-border);border-radius:0 0 9px 9px;background:#fff;overflow:hidden;box-shadow:var(--ref-shadow)}.rd-commercial-layout>.concept-master{min-width:0;border:0!important;border-radius:0!important;box-shadow:none!important}.rd-commercial-layout>.concept-detail{border:0!important;border-left:1px solid var(--ref-border)!important;border-radius:0!important;box-shadow:none!important}.rd-commercial-layout .concept-table a{color:#b3122b;font-weight:600;text-decoration:none}.rd-commercial-layout .concept-table a:hover{text-decoration:underline}
@media(max-width:1250px){.rd-commercial-metrics{grid-template-columns:repeat(4,minmax(0,1fr))!important}}@media(max-width:950px){.rd-commercial-layout{grid-template-columns:1fr}.rd-commercial-layout>.concept-detail{border-top:1px solid var(--ref-border)!important;border-left:0!important}.rd-commercial-tabs{overflow-x:auto}.rd-commercial-tabs button{white-space:nowrap}.rd-commercial-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
/* v0.17.5.0 — account actions and password forms */
.ux-employee-head,.ux-employee-row{grid-template-columns:minmax(240px,1.3fr) minmax(170px,.7fr) 110px minmax(250px,auto)!important}
.ux-employee-actions{display:flex;gap:6px;flex-wrap:wrap}
.ux-pw-panel{margin:0 20px 14px;padding:14px 18px;border:1px solid var(--ref-border-soft);background:#faf9f6;display:grid;gap:8px;max-width:520px}
.ux-pw-panel label{display:grid;gap:6px;font-size:12px;font-weight:600}
.ux-pw-panel input{min-height:40px;padding:8px 10px;border:1px solid var(--ref-border);border-radius:7px;font:inherit}
.ux-pw-panel small{color:var(--ref-muted)}
.ux-pw-panel div{display:flex;gap:8px;justify-content:flex-end}
.ux-pw-panel[hidden]{display:none!important}
#password-form label{display:grid;gap:6px;margin:0 0 12px;font-size:12px;font-weight:600}
#password-form input{min-height:42px;padding:9px 11px;border:1px solid #d5d1c9;border-radius:7px;font:inherit}
.account-menu button+button{border-top:1px solid #eee}
@media(max-width:900px){.ux-employee-row{grid-template-columns:1fr!important}}
/* v0.17.5.0 — Today's summary tiles wrap on small screens instead of squeezing seven into one row */
@media(max-width:760px){#app .today-ref-glance{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}}
@media(min-width:761px) and (max-width:1100px){#app .today-ref-glance{grid-template-columns:repeat(4,minmax(0,1fr))!important}}

/* ==== shipping.css ==== */
/* Omnisky Operations v0.16.6.4 — Shipping */
#app .shipping-page{width:100%;max-width:1500px;margin:0 auto;color:#17181b;font-family:'Google Sans','Poppins',sans-serif}
#app .shipping-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}#app .shipping-head h1{margin:0 0 5px;font-size:30px;font-weight:600;letter-spacing:-.02em}#app .shipping-head p{max-width:760px;margin:0;color:#5b5f66;font-size:14px;line-height:1.5}#app .shipping-head>div:last-child{display:flex;gap:8px}#app .shipping-head button{height:38px;padding:0 14px;border-radius:8px;font:600 13px 'Google Sans','Poppins',sans-serif}
#app .shipping-readonly{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:14px;padding:11px 14px;border-radius:9px;background:#e6f3eb;color:#245f3e;font-size:12px}#app .shipping-readonly>i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#fff;font-style:normal}#app .shipping-readonly b{font-weight:700}#app .shipping-readonly small{color:#4e6959}
#app .shipping-help{display:flex;gap:10px;margin:-4px 0 14px;padding:12px 14px;border-radius:9px;background:#f5f2ec;color:#5b5f66;font-size:12px;line-height:1.45}#app .shipping-help[hidden]{display:none!important}#app .shipping-help b{flex:0 0 auto;color:#17181b}
#app .shipping-pipeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:14px;border-radius:11px;background:#fff;box-shadow:0 4px 18px rgba(29,31,35,.07);overflow:hidden}#app .shipping-pipe-card{display:flex;min-width:0;min-height:92px;flex-direction:column;align-items:flex-start;gap:3px;padding:13px 15px;border:0;border-left:1px solid #ece9e2;background:#fff;color:#17181b;text-align:left;cursor:pointer}#app .shipping-pipe-card:first-child{border-left:0}#app .shipping-pipe-card:hover,#app .shipping-pipe-card.active{background:#f8f6f1}#app .shipping-pipe-card.active{box-shadow:inset 0 -3px #b3122b}#app .shipping-pipe-card small{color:#64686f;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}#app .shipping-pipe-card b{font-size:25px;font-weight:600}#app .shipping-pipe-card span{overflow:hidden;max-width:100%;color:#777b82;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
#app .shipping-tabs{display:flex;gap:3px;margin-bottom:0;padding:0 8px;border-bottom:1px solid #dedbd4}#app .shipping-tabs button{height:40px;padding:0 11px;border:0;border-bottom:2px solid transparent;background:transparent;color:#60646b;font:600 12px 'Google Sans','Poppins',sans-serif;cursor:pointer}#app .shipping-tabs button.active{border-bottom-color:#b3122b;color:#17181b}#app .shipping-tabs span{display:inline-grid;min-width:20px;height:20px;place-items:center;margin-left:4px;border-radius:999px;background:#ece9e3;font-size:10px}
#app .shipping-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;min-height:570px;border-radius:0 0 11px 11px;background:#fff;box-shadow:0 5px 20px rgba(29,31,35,.07);overflow:hidden}#app .shipping-master{min-width:0;border-right:1px solid #e5e2dc}#app .shipping-tools{display:flex;gap:8px;padding:11px 13px;border-bottom:1px solid #e9e6df}#app .shipping-tools input{min-width:0;flex:1}#app .shipping-tools input,#app .shipping-tools select{height:38px;padding:0 11px;border:1px solid #cbc7bf;border-radius:7px;background:#fff;color:#17181b;font:13px 'Google Sans','Poppins',sans-serif}#app .shipping-tools select{min-width:150px}
#app .shipping-table{min-width:0;overflow-x:auto}#app .shipping-table-head,#app .shipping-row{display:grid;grid-template-columns:1.15fr 1fr .75fr 1.2fr .8fr .55fr;gap:12px;min-width:900px;align-items:center;padding:10px 14px}#app .shipping-table-head{background:#f3f1ec;color:#63676e;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}#app .shipping-row{width:100%;min-height:58px;border:0;border-bottom:1px solid #ece9e3;background:#fff;color:#34383f;text-align:left;cursor:pointer}#app .shipping-row:hover,#app .shipping-row.selected{background:#faf8f4}#app .shipping-row.selected{box-shadow:inset 3px 0 #b3122b}#app .shipping-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#app .shipping-row b,#app .shipping-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#app .shipping-row b{color:#17181b;font-size:12px;font-weight:650}#app .shipping-row small{margin-top:2px;color:#777b82;font-size:10px}#app .shipping-row a{color:#b3122b;text-decoration:none}#app .shipping-link-ticket{height:28px;padding:0 9px;border:1px solid #d5aab1;border-radius:6px;background:#fff;color:#a32034;font:600 11px 'Google Sans','Poppins',sans-serif;cursor:pointer}
#app .shipping-status{display:inline-flex;min-height:23px;align-items:center;padding:2px 8px;border-radius:999px;font-size:10px;font-style:normal;font-weight:650;white-space:nowrap}#app .shipping-status.green{background:#e2f2e8;color:#1b6b3d}#app .shipping-status.red{background:#fce8e6;color:#a3201a}#app .shipping-status.blue{background:#e7eefb;color:#1b4fb0}#app .shipping-status.purple{background:#f1e9f8;color:#6b2d86}#app .shipping-status.amber{background:#fbefd9;color:#855000}
#app .shipping-pager{display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px;color:#666a71;font-size:11px}#app .shipping-pager nav{display:flex;align-items:center;gap:8px}#app .shipping-pager button{height:30px;padding:0 10px;border:1px solid #d5d1c9;border-radius:6px;background:#fff;color:#17181b;font:600 11px 'Google Sans','Poppins',sans-serif;cursor:pointer}#app .shipping-pager button:disabled{opacity:.4;cursor:default}#app .shipping-pager b{font-size:11px;font-weight:500}
#app .shipping-detail{min-width:0;background:#fff}#app .shipping-detail>header,#app .shipping-detail>section,#app .shipping-detail>footer{padding:17px;border-bottom:1px solid #e9e6df}#app .shipping-detail>header>span{color:#a32034;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}#app .shipping-detail>header>.shipping-status{float:right}#app .shipping-detail h2{margin:8px 0 3px;font-size:20px;font-weight:600}#app .shipping-detail>header p{margin:0 0 13px;color:#686c73;font-size:12px}#app .shipping-primary-link{display:flex;width:100%;height:36px;align-items:center;justify-content:center;border:0;border-radius:7px;background:#17181b;color:#fff!important;font:600 12px 'Google Sans','Poppins',sans-serif;text-decoration:none;cursor:pointer}#app .shipping-detail h3{margin:0 0 9px;font-size:12px;font-weight:700}#app .shipping-detail dl{margin:0}#app .shipping-detail dl>div{display:contents}#app .shipping-detail dt,#app .shipping-detail dd{display:inline-block;width:49%;margin:0;padding:6px 0;border-bottom:1px solid #f0eee9;font-size:11px}#app .shipping-detail dt{color:#777b82}#app .shipping-detail dd{color:#17181b;text-align:right;overflow-wrap:anywhere}#app .shipping-detail section p,#app .shipping-detail footer p{margin:0;color:#686c73;font-size:11px;line-height:1.5}#app .shipping-detail footer{border-bottom:0;background:#faf8f4}#app .shipping-detail footer span{display:inline-block;margin-bottom:5px;color:#855000;font-size:10px;font-weight:700;text-transform:uppercase}#app .shipping-detail-empty{display:flex;min-height:420px;align-items:center;justify-content:center;flex-direction:column;gap:4px;padding:25px;color:#73777e;text-align:center}#app .shipping-detail-empty b{color:#17181b;font-size:14px}#app .shipping-detail-empty span{font-size:11px}#app .shipping-empty{display:flex;min-height:260px;align-items:center;justify-content:center;flex-direction:column;gap:4px;color:#777b82}#app .shipping-empty b{color:#17181b;font-size:14px}#app .shipping-empty span{font-size:11px}
#app .shipping-link-form{display:grid;gap:8px;padding:15px 17px;border-bottom:1px solid #e9e6df;background:#fff8e6}#app .shipping-link-form label{color:#17181b;font-size:12px;font-weight:700}#app .shipping-link-form p{margin:0;color:#686c73;font-size:11px;line-height:1.4}#app .shipping-link-form input{width:100%;height:38px;padding:0 10px;border:1px solid #b9b4aa;border-radius:7px;background:#fff;color:#17181b;font:13px 'Google Sans','Poppins',sans-serif;text-transform:uppercase}#app .shipping-link-form>div{display:flex;justify-content:flex-end;gap:7px}#app .shipping-link-form button{height:34px;padding:0 11px;border-radius:7px;font:600 11px 'Google Sans','Poppins',sans-serif}#app .shipping-link-error{padding:7px 9px;border-radius:6px;background:#fce8e6;color:#a3201a;font-size:11px}
@media(max-width:1150px){#app .shipping-layout{grid-template-columns:1fr}#app .shipping-master{border-right:0}#app .shipping-detail{border-top:1px solid #e5e2dc}#app .shipping-pipeline{grid-template-columns:repeat(3,minmax(0,1fr))}#app .shipping-pipe-card:nth-child(4){border-left:0}}
@media(max-width:760px){#app .shipping-head{flex-direction:column}#app .shipping-head>div:last-child{width:100%}#app .shipping-head button{flex:1}#app .shipping-readonly{grid-template-columns:22px 1fr}#app .shipping-readonly small{grid-column:2}#app .shipping-pipeline{grid-template-columns:repeat(2,minmax(0,1fr))}#app .shipping-pipe-card:nth-child(odd){border-left:0}#app .shipping-tabs{overflow-x:auto}#app .shipping-tools{align-items:stretch;flex-direction:column}#app .shipping-tools select{width:100%}#app .shipping-pager{align-items:flex-start;flex-direction:column}#app .shipping-pager nav{width:100%;justify-content:space-between}}
/* v0.17.4.0 — web order links */
#app .shipping-weborder dd a{color:#b3122b;text-decoration:none}
#app .shipping-weborder-actions{display:flex;flex-direction:column;gap:8px;margin-top:12px}
#app .shipping-unlink{padding:0;border:0;background:none;color:#6b6f76;font:11px 'Google Sans','Poppins',sans-serif;text-decoration:underline;cursor:pointer;align-self:flex-start}
#app .shipping-order-form{display:flex;gap:6px;margin-top:8px}
#app .shipping-order-form input{flex:1;min-width:0;height:34px;padding:0 9px;border:1px solid #cbc7bf;border-radius:7px;font:12px 'Google Sans','Poppins',sans-serif}
#app .shipping-order-form button{height:34px;padding:0 14px;border:1px solid #17181b;border-radius:7px;background:#17181b;color:#fff;font:600 11px 'Google Sans','Poppins',sans-serif;cursor:pointer}
#app .shipping-row a{color:inherit;text-decoration:none}#app .shipping-row a b{color:#b3122b}

/* ===== v0.17.7.0 — Shipping, as approved (shp-*) ===== */
.shp-page{display:flex;flex-direction:column;gap:14px;color:#17181B;font-family:'Google Sans','Poppins',system-ui,sans-serif}
.shp-page a{color:#B3122B;text-decoration:none}.shp-page a:hover{color:#8E0E22}
.shp-mono{font-family:'IBM Plex Mono',ui-monospace,monospace}
.shp-muted{color:#5B5F66}.shp-small{font-size:12px}.shp-redt{color:#A3201A!important}.shp-r{text-align:right}
.shp-ic{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.shp-okc{color:#1B6B3D}.shp-warnc{color:#855000}.shp-noc{color:#A3201A}
.shp-head{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.shp-head>div{flex:1 1 320px}
.shp-head h1{margin:0;font-size:28px;font-weight:600;letter-spacing:-.01em}.shp-head p{margin:4px 0 0;font-size:14px}
.shp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 14px;border-radius:8px;border:1px solid #DAD7CF;background:#fff;color:#17181B!important;font:500 14px 'Google Sans','Poppins',sans-serif;cursor:pointer;box-sizing:border-box;white-space:nowrap;text-decoration:none}
.shp-btn:hover{background:#FAF9F6}.shp-btn:disabled{opacity:.5;cursor:default}
.shp-btn-sm{height:32px;font-size:13px;padding:0 11px}
.shp-primary{background:#C8102E;border-color:#C8102E;color:#fff!important}.shp-primary:hover{background:#A90D26}
.shp-ink{background:#17181B;border-color:#17181B;color:#fff!important}.shp-ink:hover{background:#2B2D31}
.shp-on{background:#17181B;color:#fff!important;border-color:#17181B}
.shp-link{border:0;background:none;color:#B3122B;font:inherit;cursor:pointer;padding:0}
.shp-pill{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap}
.shp-pill i{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block}
.shp-blue{background:#E7EEFB;color:#1B4FB0}.shp-amber{background:#FBEFD9;color:#855000}.shp-green{background:#E2F2E8;color:#1B6B3D}.shp-grey{background:#EEEDE8;color:#50535A}.shp-red{background:#FCE8E6;color:#A3201A}.shp-purple{background:#F1E9F8;color:#6B2D86}
.shp-card{background:#fff;border:1px solid #E4E1DA;border-radius:12px}
.shp-sec{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#5B5F66;margin-bottom:6px}
.shp-sec-pad{padding:14px 18px}.shp-bb{border-bottom:1px solid #EFEDE7}
.shp-pipe{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.shp-st{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border:0;border-left:1px solid #EFEDE7;background:transparent;text-align:left;font-family:inherit;color:#17181B;cursor:pointer;position:relative;align-items:flex-start}
.shp-st.shp-first{border-left:0;border-radius:12px 0 0 12px}.shp-st.shp-last{border-radius:0 12px 12px 0}
.shp-st:hover{background:#FAF9F6}.shp-st-on,.shp-st-on:hover{background:#FBF0F0}
.shp-big{font-size:22px;font-weight:600}
.shp-arrow{position:absolute;right:-7px;top:50%;width:12px;height:12px;margin-top:-6px;background:#fff;border-top:1px solid #E4E1DA;border-right:1px solid #E4E1DA;transform:rotate(45deg);z-index:1}
.shp-st-on .shp-arrow{background:#FBF0F0}
.shp-body{display:flex;gap:16px;align-items:stretch;min-height:560px}
.shp-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;overflow:hidden}
.shp-side{width:360px;flex-shrink:0;display:flex;flex-direction:column;overflow:hidden}
.shp-side h2{margin:6px 0 2px;font-size:19px;font-weight:600}.shp-side .shp-btn{margin-top:10px}.shp-side .shp-small{margin-top:8px}
.shp-pills{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.shp-tabs{display:flex;gap:22px;padding:0 16px;border-bottom:1px solid #EFEDE7;overflow-x:auto}
.shp-tab{height:40px;padding:0 2px;border:0;border-bottom:2px solid transparent;background:transparent;font:500 14px 'Google Sans','Poppins',sans-serif;color:#5B5F66;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.shp-tab-on{color:#17181B;border-bottom-color:#C8102E}
.shp-tools{display:flex;gap:8px;padding:12px 16px;align-items:center;flex-wrap:wrap}
.shp-search{flex:1 1 240px;height:36px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #DAD7CF;border-radius:8px;box-sizing:border-box;color:#5B5F66}
.shp-search input{flex:1;min-width:0;border:0!important;font:400 14px 'Google Sans','Poppins',sans-serif;outline:none;box-shadow:none!important;padding:0!important;height:auto!important;background:transparent}
.shp-tr{display:grid;grid-template-columns:24px minmax(0,1.5fr) minmax(0,1.1fr) 110px 170px 70px;column-gap:12px;align-items:center;padding:0 16px;min-height:54px;border-top:1px solid #EFEDE7;font-size:13px;cursor:pointer}
.shp-tr:hover{background:#FAF9F6}.shp-sel,.shp-sel:hover{background:#FBF0F0}
.shp-tr input{width:16px;height:16px;accent-color:#C8102E;margin:0}
.shp-th{min-height:34px;background:#FAF9F6;cursor:default;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#5B5F66}
.shp-th:hover{background:#FAF9F6}
.shp-who{min-width:0}.shp-who>div{display:flex;gap:6px;align-items:baseline;min-width:0}.shp-who small{color:#5B5F66;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shp-who b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shp-trunc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shp-age{text-align:right}
.shp-grow{flex-grow:1}
.shp-foot,.shp-pager{display:flex;align-items:center;gap:10px;padding:12px 16px;border-top:1px solid #EFEDE7;flex-wrap:wrap}.shp-foot>span:first-child,.shp-pager>span:first-child{flex:1 1 200px;font-size:13px}
.shp-empty{display:flex;flex-direction:column;gap:4px;padding:40px 20px;text-align:center;color:#5B5F66}.shp-empty b{color:#17181B}
.shp-addr{font-size:14px;line-height:1.5}
.shp-chk{display:grid;grid-template-columns:18px minmax(0,1fr);column-gap:10px;font-size:13px;padding:5px 0;align-items:start}
.shp-kv{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:4px 0}.shp-kv>span:first-child{color:#5B5F66}
.shp-note{padding:12px 18px;border-top:1px solid #EFEDE7;background:#FBEFD9;font-size:13px;line-height:1.45;color:#855000}
.shp-help{padding:16px 20px;font-size:13px;line-height:1.5}.shp-help ol{margin:8px 0;padding-left:20px}
.shp-crumbs{display:flex;gap:6px;font-size:13px;align-items:center}
.shp-dhead{padding:20px 24px;display:flex;flex-direction:column;gap:18px}.shp-drow{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.shp-dhead h1{margin:0;font-size:24px;font-weight:500}.shp-dhead .shp-muted{font-size:14px;margin-top:6px}
.shp-steps{display:flex;position:relative}.shp-step{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;text-align:center;position:relative;color:#5B5F66}
.shp-step:before{content:'';position:absolute;top:12px;left:-50%;right:50%;height:2px;background:#E4E1DA}.shp-step:first-child:before{display:none}
.shp-step.shp-done:before,.shp-step.shp-cur:before{background:#17181B}
.shp-step i{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:12px;font-weight:600;position:relative;z-index:1;background:#fff;border:2px solid #DAD7CF;box-sizing:border-box}
.shp-step.shp-done i{background:#17181B;border-color:#17181B;color:#fff}.shp-step.shp-cur i{background:#1B4FB0;border-color:#1B4FB0;color:#fff}.shp-step.shp-done b,.shp-step.shp-cur b{color:#17181B}.shp-step.shp-cur b{color:#1B4FB0}
.shp-dbody{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px}.shp-dside{display:flex;flex-direction:column;gap:16px}
.shp-card-head{display:flex;align-items:center;padding:14px 18px}.shp-card-head h2{margin:0;font-size:15px;font-weight:600;flex-grow:1}
.shp-ev{display:grid;grid-template-columns:14px minmax(0,1fr) 130px;column-gap:12px;padding:10px 18px;border-top:1px solid #EFEDE7;font-size:13px;align-items:start}
.shp-ev i{width:7px;height:7px;border-radius:50%;background:#5B5F66;margin-top:6px}.shp-ev i.shp-dot-now{background:#1B4FB0}
.shp-inline{display:flex;gap:6px;margin:6px 0}.shp-inline input{flex:1;min-width:0;height:32px;border:1px solid #DAD7CF;border-radius:8px;padding:0 10px;font:inherit}
@media (max-width:1100px){.shp-body,.shp-dbody{flex-direction:column;display:flex}.shp-side{width:auto}.shp-pipe{grid-template-columns:repeat(3,minmax(0,1fr))}.shp-arrow{display:none}.shp-st{border-top:1px solid #EFEDE7}}
@media (max-width:700px){.shp-pipe{grid-template-columns:repeat(2,minmax(0,1fr))}.shp-tr{grid-template-columns:22px minmax(0,1fr) 92px;row-gap:4px;padding:8px 12px}.shp-tr>:nth-child(3),.shp-tr>:nth-child(4),.shp-th>:nth-child(3),.shp-th>:nth-child(4),.shp-th>:nth-child(5){display:none}.shp-tr>:nth-child(6){grid-column:3;grid-row:1}.shp-tr>:nth-child(5){grid-column:2/4}.shp-head h1{font-size:24px}}

/* ===== v0.17.8.0 — Book a shipment (approved ShipmentBook design) ===== */
.shp-btop{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:2px 0}
.shp-back{width:38px;padding:0;font-size:20px;line-height:1}
.shp-btop .shp-crumbs{font-size:15px}.shp-btop .shp-crumbs a{color:#5B5F66}.shp-btop .shp-crumbs b{font-weight:600}
.shp-bgrid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}
.shp-bcol{display:flex;flex-direction:column;gap:16px;min-width:0}
.shp-bside{position:sticky;top:12px;min-height:calc(100vh - 140px)}
.shp-bhead{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid #EFEDE7}
.shp-bhead i{width:24px;height:24px;border-radius:50%;background:#17181B;color:#fff;font-style:normal;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.shp-bhead h2{margin:0;font-size:16px;font-weight:600;flex:1}
.shp-bpad{padding:14px 18px}.shp-bt{border-top:1px solid #EFEDE7;margin:0}
.shp-bside h3{margin:8px 0 10px;font-size:17px;font-weight:600}
.shp-boxes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.shp-box{display:flex;flex-direction:column;gap:4px;align-items:flex-start;padding:12px;border:1px solid #DAD7CF;border-radius:10px;background:#fff;cursor:pointer;font:inherit;text-align:left;color:#17181B;min-width:0}
.shp-box b{font-size:13px;font-weight:600}.shp-box span{font-size:11px;color:#5B5F66}
.shp-box:hover{background:#FAF9F6}.shp-box-on,.shp-box-on:hover{border:2px solid #17181B;padding:11px}
.shp-frow{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-top:14px}
.shp-f{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:#17181B;min-width:0;flex:1 1 90px}
.shp-f-kg{flex:0 1 110px}.shp-f-n{flex:0 1 70px}.shp-f-dv{flex:0 1 140px}
.shp-in{display:flex;align-items:center;height:38px;border:1px solid #DAD7CF;border-radius:8px;padding:0 10px;gap:6px;background:#fff}
.shp-in:focus-within{border-color:#17181B;box-shadow:0 0 0 2px rgba(23,24,27,.08)}
.shp-in input{flex:1;min-width:0;border:0!important;outline:none;box-shadow:none!important;font:400 14px 'IBM Plex Mono',ui-monospace,monospace;padding:0!important;height:auto!important;background:transparent}
.shp-in i{font-style:normal;color:#5B5F66;font-size:12px}
.shp-addrform .shp-f{margin-top:10px}.shp-addrform .shp-frow{margin-top:0}.shp-addrform .shp-in input{font-family:inherit}
.shp-addrform .shp-btn{margin-top:12px}
.shp-cb{display:flex;align-items:center;gap:8px;font-size:14px;padding:5px 0;cursor:pointer}.shp-cb input{width:16px;height:16px;accent-color:#C8102E;margin:0}
.shp-push{margin-left:auto;padding-bottom:9px}
.shp-warnbox{margin-top:14px;padding:10px 12px;border-radius:8px;background:#FBEFD9;color:#855000;font-size:13px;line-height:1.45}
.shp-rate{display:grid;grid-template-columns:22px minmax(0,1fr) 150px 110px 110px;column-gap:14px;align-items:center;padding:12px 18px;border-top:1px solid #EFEDE7;cursor:pointer;font-size:14px}
.shp-rate:first-of-type{border-top:0}
.shp-rate:hover{background:#FAF9F6}.shp-rate-on,.shp-rate-on:hover{background:#FAF9F6}
.shp-rate input{width:16px;height:16px;accent-color:#17181B;margin:0}
.shp-rate b{display:block;font-weight:600}.shp-rate small{color:#5B5F66;font-size:12px}
.shp-rate-h{min-height:0;padding:8px 18px;background:#FAF9F6;cursor:default;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#5B5F66}
.shp-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.shp-flabel{font-size:13px;font-weight:600;margin-bottom:8px}
.shp-opt{display:flex;flex-direction:column;gap:3px;padding:11px 12px;border:1px solid #DAD7CF;border-radius:10px;font-size:13px;margin-bottom:10px}
.shp-opt b{font-weight:600;font-size:14px}.shp-opt span{color:#5B5F66}.shp-opt-on{border:2px solid #17181B;padding:10px 11px}
.shp-kv-b{border-top:1px solid #EFEDE7;margin-top:6px;padding-top:10px;font-weight:600}.shp-kv-b>span:first-child{color:#17181B}
.shp-bookbtn{width:100%;height:52px;font-size:16px;border-radius:10px}
.shp-err{border-top:0;background:#FCE9E7;color:#A3201A;border-radius:10px}
.shp-note-ok{background:#E2F2E8;color:#1B6B3D}
.shp-labelbox{display:inline-flex;gap:6px;align-items:center}
.shp-done-card{padding:32px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}
.shp-done-card h2{margin:6px 0 0;font-size:22px;font-weight:600}.shp-done-card p{margin:2px 0}
.shp-done-ic{width:52px;height:52px;border-radius:50%;background:#E2F2E8;display:flex;align-items:center;justify-content:center}.shp-done-ic .shp-ic{width:26px;height:26px}
.shp-done-card .shp-note{border:0;border-radius:8px;margin-top:8px}
.shp-done-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:16px}
@media (max-width:1100px){.shp-bgrid{grid-template-columns:minmax(0,1fr)}.shp-bside{position:static;min-height:0}.shp-boxes{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.shp-boxes{grid-template-columns:repeat(2,minmax(0,1fr))}.shp-two{grid-template-columns:1fr}.shp-rate{grid-template-columns:22px minmax(0,1fr) auto;row-gap:4px}.shp-rate>:nth-child(1){grid-row:1/3}.shp-rate>:nth-child(2){grid-column:2;grid-row:1}.shp-rate>:nth-child(3){grid-column:2;grid-row:2;color:#5B5F66}.shp-rate>:nth-child(4){grid-column:3;grid-row:1}.shp-rate>:nth-child(5){grid-column:3;grid-row:2}.shp-rate-h{display:none}.shp-hide-m{display:none}.shp-push{margin-left:0}.shp-f-dv{flex:1 1 140px}}
.shp-book label.shp-rate,.shp-book label.shp-cb{font-weight:400}.shp-rate small,.shp-rate span{font-weight:400}.shp-rate b{font-weight:600}
.shp-book .shp-f select{width:auto;align-self:flex-start;min-width:120px}
.shp-rate{padding:10px 18px}
@media (max-width:700px){.shp-bhead{flex-wrap:wrap}.shp-bhead h2{flex:1 1 auto}.shp-bhead>span{flex:1 1 100%;padding-left:36px}}

/* ==== web-orders.css ==== */
/* Omnisky Operations v0.17.1 — Web orders */
#app .wo-page{width:100%;max-width:1500px;margin:0 auto;color:#17181b;font-family:'Google Sans','Poppins',sans-serif}.wo-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.wo-head h1{margin:0 0 5px;font-size:30px;font-weight:600}.wo-head p{margin:0;color:#656970;font-size:14px}.wo-head>small{padding-top:8px;color:#73777e;font-size:11px}.wo-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:14px;border-radius:11px;background:#fff;box-shadow:0 4px 18px rgba(29,31,35,.07);overflow:hidden}.wo-card{display:flex;min-height:90px;flex-direction:column;align-items:flex-start;padding:14px 16px;border:0;border-left:1px solid #ece9e2;background:#fff;color:#17181b;text-align:left;cursor:pointer}.wo-card:first-child{border-left:0}.wo-card:hover,.wo-card.active{background:#f8f6f1}.wo-card.active{box-shadow:inset 0 -3px #b3122b}.wo-card span{font-size:11px;font-weight:650}.wo-card b{margin:4px 0;font-size:25px;font-weight:600}.wo-card small{color:#777b82;font-size:10px}.wo-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;min-height:570px;border-radius:11px;background:#fff;box-shadow:0 5px 20px rgba(29,31,35,.07);overflow:hidden}.wo-layout>main{min-width:0;border-right:1px solid #e5e2dc}.wo-tools{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid #e9e6df}.wo-tools input{min-width:0;height:38px;flex:1;padding:0 11px;border:1px solid #cbc7bf;border-radius:7px;font:13px 'Google Sans','Poppins',sans-serif}.wo-tools span{color:#73777e;font-size:11px}.wo-table{min-width:0;overflow-x:auto}.wo-row{display:grid;width:100%;grid-template-columns:.75fr 1.35fr .8fr .8fr .7fr;gap:12px;min-width:760px;align-items:center;padding:11px 14px;border:0;border-bottom:1px solid #ece9e3;background:#fff;color:#333;text-align:left}.wo-row:not(.wo-row-head){cursor:pointer}.wo-row:not(.wo-row-head):hover,.wo-row.selected{background:#faf8f4}.wo-row.selected{box-shadow:inset 3px 0 #b3122b}.wo-row-head{background:#f3f1ec;color:#676b72;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.wo-row b,.wo-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wo-row b{font-size:12px}.wo-row small{margin-top:2px;color:#7b7f86;font-size:10px}.wo-status{display:inline-flex;min-height:23px;align-items:center;padding:2px 8px;border-radius:999px;font-size:10px;font-style:normal;font-weight:650;white-space:nowrap}.wo-status.green{background:#e2f2e8;color:#1b6b3d}.wo-status.amber{background:#fbefd9;color:#855000}.wo-status.blue{background:#e7eefb;color:#1b4fb0}.wo-status.red{background:#fce8e6;color:#a3201a}.wo-status.grey{background:#efefec;color:#5e6268}.wo-pager{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;color:#6b6f76;font-size:11px}.wo-pager div{display:flex;align-items:center;gap:8px}.wo-pager button{height:30px;padding:0 10px;border:1px solid #d5d1c9;border-radius:6px;background:#fff;font:600 11px 'Google Sans','Poppins',sans-serif}.wo-pager button:disabled{opacity:.4}.wo-detail>header,.wo-detail>section,.wo-detail>footer{padding:18px;border-bottom:1px solid #e9e6df}.wo-detail>header>span{color:#a32034;font-size:10px;font-weight:700;text-transform:uppercase}.wo-detail>header>.wo-status{float:right}.wo-detail h2{margin:9px 0 3px;font-size:21px}.wo-detail header p{margin:0;color:#686c73;font-size:12px}.wo-detail h3{margin:0 0 9px;font-size:12px}.wo-detail dl{display:grid;grid-template-columns:1fr 1fr;margin:0}.wo-detail dt,.wo-detail dd{margin:0;padding:7px 0;border-bottom:1px solid #f0eee9;font-size:11px}.wo-detail dt{color:#777b82}.wo-detail dd{text-align:right;overflow-wrap:anywhere}.wo-detail footer{border:0;background:#faf8f4}.wo-detail footer>span{color:#855000;font-size:10px;font-weight:700;text-transform:uppercase}.wo-detail footer p{margin:5px 0 0;color:#686c73;font-size:11px}.wo-empty{display:flex;min-height:280px;align-items:center;justify-content:center;flex-direction:column;gap:4px;color:#777b82;text-align:center}.wo-empty b{color:#17181b;font-size:14px}.wo-empty span{font-size:11px}.wo-detail .wo-empty{min-height:420px;padding:20px}@media(max-width:1050px){.wo-layout{grid-template-columns:1fr}.wo-layout>main{border-right:0}.wo-detail{border-top:1px solid #e5e2dc}.wo-cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.wo-head{flex-direction:column}.wo-cards{grid-template-columns:repeat(2,1fr)}.wo-pager{align-items:flex-start;flex-direction:column;gap:8px}}
/* v0.17.4.0 — full history, richer rows and the order detail panel */
#app .wo-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
#app .wo-head-actions small{color:#73777e;font-size:11px}
#app .wo-primary-btn,#app .wo-ghost{display:inline-flex;height:36px;align-items:center;justify-content:center;padding:0 14px;border-radius:8px;font:600 12px 'Google Sans','Poppins',sans-serif;cursor:pointer;text-decoration:none}
#app .wo-primary-btn{border:1px solid #17181b;background:#17181b;color:#fff}
#app .wo-ghost{border:1px solid #cfcbc3;background:#fff;color:#17181b}
#app .wo-primary-btn:disabled,#app .wo-ghost:disabled{opacity:.5;cursor:default}
#app .wo-banner{margin:0 0 12px;padding:10px 14px;border-radius:9px;font-size:12px}
#app .wo-banner.info{background:#e7eefb;color:#1b4fb0}#app .wo-banner.good{background:#e2f2e8;color:#1b6b3d}#app .wo-banner.bad{background:#fce8e6;color:#a3201a}
#app .wo-cards{grid-template-columns:repeat(6,minmax(0,1fr))}
#app .wo-layout{grid-template-columns:minmax(0,1fr) 380px}
#app .wo-tools{flex-wrap:wrap}
#app .wo-tools select{height:38px;padding:0 8px;border:1px solid #cbc7bf;border-radius:7px;background:#fff;font:12px 'Google Sans','Poppins',sans-serif}
#app .wo-tools input{min-width:220px}
#app .wo-row{grid-template-columns:.62fr 1.15fr 1.25fr .95fr .9fr .7fr;min-width:780px}
#app .wo-row .r,#app .wo-items .r{text-align:right}
#app .wo-row .wo-status+small{margin-top:4px}
#app .wo-muted{color:#80848b!important;font-weight:400}
#app .wo-amber{color:#855000}
#app .wo-err{margin:8px 0 0;color:#a3201a;font-size:11px}
#app .wo-detail{min-width:0;max-height:calc(100vh - 120px);overflow:auto;position:sticky;top:0}
#app .wo-detail .wo-total{margin-top:6px!important;color:#17181b!important;font-size:16px!important;font-weight:600}
#app .wo-detail .wo-total small{color:#a3201a;font-size:11px;font-weight:400}
#app .wo-detail header .wo-ghost{margin-top:12px;height:32px}
#app .wo-ship{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid #f0eee9}
#app .wo-ship b{font-size:12px}#app .wo-ship small{display:block;margin-top:3px;color:#7b7f86;font-size:10px}
#app .wo-ship-actions{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:11px;white-space:nowrap}
#app .wo-ship-actions a{color:#b3122b;font-weight:600;text-decoration:none}
#app .wo-link-btn{padding:0;border:0;background:none;color:#6b6f76;font:11px 'Google Sans','Poppins',sans-serif;text-decoration:underline;cursor:pointer}
#app .wo-link-form{display:flex;gap:6px;margin-top:10px}
#app .wo-link-form input{flex:1;min-width:0;height:34px;padding:0 9px;border:1px solid #cbc7bf;border-radius:7px;font:12px 'Google Sans','Poppins',sans-serif}
#app .wo-link-form button{height:34px;padding:0 12px;border:1px solid #17181b;border-radius:7px;background:#17181b;color:#fff;font:600 11px 'Google Sans','Poppins',sans-serif;cursor:pointer}
#app .wo-items{width:100%;border-collapse:collapse;font-size:11px}
#app .wo-items th{padding:6px 0;color:#7b7f86;font-size:10px;font-weight:600;text-align:left;border-bottom:1px solid #ece9e3}
#app .wo-items td{padding:7px 0;border-bottom:1px solid #f0eee9;vertical-align:top}
#app .wo-items td small{display:block;margin-top:2px;color:#7b7f86;font-size:10px}
#app .wo-items td+td{padding-left:8px;white-space:nowrap}
#app .wo-totals{margin-top:8px!important}
#app .wo-addrs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}
#app .wo-addrs small{color:#7b7f86;font-size:10px;font-weight:600;text-transform:uppercase}
#app .wo-addr{margin:4px 0 0;font-size:11px;line-height:1.5;overflow-wrap:anywhere}
#app .wo-addr a{color:#1b4fb0}
#app .wo-note{margin:10px 0 0;padding:9px 10px;border-radius:7px;background:#fbefd9;color:#5c3a00;font-size:11px}
#app .wo-ordernote{padding:8px 10px;margin-bottom:6px;border-radius:7px;background:#f6f4ef;font-size:11px}
#app .wo-ordernote.customer{background:#e7eefb}
#app .wo-ordernote small{color:#7b7f86;font-size:10px}#app .wo-ordernote p{margin:3px 0 0;white-space:pre-wrap}
@media(max-width:1300px){#app .wo-layout{grid-template-columns:minmax(0,1fr) 340px}}
@media(max-width:1050px){#app .wo-cards{grid-template-columns:repeat(3,1fr)}#app .wo-detail{max-height:none;position:static}}
#app .wo-row>span{min-width:0}
#app .wo-items{table-layout:fixed}
#app .wo-items th:first-child,#app .wo-items td:first-child{width:auto;white-space:normal}
#app .wo-items th:nth-child(2),#app .wo-items td:nth-child(2){width:34px}
#app .wo-items th:nth-child(3),#app .wo-items td:nth-child(3),#app .wo-items th:nth-child(4),#app .wo-items td:nth-child(4){width:82px}
#app .wo-items td b{display:block;white-space:normal;font-size:11px}
#app .wo-detail table.wo-items{width:100%!important;min-width:0!important;max-width:100%!important}
#app .wo-detail{overflow-x:hidden}
/* v0.17.5.0 — single column on tablets and phones */
@media(max-width:1050px){#app .wo-layout{grid-template-columns:1fr!important}#app .wo-layout>main{border-right:0}#app .wo-detail{position:static;max-height:none;border-top:1px solid #e5e2dc}}
@media(max-width:700px){#app .wo-cards{grid-template-columns:repeat(2,minmax(0,1fr))}#app .wo-tools input{min-width:0;flex:1 1 100%}}

/* ==== book-in.css ==== */
/* Full-page Workshop booking workflow — v0.16.5 */
#entity-view:has(.book-page){overflow:auto;background:#f4f3ef}
.book-page{min-height:100%;padding:18px 32px 28px;box-sizing:border-box;color:#17181b;font-family:'Google Sans','Poppins',system-ui,sans-serif}
.book-crumb{display:flex;align-items:center;gap:7px;margin-bottom:12px;font-size:13px}.book-crumb a{color:#b3122b;text-decoration:none}.book-crumb span{color:#686b71}
.book-title{margin-bottom:16px}.book-title h1{margin:0;font-size:28px;font-weight:600;letter-spacing:-.02em}.book-title p{margin:4px 0 0;color:#5b5f66;font-size:14px}
.book-layout{display:grid;grid-template-columns:250px minmax(420px,1fr) 300px;align-items:start;gap:16px;margin:0}
.book-card,.book-panel,.book-steps{border:0;border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(27,29,34,.07),0 1px 3px rgba(27,29,34,.05)}
.book-steps{padding:8px 18px}.book-step{display:flex;width:100%;gap:12px;padding:14px 0;border:0;border-bottom:1px solid #efede7;background:transparent;text-align:left;cursor:pointer;font-family:inherit}.book-step:last-child{border-bottom:0}.book-step i{display:grid;flex:0 0 26px;height:26px;place-items:center;box-sizing:border-box;border:2px solid #dad7cf;border-radius:50%;background:#fff;color:#5b5f66;font-size:12px;font-style:normal;font-weight:600}.book-step span{display:flex;min-width:0;flex-direction:column}.book-step b{font-size:14px;font-weight:600}.book-step small{margin-top:2px;color:#686b71;font-size:12px;line-height:1.35}.book-step em{margin-top:3px;color:#b3122b;font-size:12px;font-style:normal}.book-step.done i{border-color:#17181b;background:#17181b;color:#fff}.book-step.current i{border-color:#c8102e;background:#c8102e;color:#fff}.book-step:not(.current):not(.done) b{color:#686b71}
.book-panel{display:flex;min-height:642px;flex-direction:column;padding:20px 22px;box-sizing:border-box}.book-panel>header{margin-bottom:22px}.book-panel>header h2{margin:2px 0 4px;font-size:22px;font-weight:600;letter-spacing:-.01em}.book-panel>header>p:not(.book-eyebrow){margin:0;color:#5b5f66;font-size:13px;line-height:1.5}
.book-eyebrow{margin:0;color:#5b5f66;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.book-form-stack{display:flex;flex-direction:column;gap:18px}.book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.book-wide{grid-column:1/-1}
.book-label{display:flex;flex-direction:column;gap:6px;color:#2f3238;font-size:13px;font-weight:600}.book-label-title{display:block;margin-bottom:7px;color:#2f3238;font-size:13px;font-weight:600}.book-label input,.book-label select,.book-label textarea,.book-job input,.book-job select,.book-condition textarea{width:100%;min-height:40px;box-sizing:border-box;padding:9px 11px;border:1px solid #dad7cf;border-radius:8px;background:#fff;color:#17181b;font:400 14px 'Google Sans','Poppins',sans-serif;outline:none}.book-label textarea,.book-condition textarea{resize:vertical}.book-label input:focus,.book-label select:focus,.book-label textarea:focus,.book-job input:focus,.book-job select:focus,.book-condition textarea:focus{border-color:#8e9096;box-shadow:0 0 0 3px rgba(23,24,27,.06)}
.book-choice-note{display:grid;grid-template-columns:1fr auto;gap:3px 16px;padding:16px;border-radius:10px;background:#f7f6f2}.book-choice-note b{font-size:14px}.book-choice-note span{grid-column:1;color:#5b5f66;font-size:13px}.book-choice-note a{grid-column:2;grid-row:1/3;align-self:center;color:#b3122b;font-size:13px;font-weight:600}
.book-asset-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.book-asset-list button{display:flex;flex-direction:column;align-items:flex-start;padding:11px;border:1px solid #e4e1da;border-radius:8px;background:#fff;color:#17181b;text-align:left;cursor:pointer;font-family:inherit}.book-asset-list button:hover{border-color:#b3122b;background:#fffafb}.book-asset-list b{font-size:13px}.book-asset-list small{margin-top:3px;color:#686b71;font-size:11px}
.book-side{display:flex;flex-direction:column;gap:16px}.book-card{padding:16px 18px}.book-card h2{margin:6px 0 10px;font:500 18px 'Google Sans','Poppins',sans-serif}.book-card>p:not(.book-eyebrow){margin:8px 0 0;color:#4f535a;font-size:13px;line-height:1.5}.book-job label{display:grid;grid-template-columns:88px 1fr;align-items:center;gap:10px;padding:7px 0;border-top:1px solid #efede7;color:#5b5f66;font-size:12px}.book-job input,.book-job select{min-height:32px;padding:5px 6px;border:0;text-align:right;font-size:12px}.book-pill{display:inline-flex;padding:2px 8px;border-radius:999px;background:#eeede8;color:#34373c;font-weight:600}
.book-condition{gap:18px}.book-condition>div{display:block}.book-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}.book-chips button{min-height:32px;padding:0 12px;border:1px solid #dad7cf;border-radius:999px;background:#fff;color:#17181b;cursor:pointer;font:500 13px 'Google Sans','Poppins',sans-serif}.book-chips button.active{border-color:#17181b;background:#17181b;color:#fff}.book-checks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.book-checks label{display:flex;min-height:36px;box-sizing:border-box;align-items:center;gap:8px;padding:0 11px;border:1px solid #e4e1da;border-radius:8px;font-size:13px}.book-checks input{width:16px;height:16px;margin:0;accent-color:#c8102e}.book-condition-title{display:flex;align-items:center;justify-content:space-between}.book-condition-title small{color:#686b71;font-size:11px}.book-condition-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 0;border-top:1px solid #efede7;font-size:13px}.book-condition-list fieldset{display:flex;gap:2px;margin:0;padding:3px;border:0;border-radius:8px;background:#f1efe9}.book-condition-list button{height:28px;padding:0 9px;border:0;border-radius:6px;background:transparent;color:#62666d;cursor:pointer;font:500 11px 'Google Sans','Poppins',sans-serif}.book-condition-list button.active{background:#fff;color:#17181b;box-shadow:0 1px 2px rgba(20,20,20,.12)}.book-condition-list button.active.damaged{background:#fce8e6;color:#a3201a;box-shadow:none}.book-photos{display:flex;flex-wrap:wrap;gap:8px}.book-photos label{display:flex;width:148px;min-height:66px;box-sizing:border-box;flex-direction:column;justify-content:center;padding:8px;border:1px dashed #b9b5ac;border-radius:8px;background:#faf9f6;color:#50535a;cursor:pointer}.book-photos input{position:absolute;opacity:0;pointer-events:none}.book-photos b{font-size:12px}.book-photos small{margin-top:3px;font-size:9px;line-height:1.3}.book-photos>span{display:grid;width:88px;min-height:66px;place-items:center;padding:7px;box-sizing:border-box;border-radius:8px;background:#e9e6df;color:#50535a;font-size:10px;overflow-wrap:anywhere;text-align:center}
.book-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.book-review section{position:relative;min-height:112px;padding:15px;border-radius:9px;background:#f7f6f2}.book-review-wide{grid-column:1/-1}.book-review h3{margin:7px 0 3px;font-size:14px;font-weight:600}.book-review section>p:not(.book-eyebrow){margin:0;padding-right:50px;color:#5b5f66;font-size:12px;line-height:1.45}.book-review button{position:absolute;right:13px;top:13px;padding:0;border:0;background:transparent;color:#b3122b;cursor:pointer;font:600 11px 'Google Sans','Poppins',sans-serif}
.book-footer{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:16px;border-top:1px solid #efede7}.book-footer span{flex:1}.book-footer button{height:38px;padding:0 14px;border:1px solid #dad7cf;border-radius:8px;background:#fff;color:#17181b;cursor:pointer;font:500 13px 'Google Sans','Poppins',sans-serif}.book-footer .book-next{border-color:#c8102e;background:#c8102e;color:#fff}.book-footer .book-next:hover{background:#a90d26}.book-footer button:disabled{opacity:.55;cursor:wait}.book-loading{padding:32px;color:#5b5f66}
@media(max-width:1350px){.book-layout{grid-template-columns:1fr}.book-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:6px}.book-step{min-width:0;padding:9px 7px;border-right:1px solid #efede7;border-bottom:0}.book-step:last-child{border-right:0}.book-step{flex-direction:column;gap:6px}.book-step small,.book-step em{display:none}.book-panel{min-height:auto}.book-side{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.book-page{padding:16px}.book-side{grid-template-columns:1fr}.book-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.book-title h1{font-size:24px}.book-grid,.book-review,.book-asset-list{grid-template-columns:1fr}.book-wide,.book-review-wide{grid-column:auto}.book-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.book-step:nth-child(2){border-right:0}.book-step:nth-child(-n+2){border-bottom:1px solid #efede7}.book-checks{grid-template-columns:1fr}.book-condition-list>div{grid-template-columns:1fr}.book-condition-title{align-items:flex-start;flex-direction:column;gap:3px}.book-footer{flex-wrap:wrap}.book-footer span{display:none}.book-footer button{flex:1}.book-footer .book-draft{order:3;flex-basis:100%}}

/* ==== ux-alignment.css ==== */
/* v0.16.6.42. Final presentation layer for the supplied Operations reference.
   Deliberately last: older module-specific styles remain for legacy workflows. */
:root{--ref-canvas:#f4f3ef;--ref-card:#fff;--ref-ink:#17181b;--ref-muted:#5b5f66;--ref-border:#e4e1da;--ref-border-soft:#efede7;--ref-red:#b3122b;--ref-red-soft:#fce8e6;--ref-green:#1b6b3d;--ref-green-soft:#e2f2e8;--ref-amber:#855000;--ref-amber-soft:#fbefd9;--ref-blue:#1b4fb0;--ref-blue-soft:#e7eefb;--ref-radius:12px;--ref-shadow:none;--ux-bg:#f4f3ef!important;--ux-ink:#17181b!important;--ux-muted:#5b5f66!important;--ux-line:#e4e1da!important;--ux-red:#b3122b!important}
html,body,#app{background:#f4f3ef!important;color:#17181b!important;-webkit-font-smoothing:antialiased}
/* Hidden application states must never become visible through component flex rules. */
html body [hidden],html body #app [hidden],html body #app #app-rail [hidden]{display:none!important}
#app main.app-view{padding:28px 28px 56px!important}
#app .view-head h1,#app .concept-head h1,#app .entity-title h1{font-size:28px!important;letter-spacing:-.025em!important;font-weight:600!important}
#app main.app-view>.view-head,#app .concept-head,#app .entity-head{align-items:center!important;gap:16px!important}
#app .view-tools,#app .concept-actions,#app .entity-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
#app .utilitybar{border-bottom-color:#e4e1da!important;box-shadow:none!important}
#app .global-search{border-color:#e4e1da!important;background:#faf9f6!important}
#app #app-rail.app-rail.topbar{background:#131417!important}
#app .app-rail nav a{font-size:13px!important;font-weight:500!important}
#app .app-rail nav a.active{background:#292b30!important}
#app .rail-section-label{font-size:10px!important;letter-spacing:.1em!important}
#app .primary{background:#b3122b!important;border-color:#b3122b!important;font-weight:500!important}
#app .primary:hover{background:#8e0e22!important;border-color:#8e0e22!important}
#app #global-create{background:#17181b!important;border-color:#17181b!important;color:#fff!important}
#app #global-create::before,#app #global-create::after{display:none!important;content:none!important}
#app .ghost,#app .button-link{border-color:#dad7cf!important;font-weight:500!important}
#app .ghost:hover,#app .button-link:hover{background:#faf9f6!important;border-color:#c8c4bc!important}
#app :is(button,a,input,select,textarea):focus-visible,.sales-workspace :is(button,a,input,select,textarea):focus-visible{outline:2px solid #1b4fb0!important;outline-offset:3px!important}
#app .board,#app .panel-block,#app .today-panel,#app .side-card,#app .connector-card,#app .customers-list,#app .customers-preview,#app .concept-master,#app .concept-detail,#app .entity-body,#app .customer-record,#app .customer-work-card,#app .activity-card,#app .channel-card,#app .ux-report-card,#app .ux-admin-card{border-color:#e4e1da!important;border-radius:12px!important;box-shadow:none!important}
#app .concept-table th,#app table th{background:#faf9f6!important;color:#5b5f66!important;font-size:11px!important;font-weight:500!important;border-color:#e4e1da!important;letter-spacing:.04em!important}
#app .concept-table td,#app table td{border-bottom-color:#efede7!important}
#app .concept-table tbody tr.selected td,#app table tbody tr.selected td,#app .customers-row.selected td{background:#faf1f2!important}
#app .customer-record-form :is(input,select,textarea){border-color:#dad7cf!important;font-weight:400!important}
#app .status,#app .pill,#app .concept-chip,#app .tag,#app .customers-source{border-color:transparent!important;font-weight:500!important}
#app .today-ref-card{border-color:#e4e1da!important;border-radius:12px!important;box-shadow:none!important}
#app .today-ref-module{border-color:#e4e1da!important;box-shadow:none!important}
#app .today-ref-action{border-color:#efede7!important}
#app .today-ref-btn{border-color:#dad7cf!important;font-weight:500!important}
#app .today-ref-hero h1{font-weight:600!important}
#app .today-ref-grid{gap:20px!important}
/* Full-screen quote / counter workspaces are outside #app. */
.sales-workspace{background:#f4f3ef!important;color:#17181b!important}
.sales-workspace .side-card{border:1px solid #e4e1da!important;border-radius:12px!important;box-shadow:none!important}
.sales-workspace :is(input,select,textarea){border-color:#dad7cf!important;border-radius:7px!important;font-size:14px!important}
.sales-workspace .primary{background:#b3122b!important;border-color:#b3122b!important;color:#fff!important}
.sales-workspace .ghost{background:#fff!important;border-color:#dad7cf!important}
.login-shell{background:#f4f3ef!important}.login-card{border-color:#e4e1da!important;box-shadow:none!important;border-radius:12px!important}.login-intro{background:#131417!important}
/* Workshop: four action lanes, separate waiting queues, optional quick view. */
.ref-workshop{--board-line:#e4e1da;font-size:13px}
.ref-board-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.ref-segment{display:inline-flex;gap:2px;background:#eae8e2;padding:3px;border-radius:8px}
#app .ref-segment button{border:0;background:transparent;color:#5b5f66;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer}
#app .ref-segment button.active{background:#fff;color:#17181b;box-shadow:0 1px 3px #17181b12}
.ref-board-search{flex:1;min-width:190px;max-width:330px}
#app .ref-board-tools input,#app .ref-board-tools select{width:100%;height:36px;min-height:36px;border:1px solid #dad7cf;border-radius:8px;background:#fff;padding:0 11px;font-size:12px}
#app .ref-board-tools .ghost{min-height:36px!important;padding:8px 11px!important;font-size:12px!important}
#app .ref-board-tools .ghost.active{background:#fbefd9!important;color:#855000!important}
.ref-waiting{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#eeece6;border:1px solid #e4e1da;border-radius:12px;padding:12px;margin-bottom:24px}
#app .ref-waiting button{display:flex;align-items:center;gap:14px;border:1px solid #dad7cf;border-radius:8px;background:#faf9f6;padding:9px 12px;color:#50535a;font-size:12px;cursor:pointer}
#app .ref-waiting button b{background:#e9e6df;border-radius:5px;min-width:22px;padding:2px 5px;text-align:center;color:#17181b}
#app .ref-waiting button.active{background:#17181b;color:#fff;border-color:#17181b}
.ref-board-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
.ref-board-heading h2{font-size:12px!important;letter-spacing:.045em;text-transform:uppercase;font-weight:600;margin:0}
.ref-board-heading h2 span{font-weight:400;color:#5b5f66;letter-spacing:0;text-transform:none}
.ref-board-heading small{color:#5b5f66;font-size:11px}
.ref-board-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.ref-workshop.has-preview .ref-board-layout{grid-template-columns:minmax(0,1fr) 290px}
.ref-lanes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start;min-width:0}
.ref-lanes.single-queue{grid-template-columns:minmax(0,1fr)}
.ref-lanes.single-queue .ref-lane{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.ref-lanes.single-queue .ref-lane>header{grid-column:1/-1}
.ref-lane{min-width:0}
.ref-lane>header{min-height:65px;padding:3px 2px 12px}
.ref-lane h3{font-size:13px;margin:0 0 6px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:600}
.ref-lane h3 span{background:#e9e6df;border-radius:5px;padding:2px 6px;font-size:11px;font-weight:500}
.ref-lane>header p{color:#5b5f66;font-size:11px;line-height:1.45;margin:0}
#app .ref-job-card{display:block;width:100%;padding:13px;margin:0 0 10px;background:#fff;border:1px solid #e4e1da;border-radius:10px;text-align:left;color:#17181b;cursor:pointer;box-shadow:0 1px 2px #17181b04;overflow-wrap:anywhere}
#app .ref-job-card:hover{border-color:#b9b4a9;box-shadow:0 2px 7px #17181b09}
#app .ref-job-card.selected{border-color:#b3122b;box-shadow:0 0 0 1px #b3122b}
.ref-job-card>strong{display:block;font-size:14px;font-weight:600;line-height:1.4;margin-bottom:3px}
.ref-job-card>small{display:block;font-size:11px;color:#5b5f66;line-height:1.5}
.ref-job-card>p{font-size:12px;margin:10px 0 2px;line-height:1.5}
#app .ref-show-more{width:100%;border:1px dashed #dad7cf;background:transparent;border-radius:8px;padding:10px;color:#5b5f66;font-size:12px;cursor:pointer}
.ref-empty{padding:28px 12px;border:1px dashed #dad7cf;border-radius:10px;color:#72757a;font-size:12px;text-align:center}
.ref-job-preview{background:#fff;border:1px solid #e4e1da;border-radius:12px;padding:18px;position:sticky;top:80px;overflow-wrap:anywhere}
.ref-job-preview>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.ref-preview-kicker{font-size:10px;color:#5b5f66;text-transform:uppercase;letter-spacing:.06em}
.ref-stage-pill{display:inline-flex;background:#e7eefb;color:#1b4fb0;font-size:11px;border-radius:999px;padding:4px 8px}
.ref-job-preview h2{font-size:20px;margin:12px 0 4px;line-height:1.3}
.ref-preview-ref{font-size:12px;color:#5b5f66;margin:0 0 18px}
.ref-job-preview dl{margin:0}.ref-job-preview dl>div{border-bottom:1px solid #efede7;padding:9px 0}.ref-job-preview dt{font-size:11px;color:#72757a}.ref-job-preview dd{font-size:13px;margin:4px 0 0}
.ref-job-preview section{padding:16px 0}.ref-job-preview h3{font-size:12px;margin:0 0 8px}.ref-job-preview section p{color:#5b5f66;font-size:13px;line-height:1.5;margin:0;white-space:pre-wrap}
.ref-open-job{width:100%;box-sizing:border-box}.ref-preview-note,.ref-board-footnote{font-size:11px;line-height:1.6;color:#72757a}.ref-preview-note{margin:12px 0 0}.ref-board-footnote{margin:18px 0}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(min-width:1600px){#app main.app-view{padding:32px 36px 64px!important}}
@media(max-width:1400px){.ref-workshop.has-preview .ref-lanes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1150px){.ref-lanes{grid-template-columns:repeat(2,minmax(0,1fr))}.ref-workshop.has-preview .ref-board-layout{grid-template-columns:minmax(0,1fr)}.ref-workshop.has-preview .ref-job-preview{position:static;grid-row:1}.ref-lanes.single-queue{grid-template-columns:minmax(0,1fr)}}
@media(max-width:820px){#app main.app-view{padding:22px 16px 40px!important}#app main.app-view>.view-head,#app .concept-head,#app .entity-head{flex-wrap:wrap!important}#app .view-head h1,#app .concept-head h1,#app .entity-title h1{font-size:25px!important}.ref-board-tools{gap:8px}.ref-board-search{max-width:none}.ref-board-heading{align-items:flex-start;flex-direction:column;gap:6px}}
@media(max-width:480px){.ref-lanes,.ref-workshop.has-preview .ref-lanes{grid-template-columns:minmax(0,1fr)}.ref-board-search{flex-basis:100%}.ref-waiting{padding:10px;gap:6px}.ref-waiting>button{flex:1 1 100%}.ref-lane>header{min-height:0;padding-top:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* The desktop grid supplies the header row; stacked mobile views need their own offset. */
@media(max-width:820px){
  #app{padding-top:60px!important}
  #app #rail-open,#app #rail-close{display:inline-flex!important;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px}
  #app .actor-copy{display:none!important}
  #app>.utilitybar{gap:8px!important}
  #app .utility-actions{gap:6px!important;flex-shrink:0}
  #app .utilitybar #global-create{padding:0 10px!important;font-size:12px!important}
  #app #global-search-form{min-width:0!important}
  #app #global-search{min-width:0!important}
}
@media(max-width:480px){
  #app #global-create span,#app #global-create .utility-chevron,#app .global-search kbd,#app .account-toggle .account-chevron{display:none!important}
  #app .utilitybar #global-create{width:34px!important;padding:0!important}
  #app .account-toggle{padding:0!important}
  #app .global-search{gap:6px!important;padding:0 8px!important}
  #app .global-search .search-glyph{flex-shrink:0}
}

/* ==== customer-profile.css ==== */
/* Customer account profile — v0.16.6.48
   Compact, tabbed and directly editable. Based on the supplied account
   profile reference while retaining the Operations design tokens. */
.customer-profile-page{max-width:1200px;margin:0 auto;padding:0 0 44px;color:#17181b}
.customer-profile-page .crumbs{padding:16px 2px 10px}
.customer-profile-hero,.customer-profile-card{background:#fff;border:1px solid #e4e1da;border-radius:12px}
.customer-profile-hero{padding:20px 22px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 24px}
.customer-profile-identity{display:flex;align-items:center;gap:15px;min-width:0}
.customer-profile-identity>i{width:58px;height:58px;display:grid;place-items:center;flex:0 0 58px;border-radius:14px;background:#f3e6e9;color:#9f1730;font-style:normal;font-size:19px;font-weight:700}
.customer-profile-identity>div{min-width:0}
.customer-profile-identity>div>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.customer-profile-identity h1{margin:0;font:600 25px/1.2 'Poppins',sans-serif;letter-spacing:-.02em}
.customer-profile-identity p{margin:6px 0 0;color:#666970;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.customer-profile-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.customer-profile-actions a{height:38px;display:inline-flex;align-items:center;padding:0 14px;border-radius:8px;text-decoration:none;font-size:14px;font-weight:600;box-sizing:border-box}
.customer-profile-actions a.ghost{border:1px solid #dad7cf;background:#fff;color:#17181b}
.customer-profile-actions a.ghost:hover{background:#faf9f6}
.customer-profile-actions a.primary{background:#c8102e;color:#fff;border:1px solid #c8102e}
.customer-profile-tabs{grid-column:1/-1;display:flex;gap:26px;overflow-x:auto;overflow-y:hidden;border-top:1px solid #efede7;padding-top:2px}
.customer-profile-tab{display:inline-flex;align-items:center;gap:6px;padding:12px 2px 11px;margin-bottom:-1px;border-bottom:2px solid transparent;color:#5b5f66;text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap}
.customer-profile-tab:hover{color:#17181b}
.customer-profile-tab.active{color:#17181b;border-bottom-color:#c8102e}
.customer-profile-tab span{font-size:11px;padding:1px 6px;border-radius:999px;background:#eeede8;color:#5b5f66}
.customer-profile-content{display:block}
.customer-profile-overview{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:16px;align-items:start}
.customer-profile-card{overflow:hidden}
.customer-profile-card>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;border-bottom:1px solid #efede7}
.customer-profile-card>header h2{margin:0;font:600 15px/1.3 'Poppins',sans-serif}
.customer-profile-card>header p{margin:3px 0 0;color:#666970;font-size:12px}
.customer-profile-card>header>a{font-size:13px;font-weight:600;color:#b3122b;text-decoration:none}
.customer-profile-details>.notice{margin:12px 18px 0}
.customer-profile-save-state{display:inline-flex;align-items:center;gap:6px;color:#666970;font-size:12px;font-weight:600;white-space:nowrap}
.customer-profile-save-state:before{content:'';width:7px;height:7px;border-radius:50%;background:#a5a7ab}
.customer-profile-save-state.saving:before,.customer-profile-save-state.dirty:before{background:#ca8a04}
.customer-profile-save-state.saved:before{background:#168a4b}
.customer-profile-save-state.error:before{background:#c8102e}
.customer-inline-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:7px 18px 18px}
.customer-inline-field{display:flex;flex-direction:column;gap:5px;padding:10px 12px;margin:0;border-bottom:1px solid #efede7}
.customer-inline-field:nth-last-child(-n+2){border-bottom:0}
.customer-inline-field.wide{grid-column:1/-1}
.customer-inline-field span{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6b6e74}
.customer-inline-field input{width:100%;height:36px;padding:0 9px;border:1px solid transparent;border-radius:7px;background:#f8f7f4;color:#17181b;font:500 14px 'Google Sans','Poppins',sans-serif;box-sizing:border-box;transition:.15s border-color,.15s background,.15s box-shadow}
.customer-inline-field input:hover:not(:disabled){border-color:#d9d5cc;background:#fff}
.customer-inline-field input:focus{outline:0;border-color:#9b1930;background:#fff;box-shadow:0 0 0 3px rgba(200,16,46,.1)}
.customer-inline-field input:disabled{opacity:1;color:#44474d;cursor:default}
.customer-inline-field input::placeholder{color:#a1a3a7;font-weight:400}
.customer-profile-side{display:flex;flex-direction:column;gap:16px}
.customer-profile-status{display:inline-flex;align-items:center;gap:6px;min-height:22px;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap;box-sizing:border-box}
.customer-profile-status i{width:6px;height:6px;border-radius:50%;background:currentColor}
.customer-profile-status.good{background:#e2f2e8;color:#1b6b3d}
.customer-profile-status.warn{background:#fbefd9;color:#855000}
.customer-profile-status.info{background:#e7eefb;color:#1b4fb0}
.customer-profile-status.muted{background:#eeede8;color:#50535a}
.customer-profile-list>header>b{min-width:34px;height:26px;display:grid;place-items:center;border-radius:999px;background:#eeede8;color:#50535a;font-size:12px}
.customer-profile-columns,.customer-profile-row{display:grid;grid-template-columns:120px minmax(220px,1.5fr) minmax(150px,.8fr) minmax(120px,.65fr) 18px;align-items:center;gap:14px;padding:0 18px}
.customer-profile-columns{min-height:38px;background:#faf9f6;color:#666970;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.customer-profile-row{min-height:58px;border-top:1px solid #efede7;color:#17181b;text-decoration:none;font-size:13px}
.customer-profile-columns+.customer-profile-row{border-top:0}
.customer-profile-row:hover{background:#faf9f6}
.customer-profile-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.customer-profile-row>span>b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.customer-profile-row small{display:block;margin-top:3px;color:#73767c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.customer-profile-row em{color:#999;font-size:20px;font-style:normal;text-align:right}
.customer-profile-row .mono{font-family:ui-monospace,'IBM Plex Mono',monospace;font-size:12px}
.customer-profile-empty{padding:42px 20px;text-align:center;color:#73767c}
.customer-profile-empty b{display:block;margin-bottom:4px;color:#17181b;font-size:14px}
.customer-profile-empty span{font-size:12px}
@media(max-width:980px){
  .customer-profile-hero{grid-template-columns:1fr}.customer-profile-actions{justify-content:flex-start}.customer-profile-overview{grid-template-columns:1fr}
}
@media(max-width:700px){
  .customer-profile-page{padding-bottom:24px}.customer-profile-hero{padding:16px 16px 0}.customer-profile-identity>i{width:48px;height:48px;flex-basis:48px}.customer-profile-identity h1{font-size:21px}.customer-profile-identity p{white-space:normal}.customer-profile-actions a{flex:1;justify-content:center}.customer-profile-tabs{gap:18px}.customer-inline-form{grid-template-columns:1fr}.customer-inline-field.wide{grid-column:auto}.customer-inline-field:nth-last-child(-n+2){border-bottom:1px solid #efede7}.customer-inline-field:last-child{border-bottom:0}.customer-profile-columns{display:none}.customer-profile-row{grid-template-columns:1fr auto;gap:8px;padding:12px 16px}.customer-profile-row>span{grid-column:1}.customer-profile-row>span:nth-child(3),.customer-profile-row>span:nth-child(4){grid-column:auto}.customer-profile-row>em{grid-column:2;grid-row:1/4}
}

/* Approved Customers list and quick view. These rules intentionally load
   after the older CRM styles so the live list cannot fall back to the
   previous red-action, four-stat quick-view treatment. */
#crm-view:not([hidden]){background:#f4f3ef!important}
#crm-view .customers-heading h1{font-family:'Google Sans','Poppins',sans-serif!important;font-size:28px!important;font-weight:600!important}
#crm-view .customers-stats button{min-height:64px!important;text-align:left!important}
#crm-view .customers-stats button i{display:grid!important;place-items:center!important;flex:0 0 36px!important}
#crm-view .customers-list,#crm-view .customers-preview{border-color:#e4e1da!important;border-radius:12px!important;box-shadow:none!important}
#crm-view .customers-tabs{background:#f1efea!important;padding:3px!important;border-radius:8px!important}
#crm-view .customers-tabs button.active{background:#fff!important;color:#17181b!important;box-shadow:0 1px 2px rgba(20,20,20,.1)!important}
#crm-view .customers-list .customers-source:not(.rd){display:none!important}
#crm-view .customers-list .customers-source.rd{display:inline-flex!important;align-items:center!important;line-height:17px!important}
#crm-view .customers-preview{flex-basis:392px!important;width:392px!important;background:#fff!important}
#crm-view .customers-preview>header.customer-preview-head{display:grid!important;grid-template-columns:48px minmax(0,1fr) 32px!important;gap:12px!important;align-items:start!important;padding:18px 20px 14px!important}
#crm-view .customers-preview .customer-preview-head>div{min-width:0!important}
#crm-view .customers-preview .customer-preview-head h2{margin:0!important;line-height:1.25!important}
#crm-view .customers-preview .customer-preview-actions{display:flex!important;align-items:center!important;gap:8px!important;padding:0 20px 16px!important}
#crm-view .customers-preview .customer-preview-actions .button-link{height:38px!important;min-width:38px!important;padding:0 10px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:8px!important;box-sizing:border-box!important;font-size:14px!important;font-weight:500!important;text-decoration:none!important}
#crm-view .customers-preview .customer-preview-actions .primary{flex:1 1 auto!important;background:#17181b!important;border:1px solid #17181b!important;color:#fff!important}
#crm-view .customers-preview .customer-preview-actions .primary:hover{background:#2b2d31!important;color:#fff!important}
#crm-view .customers-preview .customer-preview-actions .ghost{flex:0 0 38px!important;border:1px solid #dad7cf!important;background:#fff!important;color:#17181b!important}
#crm-view .customer-quick-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;border-top:1px solid #efede7!important;border-bottom:1px solid #efede7!important}
#crm-view .customer-quick-stats>div{padding:12px 20px!important;border-left:1px solid #efede7!important}
#crm-view .customer-quick-stats>div:first-child{border-left:0!important}
#crm-view .customer-preview-section{padding:16px 20px 0!important}
#crm-view .customer-preview-section:last-child{padding-bottom:18px!important}
#crm-view .customer-preview-section-head{padding-bottom:4px!important}
#crm-view .customer-preview-row{grid-template-columns:minmax(0,1fr) auto 10px!important;min-height:54px!important}
#crm-view .customer-preview-row strong{font-weight:500!important;color:#17181b!important}
#crm-view .customer-preview-row em{color:#7a7d82!important}
@media(max-width:1250px){#crm-view .customers-preview{flex-basis:360px!important;width:360px!important}}
@media(max-width:950px){#crm-view .customers-preview{width:auto!important;flex-basis:auto!important}}

/* ==== customers-approved.css ==== */
/* =====================================================================
   Omnisky Operations v0.16.6.49 — Customers aligned to the approved UX
   (canvas artboards "Customers — list + quick view" and
   "Customers — account profile"). Loaded last; presentation only.
   ===================================================================== */

#app .ux-ic{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;display:inline-block;vertical-align:middle}
#app .cx-mono{font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;font-size:12px!important;letter-spacing:0!important}
#app .cx-muted{color:#5B5F66!important;font-weight:500!important}

/* ---------- Page heading ---------- */
#app #crm-view .customers-heading{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;justify-content:space-between!important;align-items:flex-end!important;gap:16px!important;margin:0 0 16px!important}
#app #crm-view .customers-heading > div:first-child{flex:1 1 auto!important;min-width:0!important}
#app #crm-view .customers-heading h1{font-size:28px!important;line-height:1.15!important;letter-spacing:-.01em!important;margin:0!important}
#app #crm-view .customers-heading .view-sub{font-size:14px!important;line-height:1.45!important;color:#5B5F66!important;margin:4px 0 0!important;max-width:none!important}
#app #crm-view .customers-head-actions{display:flex!important;gap:8px!important;flex-shrink:0!important}
#app #crm-view .customers-head-actions button{display:inline-flex!important;align-items:center!important;gap:8px!important;height:38px!important;padding:0 14px!important;border-radius:8px!important;font-size:14px!important;font-weight:500!important;white-space:nowrap!important}
#app #crm-view .customers-head-actions button:disabled{opacity:.55!important}

/* ---------- Attention strip ---------- */
#app #crm-view .customers-stats{margin:0 0 20px!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;background:#FFFFFF!important;border:1px solid #E4E1DA!important;border-radius:12px!important;overflow:hidden!important;gap:0!important;padding:0!important}
#app #crm-view .customers-stats button{min-height:0!important;border-right:0!important;display:grid!important;grid-template-columns:36px minmax(0,1fr) 16px!important;align-items:center!important;column-gap:14px!important;height:64px!important;padding:0 18px!important;border:0!important;border-left:1px solid #EFEDE7!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;text-align:left!important;color:#17181B!important;min-width:0!important}
#app #crm-view .customers-stats button:first-child{border-left:0!important}
#app #crm-view .customers-stats button:hover{background:#FAF9F6!important}
#app #crm-view .customers-stats button i{width:36px!important;height:36px!important;border-radius:9px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-style:normal!important;font-size:0!important}
#app #crm-view .customers-stats button:nth-child(1) i{background:#FBEFD9!important;color:#855000!important}
#app #crm-view .customers-stats button:nth-child(2) i{background:#E7EEFB!important;color:#1B4FB0!important}
#app #crm-view .customers-stats button:nth-child(3) i{background:#E2F2E8!important;color:#1B6B3D!important}
#app #crm-view .customers-stats button:nth-child(4) i{background:#EEEDE8!important;color:#50535A!important}
#app #crm-view .customers-stats button span{display:flex!important;flex-direction:column!important;gap:1px!important;font-size:13px!important;color:#5B5F66!important;font-weight:400!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#app #crm-view .customers-stats button span b{margin-top:0!important;font-size:20px!important;line-height:1.2!important;font-weight:600!important;color:#17181B!important}
#app #crm-view .customers-stats button em{font-style:normal!important;color:#5B5F66!important;display:flex!important;justify-content:flex-end!important;font-size:0!important}

/* ---------- Layout ---------- */
#app #crm-view .customers-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 372px!important;gap:20px!important;align-items:start!important;min-height:0!important}
#app #crm-view .customers-list{background:#FFFFFF!important;border:1px solid #E4E1DA!important;border-radius:12px!important;overflow:hidden!important;min-width:0!important}

/* ---------- Toolbar ---------- */
#app #crm-view .customers-toolbar{display:flex!important;align-items:center!important;gap:10px!important;padding:14px 16px!important;flex-wrap:wrap!important;border-bottom:0!important}
#app #crm-view .customers-tabs{display:flex!important;gap:2px!important;padding:3px!important;background:#F1EFEA!important;border-radius:8px!important;border:0!important;flex-shrink:0!important}
#app #crm-view .customers-tabs button{height:32px!important;padding:0 12px!important;border-radius:6px!important;border:0!important;border-bottom:0!important;background:transparent!important;font-size:13px!important;font-weight:500!important;color:#5B5F66!important;box-shadow:none!important;display:inline-flex!important;align-items:center!important;gap:6px!important}
#app #crm-view .customers-tabs button[hidden]{display:none!important}
#app #crm-view .customers-tabs button.active{background:#FFFFFF!important;color:#17181B!important;box-shadow:0 1px 2px rgba(20,20,20,.1)!important}
#app #crm-view .customers-tabs button span{color:#5B5F66!important;font-weight:500!important}
#app #crm-view #crm-search{flex:1 1 140px!important;min-width:120px!important;height:38px!important;border:1px solid #DAD7CF!important;border-radius:8px!important;padding:0 12px 0 36px!important;font-size:14px!important;background:#FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B5F66' stroke-width='1.75' stroke-linecap='round'%3E%3Cpath d='M11 4a7 7 0 110 14 7 7 0 010-14zM20 20l-4-4'/%3E%3C/svg%3E") no-repeat 11px center/16px!important}
#app #crm-view .customers-toolbar select{-webkit-appearance:none!important;appearance:none!important;height:38px!important;border:1px solid #DAD7CF!important;border-radius:8px!important;padding:0 32px 0 12px!important;font-size:14px!important;font-weight:500!important;color:#17181B!important;background:#FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317181B' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center/14px!important;width:auto!important;min-width:0!important;cursor:pointer}

/* ---------- Accounts table ---------- */
#app #crm-view .customers-list table{width:100%!important;border-collapse:collapse!important;table-layout:auto!important}
#app #crm-view .customers-list thead th{height:38px!important;padding:0 12px!important;background:#FAF9F6!important;font-size:11px!important;font-weight:600!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:#5B5F66!important;border-top:1px solid #EFEDE7!important;border-bottom:0!important;white-space:nowrap!important;text-align:left!important}
#app #crm-view .customers-list tbody td{height:58px!important;padding:8px 12px!important;border-top:1px solid #EFEDE7!important;border-bottom:0!important;vertical-align:middle!important;font-size:13px!important;line-height:1.3!important}
#app #crm-view .customers-list th:last-child,#app #crm-view .customers-list td:last-child{padding-right:16px!important;width:84px!important}
#app #crm-view .customers-list td strong{display:block!important;font-size:14px!important;font-weight:600!important;color:#17181B!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:210px}
#app #crm-view .customers-list td small{display:block!important;font-size:12px!important;color:#5B5F66!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:210px;margin-top:1px!important}
#app #crm-view .customers-list td.customer-check-cell,#app #crm-view .customers-list th.customer-check-cell{width:28px!important;padding-right:0!important}
#app #crm-view .customer-table-identity{display:flex!important;align-items:center!important;gap:12px!important;min-width:0!important}
#app #crm-view .customer-table-avatar{width:34px!important;height:34px!important;border-radius:9px!important;flex-shrink:0!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:12px!important;font-weight:600!important}
#app #crm-view .cx-id{display:flex!important;flex-direction:column!important;min-width:0!important}
#app #crm-view .cx-name{display:flex!important;align-items:center!important;gap:6px!important;min-width:0!important}
#app #crm-view .cx-name strong{max-width:220px}
#app #crm-view .cx-tag{flex-shrink:0!important;font-size:11px!important;font-weight:500!important;line-height:17px!important;color:#50535A!important;border:1px solid #DAD7CF!important;border-radius:4px!important;padding:0 5px!important;background:#FFFFFF!important}
#app #crm-view .customers-source{display:none!important}
#app #crm-view .customers-list .customer-hidden-type{display:none!important}
#app #crm-view strong.cx-when{font-weight:500!important}
#app #crm-view .customers-row{cursor:pointer}
#app #crm-view .customers-row:hover td{background:#FAF9F6!important}
#app #crm-view .customers-row.selected td{background:#FBF0F0!important}
#app #crm-view #crm-pager{border-top:1px solid #EFEDE7!important;padding:10px 16px!important}
#app #crm-view .customers-secondary-actions{padding:0 16px 14px!important;display:flex!important;gap:8px!important}

/* ---------- Quick view ---------- */
#app #crm-view .customers-preview{width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;box-sizing:border-box!important;min-height:0!important;background:#FFFFFF!important;border:1px solid #E4E1DA!important;border-radius:12px!important;padding:0!important;overflow:hidden!important;position:sticky;top:16px}
#app #crm-view .customer-preview-head{display:flex!important;align-items:flex-start!important;gap:12px!important;padding:18px 20px 0!important;border:0!important;margin:0!important}
#app #crm-view .customer-preview-head .customers-avatar{width:48px!important;height:48px!important;border-radius:12px!important;flex-shrink:0!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:15px!important;font-weight:600!important}
#app #crm-view .customer-preview-head > div{flex:1 1 auto!important;min-width:0!important}
#app #crm-view .customer-preview-head h2{font-size:19px!important;line-height:1.25!important;font-weight:600!important;margin:0!important;letter-spacing:-.005em!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;word-break:break-word}
#app #crm-view .customer-preview-head small{display:block!important;font-size:13px!important;color:#5B5F66!important;margin-top:2px!important}
#app #crm-view .customer-quick-close{width:32px!important;height:32px!important;border-radius:8px!important;border:0!important;background:transparent!important;color:#5B5F66!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;flex-shrink:0!important;font-size:0!important}
#app #crm-view .customer-quick-close:hover{background:#F1EFEA!important;color:#17181B!important}
#app #crm-view .customer-preview-actions{display:flex!important;gap:8px!important;padding:14px 20px 16px!important;border:0!important;margin:0!important}
#app #crm-view .customer-preview-actions .primary{flex:1 1 auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;height:38px!important;border-radius:8px!important;background:#17181B!important;border-color:#17181B!important;color:#FFFFFF!important;font-size:14px!important;font-weight:500!important;text-decoration:none!important}
#app #crm-view .customer-preview-actions .cx-icon-btn{width:38px!important;height:38px!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:1px solid #DAD7CF!important;border-radius:8px!important;background:#FFFFFF!important;color:#17181B!important;text-decoration:none!important;font-size:0!important}
#app #crm-view .customer-preview-actions .cx-icon-btn:hover{background:#FAF9F6!important}
#app #crm-view .customer-quick-stats{border-left:0!important;border-right:0!important;border-radius:0!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;border-top:1px solid #EFEDE7!important;border-bottom:1px solid #EFEDE7!important;margin:0!important;padding:0!important;gap:0!important;background:transparent!important}
#app #crm-view .customer-quick-stats > div{min-height:0!important;border-top:0!important;border-bottom:0!important;border-right:0!important;box-shadow:none!important;padding:12px 20px!important;border-left:1px solid #EFEDE7!important;background:transparent!important;border-radius:0!important}
#app #crm-view .customer-quick-stats > div:first-child{border-left:0!important}
#app #crm-view .customer-quick-stats b{margin-top:0!important;display:block!important;font-size:20px!important;font-weight:600!important;line-height:1.2!important;color:#17181B!important}
#app #crm-view .customer-quick-stats small{font-size:12px!important;color:#5B5F66!important}
#app #crm-view .customer-preview-section{padding:14px 20px 0!important;margin:0!important;border:0!important}
#app #crm-view .customer-preview-section:last-child{padding-bottom:18px!important}
#app #crm-view .customer-preview-section-head{display:flex!important;align-items:center!important;margin:0 0 6px!important;padding:0!important;border:0!important}
#app #crm-view .customer-preview-section-head h3{flex:1 1 auto!important;margin:0!important;font-size:12px!important;font-weight:600!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:#5B5F66!important}
#app #crm-view .customer-preview-section-head a{font-size:13px!important;font-weight:500!important;color:#B3122B!important;text-decoration:none!important}
#app #crm-view .customer-contact-primary{display:flex!important;flex-direction:column!important;gap:5px!important;font-size:13px!important;padding:0!important;background:transparent!important;border:0!important}
#app #crm-view .customer-contact-primary strong{font-size:14px!important;font-weight:600!important}
#app #crm-view .customer-contact-primary > div:first-child span{color:#5B5F66!important}
#app #crm-view .cx-contact-link{display:inline-flex!important;align-items:center!important;gap:7px!important;color:#17181B!important;text-decoration:none!important;max-width:100%!important;overflow:hidden!important}
#app #crm-view .cx-contact-link .ux-ic{color:#5B5F66!important}
#app #crm-view .cx-contact-link span{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#app #crm-view .cx-contact-link:hover span{color:#B3122B!important;text-decoration:underline!important}
#app #crm-view .cx-qrow{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;column-gap:10px!important;padding:9px 0!important;border-top:1px solid #EFEDE7!important;color:#17181B!important;text-decoration:none!important;background:transparent!important;border-radius:0!important;margin:0!important}
#app #crm-view .customer-preview-section-head + .cx-qrow{border-top:0!important}
#app #crm-view .cx-qrow:hover{background:#FAF9F6!important}
#app #crm-view .cx-qmain{display:flex!important;flex-direction:column!important;min-width:0!important}
#app #crm-view .cx-qmain b{font-size:14px!important;font-weight:600!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#app #crm-view .cx-qmain small{font-size:12px!important;color:#5B5F66!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#app #crm-view .cx-pill{display:inline-block!important;line-height:22px!important;height:22px!important;padding:0 8px!important;border-radius:999px!important;background:#EEEDE8!important;color:#50535A!important;font-size:12px!important;font-weight:500!important;white-space:nowrap!important;max-width:150px!important;overflow:hidden!important;text-overflow:ellipsis!important}
#app #crm-view .cx-amount{font-family:'IBM Plex Mono',ui-monospace,monospace!important;font-size:13px!important;white-space:nowrap!important}
#app #crm-view .cx-quiet{font-size:12px!important;color:#5B5F66!important;white-space:nowrap!important}
#app #crm-view .customers-preview-empty,#app #crm-view .customer-preview-section .customers-preview-empty{display:block!important;min-height:0!important;place-items:initial!important;font-size:13px!important;color:#5B5F66!important;padding:6px 0 2px!important;margin:0!important;background:transparent!important;border:0!important;text-align:left!important}
#app #crm-view .customers-preview > .customers-preview-empty{padding:24px 20px!important;text-align:center!important}
#app #crm-view .customers-match-note{margin:10px 20px 0!important;font-size:12px!important;padding:8px 10px!important;border-radius:8px!important;background:#FBEFD9!important;color:#855000!important}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  #app #crm-view .customers-layout{grid-template-columns:minmax(0,1fr)!important}
  #app #crm-view .customers-preview{position:static}
  #app #crm-view .customers-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #app #crm-view .customers-stats button:nth-child(3){border-left:0!important}
  #app #crm-view .customers-stats button:nth-child(n+3){border-top:1px solid #EFEDE7!important}
}
@media (max-width:720px){
  #app #crm-view .customers-heading{flex-direction:column!important;align-items:stretch!important;flex-wrap:wrap!important}
  #app #crm-view .customers-head-actions{flex-wrap:wrap!important}
  #app #crm-view .customers-stats{grid-template-columns:minmax(0,1fr)!important}
  #app #crm-view .customers-stats button{border-left:0!important;border-top:1px solid #EFEDE7!important}
  #app #crm-view .customers-stats button:first-child{border-top:0!important}
  #app #crm-view .customers-list .table-scroll{overflow-x:auto!important}
  #app #crm-view .customers-list td strong,#app #crm-view .customers-list td small{max-width:180px}
}

#app #crm-view .customers-toolbar > *{flex-shrink:1}
#app #crm-view .customers-toolbar button:not([data-crm-tab]):not(.primary){height:38px!important;min-width:38px!important;border-radius:8px!important}

/* ---------- Customer profile (account profile artboard) ---------- */
#app .customer-profile-page{padding-bottom:32px!important}
#app .customer-profile-content{padding:0!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
#app .customer-profile-overview{gap:16px!important}
#app .customer-profile-side{gap:16px!important}
#app .cx-recent{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;column-gap:10px!important;text-decoration:none!important;color:#17181B!important}
#app .cx-rmain{display:flex!important;flex-direction:column!important;min-width:0!important}
#app .cx-rmain b{font-size:14px!important;font-weight:600!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#app .cx-rmain small{font-family:'IBM Plex Mono',ui-monospace,monospace!important;font-size:12px!important;color:#5B5F66!important}
#app .customer-profile-page .cx-rmain b{color:#17181B!important}
#app .customer-profile-page .customer-profile-status{font-size:12px!important;font-weight:500!important;height:22px!important;padding:0 8px!important;border-radius:999px!important;white-space:nowrap!important;display:inline-flex!important;align-items:center!important;gap:6px!important}
#app #crm-view .customers-list td br{display:none!important}

/* ---------- Profile overview (approved account profile) ---------- */
#app .customer-profile-hero{margin-bottom:20px!important}
#app .cxp-overview{display:grid!important;grid-template-columns:minmax(0,1fr) clamp(320px,28vw,420px)!important;gap:20px!important;align-items:start!important}
#app .cxp-main,#app .cxp-side{display:flex!important;flex-direction:column!important;gap:20px!important;min-width:0!important}
#app .cxp-card{background:#FFFFFF!important;border:1px solid #E4E1DA!important;border-radius:12px!important;overflow:hidden!important;padding:0!important;margin:0!important;box-shadow:none!important}
#app .cxp-head{display:flex!important;align-items:center!important;gap:10px!important;padding:16px 20px!important;border-bottom:1px solid #EFEDE7!important;margin:0!important}
#app .cxp-head h2{margin:0!important;font-size:15px!important;font-weight:600!important;flex:1 1 auto!important}
#app .cxp-head a{font-size:13px!important;font-weight:500!important;color:#B3122B!important;text-decoration:none!important;white-space:nowrap}
#app .cxp-pill{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap}
#app .cxp-pill.info{background:#E7EEFB;color:#1B4FB0}
#app .cxp-pill.muted{background:#EEEDE8;color:#50535A}
#app .cxp-muted{color:#5B5F66!important}
#app .cxp-strong{font-weight:600!important;color:#17181B!important}
#app .cxp-card .mono{font-family:'IBM Plex Mono',ui-monospace,monospace!important;font-size:13px}
#app .cxp-trow{display:grid!important;grid-template-columns:96px minmax(0,1.2fr) minmax(0,1.1fr) 170px 100px!important;column-gap:12px!important;align-items:center!important;padding:0 20px!important;min-height:52px!important;border-top:1px solid #EFEDE7!important;font-size:13px!important;color:#17181B!important;text-decoration:none!important}
#app a.cxp-trow:hover{background:#FAF9F6!important}
#app .cxp-trow > span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#app .cxp-thead{min-height:36px!important;background:#FAF9F6!important;border-top:0!important;font-size:11px!important;font-weight:600!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:#5B5F66!important}
#app .cxp-drones{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;padding:16px 20px 20px!important}
#app .cxp-drone{display:flex!important;flex-direction:column!important;gap:6px!important;padding:14px!important;border:1px solid #EFEDE7!important;border-radius:10px!important;text-decoration:none!important;color:#17181B!important;min-width:0}
#app .cxp-drone:hover{border-color:#C9C5BC!important}
#app .cxp-drone-top{display:flex!important;align-items:center!important;gap:8px!important;min-width:0}
#app .cxp-drone-top{align-items:flex-start!important}
#app .cxp-drone-top b{flex:1 1 auto;min-width:0;font-size:14px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#app .cxp-drone .mono,#app .cxp-drone .cxp-muted{font-size:12px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#app .cxp-contact{display:flex!important;flex-direction:column!important;gap:6px!important;padding:14px 20px 16px!important;font-size:13px!important}
#app .cxp-contact b{font-size:14px;font-weight:600}
#app .cxp-contact a{color:#17181B!important;text-decoration:none!important}
#app .cxp-contact a:hover{color:#B3122B!important;text-decoration:underline!important}
#app .cxp-srow{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;column-gap:10px!important;padding:11px 20px!important;border-top:1px solid #EFEDE7!important;text-decoration:none!important;color:#17181B!important}
#app .cxp-head + .cxp-srow{border-top:0!important}
#app .cxp-srow:hover{background:#FAF9F6!important}
#app .cxp-srow span{display:flex;flex-direction:column;min-width:0}
#app .cxp-srow small{font-size:12px;color:#5B5F66;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#app .cxp-split{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
#app .cxp-split > div{padding:12px 20px!important;border-left:1px solid #EFEDE7!important;display:flex;flex-direction:column}
#app .cxp-split > div:first-child{border-left:0!important}
#app .cxp-split b{font-size:20px;font-weight:600;line-height:1.2}
#app .cxp-split b.cxp-warn{color:#855000!important;background:none!important}
#app .cxp-split span{font-size:12px;color:#5B5F66}
#app .cxp-tl{display:grid!important;grid-template-columns:10px minmax(0,1fr)!important;column-gap:10px!important;padding:10px 20px 0!important;font-size:13px!important}
#app .cxp-tl:last-child{padding-bottom:16px!important}
#app .cxp-tl i{width:6px;height:6px;border-radius:50%;background:#9A9EA6;margin-top:6px}
#app .cxp-tl small{grid-column:2;font-size:12px;color:#5B5F66}
#app .cxp-empty{margin:0!important;padding:14px 20px 16px!important;font-size:13px!important;color:#5B5F66!important}
#app .cxp-card.customer-profile-details > header{padding:16px 20px!important;border-bottom:1px solid #EFEDE7!important}
@media (max-width:1100px){#app .cxp-overview{grid-template-columns:minmax(0,1fr)!important}#app .cxp-drones{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:720px){#app .cxp-trow{grid-template-columns:84px minmax(0,1fr) 120px!important}#app .cxp-trow > span:nth-child(3),#app .cxp-trow > span:nth-child(5){display:none}#app .cxp-drones{grid-template-columns:minmax(0,1fr)!important}}

/* ==== ux-approved.css ==== */
/* =====================================================================
   Omnisky Operations v0.16.6.50/51 — whole-app alignment to the approved
   canvas (Workshop board v2, job workspace, Sales, Today, Shipping,
   Products, Stock, Purchasing, Fleet, Integrations, Reports, Admin).
   Loaded after every other stylesheet. Presentation only.
   ===================================================================== */

/* ---------- Shared page rhythm ---------- */
#app .app-view > .view-head h1,#app .app-view > header h1{font-size:28px!important;font-weight:600!important;letter-spacing:-.01em!important;line-height:1.15!important}
#app .app-view > .view-head .view-sub{font-size:14px!important;color:#5B5F66!important;margin-top:4px!important}

/* ---------- Workshop board (board v2) ---------- */
#app .ref-waiting{display:grid!important;grid-template-columns:130px repeat(3,minmax(0,1fr)) auto!important;gap:0!important;align-items:stretch!important;background:#FFFFFF!important;border:1px solid #E4E1DA!important;border-radius:12px!important;padding:0!important;margin:0 0 20px!important;overflow:hidden!important}
#app .ref-waiting .cxw-tray-label{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:12px 16px;background:#FAF9F6;border-right:1px solid #EFEDE7}
#app .ref-waiting .cxw-tray-label b{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#5B5F66}
#app .ref-waiting .cxw-tray-label span{font-size:12px;color:#5B5F66}
#app .ref-waiting button.cxw-tile{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:2px!important;padding:10px 16px!important;border:0!important;border-left:1px solid #EFEDE7!important;border-radius:0!important;background:#FFFFFF!important;color:#17181B!important;text-align:left!important;cursor:pointer;min-width:0}
#app .ref-waiting button.cxw-tile:nth-of-type(1){border-left:0!important}
#app .ref-waiting button.cxw-tile:hover{background:#FAF9F6!important}
#app .ref-waiting button.cxw-tile.active{background:#17181B!important;color:#FFFFFF!important}
#app .ref-waiting button.cxw-tile.warn:not(.active){background:#FBF4E6!important}
#app .ref-waiting button.cxw-tile b{background:none!important;padding:0!important;min-width:0!important;text-align:left!important;color:inherit!important;font-size:20px!important;font-weight:600!important;line-height:1.2!important}
#app .ref-waiting .cxw-tile-t{font-size:12px;color:#5B5F66}
#app .ref-waiting .cxw-tile.active .cxw-tile-t,#app .ref-waiting .cxw-tile.active .cxw-tile-s{color:#C9CBD1}
#app .ref-waiting .cxw-tile-s{font-size:11px;color:#5B5F66;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
#app .ref-waiting .cxw-tile.warn .cxw-tile-s{color:#855000}
#app .ref-waiting button.cxw-back{align-self:center!important;margin:0 12px!important;height:32px!important;padding:0 12px!important;border:1px solid #DAD7CF!important;border-radius:8px!important;background:#FFFFFF!important;color:#17181B!important;font-size:13px!important;white-space:nowrap}
#app .ref-lanes{gap:10px!important}
#app .ref-lane{background:#ECEAE4!important;border-radius:12px!important;padding:10px!important;border:0!important}
#app .ref-lane > header{padding:2px 3px 6px!important;margin:0!important;border:0!important}
#app .ref-lane > header h3{font-size:14px!important;font-weight:600!important;display:flex!important;justify-content:space-between!important;align-items:baseline!important}
#app .ref-lane > header h3 span{font-family:'IBM Plex Mono',ui-monospace,monospace!important;font-size:13px!important;font-weight:500!important;background:none!important;padding:0!important}
#app .ref-lane > header p{font-size:11px!important;color:#5B5F66!important;margin:2px 0 0!important}
#app .ref-job-card.cxw-card{display:flex!important;flex-direction:column!important;gap:3px!important;padding:10px 11px!important;margin:0 0 8px!important;border:1px solid #E4E1DA!important;border-radius:10px!important;background:#FFFFFF!important;box-shadow:none!important}
#app .ref-job-card.cxw-card.is-late{border-color:#EFB8B2!important}
#app .ref-job-card.cxw-card.selected{border-color:#17181B!important;box-shadow:0 0 0 1px #17181B!important}
#app .cxw-top{display:flex;align-items:center;gap:6px;width:100%}
#app .cxw-verb{flex:1 1 auto;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#17181B}
#app .ref-job-card.is-late .cxw-verb{color:#A3201A}
#app .cxw-age{font-style:normal;height:20px;padding:0 7px;border-radius:999px;background:#EEEDE8;color:#50535A;font-size:11px;font-weight:500;display:inline-flex;align-items:center}
#app .cxw-age.late{background:#FCE8E6;color:#A3201A}
#app .ref-job-card .cxw-model{font-size:16px!important;font-weight:700!important;letter-spacing:-.01em!important;line-height:1.25!important;margin:2px 0 0!important;color:#17181B!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#app .ref-job-card .cxw-sn{font-family:'IBM Plex Mono',ui-monospace,monospace!important;font-size:11px!important;color:#5B5F66!important;line-height:1.4!important}
#app .cxw-cust{font-size:12px;color:#5B5F66;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}
#app .cxw-ref{font-family:'IBM Plex Mono',ui-monospace,monospace}
#app .cxw-foot{display:flex;align-items:center;gap:6px;width:100%;margin-top:5px;padding-top:7px;border-top:1px solid #EFEDE7}
#app .cxw-av{width:22px;height:22px;border-radius:50%;background:#E9E6DF;font-size:10px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#17181B}
#app .cxw-tech{flex:1 1 auto;font-size:11px;color:#5B5F66;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#app .cxw-chip{height:20px;padding:0 7px;border-radius:999px;background:#EEEDE8;color:#50535A;font-size:11px;font-weight:500;display:inline-flex;align-items:center;white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis}
#app .cxw-chip.late{background:#FCE8E6;color:#A3201A}
#app .ref-show-more{height:32px!important;border:1px dashed #C9C5BC!important;border-radius:10px!important;background:transparent!important;font-size:12px!important;color:#50535A!important;width:100%}
#app .ref-empty{border:1px dashed #C9C5BC!important;border-radius:10px!important;padding:16px 12px!important;font-size:12px!important;color:#50535A!important;text-align:center!important;background:transparent!important}
#app .ref-job-preview{background:#FFFFFF!important;border:1px solid #E4E1DA!important;border-radius:12px!important;padding:16px!important}
#app .ref-job-preview h2{font-size:20px!important;font-weight:700!important;letter-spacing:-.01em!important;margin:8px 0 2px!important}
#app .ref-job-preview .ref-preview-ref{font-family:'IBM Plex Mono',ui-monospace,monospace!important;font-size:12px!important;color:#5B5F66!important;margin:0!important}
#app .cxw-pv-cust{font-size:13px;margin:8px 0 12px}
#app .cxw-next{display:flex;flex-direction:column;gap:2px;margin:0 -16px 12px;padding:12px 16px;background:#FAF9F6;border-top:1px solid #EFEDE7;border-bottom:1px solid #EFEDE7}
#app .cxw-next span{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#5B5F66}
#app .cxw-next b{font-size:15px;font-weight:600}
#app .cxw-next small{font-size:12px;color:#5B5F66}
#app .ref-job-preview .ref-open-job{background:#17181B!important;border-color:#17181B!important;color:#FFFFFF!important;border-radius:8px!important;height:38px!important;display:flex!important;align-items:center!important;justify-content:center!important}
@media (max-width:900px){#app .ref-waiting{grid-template-columns:repeat(2,minmax(0,1fr))!important}#app .ref-waiting .cxw-tray-label{grid-column:1/-1;border-right:0;border-bottom:1px solid #EFEDE7}#app .ref-waiting button.cxw-tile{border-left:0!important;border-top:1px solid #EFEDE7!important}}

/* Nested <main> elements inherited the page-level max-width/padding and sat
   centred inside their grid cell (job workspace, customer profile). */
#app .app-view main{max-width:none!important;margin:0!important;padding:0!important}
#app .job-workspace-grid{grid-template-columns:minmax(0,1fr) 340px!important;gap:20px!important}

/* ---------- Entity pages (job workspace, tickets, assets) ---------- */
#app .entity .entity-head{padding:0!important;margin:4px 0 12px!important;align-items:flex-start!important}
#app .entity .entity-title h1,#app .entity .entity-title{font-size:26px!important}
#app .entity .entity-sub{font-size:14px!important;color:#5B5F66!important;font-weight:500!important;margin-top:6px!important}
#app .entity dl.entity-facts{background:#FFFFFF!important;border:1px solid #E4E1DA!important;border-radius:12px!important;margin:0 0 12px!important;overflow:hidden!important}
#app .entity dl.entity-facts > div{padding:12px 18px!important;border-left:1px solid #EFEDE7!important;border-top:0!important;border-bottom:0!important;border-right:0!important}
#app .entity dl.entity-facts > div:first-child{border-left:0!important}
#app .entity dl.entity-facts dt{font-size:12px!important;color:#5B5F66!important;margin:0!important}
#app .entity dl.entity-facts dd{font-size:15px!important;font-weight:600!important;margin:2px 0 0!important}
#app .entity ol.entity-progress{margin:0 0 16px!important;border-radius:12px!important}

/* ---------- Full-width pages (v0.16.6.51) ----------
   The customer profile, Today, job workspace and Shipping pages carried a
   fixed max-width and sat centred on wide screens. They now use the same
   width as the Customers list. */
#app .customer-profile-page,#app .today-ref-page,#app article.entity,#app article.entity-job,#app .shipping-page{max-width:none!important;width:auto!important;margin-left:0!important;margin-right:0!important}

/* ---------- Today: module tiles keep one line per value ---------- */
#app .today-ref-module{min-width:0!important;padding:12px 14px!important}
#app .today-ref-module .today-ref-modname{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:12px!important}
#app .today-ref-module b{font-size:20px!important;line-height:1.25!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:block!important;max-width:100%!important}
#app .today-ref-module > span:last-child{max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

/* ==== sales-approved.css ==== */
/* =====================================================================
   Omnisky Operations v0.16.6.51 — Sales aligned to the approved canvas:
   "Sales — all documents", "Sales — quotation editor", "Sales — counter sale".
   Loaded last. Presentation only; every class here is sx-* so nothing
   else in the app is affected.
   ===================================================================== */
:root{--sx-ink:#17181B;--sx-muted:#5B5F66;--sx-line:#E4E1DA;--sx-soft:#EFEDE7;--sx-field:#DAD7CF;--sx-bg:#F4F3EF;--sx-tint:#FAF9F6;--sx-red:#C8102E;--sx-red-d:#A90D26;--sx-mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;--sx-sans:'Google Sans','Poppins',system-ui,sans-serif}

/* ---------- shared atoms ---------- */
.sx-ic{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.sx-mono{font-family:var(--sx-mono)!important}
.sx-muted{color:var(--sx-muted)!important}
.sx-r{text-align:right!important}
.sx-grow{flex:1 1 auto}
.sx-center{text-align:center}
.sx-sec{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--sx-muted)}
.sx-pill{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap;line-height:1;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.sx-dot{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block;flex-shrink:0;font-style:normal}
.sx-blue{background:#E7EEFB;color:#1B4FB0}.sx-amber{background:#FBEFD9;color:#855000}.sx-green{background:#E2F2E8;color:#1B6B3D}.sx-grey{background:#EEEDE8;color:#50535A}.sx-red{background:#FCE8E6;color:#A3201A}.sx-purple{background:#F1E9F8;color:#6B2D86}
.sx-kv{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;padding:5px 0;margin:0}
.sx-kv>span{color:var(--sx-muted)}
.sx-kv>b{font-weight:500;text-align:right;min-width:0;overflow-wrap:anywhere}
.sx-note{margin:8px 0 0;font-size:13px;line-height:1.5}
.sx-card{background:#FFFFFF;border:1px solid var(--sx-line);border-radius:12px}
.sx-in{height:38px!important;width:100%!important;box-sizing:border-box!important;border:1px solid var(--sx-field)!important;border-radius:8px!important;padding:0 12px!important;font:400 14px var(--sx-sans)!important;color:var(--sx-ink)!important;background:#FFFFFF!important;margin:0!important;box-shadow:none!important}
.sx-in[readonly]{background:var(--sx-tint)!important}
.sx-lbl{display:block;font-size:12px;font-weight:600;color:var(--sx-muted);margin:0 0 6px}
.sx-search{display:flex!important;align-items:center;gap:8px;height:36px;padding:0 12px;border:1px solid var(--sx-field);border-radius:8px;box-sizing:border-box;background:#FFFFFF;color:var(--sx-muted);margin:0}
.sx-search input{flex:1 1 auto;min-width:0;height:100%!important;border:0!important;outline:none!important;box-shadow:none!important;padding:0!important;margin:0!important;background:transparent!important;font:400 14px var(--sx-sans)!important;color:var(--sx-ink)!important}
.sx-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--sx-field);background:#FFFFFF;color:var(--sx-ink)!important;font:500 13px var(--sx-sans);text-decoration:none!important;cursor:pointer;white-space:nowrap;box-sizing:border-box}
.sx-btn:hover{background:var(--sx-tint)}
.sx-btn.sx-ink{background:var(--sx-ink);border-color:var(--sx-ink);color:#FFFFFF!important;flex:1 1 auto}
.sx-btn.sx-ink:hover{background:#2B2D31}
.sx-back{width:38px!important;height:38px!important;min-height:38px!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center;border:1px solid var(--sx-field)!important;border-radius:8px!important;background:#FFFFFF!important;color:var(--sx-ink)!important;cursor:pointer;flex-shrink:0}
.sx-back:hover{background:var(--sx-tint)!important}

/* ---------- Sales list page ---------- */
#app #sales-view .view-head{align-items:flex-end!important;margin:0 0 18px!important}
#app #sales-view .view-head .view-sub{font-size:14px!important;max-width:none!important}
#app #sales-view .view-tools{gap:10px!important;align-items:center}
#app #sales-view .view-tools button{height:38px!important;min-height:38px!important;padding:0 14px!important;border-radius:8px!important;font:500 14px var(--sx-sans)!important;display:inline-flex!important;align-items:center;gap:8px;box-shadow:none!important}
#app #sales-view .view-tools button.ghost{background:#FFFFFF!important;border:1px solid var(--sx-field)!important;color:var(--sx-ink)!important}
#app #sales-view .view-tools button.primary{background:var(--sx-red)!important;border:1px solid var(--sx-red)!important;color:#FFFFFF!important}
#app #sales-view .view-tools button.primary:hover{background:var(--sx-red-d)!important}
#app #sales-view .view-tools button.ux-secondary-refresh{display:none!important}

#app .sx-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));background:#FFFFFF;border:1px solid var(--sx-line);border-radius:12px;overflow:hidden;margin:0 0 18px;padding:0}
#app .sx-stats button{display:flex!important;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 18px!important;margin:0!important;border:0!important;border-left:1px solid var(--sx-soft)!important;border-radius:0!important;background:#FFFFFF!important;text-align:left;font-family:var(--sx-sans);color:var(--sx-ink);cursor:pointer;min-width:0;height:auto!important;box-shadow:none!important}
#app .sx-stats button:first-child{border-left:0!important}
#app .sx-stats button:hover{background:var(--sx-tint)!important}
#app .sx-stats span{font-size:12px;color:var(--sx-muted)}
#app .sx-stats b{font-size:22px;font-weight:600;line-height:1.3;color:var(--sx-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
#app .sx-stats small{font-size:12px;color:var(--sx-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}

#app .sales-list-layout.sx-layout,#app .sales-list-layout.sx-layout:has(>.sales-detail:not([hidden])){display:grid!important;grid-template-columns:minmax(0,1fr) 372px!important;gap:18px!important;align-items:start!important;margin:0!important}
#app .sx-list{background:#FFFFFF;border:1px solid var(--sx-line);border-radius:12px;overflow:hidden;min-width:0}
#app .sx-tabs{display:flex;gap:18px;padding:0 18px;border-bottom:1px solid var(--sx-soft);overflow-x:auto;scrollbar-width:none}
#app .sx-tabs button{height:44px!important;min-height:0!important;padding:0 2px!important;margin:0!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:transparent!important;font:500 14px var(--sx-sans)!important;color:var(--sx-muted)!important;cursor:pointer;display:inline-flex!important;align-items:center;gap:6px;white-space:nowrap;box-shadow:none!important}
#app .sx-tabs button.active{color:var(--sx-ink)!important;border-bottom-color:var(--sx-red)!important}
#app .sx-tabs button[hidden]{display:none!important}
#app .sx-count{color:var(--sx-muted);font-weight:400}
#app .sx-filters{display:flex;gap:10px;align-items:center;padding:12px 18px;margin:0}
#app .sx-filters .sx-search{flex:1 1 auto;min-width:0}
#app .sx-filters select{height:36px!important;width:auto!important;margin:0!important;padding:0 30px 0 12px!important;border:1px solid var(--sx-field)!important;border-radius:8px!important;background-color:#FFFFFF!important;font:500 13px var(--sx-sans)!important;color:var(--sx-ink)!important}
#app .sx-seg{display:inline-flex!important;border:1px solid var(--sx-field);border-radius:8px;overflow:hidden;flex-shrink:0;margin:0!important;padding:0!important;gap:0!important;background:#FFFFFF}
#app .sx-seg button{height:34px!important;min-height:0!important;padding:0 12px!important;margin:0!important;border:0!important;border-left:1px solid var(--sx-soft)!important;border-radius:0!important;background:#FFFFFF!important;font:500 13px var(--sx-sans)!important;color:var(--sx-muted)!important;white-space:nowrap;box-shadow:none!important}
#app .sx-seg button:first-child{border-left:0!important}
#app .sx-seg button.active{background:var(--sx-ink)!important;color:#FFFFFF!important}

#app #sales-view .sx-list .table-scroll{border:0!important;border-radius:0!important;margin:0!important;box-shadow:none!important;overflow-x:auto}
#app table.sx-table{width:100%!important;border-collapse:collapse!important;table-layout:fixed;min-width:640px;margin:0!important;background:#FFFFFF!important}
#app table.sx-table th{height:34px!important;padding:0 12px!important;background:var(--sx-tint)!important;border:0!important;border-top:1px solid var(--sx-soft)!important;font:600 11px var(--sx-sans)!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:var(--sx-muted)!important;text-align:left;white-space:nowrap}
#app table.sx-table th:nth-child(1){width:214px}
#app table.sx-table th:nth-child(3){width:118px}
#app table.sx-table th:nth-child(4){width:172px}
#app table.sx-table th:nth-child(5){width:66px}
#app table.sx-table th:first-child,#app table.sx-table td:first-child{padding-left:18px!important}
#app table.sx-table th:last-child,#app table.sx-table td:last-child{padding-right:18px!important}
#app table.sx-table td{height:56px!important;padding:6px 12px!important;border:0!important;border-top:1px solid var(--sx-soft)!important;font-size:13px!important;color:var(--sx-ink)!important;vertical-align:middle!important;background:transparent!important;overflow:hidden}
#app table.sx-table tr.sx-row{cursor:pointer}
#app table.sx-table tr.sx-row:hover td{background:var(--sx-tint)!important}
#app table.sx-table tr.sx-row.selected td,#app table.sx-table tr.sx-row.selected:hover td{background:#FBF0F0!important}
#app table.sx-table tr.sx-row:focus-visible{outline:2px solid #1B4FB0;outline-offset:-2px}
#app .sx-c-no b{display:block;font:500 13px var(--sx-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#app .sx-c-no small,#app .sx-c-cust small{display:block;font-size:11px;color:var(--sx-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
#app .sx-c-cust b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#app .sx-c-cust small{font-size:12px}
#app td.sx-c-total{text-align:right!important;font-family:var(--sx-mono)!important;white-space:nowrap}
#app td.sx-c-status{white-space:normal}
#app td.sx-c-status .sx-pill{margin:2px 4px 2px 0}
#app td.sx-c-age{text-align:right!important;color:var(--sx-muted)!important;white-space:nowrap}
#app #sales-view .sales-empty{padding:36px 12px;text-align:center;display:flex;flex-direction:column;gap:4px;align-items:center}
#app #sales-view .sales-empty b{font-size:14px}
#app #sales-view .sales-empty span{font-size:13px;color:var(--sx-muted)}
#app #sales-view #sales-pager{padding:10px 18px!important;border-top:1px solid var(--sx-soft);margin:0!important}
#app #sales-view #sales-pager:empty{display:none}

/* document panel */
#app .sales-detail.sx-detail{display:block!important;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto;background:#FFFFFF!important;border:1px solid var(--sx-line)!important;border-radius:12px!important;padding:0!important;margin:0!important;box-shadow:none!important;min-width:0}
#app .sx-d-head{display:flex;flex-direction:column;gap:10px;padding:18px 20px 16px;border-bottom:1px solid var(--sx-soft)}
#app .sx-d-pills{display:flex;align-items:center;gap:8px;min-width:0}
#app .sx-d-close{margin-left:auto!important;width:28px!important;height:28px!important;min-height:0!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center;border:0!important;background:transparent!important;color:var(--sx-muted)!important;border-radius:6px!important;cursor:pointer}
#app .sx-d-close:hover{background:var(--sx-tint)!important}
#app .sx-d-no{display:flex;align-items:baseline;gap:10px}
#app .sx-d-no h2{margin:0!important;font:500 20px var(--sx-mono)!important;color:var(--sx-ink)!important;overflow-wrap:anywhere}
#app .sx-d-no span{font-size:13px;color:var(--sx-muted)}
#app .sx-d-cust{font-size:14px;line-height:1.4}
#app .sx-d-cust b{font-weight:600}
#app .sx-d-sub{font-size:13px;color:var(--sx-muted)}
#app .sx-d-total{font:500 26px var(--sx-mono)!important;color:var(--sx-ink)}
#app .sx-d-actions{display:flex;gap:8px}
#app .sx-d-sec{padding:14px 20px;border-bottom:1px solid var(--sx-soft)}
#app .sx-d-sec:last-child{border-bottom:0}
#app .sx-d-sec .sx-sec{margin-bottom:6px}
#app .sx-tl{display:grid;grid-template-columns:18px minmax(0,1fr) auto;column-gap:10px;align-items:start;font-size:13px;padding:6px 0}
#app .sx-tl svg{color:#1B6B3D;margin-top:1px}
#app .sx-tl .sx-dot{color:#DAD7CF;margin:6px 0 0 5px}
#app .sx-tl:not(.done)>span:nth-child(2){color:var(--sx-muted)}
#app .sx-line{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--sx-soft);font-size:13px}
#app .sx-d-sec .sx-sec+.sx-line{border-top:0}
#app .sx-line b{display:block;font-weight:500}
#app .sx-line small{display:block;font-size:11px;color:var(--sx-muted);font-family:var(--sx-mono)}
#app .sx-line>span{white-space:nowrap}
#app .sx-sums{border-top:1px solid var(--sx-soft);margin-top:4px;padding-top:4px}
#app .sx-sums .sx-kv b{font-family:var(--sx-mono)}
#app .sx-links{display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-size:13px}
#app .sx-links span{font-size:13px}
#app .sx-link{padding:0!important;margin:0!important;border:0!important;background:none!important;min-height:0!important;height:auto!important;color:#B3122B!important;font:500 13px var(--sx-sans)!important;text-decoration:none!important;cursor:pointer;text-align:left}
#app .sx-link:hover{color:#8E0E22!important;text-decoration:underline!important}
#app .sx-d-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:56px 28px;color:var(--sx-muted);font-size:13px;min-height:220px}
#app .sx-d-empty svg{color:#B9B5AC;margin-bottom:4px}
#app .sx-d-empty b{color:var(--sx-ink);font-size:14px;font-weight:600}

@media (max-width:1200px){#app .sales-list-layout.sx-layout,#app .sales-list-layout.sx-layout:has(>.sales-detail:not([hidden])){grid-template-columns:minmax(0,1fr) 330px!important}#app table.sx-table th:nth-child(4){width:150px}}
@media (max-width:1100px){
  #app .sales-list-layout.sx-layout,#app .sales-list-layout.sx-layout:has(>.sales-detail:not([hidden])){grid-template-columns:minmax(0,1fr)!important}
  #app .sales-list-layout.sx-layout:not(.detail-open)>.sx-detail{display:none!important}
  #app .sales-detail.sx-detail{position:static;max-height:none;order:-1}
}
@media (max-width:900px){
  #app .sx-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  #app .sx-stats button:nth-child(3){border-left:0!important}
  #app .sx-stats button:nth-child(n+3){border-top:1px solid var(--sx-soft)!important}
  #app .sx-filters{flex-wrap:wrap}
  #app .sx-filters .sx-search{flex-basis:100%}
  #app #sales-view .view-head{flex-direction:column;align-items:flex-start!important;gap:12px}
}

/* ---------- Quotation editor ---------- */
/* v0.16.6.52: the quotation editor opens inside the app shell (sidebar and
   top bar stay), replacing the Sales content until Back, Cancel or save. */
#app #sales-view.quote-open{padding:0!important;overflow:visible!important}
#app #sales-view.quote-open>:not(#sales-modal){display:none!important}
#sales-modal.sx-editor{position:relative!important;inset:auto!important;z-index:auto!important;background:var(--sx-bg)!important;overflow:visible!important;color:var(--sx-ink)!important;font-family:var(--sx-sans);min-height:calc(100vh - 60px)}
#sales-modal.sx-editor[hidden]{display:none!important}
#sales-modal .sx-doc{display:block!important;min-height:100%;margin:0!important;padding:0!important;max-width:none!important;background:transparent!important;border:0!important;box-shadow:none!important}
#sales-modal .sx-doc-bar{position:sticky;top:60px;z-index:30;height:60px;display:flex!important;align-items:center;gap:12px;padding:0 28px!important;margin:0!important;background:#FFFFFF!important;border:0!important;border-bottom:1px solid var(--sx-line)!important}
#sales-modal .sx-crumb{font-size:14px;white-space:nowrap}
#sales-modal .sx-crumb>span{color:var(--sx-muted)}
#sales-modal .sx-crumb b{font-weight:600}
#sales-modal .sx-save{font-size:13px;color:var(--sx-muted);white-space:nowrap}
#sales-modal .sx-doc-bar button.ghost,#sales-modal .sx-doc-bar button.primary{height:38px!important;min-height:38px!important;padding:0 14px!important;border-radius:8px!important;font:500 14px var(--sx-sans)!important;box-shadow:none!important}
#sales-modal .sx-doc-bar button.ghost{background:#FFFFFF!important;border:1px solid var(--sx-field)!important;color:var(--sx-ink)!important}
#sales-modal .sx-doc-bar button.primary{background:var(--sx-red)!important;border:1px solid var(--sx-red)!important;color:#FFFFFF!important}
#sales-modal .sx-doc-bar button.primary:hover{background:var(--sx-red-d)!important}
#sales-modal .sx-doc-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;padding:24px 28px 40px;align-items:start}
#sales-modal .sx-doc-main{display:flex;flex-direction:column;gap:16px;min-width:0}
#sales-modal .sx-doc-heading h1{margin:4px 0 0!important;font:600 26px var(--sx-sans)!important;letter-spacing:-.01em!important;color:var(--sx-ink)!important}
#sales-modal .sx-doc-heading p{margin:4px 0 0!important;font-size:13px!important;color:var(--sx-muted)!important}
#sales-modal .sx-doc-details{padding:16px 18px;display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:14px;align-items:end}
#sales-modal .sx-field{display:block;margin:0;font-size:inherit;color:inherit;min-width:0}
#sales-modal .sx-picker{position:relative}
#sales-modal .sx-results,#pos-workspace .sx-results{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:40;background:#FFFFFF;border:1px solid var(--sx-line);border-radius:12px;box-shadow:0 12px 32px rgba(20,20,20,.14);overflow:hidden auto;max-height:420px}
.sx-results[hidden]{display:none!important}
.sx-res{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;column-gap:10px;align-items:center;width:100%!important;height:auto!important;min-height:0!important;padding:9px 14px!important;margin:0!important;border:0!important;border-top:1px solid var(--sx-soft)!important;border-radius:0!important;background:#FFFFFF!important;text-align:left!important;font:400 13px var(--sx-sans)!important;color:var(--sx-ink)!important;cursor:pointer;box-shadow:none!important}
.sx-res:first-child{border-top:0!important}
.sx-res.on,.sx-res:hover{background:var(--sx-tint)!important}
.sx-res>.sx-mono{min-width:84px}
.sx-res-main{min-width:0;display:block}
.sx-res-main b{display:block;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sx-res-main small{display:block;font:400 11px var(--sx-mono);color:var(--sx-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sx-res-note{padding:8px 14px;font-size:12px;color:var(--sx-muted)}
.sx-res-foot{padding:9px 14px;border-top:1px solid var(--sx-soft);font-size:12px}
#sales-modal .sx-lines{overflow:visible;position:relative}
#sales-modal .sx-lines-head{display:flex;align-items:center;gap:10px;padding:14px 18px}
#sales-modal .sx-lines-head h2{margin:0!important;font:600 15px var(--sx-sans)!important;flex:1 1 auto;color:var(--sx-ink)!important}
#sales-modal .sx-lines-head span{font-size:13px}
#sales-modal .sx-cart{display:block!important;margin:0!important;padding:0!important;border:0!important}
#sales-modal .sx-ln{display:grid;grid-template-columns:minmax(0,1fr) 72px 100px 108px 176px 28px;column-gap:10px;align-items:center;padding:0 18px;min-height:52px;border-top:1px solid var(--sx-soft);font-size:13px}
#sales-modal .sx-ln-head{min-height:32px;background:var(--sx-tint)}
#sales-modal .sx-ln-head span{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--sx-muted)}
#sales-modal .sx-ln-item{min-width:0}
#sales-modal .sx-ln-item b{display:block;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#sales-modal .sx-ln-item small{display:block;font:400 11px var(--sx-mono);color:var(--sx-muted)}
#sales-modal .sx-qty{height:32px!important;width:100%!important;box-sizing:border-box!important;border:1px solid var(--sx-field)!important;border-radius:6px!important;text-align:right!important;padding:0 8px!important;font:500 13px var(--sx-mono)!important;margin:0!important}
#sales-modal .sx-x{width:28px!important;height:28px!important;min-height:0!important;padding:0!important;border:0!important;background:none!important;color:var(--sx-muted)!important;cursor:pointer;display:inline-flex!important;align-items:center;justify-content:center;border-radius:6px!important}
#sales-modal .sx-x:hover{background:var(--sx-tint)!important;color:#A3201A!important}
#sales-modal .sx-cart-empty{display:flex;flex-direction:column;gap:2px;padding:20px 18px;border-top:1px solid var(--sx-soft);font-size:13px;color:var(--sx-muted)}
#sales-modal .sx-cart-empty b{color:var(--sx-ink);font-weight:600}
#sales-modal .sx-add{position:relative;padding:12px 18px;border-top:1px solid var(--sx-soft)}
#sales-modal .sx-add .sx-results{left:18px;right:18px;top:calc(100% - 6px)}
#sales-modal .sx-search-strong{height:40px;border:2px solid var(--sx-ink);color:var(--sx-ink)}
#sales-modal .sx-doc-foot{display:flex;gap:24px;padding:14px 18px 16px;border-top:1px solid var(--sx-soft);align-items:flex-start}
#sales-modal .sx-msg{flex:1 1 auto;display:block;margin:0;min-width:0}
#sales-modal .sx-msg textarea{width:100%!important;box-sizing:border-box!important;min-height:76px!important;border:1px solid var(--sx-field)!important;border-radius:8px!important;padding:10px 12px!important;font:400 14px var(--sx-sans)!important;resize:vertical;margin:0!important}
#sales-modal .sx-totals{width:260px;flex-shrink:0}
#sales-modal .sx-totals .sx-kv b{font-family:var(--sx-mono);font-weight:500}
#sales-modal .sx-totals input{width:110px!important;height:30px!important;box-sizing:border-box!important;border:1px solid var(--sx-field)!important;border-radius:6px!important;text-align:right!important;padding:0 8px!important;font:500 13px var(--sx-mono)!important;margin:0!important}
#sales-modal .sx-grand{border-top:1px solid var(--sx-soft);margin-top:4px;padding-top:9px;font-size:16px;font-weight:600}
#sales-modal .sx-grand>span{color:var(--sx-ink)!important}
#sales-modal .sx-grand b{font-weight:600!important}
#sales-modal .document-error{margin:0!important}
#sales-modal .sx-doc-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:144px}
#sales-modal .sx-side-card{padding:16px 18px}
#sales-modal .sx-side-card .sx-sec{margin-bottom:6px}
#sales-modal .sx-flow{display:grid;grid-template-columns:22px minmax(0,1fr);column-gap:10px;align-items:center;padding:6px 0;font-size:13px}
#sales-modal .sx-flow i{width:22px;height:22px;border-radius:50%;font-style:normal;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;box-sizing:border-box;border:2px solid var(--sx-field);color:var(--sx-muted);background:#FFFFFF}
#sales-modal .sx-flow i.on{background:var(--sx-ink);border-color:var(--sx-ink);color:#FFFFFF}
#sales-modal .sx-flow b{font-weight:600}
#sales-modal .pos-only{display:none!important}
@media (max-width:1100px){#sales-modal .sx-doc-grid{grid-template-columns:minmax(0,1fr)}#sales-modal .sx-doc-side{position:static}}
@media (max-width:760px){
  #sales-modal .sx-doc-bar{padding:0 14px!important;gap:8px}
  #sales-modal .sx-save,#sales-modal .sx-doc-bar .sx-pill,#sales-modal #sales-cancel{display:none!important}
  #sales-modal .sx-doc-grid{padding:16px}
  #sales-modal .sx-doc-details{grid-template-columns:1fr 1fr}
  #sales-modal .sx-cust-field{grid-column:1/-1}
  #sales-modal .sx-ln-head{display:none}
  #sales-modal .sx-doc-foot{flex-direction:column}
  #sales-modal .sx-totals{width:100%}
}

/* ---------- Counter sale ---------- */
/* The counter sale lives inside the app shell (sidebar and top bar stay),
   exactly like the approved board. It replaces the Sales content while open. */
#app #sales-view.pos-open{padding:0!important;overflow:visible!important}
#app #sales-view.pos-open>:not(#pos-workspace){display:none!important}
#pos-workspace.sx-pos{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 400px;min-height:calc(100vh - 60px);background:var(--sx-bg);color:var(--sx-ink);font-family:var(--sx-sans)}
#pos-workspace.sx-pos[hidden]{display:none!important}
#pos-workspace .sx-pos-main{padding:22px 28px 32px;overflow:auto;min-width:0}
#pos-workspace .sx-pos-head{display:flex;align-items:center;gap:12px;margin:0 0 16px}
#pos-workspace .sx-pos-head h1{margin:0!important;font:600 24px var(--sx-sans)!important;flex:1 1 auto;letter-spacing:-.01em!important}
#pos-workspace .sx-pos-head .sx-muted{font-size:13px}
#pos-workspace .sx-search-big{height:48px;border-radius:10px;padding:0 16px;gap:10px}
#pos-workspace .sx-search-big input{font-size:16px!important}
#pos-workspace .sx-chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 12px}
#pos-workspace .sx-chip{height:34px!important;min-height:0!important;padding:0 14px!important;margin:0!important;border-radius:999px!important;border:1px solid var(--sx-field)!important;background:#FFFFFF!important;font:500 13px var(--sx-sans)!important;color:var(--sx-ink)!important;cursor:pointer;box-shadow:none!important}
#pos-workspace .sx-chip.on{background:var(--sx-ink)!important;border-color:var(--sx-ink)!important;color:#FFFFFF!important}
#pos-workspace .sx-pos-count{font-size:13px;margin:0 0 12px}
#pos-workspace .sx-pos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
#pos-workspace .sx-prod{display:flex!important;flex-direction:column;align-items:stretch;gap:4px;min-height:124px;height:auto!important;padding:14px 16px!important;margin:0!important;background:#FFFFFF!important;border:1px solid var(--sx-line)!important;border-radius:12px!important;text-align:left!important;cursor:pointer;color:var(--sx-ink)!important;font-family:var(--sx-sans)!important;box-shadow:none!important}
#pos-workspace .sx-prod:hover{border-color:#B9B5AC!important;background:var(--sx-tint)!important}
#pos-workspace .sx-prod:active{transform:scale(.99)}
#pos-workspace .sx-prod small{font-size:11px;color:var(--sx-muted)}
#pos-workspace .sx-prod b{font-size:14px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#pos-workspace .sx-prod-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px}
#pos-workspace .sx-prod-foot .sx-mono{font-size:15px}
#pos-workspace .sx-pos-note{grid-column:1/-1;padding:32px 12px;text-align:center;color:var(--sx-muted);font-size:13px}
#pos-workspace .sx-pos-side{background:#FFFFFF;border-left:1px solid var(--sx-line);display:flex;flex-direction:column;min-height:0;height:calc(100vh - 60px);position:sticky;top:60px;align-self:start}
#pos-workspace .sx-pos-cust{padding:18px 18px 14px;border-bottom:1px solid var(--sx-soft)}
#pos-workspace .sx-pos-cust .sx-sec{margin-bottom:8px}
#pos-workspace .sx-row2{display:flex;gap:8px}
#pos-workspace .sx-row2 .sx-picker{flex:1 1 auto;min-width:0;position:relative}
#pos-workspace .sx-row2 button{height:38px!important;min-height:0!important;padding:0 14px!important;border:1px solid var(--sx-field)!important;border-radius:8px!important;background:#FFFFFF!important;color:var(--sx-ink)!important;font:500 14px var(--sx-sans)!important;box-shadow:none!important}
#pos-workspace .sx-pos-cust .sx-note{font-size:12px;margin-top:8px}
#pos-workspace .sx-pos-cart{flex:1 1 auto;overflow:auto;min-height:120px}
#pos-workspace .sx-pline{display:grid;grid-template-columns:minmax(0,1fr) auto 76px;column-gap:10px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--sx-soft)}
#pos-workspace .sx-pline-main{min-width:0}
#pos-workspace .sx-pline-main b{display:block;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#pos-workspace .sx-pline-main small{display:block;font-size:11px;color:var(--sx-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#pos-workspace .sx-pline-total{text-align:right;font-size:13px}
#pos-workspace .sx-step{display:inline-flex;align-items:center;height:32px;border:1px solid var(--sx-field);border-radius:8px;overflow:hidden}
#pos-workspace .sx-step button{width:30px!important;height:30px!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:var(--sx-tint)!important;color:var(--sx-ink)!important;font:500 16px var(--sx-sans)!important;cursor:pointer;box-shadow:none!important}
#pos-workspace .sx-step span{min-width:32px;text-align:center;font:500 13px var(--sx-mono)}
#pos-workspace .sx-pos-empty,#pos-workspace .sx-pos-done{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:40px 24px;color:var(--sx-muted);font-size:13px}
#pos-workspace .sx-pos-empty b,#pos-workspace .sx-pos-done b{color:var(--sx-ink);font-size:14px}
#pos-workspace .sx-pos-done svg{color:#1B6B3D}
#pos-workspace .sx-pos-done small{font-size:12px;margin-top:6px}
#pos-workspace .sx-pos-foot{padding:14px 18px 16px;border-top:1px solid var(--sx-soft)}
#pos-workspace .sx-pos-foot .sx-kv b{font-family:var(--sx-mono);font-weight:500}
#pos-workspace .sx-pos-foot .sx-kv input{width:150px!important;height:34px!important;box-sizing:border-box!important;border:1px solid var(--sx-field)!important;border-radius:8px!important;padding:0 10px!important;font:500 13px var(--sx-sans)!important;text-align:right;margin:0!important}
#pos-workspace #pos-discount,#pos-workspace #pos-cash{font-family:var(--sx-mono)!important;width:110px!important}
#pos-workspace .sx-grand{padding-top:8px;margin-top:2px}
#pos-workspace .sx-grand>span{font-size:20px;font-weight:700;color:var(--sx-ink)!important}
#pos-workspace .sx-grand b{font-size:22px!important;font-weight:600!important}
#pos-workspace .sx-pay-h{margin:14px 0 8px}
#pos-workspace .sx-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:8px}
#pos-workspace .sx-methods button{height:46px!important;min-height:0!important;padding:0!important;margin:0!important;border:1px solid var(--sx-field)!important;border-radius:8px!important;background:#FFFFFF!important;color:var(--sx-ink)!important;font:500 14px var(--sx-sans)!important;cursor:pointer;box-shadow:none!important}
#pos-workspace .sx-methods button.on{border:2px solid var(--sx-ink)!important}
#pos-workspace .sx-pay-row[hidden],#pos-workspace #pos-change-row[hidden]{display:none!important}
#pos-workspace .error{margin:8px 0 0!important;font-size:13px}
#pos-workspace .sx-complete{width:100%!important;height:52px!important;margin:12px 0 0!important;padding:0 16px!important;border:0!important;border-radius:8px!important;background:var(--sx-red)!important;color:#FFFFFF!important;font:600 16px var(--sx-sans)!important;cursor:pointer;box-shadow:none!important}
#pos-workspace .sx-complete:hover{background:var(--sx-red-d)!important}
#pos-workspace .sx-complete:disabled{opacity:.45;cursor:not-allowed}
#pos-workspace .sx-pos-foot .sx-note{font-size:12px;margin-top:8px}
@media (max-width:900px){
  #pos-workspace.sx-pos{display:block;min-height:0}
  #pos-workspace .sx-pos-main{padding:16px}
  #pos-workspace .sx-pos-side{height:auto;position:static;border-left:0;border-top:1px solid var(--sx-line)}
  #pos-workspace .sx-pos-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
}

/* focus: the search box shows the ring, not the bare input inside it */
.sx-search input:focus,.sx-search input:focus-visible,#app .sx-search input:focus-visible{outline:none!important;box-shadow:none!important}
.sx-search:focus-within{border-color:var(--sx-ink)!important;box-shadow:0 0 0 3px rgba(23,24,27,.08)}
#sales-modal .sx-totals label.sx-kv>span{font-weight:400!important;color:var(--sx-muted)!important;font-size:13px!important}
#pos-workspace .sx-row2 button{white-space:nowrap!important;flex-shrink:0}
#pos-workspace .sx-pos-foot label.sx-kv>span{font-weight:400!important;color:var(--sx-muted)!important;font-size:13px!important}
#pos-workspace .sx-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
#pos-workspace .sx-chip{flex-shrink:0;white-space:nowrap}
#pos-workspace .sx-prod-foot .sx-mono{white-space:nowrap}
#pos-workspace .sx-prod-foot .sx-pill{min-width:0}

/* ---------- phone widths ---------- */
@media (max-width:700px){
  #app table.sx-table{min-width:0!important;table-layout:auto}
  #app table.sx-table thead{display:none}
  #app table.sx-table tbody{display:block}
  #app table.sx-table tr.sx-row{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:4px;padding:12px 16px;border-top:1px solid var(--sx-soft)}
  #app table.sx-table tr.sx-row td{display:block;height:auto!important;padding:0!important;border:0!important;background:transparent!important}
  #app table.sx-table tr.sx-row.selected{background:#FBF0F0}
  #app table.sx-table td.sx-c-no{grid-column:1;grid-row:1}
  #app table.sx-table td.sx-c-total{grid-column:2;grid-row:1;align-self:start}
  #app table.sx-table td.sx-c-cust{grid-column:1/-1;grid-row:2}
  #app table.sx-table td.sx-c-status{grid-column:1;grid-row:3}
  #app table.sx-table td.sx-c-age{grid-column:2;grid-row:3;align-self:center}
  #app #sales-view .sx-list .table-scroll{overflow:visible}
  #app .sx-filters .sx-seg{flex:1 1 auto}
  #app .sx-filters .sx-seg button{flex:1 1 auto}
  #sales-modal .sx-ln{grid-template-columns:minmax(0,1fr) 60px 28px!important;row-gap:6px;padding:10px 14px!important}
  #sales-modal .sx-ln>.sx-ln-item{grid-column:1;grid-row:1}
  #sales-modal .sx-ln>input{grid-column:2;grid-row:1}
  #sales-modal .sx-ln>button{grid-column:3;grid-row:1}
  #sales-modal .sx-ln>span:nth-of-type(1){display:none!important}
  #sales-modal .sx-ln>span:nth-of-type(2){display:block!important;grid-column:2/4!important;grid-row:2;text-align:right}
  #sales-modal .sx-ln>span:nth-of-type(3){grid-column:1!important;grid-row:2}
  #pos-workspace .sx-pos-grid{max-height:58vh;overflow:auto;padding-bottom:4px}
}

/* ---------- v0.16.6.53: tax invoices ---------- */
#sales-modal .sx-desc{width:100%!important;height:32px!important;box-sizing:border-box!important;border:1px solid var(--sx-field)!important;border-radius:6px!important;padding:0 8px!important;font:500 13px var(--sx-sans)!important;margin:0!important}
#sales-modal .sx-price{text-align:right!important}
#sales-modal .sx-lines-head #sales-add-custom{height:32px;font-size:13px}
#sales-modal .sx-lines-head #sales-add-custom[hidden],#sales-modal #sales-stock-card[hidden]{display:none!important}
#app .sx-form .sx-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 10px}
#app .sx-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--sx-muted);margin:0}
#app .sx-form input,#app .sx-form select{height:36px!important;border:1px solid var(--sx-field)!important;border-radius:8px!important;padding:0 10px!important;font:400 14px var(--sx-sans)!important;color:var(--sx-ink)!important;background:#FFFFFF!important;margin:0!important;width:100%!important;box-sizing:border-box}
#app .sx-red-t{color:#A3201A}
#app .sx-inline-note{margin:4px 0 0!important;font-size:13px}
#app #sales-view .view-tools #sales-new-invoice{display:inline-flex!important}
#app .sx-company-note,#sales-modal .sx-company-note{margin:0 0 0!important;font-size:13px;line-height:1.5;padding:10px 14px!important;border-radius:10px}#app .sx-d-head+.sx-company-note{margin:12px 20px 0!important}

/* ==== ops-approved.css ==== */
/* =====================================================================
   Omnisky Operations v0.16.6.52 — Products, Stock, Purchasing and Fleet
   aligned to the approved canvas boards. Loaded last; every class is ox-*
   (plus the shared sx-* atoms from sales-approved.css).
   ===================================================================== */
#app .ox-page{display:flex;flex-direction:column;gap:18px;min-width:0}
#app :is(#products-view,#inventory-view,#purchasing-view,#fleet-view) .view-head{align-items:flex-end!important;margin:0 0 18px!important}
#app :is(#products-view,#inventory-view,#purchasing-view,#fleet-view) .view-sub{font-size:14px!important;max-width:none!important}
#app :is(#products-view,#inventory-view,#purchasing-view,#fleet-view) .view-tools{gap:10px!important}
#app :is(#products-view,#inventory-view,#purchasing-view,#fleet-view) .view-tools button{height:38px!important;min-height:38px!important;padding:0 14px!important;border-radius:8px!important;font:500 14px var(--sx-sans)!important;display:inline-flex!important;align-items:center;gap:8px;box-shadow:none!important;opacity:1}
#app :is(#products-view,#inventory-view,#purchasing-view,#fleet-view) .view-tools button.ghost{background:#FFFFFF!important;border:1px solid var(--sx-field)!important;color:var(--sx-ink)!important}
#app :is(#products-view,#inventory-view,#purchasing-view,#fleet-view) .view-tools button.primary{background:var(--sx-red)!important;border:1px solid var(--sx-red)!important;color:#FFFFFF!important}
#app :is(#products-view,#inventory-view,#purchasing-view,#fleet-view) .view-tools button.ink{background:var(--sx-ink)!important;border:1px solid var(--sx-ink)!important;color:#FFFFFF!important}
#app :is(#products-view,#inventory-view,#purchasing-view,#fleet-view) .view-tools button:disabled{opacity:.55!important;cursor:not-allowed}
#app :is(#products-view,#inventory-view,#purchasing-view,#fleet-view)>.authority-banner{display:none!important}

/* tiles */
#app .ox-tiles{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);background:#FFFFFF;border:1px solid var(--sx-line);border-radius:12px;overflow:hidden}
#app .ox-tile{display:flex!important;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:12px 18px!important;margin:0!important;border:0!important;border-left:1px solid var(--sx-soft)!important;border-radius:0!important;background:#FFFFFF!important;text-align:left;font-family:var(--sx-sans);color:var(--sx-ink)!important;cursor:pointer;min-width:0;height:auto!important;box-shadow:none!important;text-decoration:none!important}
#app .ox-tile:first-child{border-left:0!important}
#app .ox-tile:hover{background:var(--sx-tint)!important}
#app .ox-tile.on{background:#FBF0F0!important}
#app .ox-tile>span{font-size:12px;color:var(--sx-muted)}
#app .ox-tile>b{font-size:22px;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
#app .ox-tile>small{font-size:12px;color:var(--sx-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
#app .ox-tile-label{cursor:default;background:var(--sx-tint)!important}
#app .ox-health{grid-template-columns:150px;grid-auto-columns:minmax(0,1fr)}
#app .ox-flow .ox-tile:first-child:not(.on){background:#FBF0F0!important}
#app .ox-red{color:#A3201A!important}
#app .ox-amber{color:#855000!important}
#app .ox-green{color:#1B6B3D!important}
#app .ox-muted{color:var(--sx-muted)!important}
#app .ox-ink{color:var(--sx-ink)!important}

/* split layout */
#app .ox-split{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;align-items:start}
#app .ox-card{background:#FFFFFF;border:1px solid var(--sx-line);border-radius:12px;min-width:0}
#app .ox-main{overflow:hidden}
#app .ox-pad{padding:16px 18px}
#app .ox-pad-x{padding:0 18px}
#app .ox-side-stack{display:flex;flex-direction:column;gap:16px;min-width:0}
#app .ox-tabs{display:flex;gap:22px;padding:0 18px;border-bottom:1px solid var(--sx-soft);overflow-x:auto;scrollbar-width:none}
#app .ox-tabs button{height:44px!important;min-height:0!important;padding:0 2px!important;margin:0!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:transparent!important;font:500 14px var(--sx-sans)!important;color:var(--sx-muted)!important;cursor:pointer;white-space:nowrap;box-shadow:none!important}
#app .ox-tabs button.active{color:var(--sx-ink)!important;border-bottom-color:var(--sx-red)!important}
#app .ox-filters{display:flex;gap:10px;align-items:center;padding:12px 18px}
#app .ox-filters .sx-search{flex:1 1 auto;min-width:0}
#app .ox-filters select{height:36px!important;width:auto!important;max-width:220px;margin:0!important;padding:0 30px 0 12px!important;border:1px solid var(--sx-field)!important;border-radius:8px!important;background-color:#FFFFFF!important;font:500 13px var(--sx-sans)!important;color:var(--sx-ink)!important}
#app .ox-toggle{height:36px!important;min-height:0!important;padding:0 12px!important;margin:0!important;border:1px solid var(--sx-field)!important;border-radius:8px!important;background:#FFFFFF!important;font:500 13px var(--sx-sans)!important;color:var(--sx-ink)!important;white-space:nowrap;cursor:pointer;box-shadow:none!important}
#app .ox-toggle.on{background:var(--sx-ink)!important;border-color:var(--sx-ink)!important;color:#FFFFFF!important}
#app .ox-chips{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:0 18px 12px}
#app .ox-chip{flex-shrink:0}
#app .ox-chip{height:30px!important;min-height:0!important;padding:0 12px!important;margin:0!important;border:1px solid var(--sx-field)!important;border-radius:999px!important;background:#FFFFFF!important;font:500 12px var(--sx-sans)!important;color:var(--sx-ink)!important;cursor:pointer;white-space:nowrap;box-shadow:none!important}
#app .ox-chip span{color:var(--sx-muted);font-weight:400}
#app .ox-chip.on{background:var(--sx-ink)!important;border-color:var(--sx-ink)!important;color:#FFFFFF!important}
#app .ox-chip.on span{color:#C9CBD1}
#app .ox-filter-note{padding:0 18px 10px;font-size:13px;color:var(--sx-muted)}

/* tables */
#app .ox-main .table-scroll,#app .ox-devices .table-scroll{border:0!important;border-radius:0!important;margin:0!important;box-shadow:none!important;overflow-x:auto}
#app table.ox-table{width:100%!important;border-collapse:collapse!important;table-layout:auto;margin:0!important;background:#FFFFFF!important}
#app table.ox-table th{height:34px!important;padding:0 12px!important;background:var(--sx-tint)!important;border:0!important;border-top:1px solid var(--sx-soft)!important;font:600 11px var(--sx-sans)!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:var(--sx-muted)!important;text-align:left;white-space:nowrap}
#app table.ox-table td{height:52px!important;padding:6px 12px!important;border:0!important;border-top:1px solid var(--sx-soft)!important;font-size:13px!important;color:var(--sx-ink);vertical-align:middle!important;background:transparent!important}
#app table.ox-table th:first-child,#app table.ox-table td:first-child{padding-left:18px!important}
#app table.ox-table th:last-child,#app table.ox-table td:last-child{padding-right:18px!important}
#app table.ox-table .r{text-align:right!important}
#app table.ox-table .mono,#app .ox-panel .mono,#app .ox-card .mono{font-family:var(--sx-mono)!important}
#app table.ox-table td b{font-weight:600}
#app table.ox-table td small{display:block;font-size:11px;color:var(--sx-muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}
#app table.ox-table tr.ox-row{cursor:pointer}
#app table.ox-table tr.ox-row:hover td{background:var(--sx-tint)!important}
#app table.ox-table tr.ox-row.selected td{background:#FBF0F0!important}
#app table.ox-table tr.ox-row:focus-visible{outline:2px solid #1B4FB0;outline-offset:-2px}
#app table.ox-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--sx-red);margin:0}
#app .ox-why{color:var(--sx-ink);font-size:13px}
#app .ox-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;border-top:1px solid var(--sx-soft);font-size:13px;color:var(--sx-muted)}
#app .ox-pager>div{display:flex;gap:8px}
#app .ox-pager .sx-btn:disabled{opacity:.45;cursor:not-allowed}
#app .ox-empty{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:40px 24px;color:var(--sx-muted);font-size:13px}
#app .ox-empty b{color:var(--sx-ink);font-size:14px}
#app .ox-note{margin:8px 0 0;font-size:13px;line-height:1.5;color:var(--sx-muted)}
#app .ox-main>.ox-note{padding:12px 18px 0;margin:0}
#app .ox-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px}
#app .ox-card-head.ox-col{flex-direction:column;align-items:flex-start;gap:2px}
#app .ox-card-head h2{margin:0!important;font:600 15px var(--sx-sans)!important;color:var(--sx-ink)!important}
#app .ox-card-head .ox-muted{font-size:12px}
#app .ox-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid var(--sx-soft);font-size:13px;color:var(--sx-muted)}
#app .ox-card-foot>div{display:flex;gap:10px}
#app .ox-card-foot .sx-btn{height:38px;padding:0 14px;font-size:14px}
#app .sx-btn.ox-primary{background:var(--sx-red);border-color:var(--sx-red);color:#FFFFFF!important}
#app .sx-btn:disabled{opacity:.55;cursor:not-allowed}

/* right panel */
#app .ox-panel{display:flex;flex-direction:column;position:sticky;top:76px;max-height:calc(100vh - 92px);overflow:auto}
#app .ox-panel-empty{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:56px 24px;color:var(--sx-muted);font-size:13px}
#app .ox-panel-empty b{color:var(--sx-ink);font-size:14px}
#app .ox-panel-head{display:flex;flex-direction:column;gap:8px;padding:18px 20px 16px;border-bottom:1px solid var(--sx-soft)}
#app .ox-pills{display:flex;gap:6px;flex-wrap:wrap}
#app .ox-panel-head h2{margin:2px 0 0!important;font:600 20px var(--sx-sans)!important;letter-spacing:-.01em!important;color:var(--sx-ink)!important;line-height:1.25!important}
#app .ox-sub{margin:0!important;font-size:13px!important;color:var(--sx-muted)!important;line-height:1.5}
#app .ox-actions{display:flex;gap:8px;margin-top:4px}
#app .ox-actions3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#app .ox-block{display:flex;width:100%;margin-top:10px}
#app .ox-sec{padding:14px 20px;border-bottom:1px solid var(--sx-soft)}
#app .ox-sec .sx-sec{margin-bottom:8px}
#app .ox-grow{flex:1 1 auto}
#app .ox-facts3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#app .ox-facts3>div{background:var(--sx-tint);border-radius:8px;padding:8px 10px;min-width:0}
#app .ox-facts3 small{display:block;font-size:12px;color:var(--sx-muted)}
#app .ox-facts3 b{display:block;font-size:17px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#app .ox-facts3 .good{background:#E2F2E8}#app .ox-facts3 .good b{color:#1B6B3D}
#app .ox-facts3 .warn{background:#FBEFD9}#app .ox-facts3 .warn b{color:#855000}
#app .ox-facts3 .bad{background:#FCE8E6}#app .ox-facts3 .bad b,#app .ox-facts3 .bad small{color:#A3201A}
#app .ox-tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:8px}
#app .ox-tiers>div{background:var(--sx-tint);border-radius:6px;padding:6px 8px;min-width:0}
#app .ox-tiers small{display:block;font-size:11px;color:var(--sx-muted)}
#app .ox-tiers b{display:block;font-size:12px;font-weight:500}
#app .ox-fits{display:flex;flex-wrap:wrap;gap:6px}
#app .ox-fit{height:26px!important;min-height:0!important;padding:0 10px!important;margin:0!important;border:0!important;border-radius:999px!important;background:#EEEDE8!important;color:#50535A!important;font:500 12px var(--sx-sans)!important;cursor:pointer;box-shadow:none!important}
#app .ox-fit:hover{background:#E4E1DA!important}
#app .ox-panel .sx-kv a{color:#B3122B;font-weight:500;text-decoration:none}
#app .ox-panel-foot{padding:14px 20px 16px;border-top:1px solid var(--sx-soft);margin-top:auto}
#app .ox-panel-foot .sx-btn{width:100%}
#app .ox-wait{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:5px 0}
#app .ox-wait a{color:#B3122B;text-decoration:none}
#app .ox-wait span{color:var(--sx-muted);text-align:right}
#app .ox-ledger-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--sx-soft);font-size:13px}
#app .ox-ledger-row:first-child{border-top:0}
#app .ox-ledger-row b{display:block;font-weight:500}
#app .ox-ledger-row small{display:block;font-size:11px;color:var(--sx-muted)}
#app .ox-ledger-row>span:last-child{white-space:nowrap}

/* products extras */
#app .ox-group{padding:14px 18px 4px}
#app .ox-group .sx-sec{margin-bottom:8px}
#app .ox-model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
#app .ox-model{display:flex!important;flex-direction:column;align-items:flex-start;gap:2px;height:auto!important;min-height:0!important;padding:10px 12px!important;margin:0!important;border:1px solid var(--sx-line)!important;border-radius:10px!important;background:#FFFFFF!important;text-align:left;cursor:pointer;font-family:var(--sx-sans)!important;color:var(--sx-ink)!important;box-shadow:none!important}
#app .ox-model:hover{background:var(--sx-tint)!important}
#app .ox-model b{font-size:13px;font-weight:600}
#app .ox-model small{font-size:12px;color:var(--sx-muted)}

/* purchasing extras */
#app .ox-supplier{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--sx-soft)}
#app .ox-supplier b{display:block;font-size:14px;font-weight:600}
#app .ox-supplier small{display:block;font-size:12px;color:var(--sx-muted);margin-top:2px}
#app .ox-flowline{margin:8px 0 0;font-size:13px;line-height:1.5;color:var(--sx-ink)}
#app .ox-flowline b{font-weight:600}
#app .ox-flash{box-shadow:0 0 0 3px rgba(200,16,46,.25)}

/* fleet */
#app .ox-fleet{display:grid;grid-template-columns:270px minmax(0,1fr) 300px;gap:18px;align-items:start}
#app .ox-owners{overflow:hidden}
#app .ox-owner-search{padding:0 12px 10px}
#app .ox-owner{display:flex!important;justify-content:space-between;align-items:center;gap:10px;width:100%!important;height:auto!important;min-height:0!important;padding:10px 16px!important;margin:0!important;border:0!important;border-top:1px solid var(--sx-soft)!important;border-radius:0!important;background:#FFFFFF!important;text-align:left;font-family:var(--sx-sans)!important;color:var(--sx-ink)!important;cursor:pointer;box-shadow:none!important}
#app .ox-owner:hover{background:var(--sx-tint)!important}
#app .ox-owner.on{background:#FBF0F0!important}
#app .ox-owner b{display:block;font-size:13px;font-weight:600}
#app .ox-owner small{display:block;font-size:12px;color:var(--sx-muted)}
#app .ox-owner>span:last-child{font-size:13px}
#app .ox-owners>.ox-note{padding:10px 16px 14px!important;margin:0;border-top:1px solid var(--sx-soft)}
#app .ox-devices{overflow:hidden}
#app .ox-devices .ox-card-head>div{display:flex;flex-direction:column;gap:2px}
#app .ox-joblink{color:#B3122B!important;text-decoration:none;font-size:13px}
#app .ox-bar{display:grid;grid-template-columns:minmax(0,90px) minmax(0,1fr) 28px;align-items:center;gap:10px;font-size:13px;padding:4px 0}
#app .ox-bar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#app .ox-bar i{display:block;height:6px;border-radius:3px;background:linear-gradient(90deg,var(--sx-ink) var(--w),#EEEDE8 var(--w))}
#app .ox-bar b{text-align:right;font-weight:400}
#app .ox-row-between{display:flex;justify-content:space-between;align-items:center;gap:8px}

/* responsive */
@media (max-width:1560px){#app .ox-fleet{grid-template-columns:260px minmax(0,1fr)}#app .ox-fleet>.ox-side-stack{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}}
@media (max-width:1280px){#app .ox-split{grid-template-columns:minmax(0,1fr) 340px}}
@media (max-width:1100px){
  #app .ox-split{grid-template-columns:minmax(0,1fr)}
  #app .ox-panel{position:static;max-height:none}
  #app .ox-tiles{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #app .ox-tile{border-left:0!important;border-top:1px solid var(--sx-soft)!important}
  #app .ox-tile-label{grid-column:1/-1}
}
@media (max-width:900px){
  #app .ox-fleet{grid-template-columns:minmax(0,1fr)}
  #app .ox-fleet>.ox-side-stack{display:flex}
  #app :is(#products-view,#inventory-view,#purchasing-view,#fleet-view) .view-head{flex-direction:column;align-items:flex-start!important;gap:12px}
  #app .ox-filters{flex-wrap:wrap}
  #app .ox-filters .sx-search{flex-basis:100%}
  #app .ox-card-foot{flex-direction:column;align-items:stretch}
  #app table.ox-table td small{max-width:220px}
}

#app .ox-devices table.ox-table td .sx-pill{white-space:nowrap}
#app .ox-devices table.ox-table td:nth-child(3){white-space:nowrap}
@media (max-width:900px){#app .ox-card-head{flex-direction:column;align-items:flex-start}#app .ox-card-head h2{white-space:nowrap}}

/* ---------- v0.16.6.53: purchase orders ---------- */
#app .ox-po-page{gap:16px}
#app .ox-crumbs{display:flex;gap:8px;font-size:13px;color:var(--sx-muted)}
#app .ox-crumbs a{color:#B3122B;text-decoration:none}
#app .ox-po-head{padding:18px 20px}
#app .ox-po-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
#app .ox-po-h1{display:flex;align-items:center;gap:10px}
#app .ox-po-h1 h1{margin:0!important;font:500 26px var(--sx-mono)!important;letter-spacing:0!important;color:var(--sx-ink)!important}
#app .ox-po-head .ox-sub{margin-top:4px!important}
#app .ox-po-head .ox-actions{flex-wrap:wrap}
#app .ox-po-head .sx-btn{height:38px;padding:0 14px;font-size:14px}
#app .ox-steps{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;margin:16px 0 0;padding:0}
#app .ox-steps li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--sx-muted)}
#app .ox-steps i{width:22px;height:22px;border-radius:50%;font-style:normal;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;border:2px solid var(--sx-field);box-sizing:border-box;background:#FFFFFF}
#app .ox-steps li.done{color:var(--sx-ink)}
#app .ox-steps li.done i{background:var(--sx-ink);border-color:var(--sx-ink);color:#FFFFFF}
#app .ox-steps li.now{color:var(--sx-ink);font-weight:600}
#app .ox-steps li.now i{background:#855000;border-color:#855000;color:#FFFFFF}
#app .ox-po-fields{display:grid;grid-template-columns:minmax(0,2fr) 90px minmax(0,1fr) minmax(0,1fr);gap:12px;padding:16px 18px;border-bottom:1px solid var(--sx-soft)}
#app .ox-f{display:flex;flex-direction:column;gap:6px;margin:0;min-width:0}
#app .ox-f>span{font-size:12px;font-weight:600;color:var(--sx-muted)}
#app .ox-f select,#app .ox-f input,#app .ox-f textarea,#app .ox-in{height:36px!important;width:100%!important;box-sizing:border-box!important;border:1px solid var(--sx-field)!important;border-radius:8px!important;padding:0 10px!important;font:400 14px var(--sx-sans)!important;color:var(--sx-ink)!important;background:#FFFFFF!important;margin:0!important;box-shadow:none!important}
#app .ox-f textarea{height:auto!important;min-height:76px;padding:8px 10px!important;resize:vertical}
#app .ox-f input:disabled{background:var(--sx-tint)!important}
#app .ox-in.r{text-align:right!important;font-family:var(--sx-mono)!important;font-size:13px!important}
#app table.ox-table td .ox-in{height:32px!important}
#app .ox-x{width:28px!important;height:28px!important;min-height:0!important;padding:0!important;border:0!important;border-radius:6px!important;background:none!important;color:var(--sx-muted)!important;font-size:18px!important;cursor:pointer}
#app .ox-x:hover{background:var(--sx-tint)!important;color:#A3201A!important}
#app .ox-po-add{position:relative;padding:12px 18px;border-top:1px solid var(--sx-soft)}
#app .ox-po-add .sx-search{height:40px;border:2px solid var(--sx-ink);color:var(--sx-ink)}
#app .ox-results{position:absolute;left:18px;right:18px;top:calc(100% - 6px);z-index:40;background:#FFFFFF;border:1px solid var(--sx-line);border-radius:12px;box-shadow:0 12px 32px rgba(20,20,20,.14);overflow:hidden auto;max-height:380px}
#app .ox-results[hidden]{display:none!important}
#app .ox-res{display:grid!important;grid-template-columns:minmax(0,1fr) auto 100px;gap:10px;align-items:center;width:100%!important;height:auto!important;min-height:0!important;padding:9px 14px!important;margin:0!important;border:0!important;border-top:1px solid var(--sx-soft)!important;border-radius:0!important;background:#FFFFFF!important;text-align:left!important;font:400 13px var(--sx-sans)!important;color:var(--sx-ink)!important;cursor:pointer;box-shadow:none!important}
#app .ox-res:first-child{border-top:0!important}
#app .ox-res.on,#app .ox-res:hover{background:var(--sx-tint)!important}
#app .ox-res b{display:block;font-weight:500}
#app .ox-res small{display:block;font-size:11px;color:var(--sx-muted)}
#app .ox-res>span:last-child{text-align:right}
#app .ox-res-note{padding:10px 14px;font-size:13px;color:var(--sx-muted)}
#app .ox-po-foot{display:flex;gap:24px;align-items:flex-start;padding:14px 18px 16px;border-top:1px solid var(--sx-soft)}
#app .ox-po-totals{width:260px;flex-shrink:0}
#app .ox-po-totals .sx-kv:first-child{font-size:16px;font-weight:600}
#app .ox-rcv{font-size:13px}
#app .ox-prog{display:block;height:6px;border-radius:3px;margin-top:4px;background:linear-gradient(90deg,#1B6B3D var(--p),#EEEDE8 var(--p))}
#app .ox-prog.full{background:#1B6B3D}
#app .ox-receive{display:flex;gap:10px;align-items:flex-end;padding:12px 18px;border-top:1px solid var(--sx-soft);background:#FBF4E6}
#app .ox-receive .sx-btn{height:36px}
#app .ox-po-notes{padding:14px 18px;border-top:1px solid var(--sx-soft)}
#app .ox-po-notes p{margin:6px 0 0;font-size:13px;white-space:pre-line}
#app .ox-receipts{padding:14px 18px;border-top:1px solid var(--sx-soft)}
#app .ox-receipts .sx-sec{margin-bottom:6px}
#app .ox-receipt{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:5px 0}
#app .ox-cost{width:130px!important}
#app #ox-cost .sx-kv{min-height:36px}
#app .ox-landed{border-top:1px solid var(--sx-soft);margin-top:6px;padding-top:10px!important;font-size:16px}
#app .ox-landed>span{color:var(--sx-ink)!important;font-weight:600}
#app .ox-landed b{font-weight:600!important}
#app #ox-cost .ox-actions,#app #ox-sinv .sx-btn{margin-top:10px}
#app .ox-inv-form{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
#app .ox-inv-form .ox-f:last-child{grid-column:1/-1}
@media (max-width:900px){#app .ox-po-fields{grid-template-columns:1fr 1fr}#app .ox-po-fields .ox-f2{grid-column:1/-1}#app .ox-po-foot{flex-direction:column}#app .ox-po-totals{width:100%}#app .ox-receive{flex-wrap:wrap}}
#app .ox-po-h1 h1.ox-sans{font:600 24px var(--sx-sans)!important;letter-spacing:-.01em!important}
/* v0.17.3.0 — item-type bar on Products and Stock: wraps, never clips */
#app .ox-chips.ox-kinds{flex-wrap:wrap;overflow:visible;padding:14px 18px 4px;border-bottom:1px solid var(--sx-line,#ECEDEF);margin-bottom:12px;gap:8px}
#app .ox-chips.ox-kinds .ox-chip{height:32px!important;font-weight:600!important}
/* v0.17.7.0 — RepairDesk purchase orders in the list */
.ox-rd-note{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 16px 12px}
.ox-rd-lines>td{background:#FAF9F6;padding:10px 16px 14px!important}
.ox-mini{width:100%;font-size:13px}.ox-mini th,.ox-mini td{padding:6px 8px!important}

