:root{
  --ds-navy:#0a2540;--ds-navy-2:#12395d;--ds-ink:#0b1f33;--ds-muted:#66788a;
  --ds-line:#d9e3ed;--ds-soft:#f4f7fa;--ds-surface:#fff;--ds-accent:#0f766e;
  --ds-blue:#2563eb;--ds-green:#0f9f6e;--ds-amber:#d97706;--ds-red:#c2413b;
  --ds-radius:16px;--ds-shadow:0 10px 30px rgba(10,37,64,.08);--ds-shadow-strong:0 18px 50px rgba(10,37,64,.14);
  --ds-font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
html,body{font-family:var(--ds-font);background:#eef3f8;color:var(--ds-ink)}
button,input,select,textarea{font:inherit}.ds-topbar{height:72px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(100deg,#092844 0%,#123b61 100%);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.08)}
.ds-brand-lockup{display:flex;align-items:center;gap:12px}.ds-brand-mark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:900;font-size:22px;background:linear-gradient(145deg,#1fb6ff,#0f8b8d);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),0 8px 20px rgba(0,0,0,.18)}
.ds-brand-copy{display:flex;flex-direction:column;line-height:1.1}.ds-brand-copy small{font-size:9px;letter-spacing:.18em;font-weight:800;color:#a9c4da}.ds-brand-copy strong{font-size:17px;margin-top:4px}.ds-topbar-actions{display:flex;align-items:center;gap:8px}
.ds-shell{min-height:100vh;background:radial-gradient(circle at 15% 0%,rgba(37,99,235,.08),transparent 30%),#eef3f8}.ds-page{max-width:1480px;margin:0 auto;padding:28px 30px 36px}.ds-hero{display:flex;justify-content:space-between;align-items:flex-end;padding:28px 30px;border-radius:22px;background:linear-gradient(120deg,#0b2946 0%,#114b68 55%,#0d7c78 100%);color:#fff;box-shadow:var(--ds-shadow-strong)}
.ds-hero small{font-size:10px;letter-spacing:.2em;font-weight:900;color:#9fd7d2}.ds-hero h1{margin:7px 0 8px;font-size:34px;line-height:1}.ds-hero p{margin:0;color:#d5e5ef;max-width:720px}.ds-hero-badge{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);padding:9px 12px;border-radius:999px;font-size:12px;font-weight:800}
.ds-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0}.ds-metric{background:#fff;border:1px solid var(--ds-line);border-radius:16px;padding:16px 18px;box-shadow:var(--ds-shadow)}.ds-metric-label{display:block;font-size:10px;letter-spacing:.12em;font-weight:900;color:#718297}.ds-metric-value{display:block;font-size:22px;margin-top:6px}.ds-metric-hint{display:block;color:var(--ds-muted);margin-top:3px}
.ds-module-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.ds-module-tile{min-height:210px;text-align:left;border:1px solid var(--ds-line);border-radius:18px;background:linear-gradient(180deg,#fff 0%,#fbfdff 70%,#f2f7ff 100%);padding:18px;display:flex;flex-direction:column;cursor:pointer;box-shadow:var(--ds-shadow);transition:.18s ease;position:relative;overflow:hidden}.ds-module-tile:before{content:"";position:absolute;inset:auto -30px -45px auto;width:130px;height:130px;border-radius:50%;background:rgba(37,99,235,.08)}.ds-module-tile:hover{transform:translateY(-3px);border-color:#a9bdd2;box-shadow:var(--ds-shadow-strong)}.ds-module-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:#0d4966;color:#fff;font-size:21px;font-weight:900}.ds-module-main{display:flex;flex-direction:column;margin-top:28px}.ds-module-main small{font-size:9px;letter-spacing:.14em;font-weight:900;color:#789}.ds-module-main strong{font-size:19px;margin-top:5px}.ds-module-main span{font-size:12px;color:var(--ds-muted);margin-top:7px;line-height:1.45}.ds-module-arrow{position:absolute;right:18px;bottom:17px;font-size:20px;color:var(--ds-blue);font-weight:900}
/* Premium normalization for existing suite modules */
.m3-shell{background:#eef3f8!important;color:var(--ds-ink)!important}.m3-top{background:linear-gradient(100deg,#092844,#123b61)!important;min-height:64px!important;box-shadow:0 1px 0 rgba(255,255,255,.08)!important}.m3-logo{border-radius:11px!important;background:linear-gradient(145deg,#21b6ff,#0f8b8d)!important;box-shadow:none!important}.m3-panel,.m3-kpi{border:1px solid var(--ds-line)!important;border-radius:14px!important;box-shadow:0 4px 16px rgba(10,37,64,.045)!important;background:#fff!important}.m3-panel-head{border-bottom:1px solid var(--ds-line)!important}.m3-panel-head small{color:#0f766e!important;letter-spacing:.13em!important}.m3-btn{border-radius:10px!important;font-weight:800!important;box-shadow:none!important}.m3-btn.primary{background:#2563eb!important}.m3-btn.success{background:#0f9f6e!important}.m3-tabs button{border-radius:10px!important}.m3-tabs button.active{background:#0a2540!important}.m3-product{border-color:#d9e3ed!important;border-radius:13px!important;box-shadow:none!important}.m3-product:hover{border-color:#9db7ce!important;box-shadow:0 8px 22px rgba(10,37,64,.08)!important}.m3-table{border-radius:14px!important;box-shadow:0 4px 12px rgba(10,37,64,.06)!important}.m3-table.selected{box-shadow:0 0 0 2px #2563eb,0 8px 20px rgba(37,99,235,.12)!important}.m3-total{background:#0a2f53!important}.m3-kpi strong{color:#0b1f33!important}.m3-dialog{border-radius:18px!important;box-shadow:0 24px 70px rgba(0,0,0,.24)!important}
@media(max-width:1100px){.ds-module-grid{grid-template-columns:repeat(3,1fr)}.ds-page{padding:20px}.ds-metrics{grid-template-columns:1fr}}
@media(max-width:720px){.ds-module-grid{grid-template-columns:1fr}.ds-hero{align-items:flex-start;gap:20px;flex-direction:column}.ds-topbar{padding:0 14px}.ds-page{padding:14px}.ds-hero h1{font-size:28px}}

/* MOB365 Enterprise Phase 1 - operational refinements */
.ds-page{padding-top:20px}.ds-hero{padding:20px 26px;border-radius:18px;align-items:center}.ds-hero h1{font-size:30px;margin:4px 0 5px}.ds-hero p{font-size:13px;max-width:660px}.ds-module-tile{min-height:180px;padding:16px}.ds-module-main{margin-top:20px}.ds-module-tile:hover{transform:translateY(-4px) scale(1.01);border-color:#8baac5;box-shadow:0 18px 42px rgba(10,37,64,.14)}

.m3-kitchen-dot{position:absolute;right:10px;top:10px;width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 3px rgba(255,255,255,.9)}
.m3-kitchen-dot.waiting,.m3-stat.waiting{--status:#d94841}.m3-kitchen-dot.preparing,.m3-stat.preparing{--status:#e3a008}.m3-kitchen-dot.served,.m3-stat.served{--status:#15966a}.m3-kitchen-dot{background:var(--status,#94a3b8)}
.m3-table-progress{font-size:9px!important;font-style:normal!important;color:#62758a!important;margin-top:3px!important;white-space:nowrap}
.m3-stat.waiting,.m3-stat.preparing,.m3-stat.served{box-shadow:inset 3px 0 0 var(--status)}
.m3-progress-wrap{padding:10px 12px 4px;border-bottom:1px solid var(--ds-line);background:#fbfdff}.m3-progress-head{display:flex;justify-content:space-between;font-size:11px;color:var(--ds-muted);margin-bottom:6px}.m3-progress-head strong{color:var(--ds-ink)}.m3-progress{height:7px;border-radius:999px;background:#e7edf4;overflow:hidden}.m3-progress i{display:block;height:100%;background:linear-gradient(90deg,#0f9f6e,#2bb9a1);border-radius:inherit;transition:width .2s ease}
.m3-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.m3-status-grid button{min-height:64px;border-radius:12px;border:1px solid var(--ds-line);background:#fff;font-weight:850}.m3-status-grid .waiting{color:#b42318;background:#fff5f4}.m3-status-grid .preparing{color:#a15c00;background:#fff9eb}.m3-status-grid .served{color:#067647;background:#ecfdf3}
.m3-split-dialog{width:min(620px,92vw)!important}.m3-split-lines{display:grid;gap:8px;max-height:300px;overflow:auto;margin:14px 0}.m3-split-lines label{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--ds-line);border-radius:10px;background:#fbfdff}.m3-split-lines input{width:18px;height:18px}

/* Café: denser floor plan, less visual fatigue */
@media(min-width:1400px){.cafe-floor-map{grid-template-columns:repeat(4,minmax(105px,1fr))!important;grid-auto-rows:108px!important;gap:9px!important;padding:10px!important}.cafe-floor-table{min-height:104px!important;border-radius:14px!important;padding:8px!important}.cafe-floor-table.round{border-radius:14px!important;aspect-ratio:auto!important}.cafe-table-symbol{transform:scale(.72)!important;margin-bottom:2px!important}.cafe-table-amount{font-size:15px!important;margin-top:3px!important}.cafe-table-top strong{font-size:13px!important}.cafe-table-zone{font-size:8px!important}}

/* Pharmacy clinical workspace */
.pharmacy-clinical-shell{background:#eef4f7!important}.pharmacy-kpis{grid-template-columns:repeat(5,minmax(0,1fr))!important}.pharmacy-kpis .m3-kpi{padding:13px 15px!important}.pharmacy-kpis .m3-kpi small{display:block;margin-top:3px;color:#7a8b9c;font-size:10px}.pharmacy-clinical-grid{grid-template-columns:minmax(400px,.95fr) minmax(440px,1fr) minmax(340px,.72fr)!important}.pharmacy-filterbar{display:flex;gap:7px;padding:0 14px 12px}.pharmacy-filterbar button{border:1px solid #d8e4eb;border-radius:9px;background:#f8fbfd;padding:7px 10px;font-size:11px;font-weight:800;color:#53697d}.pharmacy-filterbar button.active{background:#0f766e;color:#fff;border-color:#0f766e}.pharmacy-item-card{display:grid!important;grid-template-columns:44px 1fr auto!important;gap:10px!important;align-items:center!important}.medicine-thumb{width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,#e8faf7,#d9eef7);display:grid;place-items:center;font-weight:900;color:#0f766e;border:1px solid #cae4e3}.medicine-copy{min-width:0;display:flex;flex-direction:column}.medicine-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.medicine-badges{display:flex;gap:5px;margin-top:5px}.prescription-box{display:grid;grid-template-columns:1fr minmax(180px,.7fr);gap:12px;align-items:center;margin:12px;padding:12px;border:1px solid #f1c36b;background:#fff9e9;border-radius:12px}.prescription-box span{display:block;font-size:9px;letter-spacing:.12em;font-weight:900;color:#9a5b00}.prescription-box strong{font-size:12px}.prescription-box input{height:38px;border:1px solid #dab969;border-radius:9px;padding:0 10px;background:#fff}.controlled-alert{margin:0 12px 12px;padding:10px 12px;border-radius:10px;background:#fff4ed;border:1px solid #f3c4a7;color:#9f3a0b;font-size:11px;font-weight:700}.lot-card{align-items:center!important}.lot-card.valid{border-left:4px solid #12a16f!important}.lot-card.near-expiry{border-left:4px solid #e0a016!important;background:#fffbf0!important}.lot-card.expired{border-left:4px solid #c2413b!important;background:#fff7f6!important;opacity:.72}.pharmacy-sale-audit{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:10px 12px;border-top:1px solid var(--ds-line);background:#f8fbfd}.pharmacy-sale-audit div{padding:7px;border:1px solid #dfe8ef;border-radius:9px;background:#fff}.pharmacy-sale-audit span{display:block;font-size:8px;letter-spacing:.1em;color:#74889a;font-weight:850}.pharmacy-sale-audit strong{font-size:11px}.m3-badge.green{background:#e7f8f0!important;color:#08734e!important}.m3-badge.amber{background:#fff5da!important;color:#975c00!important}.m3-badge.red{background:#fff0ee!important;color:#b42318!important}

@media(max-width:1450px){.pharmacy-kpis{grid-template-columns:repeat(3,1fr)!important}.pharmacy-clinical-grid{grid-template-columns:1fr 1fr 340px!important}}
.warehouse-process{display:flex;gap:7px;padding:0 12px 10px;overflow:auto}.warehouse-process span{white-space:nowrap;padding:7px 11px;border:1px solid #d8e3ec;border-radius:999px;background:#f7fafc;color:#718296;font-size:10px;font-weight:850}.warehouse-process span.active{background:#e9f7f3;border-color:#b8e3d6;color:#087457}
.pos-print-dialog{max-width:560px!important;padding:26px!important;border-radius:18px!important}.pos-print-actions{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:9px!important}.pos-print-btn{min-height:50px!important;font-weight:850!important}.pos-print-btn.preview{background:#f6f8fb!important;color:#24364a!important;border:1px solid #d4deea!important}.pos-print-btn.close{grid-column:1/-1!important}.pos-fiscal-identifiers{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.workflow-hints button{min-height:44px!important;padding:9px 14px!important}.workflow-hints kbd{font-size:11px!important;font-weight:900!important;background:#0a2540!important;color:#fff!important;border-color:#0a2540!important}

/* 2026-08-07 enterprise runtime refinements */
.m3-kitchen-dot.ready,.m3-stat.ready{--status:#2563eb}.m3-status-grid{grid-template-columns:repeat(4,1fr)!important}.m3-status-grid .ready{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.m3-progress i.waiting{background:#d94841!important}.m3-progress i.preparing{background:#e3a008!important}.m3-progress i.ready{background:#2563eb!important}.m3-progress i.served{background:#15966a!important}
@media(min-width:1400px){.m3-cafe-v3 .cafe-floor-map{grid-template-columns:repeat(4,minmax(95px,1fr))!important;grid-auto-rows:100px!important;gap:8px!important;padding:9px!important}.m3-cafe-v3 .cafe-floor-table{min-height:96px!important;border-radius:13px!important;padding:7px 8px!important;border-width:2px!important}.m3-cafe-v3 .cafe-floor-table.round{border-radius:13px!important;aspect-ratio:auto!important}.m3-cafe-v3 .cafe-table-symbol{display:none!important}.m3-cafe-v3 .cafe-table-top strong{font-size:12px!important}.m3-cafe-v3 .cafe-table-zone{font-size:8px!important}.m3-cafe-v3 .cafe-table-amount{font-size:14px!important;margin-top:3px!important}.m3-cafe-v3 .cafe-table-state{font-size:7px!important;top:6px!important;right:6px!important}}
.ds-module-tile,.suite-module-card{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important}.ds-module-tile:hover,.suite-module-card:hover{transform:translateY(-3px)!important;box-shadow:0 14px 34px rgba(15,35,58,.11)!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.warehouse-action-panel{padding:14px}.warehouse-action-panel .m3-stat+.m3-stat{margin-top:8px}.warehouse-stepper{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.warehouse-stepper span{font-size:9px;font-weight:850;letter-spacing:.04em;padding:6px 8px;border-radius:999px;border:1px solid #d9e3ec;background:#f7f9fb;color:#708398}.warehouse-stepper span.done{background:#e9f8f2;border-color:#b9e4d2;color:#08734e}.warehouse-enterprise-shell .m3-doc{width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid var(--ds-line);padding:12px;cursor:pointer}.warehouse-enterprise-shell .m3-doc.active{background:#f0f6ff;box-shadow:inset 3px 0 0 #2563eb}

/* MOB365 Café — enterprise catalog categories */
.m3-cafe-v3 .cafe-catalog-tools{
    position:sticky;
    top:0;
    z-index:8;
    background:#fff;
    border-bottom:1px solid #e3eaf2;
    box-shadow:0 5px 14px rgba(15,35,58,.035);
}
.m3-cafe-v3 .cafe-catalog-tools .cafe-searchbar{
    border-bottom:0!important;
    padding-bottom:7px!important;
}
.m3-cafe-v3 .cafe-category-strip{
    display:flex;
    align-items:center;
    gap:7px;
    padding:0 10px 9px;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
    scrollbar-color:#cbd5e1 transparent;
}
.m3-cafe-v3 .cafe-category-strip::-webkit-scrollbar{height:4px}
.m3-cafe-v3 .cafe-category-strip::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:99px}
.m3-cafe-v3 .cafe-category-chip{
    flex:0 0 auto;
    min-height:36px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:0 11px;
    border:1px solid #dbe5ef;
    border-radius:11px;
    background:#f8fafc;
    color:#334155;
    font:inherit;
    font-size:11px;
    font-weight:800;
    cursor:pointer;
    transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease;
    white-space:nowrap;
}
.m3-cafe-v3 .cafe-category-chip:hover:not(:disabled){
    transform:translateY(-1px);
    border-color:#b7c7d9;
    background:#fff;
    box-shadow:0 5px 12px rgba(15,35,58,.07);
}
.m3-cafe-v3 .cafe-category-chip.active{
    color:#fff;
    background:#0d2948;
    border-color:#0d2948;
    box-shadow:0 6px 15px rgba(13,41,72,.17);
}
.m3-cafe-v3 .cafe-category-chip:disabled{opacity:.58;cursor:default}
.m3-cafe-v3 .cafe-category-icon{
    display:grid;
    place-items:center;
    min-width:18px;
    height:18px;
    font-size:13px;
    line-height:1;
}
.m3-cafe-v3 .cafe-category-chip small{
    display:inline-grid;
    place-items:center;
    min-width:20px;
    height:20px;
    padding:0 5px;
    border-radius:99px;
    background:#e8eef5;
    color:#64748b;
    font-size:9px;
    font-weight:900;
}
.m3-cafe-v3 .cafe-category-chip.active small{
    background:rgba(255,255,255,.15);
    color:#fff;
}
@media(max-width:900px){
    .m3-cafe-v3 .cafe-category-chip{min-height:34px;padding:0 9px;font-size:10px}
}

/* 2026-08-07 V3 — unified suite chrome */
.ds-topbar{height:68px;padding:0 20px;background:linear-gradient(105deg,#0b2948 0%,#123b64 72%,#0b6f74 145%);box-shadow:0 6px 18px rgba(12,39,68,.10)}
.ds-brand-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,#118bb0,#10a29b);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 6px 16px rgba(3,24,43,.18)}
.ds-brand-copy small{color:#67d8cf;font-size:9px;letter-spacing:.16em}.ds-brand-copy strong{font-size:17px;color:#fff}
.ds-page{padding-top:22px}.ds-hero{padding:22px 28px;border-radius:18px;background:linear-gradient(115deg,#0b2948 0%,#12516a 58%,#0c827b 100%)}
.ds-hero h1{font-size:30px}.ds-module-tile{border-radius:16px;overflow:hidden}.ds-module-title{letter-spacing:-.015em}
