:root{--bg:#f7f8f5;--surface:#fff;--surface-2:#eef2f0;--text:#1c2522;--muted:#65726d;--line:#dbe2de;--accent:#116a5b;--accent-strong:#064b41;--blue:#2463ad;--green:#247a4d;--yellow:#93690f;--red:#b23a32;--shadow:0 16px 42px #1c252214}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.app-frame{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;height:100vh;padding:20px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;margin-bottom:32px;display:flex}.brand-icon{width:42px;height:42px;color:var(--accent);background:#e4f3ee;border-radius:8px;place-items:center;display:grid}.brand strong,.brand small{display:block}.brand small{color:var(--muted);margin-top:2px}.nav-list{gap:8px;display:grid}.nav-list a,.icon-text-button,.primary-action,.secondary-action,.icon-button{border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:9px;min-height:40px;transition:background .14s,border-color .14s,color .14s;display:inline-flex}.nav-list a{color:var(--muted);justify-content:flex-start;padding:0 12px}.nav-list a:hover,.icon-text-button:hover,.secondary-action:hover,.icon-button:hover{background:var(--surface-2);color:var(--text)}.sidebar-footer{gap:10px;min-width:0;margin-top:auto;display:grid}.session-pill{min-width:0;color:var(--muted);border:1px solid var(--line);border-radius:8px;align-items:center;gap:9px;padding:10px;display:flex}.session-pill span{min-width:0}.session-pill strong,.session-pill small{text-overflow:ellipsis;display:block;overflow:hidden}.session-pill strong{color:var(--text);white-space:nowrap;font-size:.9rem}.session-pill small{margin-top:1px}.sidebar-action{width:100%}.main-content{min-width:0;padding:32px}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.page-title{letter-spacing:0;margin:0;font-size:clamp(1.7rem,2.4vw,2.35rem);line-height:1.08}.page-kicker{color:var(--muted);max-width:760px;margin:7px 0 0}.project-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.project-meta span,.project-meta a{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:5px;min-height:30px;padding:0 10px;display:inline-flex}.project-meta a{color:var(--blue)}.mock-banner{color:#684a0b;background:#fff3cf;border:1px solid #ead48f;border-radius:7px;align-items:center;gap:8px;padding:9px 11px;font-size:.91rem;display:inline-flex}.notice-banner{border:1px solid var(--line);border-radius:7px;margin:0 0 16px;padding:10px 12px}.notice-banner.success{color:var(--green);background:#e5f4ea;border-color:#c6e5d0}.notice-banner.warning{color:#684a0b;background:#fff3cf;border-color:#ead48f}.notice-banner.danger{color:var(--red);background:#fbe9e7;border-color:#efc6c1}.metric-grid{grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin-bottom:16px;display:grid}.metric-tile{background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:auto 1fr;align-items:start;gap:7px 9px;min-height:76px;padding:11px 12px;display:grid}.metric-tile svg{color:var(--accent)}.metric-tile span{color:var(--muted)}.metric-tile strong{grid-column:1/-1;font-size:1.55rem;line-height:1}.metric-tile.urgent svg,.metric-tile.urgent strong{color:var(--red)}.toolbar{align-items:center;gap:10px;margin-bottom:14px;display:flex}.search-box,.select-box{background:var(--surface);border:1px solid var(--line);border-radius:7px;align-items:center;gap:10px;min-width:min(460px,100%);height:42px;padding:0 12px;display:flex}.search-box input,.select-box select{width:100%;color:var(--text);background:0 0;border:0;outline:0}.select-box{min-width:210px}.select-box select{cursor:pointer}.report-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.report-toolbar .toolbar{margin-bottom:0}.filter-count{color:var(--muted);white-space:nowrap}.icon-text-button,.secondary-action{border-color:var(--line);background:var(--surface);color:var(--text);cursor:pointer;padding:0 13px}.icon-text-button.active{border-color:var(--accent);color:var(--accent-strong);background:#e6f4f0}.primary-action{background:var(--accent);color:#fff;padding:0 14px}.primary-action:hover{background:var(--accent-strong)}.secondary-action.disabled{color:var(--muted);background:var(--surface-2);cursor:not-allowed}.table-wrap{border:1px solid var(--line);background:var(--surface);width:100%;box-shadow:var(--shadow);border-radius:8px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:980px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;white-space:nowrap;padding:13px 14px}th{color:var(--muted);text-transform:uppercase;letter-spacing:0;background:#fbfcfb;font-size:.78rem}.sort-header{color:inherit;white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.sort-header svg{color:#94a09b}.sort-header:hover,.sort-header.active{color:var(--accent-strong)}.sort-header.active svg{color:var(--accent)}tr:last-child td{border-bottom:0}.table-primary-link,.order-code{font-weight:700}.external-order-link{color:var(--blue);align-items:center;gap:5px;display:inline-flex}.external-order-link:hover{color:var(--accent-strong)}.project-subtitle{color:var(--muted);margin-top:3px;font-size:.86rem;display:block}.problem-count{color:var(--red);align-items:center;gap:6px;font-weight:700;display:inline-flex}.icon-button{width:34px;height:34px;color:var(--muted)}.client-project-shell{margin-bottom:22px}.group-controls{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.group-controls strong{color:var(--text)}.group-control-actions{align-items:center;gap:8px;display:flex}.group-control-actions .icon-text-button:disabled{color:var(--muted);background:var(--surface-2);cursor:not-allowed;opacity:.65}.client-project-groups{gap:8px;display:grid}.client-group{border:1px solid var(--line);background:var(--surface);border-radius:8px;overflow:hidden;box-shadow:0 8px 24px #1c25220d}.client-group-summary{background:var(--surface);width:100%;color:var(--text);cursor:pointer;text-align:left;border:0;grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:14px;min-height:52px;padding:10px 12px;display:grid}.client-group-summary:hover{background:#fbfcfb}.client-summary-main,.client-summary-brief,.project-row-stats{align-items:center;display:flex}.client-summary-main{gap:8px;min-width:0}.client-toggle-icon{border:1px solid var(--line);width:26px;height:26px;color:var(--muted);border-radius:7px;flex:none;place-items:center;display:grid}.client-name-line{gap:2px;min-width:0;display:grid}.client-name-line strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.client-name-line span{color:var(--muted);font-size:.83rem}.client-summary-brief{color:var(--muted);white-space:nowrap;flex-wrap:wrap;justify-content:flex-end;gap:6px 12px;font-size:.84rem}.client-summary-brief span{align-items:center;gap:4px;display:inline-flex}.client-summary-brief strong{color:var(--text)}.client-summary-brief .urgent{color:var(--red);font-weight:700}.group-stat,.project-stat{color:var(--muted);font-size:.8rem}.group-stat{border:1px solid var(--line);white-space:nowrap;background:#fbfcfb;border-radius:999px;align-items:center;gap:5px;min-height:32px;padding:0 10px;display:inline-flex}.group-stat strong,.project-stat strong{color:var(--text)}.group-stat.urgent,.project-stat.urgent,.group-stat.urgent strong,.project-stat.urgent strong{color:var(--red)}.client-projects{border-top:1px solid var(--line);display:grid}.project-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(220px,1.55fr) minmax(108px,.6fr) minmax(76px,.36fr) minmax(230px,1.25fr) minmax(76px,.36fr) minmax(110px,.55fr) 34px;align-items:center;gap:12px;min-height:64px;padding:10px 12px;display:grid}.project-row:nth-child(odd){background:#fcfdfc}.project-row:last-child{border-bottom:0}.project-row-main{min-width:0}.project-row-main .table-primary-link{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:inline-block;overflow:hidden}.project-health{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;width:max-content;min-height:24px;padding:0 8px;font-size:.78rem;font-weight:700;display:inline-flex}.health-problem{color:var(--red);background:#fbe9e7}.health-delivered{color:var(--green);background:#e5f4ea}.health-motion{color:var(--blue);background:#e7f0fb}.health-pending{color:#69553b;background:#f2efe8}.health-hold{color:#7b4b22;background:#f5ede4}.health-empty{color:var(--muted);background:#edf0ef}.project-row-stats{flex-wrap:wrap;gap:12px}.project-shipment-total,.project-problem-total{color:var(--muted);gap:2px;font-size:.78rem;display:grid}.project-shipment-total strong,.project-problem-total strong{color:var(--text);font-size:1rem;line-height:1}.project-problem-total.urgent,.project-problem-total.urgent strong{color:var(--red)}.project-stat{gap:1px;min-width:54px;display:grid}.project-stat strong{font-size:1rem;line-height:1}.project-progress{gap:7px;min-width:0;display:grid}.project-progress-label{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:.82rem;display:flex}.project-progress-label strong{color:var(--text)}.project-progress-track{background:#edf0ef;border-radius:999px;height:7px;overflow:hidden}.project-progress-track span{border-radius:inherit;background:var(--green);height:100%;display:block}.status-mix{gap:6px;min-width:0;display:grid}.status-mix-track{background:#edf0ef;border-radius:999px;height:7px;display:flex;overflow:hidden}.status-mix-track span{min-width:0;height:100%}.mix-delivered{background:var(--green)}.mix-motion{background:var(--blue)}.mix-pending{background:#b9aea0}.status-mix-text{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.project-last-update{color:var(--muted);gap:2px;font-size:.82rem;display:grid}.project-last-update strong{color:var(--text);font-size:.86rem}.project-open-link{justify-self:end}.status-badge,.sync-status{border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font-size:.83rem;font-weight:700;display:inline-flex}.status-delivered,.sync-success{color:var(--green);background:#e5f4ea}.status-in_transit,.status-out_for_delivery,.status-shipped{color:var(--blue);background:#e7f0fb}.status-tracking_added,.status-pending,.status-on_hold{color:#69553b;background:#f2efe8}.status-delayed,.status-problem,.status-canceled,.sync-failed{color:var(--red);background:#fbe9e7}.status-unknown,.sync-running{color:var(--muted);background:#edf0ef}.problem-reason{color:var(--red);white-space:normal;max-width:320px;margin-top:4px;font-size:.83rem;display:block}.tracking-list{gap:4px;display:grid}.tracking-list a{color:var(--blue);align-items:center;gap:5px;display:inline-flex}.muted,.empty-state{color:var(--muted)}.empty-state{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:28px}.section-title{margin:28px 0 12px;font-size:1.08rem}.pagination{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.pagination div{gap:8px;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.auth-shell{background:var(--surface);border:1px solid var(--line);max-width:420px;box-shadow:var(--shadow);border-radius:8px;margin:11vh auto;padding:28px}.auth-form{gap:12px;margin-top:20px;display:grid}.auth-form label{color:var(--muted);gap:7px;display:grid}.auth-form input{border:1px solid var(--line);border-radius:7px;min-height:42px;padding:0 12px}.inline-role-form{align-items:center;gap:8px;display:flex}.inline-role-form select{border:1px solid var(--line);min-width:130px;min-height:38px;color:var(--text);background:#fff;border-radius:7px;padding:0 10px}@media (max-width:980px){.app-frame{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;position:static}.nav-list{grid-template-columns:repeat(4,minmax(0,1fr))}.sidebar-footer{margin-top:18px}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.client-group-summary{grid-template-columns:1fr}.client-summary-stats{justify-content:flex-start}.project-row{grid-template-columns:minmax(0,1fr) auto;align-items:start}.project-health,.project-shipment-total,.project-row-stats,.project-progress,.status-mix,.project-problem-total,.project-last-update{grid-column:1/-1}.project-open-link{grid-area:1/2}}@media (max-width:660px){.main-content{padding:20px}.page-header,.toolbar,.report-toolbar,.group-controls,.group-control-actions{display:grid}.metric-grid,.nav-list{grid-template-columns:1fr}.select-box{min-width:100%}.pagination,.pagination div{display:grid}.client-summary-main{flex-wrap:wrap;align-items:flex-start}.client-summary-stats,.project-row-stats{gap:7px}.group-stat{min-height:30px}.project-row{padding:12px}}
