@font-face{font-family:Barlow;src:url("../fonts/barlow-regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Barlow;src:url("../fonts/barlow-medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Barlow;src:url("../fonts/barlow-semibold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("../fonts/barlow-condensed-semibold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
:root{
    --ink:#17242b;--ink-soft:#43545d;--petrol:#0d5261;--petrol-deep:#083b46;--amber:#f2ad24;
    --amber-soft:#fff2cf;--paper:#f4f1e9;--surface:#fffefa;--line:#d9dedb;--line-strong:#b7c2c2;
    --success:#287a5a;--danger:#b84235;--warning:#a66a0d;--info:#286a82;
    --shadow-sm:0 3px 12px rgba(18,38,45,.08);--shadow-lg:0 24px 70px rgba(12,36,44,.17);
    --radius:10px;--radius-lg:18px;--sidebar:270px;--sidebar-collapsed:82px;
}
*{box-sizing:border-box}
html{font-size:16px;background:var(--paper)}
body{margin:0;color:var(--ink);font-family:Barlow,sans-serif;background:var(--paper);line-height:1.45}
button,input,select,textarea{font:inherit}
a{color:var(--petrol);text-decoration:none}
a:hover{color:var(--petrol-deep)}
:focus-visible{outline:3px solid rgba(242,173,36,.65)!important;outline-offset:2px}
[hidden],.permission-hidden{display:none!important}
.eyebrow{margin:0 0 .35rem;color:var(--petrol);font-family:"Barlow Condensed",sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.16em}
.muted{color:var(--ink-soft)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:40px;padding:.55rem .95rem;border:1px solid transparent;border-radius:8px;font-weight:600;line-height:1;transition:transform .15s,box-shadow .15s,background .15s}
.button:hover{transform:translateY(-1px)}
.button:disabled{cursor:not-allowed;opacity:.55;transform:none}
.button-primary{color:#fff;background:var(--petrol);box-shadow:0 5px 14px rgba(13,82,97,.18)}
.button-primary:hover{color:#fff;background:var(--petrol-deep)}
.button-secondary{color:var(--ink);background:var(--amber)}
.button-secondary:hover{color:var(--ink);background:#e79e10}
.button-ghost{color:var(--ink);border-color:var(--line-strong);background:transparent}
.button-ghost:hover{background:#fff}
.button-danger{color:#fff;background:var(--danger)}
.button-sm{min-height:32px;padding:.38rem .65rem;font-size:.86rem}
.button-block{width:100%;min-height:48px}
.icon-button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:8px;background:transparent;color:inherit}
.brand-lockup{display:flex;align-items:center;gap:.75rem;color:inherit}
.brand-lockup:hover{color:inherit}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--amber);color:var(--ink);font-family:"Barlow Condensed",sans-serif;font-size:1.1rem;font-weight:600;letter-spacing:.06em;box-shadow:inset 0 -4px 0 rgba(0,0,0,.08)}
.brand-lockup>span:last-child{display:flex;flex-direction:column;line-height:1.05}
.brand-lockup strong{font-size:1.08rem}
.brand-lockup small{margin-top:.22rem;color:var(--ink-soft);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}

/* Authentication */
.auth-body{min-height:100vh;background:
    radial-gradient(circle at 18% 15%,rgba(242,173,36,.2),transparent 24rem),
    linear-gradient(120deg,#082f38 0 46%,var(--paper) 46% 100%)}
.auth-stage{display:grid;grid-template-columns:minmax(360px,48%) 1fr;min-height:100vh}
.auth-brand{position:relative;display:flex;flex-direction:column;padding:clamp(2rem,5vw,5rem);overflow:hidden;color:#f7fbfa}
.auth-brand::before{content:"";position:absolute;right:-11rem;bottom:-9rem;width:34rem;height:34rem;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}
.auth-brand .brand-lockup{color:#fff;position:relative;z-index:1}
.auth-brand .brand-lockup small{color:#b9cdd0}
.auth-brand-copy{position:relative;z-index:1;margin:auto 0;max-width:580px}
.auth-brand-copy .eyebrow{color:var(--amber)}
.auth-brand-copy h1{margin:0 0 1.2rem;font-family:"Barlow Condensed",sans-serif;font-size:clamp(2.6rem,5vw,5.6rem);font-weight:600;line-height:.9;letter-spacing:-.025em}
.auth-brand-copy p:last-child{max-width:510px;color:#c9d8da;font-size:1.1rem}
.charge-track{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:180px}
.charge-track span{height:8px;border-radius:2px;background:var(--amber)}
.charge-track span:nth-child(3){opacity:.55}.charge-track span:nth-child(4){opacity:.22}
.auth-panel{display:grid;place-items:center;padding:2rem}
.auth-card{width:min(100%,440px);padding:clamp(1.5rem,4vw,3.2rem);border:1px solid rgba(13,82,97,.12);border-radius:var(--radius-lg);background:rgba(255,254,250,.94);box-shadow:var(--shadow-lg)}
.auth-card h2{margin:0 0 .4rem;font-family:"Barlow Condensed",sans-serif;font-size:2.35rem;font-weight:600}
.auth-card>p.muted{margin-bottom:1.6rem}
.auth-link{display:block;margin-top:1.2rem;text-align:center;font-weight:600}
.auth-link.subtle{margin-top:.55rem;color:var(--ink-soft);font-size:.85rem}
.field{display:block;margin-bottom:1rem}
.field>span:first-child,.field-label{display:block;margin-bottom:.4rem;color:var(--ink-soft);font-size:.82rem;font-weight:600;letter-spacing:.035em;text-transform:uppercase}
.field input,.field select,.field textarea,.control{width:100%;min-height:44px;padding:.65rem .75rem;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--ink)}
.field textarea{min-height:100px}
.field input:focus,.field select:focus,.field textarea:focus,.control:focus{border-color:var(--petrol);box-shadow:0 0 0 3px rgba(13,82,97,.11)}
.password-field{position:relative;display:flex}
.password-field input{padding-right:5rem}
.password-field button{position:absolute;right:.35rem;top:.34rem;height:34px;border:0;background:transparent;color:var(--petrol);font-size:.83rem;font-weight:600}
.check-field{display:flex;align-items:center;gap:.6rem;margin:1rem 0 1.35rem;font-size:.9rem}
.check-field input{width:18px;height:18px;accent-color:var(--petrol)}

/* Shell */
.app-shell{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100vh;transition:grid-template-columns .2s}
.sidebar{position:sticky;top:0;z-index:30;display:flex;flex-direction:column;height:100vh;background:linear-gradient(180deg,#12323a 0,#092a32 100%);color:#eaf2f2;box-shadow:10px 0 28px rgba(9,42,50,.12)}
.sidebar-head{display:flex;align-items:center;justify-content:space-between;min-height:80px;padding:1rem 1.2rem;border-bottom:1px solid rgba(255,255,255,.09)}
.sidebar .brand-lockup{color:#fff}.sidebar .brand-lockup small{color:#8fb0b6}
.sidebar-collapse{border-color:rgba(255,255,255,.14);color:#fff}
.sidebar-nav{flex:1;padding:.85rem .75rem;overflow-y:auto}
.nav-section{margin:1.1rem .65rem .35rem;color:#73969d;font-family:"Barlow Condensed",sans-serif;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase}
.sidebar-nav a{display:flex;align-items:center;gap:.75rem;min-height:46px;margin:.18rem 0;padding:.42rem .6rem;border-radius:9px;color:#c8d7d9}
.sidebar-nav a>span{display:grid;place-items:center;flex:0 0 34px;height:34px;border:1px solid rgba(255,255,255,.13);border-radius:9px;background:rgba(255,255,255,.018);color:#8fb0b6;transition:border-color .18s,background .18s,color .18s,transform .18s}
.sidebar-nav a>span svg{width:18px;height:18px;overflow:visible}
.sidebar-nav a>b{font-size:.9rem;font-weight:500;white-space:nowrap}
.sidebar-nav a:hover,.sidebar-nav a.active{color:#fff;background:rgba(255,255,255,.085)}
.sidebar-nav a:hover>span{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.06);color:#dce9eb;transform:translateX(1px)}
.sidebar-nav a.active{box-shadow:inset 3px 0 0 var(--amber)}
.sidebar-nav a.active>span{border-color:var(--amber);background:rgba(242,173,36,.08);color:var(--amber);box-shadow:0 0 0 3px rgba(242,173,36,.035)}
.sidebar-foot{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.1rem .45rem;padding:1rem 1.25rem;border-top:1px solid rgba(255,255,255,.09);color:#c8d7d9;font-size:.8rem}
.sidebar-foot small{grid-column:2;color:#73969d}
.system-pulse{width:8px;height:8px;border-radius:50%;background:#51c78d;box-shadow:0 0 0 5px rgba(81,199,141,.12)}
.shell-main{min-width:0}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;min-height:80px;padding:.75rem clamp(1rem,3vw,2.25rem);border-bottom:1px solid var(--line);background:rgba(244,241,233,.93);backdrop-filter:blur(14px)}
.topbar-context{display:flex;flex-direction:column}.topbar-context .eyebrow{margin:0;font-size:.65rem}.topbar-context b{font-family:"Barlow Condensed";font-size:1.25rem}
.topbar-user{display:flex;align-items:center;gap:.65rem;margin-left:auto}.topbar-user>span:nth-child(2){display:flex;flex-direction:column;line-height:1.1}.topbar-user small{margin-top:.25rem;color:var(--ink-soft);font-size:.75rem}
.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--petrol);color:#fff;font-family:"Barlow Condensed";font-weight:600}
.mobile-menu{display:none;margin-right:.7rem}
.sidebar-scrim{display:none}
.content-area{width:min(100%,1680px);margin:0 auto;padding:clamp(1rem,2.5vw,2.4rem)}
.breadcrumb-line{display:flex;gap:.55rem;margin-bottom:1.1rem;color:var(--ink-soft);font-size:.82rem}
.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}
.page-header h1{margin:0;font-family:"Barlow Condensed";font-size:clamp(2rem,4vw,3.15rem);font-weight:600;line-height:1}
.page-header p:last-child{margin:.45rem 0 0;color:var(--ink-soft)}
.page-actions,.action-row{display:flex;flex-wrap:wrap;gap:.55rem}
.page-root{min-height:300px}
.sidebar-collapsed .app-shell{grid-template-columns:var(--sidebar-collapsed) 1fr}
.sidebar-collapsed .sidebar .brand-copy,.sidebar-collapsed .sidebar-nav a>b,.sidebar-collapsed .nav-section,.sidebar-collapsed .sidebar-foot span:not(.system-pulse),.sidebar-collapsed .sidebar-foot small{display:none}
.sidebar-collapsed .sidebar-head{justify-content:center;padding:.8rem}.sidebar-collapsed .sidebar-collapse{display:none}
.sidebar-collapsed .sidebar-nav a{justify-content:center;padding:.45rem}

/* Content components */
.surface{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}
.panel{padding:1rem}
.filter-bar{display:flex;flex-wrap:wrap;align-items:end;gap:.7rem;margin-bottom:1rem;padding:.85rem}
.filter-bar .field{min-width:160px;margin:0}.filter-bar .field.grow{flex:1;min-width:220px}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}
.metric-card{position:relative;min-height:132px;padding:1rem 1.1rem;overflow:hidden}
.metric-card::after{content:"";position:absolute;right:-25px;bottom:-35px;width:95px;height:95px;border:12px solid rgba(13,82,97,.06);border-radius:50%}
.metric-card small{color:var(--ink-soft);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.metric-card strong{display:block;margin:.65rem 0 .2rem;font-family:"Barlow Condensed";font-size:2rem;line-height:1}
.metric-card a{font-size:.8rem;font-weight:600}
.metric-card.accent{border-top:4px solid var(--amber)}.metric-card.petrol{border-top:4px solid var(--petrol)}.metric-card.danger{border-top:4px solid var(--danger)}.metric-card.success{border-top:4px solid var(--success)}
.content-grid{display:grid;grid-template-columns:2fr 1fr;gap:1rem}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.9rem}
.section-head h2,.section-head h3{margin:0;font-family:"Barlow Condensed";font-weight:600}
.table-shell{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}
.data-table{width:100%;border-collapse:separate;border-spacing:0;white-space:nowrap}
.data-table th{position:sticky;top:0;z-index:1;padding:.72rem .8rem;border-bottom:1px solid var(--line-strong);background:#e9eeee;color:var(--ink-soft);font-size:.7rem;font-weight:600;letter-spacing:.07em;text-align:left;text-transform:uppercase}
.data-table td{padding:.72rem .8rem;border-bottom:1px solid #e8ebe8;font-size:.88rem;vertical-align:middle}
.data-table tbody tr:hover{background:#faf6eb}
.data-table tbody tr:last-child td{border-bottom:0}
.row-actions{display:flex;gap:.35rem}
.status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .55rem;border-radius:999px;background:#e8edef;color:var(--ink-soft);font-size:.72rem;font-weight:600;text-transform:uppercase}
.status-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.status-open,.status-active,.status-confirmed,.status-valid,.status-paid{background:#dff2e8;color:var(--success)}
.status-draft,.status-planned,.status-uploaded,.status-pending{background:#fff0c8;color:var(--warning)}
.status-closed,.status-inactive,.status-cancelled,.status-invalid,.status-failed{background:#f7dfdc;color:var(--danger)}
.state-card{display:grid;place-items:center;min-height:230px;padding:2rem;border:1px dashed var(--line-strong);border-radius:var(--radius);background:rgba(255,255,255,.5);color:var(--ink-soft);text-align:center}
.state-card h3{margin:.5rem 0;font-family:"Barlow Condensed";font-size:1.6rem}
.state-error{border-color:#d8a39d;background:#fff7f6;color:var(--danger)}
.trace-id{font-family:ui-monospace,monospace;font-size:.75rem}
.skeleton-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.skeleton-grid span{height:150px;border-radius:var(--radius);background:linear-gradient(90deg,#e5e4de 25%,#f5f4ee 50%,#e5e4de 75%);background-size:200% 100%;animation:skeleton 1.35s infinite}
@keyframes skeleton{to{background-position:-200% 0}}
.form-card{max-width:900px;padding:clamp(1rem,3vw,2rem)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem 1rem}
.form-grid .span-2{grid-column:span 2}
.form-actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}
.field-error{margin:.3rem 0 0;color:var(--danger);font-size:.78rem}
.invalid{border-color:var(--danger)!important}
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden}
.detail-item{min-height:92px;padding:1rem;background:var(--surface)}
.detail-item dt{color:var(--ink-soft);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.detail-item dd{margin:.5rem 0 0;font-size:1rem;font-weight:500;word-break:break-word}
.tabs{display:flex;gap:.3rem;margin-bottom:1rem;border-bottom:1px solid var(--line)}
.tabs a{padding:.65rem .8rem;border-bottom:3px solid transparent;color:var(--ink-soft);font-weight:600}.tabs a.active{border-color:var(--amber);color:var(--ink)}
.pagination-bar{display:flex;align-items:center;justify-content:space-between;padding:.8rem;color:var(--ink-soft);font-size:.82rem}
.toast-region{position:fixed;z-index:100;right:1rem;bottom:1rem;display:grid;gap:.55rem;width:min(390px,calc(100vw - 2rem))}
.app-toast{padding:.85rem 1rem;border-left:4px solid var(--petrol);border-radius:8px;background:#fff;color:var(--ink);box-shadow:var(--shadow-lg);animation:toast-in .18s ease-out}.app-toast.error{border-color:var(--danger)}.app-toast.success{border-color:var(--success)}
@keyframes toast-in{from{opacity:0;transform:translateY(8px)}}
.app-dialog{width:min(92vw,520px);padding:0;border:0;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.app-dialog::backdrop{background:rgba(8,38,45,.62)}
.app-dialog form{padding:1.5rem}.app-dialog h2{font-family:"Barlow Condensed";font-size:1.8rem}.dialog-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.2rem}
.unsaved-banner{position:sticky;top:88px;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.8rem;padding:.65rem .85rem;border:1px solid #ecc66c;border-radius:8px;background:var(--amber-soft)}

/* Matrix */
.matrix-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:.65rem;margin-bottom:.75rem;padding:.75rem}
.matrix-toolbar .field{margin:0;min-width:170px}.matrix-status{margin-left:auto;color:var(--ink-soft);font-size:.82rem}
.matrix-wrap{position:relative;max-height:calc(100vh - 300px);overflow:auto;border:1px solid var(--line-strong);border-radius:var(--radius);background:#fff}
.matrix-table{border-collapse:separate;border-spacing:0;min-width:100%;font-size:.8rem}
.matrix-table th,.matrix-table td{height:42px;padding:.35rem .5rem;border-right:1px solid #dde3e1;border-bottom:1px solid #e3e7e4;white-space:nowrap}
.matrix-table thead th{position:sticky;top:0;z-index:5;background:#dfe8e8;color:var(--ink);font-size:.69rem;letter-spacing:.05em;text-transform:uppercase}
.matrix-table tfoot td{position:sticky;bottom:0;z-index:5;background:#edf1ed;font-weight:600}
.matrix-table .sticky-col{position:sticky;z-index:4;background:#fff}.matrix-table thead .sticky-col{z-index:8;background:#dfe8e8}
.matrix-table .col-code{left:0;min-width:105px}.matrix-table .col-description{left:105px;min-width:230px;max-width:300px;overflow:hidden;text-overflow:ellipsis}
.matrix-table input{width:72px;height:30px;padding:.2rem .35rem;border:1px solid transparent;border-radius:4px;background:transparent;text-align:right}
.matrix-table input:hover{border-color:var(--line-strong)}.matrix-table input:focus{border-color:var(--petrol);background:#fff;box-shadow:0 0 0 2px rgba(13,82,97,.14)}
.matrix-table input.changed{border-color:var(--amber);background:var(--amber-soft)}.matrix-table input.cell-error{border-color:var(--danger);background:#fff0ee}
.matrix-table tr.active-row td{background-color:#fffaf0}.matrix-table .readonly{color:var(--ink-soft);background:#f0f2ef}
.matrix-mobile{display:none}

@media(max-width:1100px){
    .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
    .app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;transform:translateX(-105%);width:min(86vw,300px);transition:transform .2s}.sidebar-open .sidebar{transform:none}.sidebar-open .sidebar-scrim{position:fixed;z-index:25;inset:0;display:block;border:0;background:rgba(4,25,30,.58)}
    .mobile-menu{display:grid}.sidebar-collapse{display:none}.topbar{min-height:70px}.topbar-user>span:nth-child(2){display:none}.content-area{padding:1rem}.sidebar-collapsed .app-shell{grid-template-columns:1fr}
    .auth-body{background:var(--paper)}.auth-stage{grid-template-columns:1fr}.auth-brand{min-height:260px;padding:1.5rem;background:#082f38}.auth-brand-copy{margin:2rem 0}.auth-brand-copy h1{font-size:2.7rem}.auth-brand-copy p:last-child,.charge-track{display:none}.auth-panel{padding:1rem}.auth-card{margin-top:-35px;position:relative}
}
@media(max-width:640px){
    .page-header{align-items:flex-start;flex-direction:column}.page-actions{width:100%}.page-actions .button{flex:1}.metric-grid,.form-grid,.detail-grid,.skeleton-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.filter-bar{align-items:stretch;flex-direction:column}.filter-bar .field{width:100%}
    .topbar-context .eyebrow{display:none}.topbar-context b{font-size:1rem}.matrix-wrap{display:none}.matrix-mobile{display:block}.content-area{padding:.8rem}.auth-panel{padding:.75rem}
}
@media print{
    .sidebar,.topbar,.breadcrumb-line,.page-actions,.filter-bar,.button,.toast-region{display:none!important}.app-shell{display:block}.content-area{padding:0}.surface,.table-shell{box-shadow:none}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Delivery-first workflow */
.view-switch{display:inline-flex;gap:.25rem;padding:.3rem;margin-bottom:1rem;border-radius:999px}.view-switch a{padding:.55rem .9rem;border-radius:999px;color:var(--ink-soft);font-weight:600}.view-switch a.active{background:var(--petrol);color:#fff}
.delivery-group{margin-bottom:1.4rem}.delivery-group .section-head{border-left:4px solid var(--line-strong);padding-left:.75rem}.delivery-group.danger .section-head{border-color:var(--danger)}.delivery-group.today .section-head{border-color:var(--amber)}
.count-chip{display:inline-flex;min-width:2rem;justify-content:center;padding:.2rem .55rem;border-radius:999px;background:var(--surface-muted);font-weight:700}
.calendar-head{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;margin-bottom:.75rem}.calendar-head h2{text-transform:capitalize;margin:0}
.delivery-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden}.calendar-weekday{padding:.65rem;text-align:center;background:var(--surface-muted);border-bottom:1px solid var(--line)}
.calendar-day{min-height:132px;padding:.55rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-day.empty{background:var(--surface-muted)}.calendar-day.is-today{box-shadow:inset 0 0 0 2px var(--amber)}.calendar-day>b{display:block;margin-bottom:.35rem}
.calendar-event{display:block;overflow:hidden;margin:.25rem 0;padding:.28rem .38rem;border-radius:.35rem;background:#e8f2f4;color:var(--petrol);font-size:.75rem;white-space:nowrap;text-overflow:ellipsis}.calendar-event.status-completed{background:#e7f5ec;color:#19633b}.calendar-event.status-cancelled{background:#edf0f1;color:#68757b;text-decoration:line-through}.calendar-event.status-confirmed{background:#fff0d3;color:#7a4d00}
.wizard-shell{max-width:1100px}.wizard-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:0;margin:0 0 1rem;list-style:none}.wizard-steps li{display:flex;align-items:center;gap:.55rem;padding:.75rem;border-bottom:3px solid var(--line-strong);color:var(--ink-soft);font-weight:600}.wizard-steps li.active{border-color:var(--amber);color:var(--ink)}
.wizard-actions{display:flex;align-items:center;gap:.5rem;margin-top:1.5rem}.wizard-actions .grow{flex:1}.inline-control{display:flex;gap:.5rem}.inline-control select{flex:1}.program-suggestion{padding:.8rem 1rem;border-left:4px solid var(--amber);background:#fff8e8;color:var(--ink-soft)}
.product-picker-toolbar{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.product-picker-toolbar input{flex:1}.product-picker{display:grid;gap:.45rem;max-height:520px;overflow:auto}.product-pick-row{display:grid;grid-template-columns:1fr 150px;align-items:center;gap:1rem;padding:.7rem;border:1px solid var(--line);border-radius:var(--radius)}.product-pick-row.selected{border-color:var(--petrol);background:#f1f8f9}.product-pick-row div{display:grid}.product-pick-row small{color:var(--ink-soft)}.field.compact{margin:0}.review-items{margin-top:1rem;padding:.75rem}.review-items>div{display:flex;justify-content:space-between;padding:.5rem;border-bottom:1px solid var(--line)}
.delivery-progress{display:grid;grid-template-columns:repeat(3,1fr);padding:0;margin:0 0 1rem;list-style:none}.delivery-progress li{position:relative;display:flex;align-items:center;gap:.5rem;color:var(--ink-soft)}.delivery-progress li:not(:last-child)::after{content:"";height:2px;flex:1;background:var(--line-strong)}.delivery-progress b{display:grid;width:2rem;height:2rem;place-items:center;border:2px solid var(--line-strong);border-radius:50%}.delivery-progress li.active{color:var(--petrol);font-weight:700}.delivery-progress li.active b{border-color:var(--petrol);background:var(--petrol);color:#fff}
.digest-dialog{width:min(94vw,760px)}.digest-content{padding:1.5rem}.digest-list{display:grid;gap:1rem;max-height:430px;overflow:auto;margin:1rem 0}.digest-section{display:grid;gap:.45rem}.digest-section h3{margin:0;font-family:"Barlow Condensed";font-size:1.3rem}.digest-customer{display:grid;gap:.35rem}.digest-customer h4{margin:.25rem 0 0;color:var(--ink-soft);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.digest-list a{display:grid;padding:.75rem;border-left:4px solid var(--amber);background:var(--surface-muted);color:var(--ink)}.digest-list a.overdue{border-color:var(--danger);background:#fff3f1}.digest-list span{color:var(--ink-soft);font-size:.88rem}.digest-empty{margin:0;padding:.55rem .75rem;background:var(--surface-muted)}
.today-panel{margin-bottom:1rem}.delivery-strip{padding:.75rem;margin-bottom:.75rem}.delivery-strip-cards{display:flex;gap:.6rem;overflow:auto;padding-bottom:.25rem}.delivery-strip-card{display:grid;flex:0 0 300px;gap:.35rem;padding:.7rem;border:1px solid var(--line);border-top:4px solid var(--petrol);border-radius:var(--radius)}.delivery-strip-card.status-completed{border-top-color:var(--success)}.delivery-strip-card.status-cancelled{border-top-color:var(--ink-soft)}.delivery-strip-card>span{color:var(--ink-soft);font-size:.82rem}.delivery-strip-card .action-row{flex-wrap:wrap}
.import-create-grid{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.5fr);align-items:start;gap:1rem}.import-template{position:sticky;top:1rem;padding:1.25rem;border-top:5px solid var(--amber)}.import-template h2{margin:.2rem 0 .55rem;font-family:"Barlow Condensed";font-size:1.8rem}.import-template .button{width:100%;justify-content:center;margin:.9rem 0}.template-columns{display:grid;gap:.35rem;margin-top:1rem}.template-columns code{display:block;overflow-wrap:anywhere;padding:.75rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);color:var(--petrol)}.callout-note{padding:.7rem;border-left:4px solid var(--amber);background:#fff8e8;color:var(--ink-soft)}.import-template ul{padding-left:1.2rem;margin-bottom:0}
.import-example-library{margin-bottom:1rem;padding:1.25rem;border-top:5px solid var(--amber)}.import-example-library .section-head{align-items:flex-start}.import-example-library h2{margin:.15rem 0 .35rem;font-family:"Barlow Condensed";font-size:2rem}.import-example-library p{margin:.2rem 0}.import-example-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem}.import-example-card{display:grid;grid-template-rows:auto auto auto 1fr auto;gap:.55rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,#fff 0,#f5f5ef 100%)}.import-example-card h3{margin:0;font-family:"Barlow Condensed";font-size:1.45rem}.import-example-card .template-columns{margin:0}.import-example-card .template-columns code{font-size:.72rem}.import-example-card .button{align-self:end;justify-content:center;margin-top:.35rem}.import-example-kind{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.import-example-kind span{padding:.2rem .45rem;border-radius:4px;background:var(--petrol);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.08em}.import-example-kind small{color:var(--ink-soft)}
.recurrence-box{padding:1rem;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-muted)}.recurrence-toggle{display:flex;align-items:center;gap:.65rem;font-weight:700}.recurrence-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}.recurrence-summary{grid-column:1/-1;margin:0;padding:.7rem;border-left:4px solid var(--amber);background:#fff8e8;color:var(--ink-soft)}.recurrence-preview{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0}.recurrence-date{padding:.35rem .55rem;border:1px solid var(--line);border-radius:999px;background:var(--surface-muted);font-size:.82rem}.customer-portfolio-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem;border-top:5px solid var(--petrol)}.customer-portfolio-hero h2{margin:.1rem 0;font-family:"Barlow Condensed";font-size:2.2rem}.customer-address{display:grid;max-width:420px;text-align:right}.customer-address span{color:var(--ink-soft)}.portfolio-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1rem 0}.portfolio-metric{display:grid;gap:.2rem;padding:1rem;border-left:4px solid var(--amber)}.portfolio-metric span,.portfolio-metric small{color:var(--ink-soft)}.portfolio-metric b{font-family:"Barlow Condensed";font-size:1.8rem}.portfolio-tabs{display:flex;gap:.35rem;overflow:auto;padding:.35rem;margin-bottom:1rem;border-bottom:1px solid var(--line)}.portfolio-tab{padding:.65rem .85rem;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--ink-soft);font:inherit;font-weight:700;white-space:nowrap;cursor:pointer}.portfolio-tab.active{border-color:var(--amber);color:var(--ink)}.portfolio-panel{display:grid;gap:1rem}.portfolio-panel>.panel{margin:0}
@media(max-width:640px){
    .delivery-calendar{display:block}.calendar-weekday,.calendar-day.empty{display:none}.calendar-day{min-height:auto;border-right:0}.calendar-day:not(:has(.calendar-event)){display:none}.wizard-steps li span{display:none}.inline-control,.product-picker-toolbar{align-items:stretch;flex-direction:column}.product-pick-row{grid-template-columns:1fr}.delivery-progress li span{font-size:.8rem}.digest-content{padding:1rem}.import-create-grid{grid-template-columns:1fr}.import-template{position:static}.recurrence-settings,.portfolio-metrics{grid-template-columns:1fr}.customer-portfolio-hero{display:grid}.customer-address{text-align:left}
}
