:root{--m-primary: #d9731a;--m-primary-light: #f4a35a;--m-primary-dark: #1f2d3d;--m-primary-tint: #fdf1e6;--m-accent: #14b8a6;--m-accent-light: #5eead4;--m-accent-dark: #0f766e;--m-success: #10b981;--m-warn: #f59e0b;--m-error: #ef4444;--m-gray-50: #f9fafb;--m-gray-100: #f3f4f6;--m-gray-200: #e5e7eb;--m-gray-300: #d1d5db;--m-gray-400: #9ca3af;--m-gray-500: #6b7280;--m-gray-600: #4b5563;--m-gray-700: #374151;--m-gray-800: #1f2937;--m-gray-900: #111827;--m-bg: var(--m-gray-50);--m-surface: #ffffff;--m-surface-muted: var(--m-gray-100);--m-border: var(--m-gray-200);--m-border-strong: var(--m-gray-300);--m-text: var(--m-gray-900);--m-text-muted: var(--m-gray-500);--m-text-subtle: var(--m-gray-600);--m-text-on-primary: #ffffff;--m-gradient: linear-gradient(135deg, #0d1c3d 0%, #7C3AED 100%);--m-gradient-primary: #d9731a;--m-gradient-accent: linear-gradient(135deg, #14b8a6 0%, #5eead4 100%);--m-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--m-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--m-text-xs: .75rem;--m-text-sm: .875rem;--m-text-base: 1rem;--m-text-lg: 1.125rem;--m-text-xl: 1.25rem;--m-text-2xl: 1.5rem;--m-text-3xl: 1.875rem;--m-weight-normal: 400;--m-weight-medium: 500;--m-weight-semibold: 600;--m-weight-bold: 700;--m-space-xs: .25rem;--m-space-sm: .5rem;--m-space-md: 1rem;--m-space-lg: 1.5rem;--m-space-xl: 2rem;--m-space-2xl: 3rem;--m-radius-sm: .25rem;--m-radius-md: .5rem;--m-radius-lg: .75rem;--m-radius-xl: 1rem;--m-radius-pill: 9999px;--m-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--m-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--m-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--m-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--m-shadow-primary: 0 4px 6px -1px rgba(30, 58, 138, .3);--m-shadow-accent: 0 4px 6px -1px rgba(20, 184, 166, .3);--m-trans: all .3s ease;--m-trans-fast: all .15s ease;--m-nav-h: 60px;--m-max-w: 1280px;--m-heading: var(--m-primary-dark);--m-action: var(--m-primary);--m-action-border: var(--m-primary);--m-bg-subtle: var(--m-surface-muted);--m-danger: var(--m-error);--m-elevated: #ffffff;--m-tint-info-bg: #dbeafe;--m-tint-info-text: #1e40af;--m-tint-success-bg: #d1fae5;--m-tint-success-text: #065f46;--m-tint-warn-bg: #fef3c7;--m-tint-warn-text: #92400e;--m-tint-error-bg: #fee2e2;--m-tint-error-text: #991b1b;--m-warn-ink: #b45309;--m-badge-primary-text: var(--m-primary);--m-badge-accent-text: var(--m-accent-dark);--m-msg-bot-bg: #ebebf8;--m-msg-bot-text: #3c3489;--m-msg-human-bg: #e1f5ee;--m-msg-human-text: #085041;--m-lead-bg: linear-gradient(135deg, #f0f9ff, #e0f2fe);--m-lead-border: #bae6fd;--m-lead-title: #075985;--m-lead-text: #0c4a6e}:root[data-theme=dark]{color-scheme:dark;--m-heading: #e8edf5;--m-action: #f4a35a;--m-action-border: #a85a16;--m-bg: #0b1220;--m-surface: #131c2e;--m-surface-muted: #1b2739;--m-border: #263349;--m-border-strong: #34445e;--m-text: #e8edf5;--m-text-muted: #8fa0b8;--m-text-subtle: #b3c0d1;--m-elevated: #1d2a3f;--m-tint-info-bg: rgba(59, 130, 246, .16);--m-tint-info-text: #93c5fd;--m-tint-success-bg: rgba(16, 185, 129, .15);--m-tint-success-text: #6ee7b7;--m-tint-warn-bg: rgba(245, 158, 11, .15);--m-tint-warn-text: #fcd34d;--m-tint-error-bg: rgba(239, 68, 68, .16);--m-tint-error-text: #fca5a5;--m-warn-ink: #fbbf24;--m-badge-primary-text: #f4a35a;--m-badge-accent-text: var(--m-accent-light);--m-msg-bot-bg: rgba(99, 102, 241, .18);--m-msg-bot-text: #c7d2fe;--m-msg-human-bg: rgba(16, 185, 129, .14);--m-msg-human-text: #a7f3d0;--m-lead-bg: linear-gradient(135deg, rgba(14, 165, 233, .14), rgba(14, 165, 233, .06));--m-lead-border: rgba(14, 165, 233, .35);--m-lead-title: #7dd3fc;--m-lead-text: #bae6fd;--m-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .4);--m-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .45);--m-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5)}*,*:before,*:after{box-sizing:border-box}html,body,#app{margin:0;padding:0;height:100%}body{font-family:var(--m-font-sans);font-size:var(--m-text-base);line-height:1.5;color:var(--m-text);background:var(--m-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}button{font-family:inherit;cursor:pointer}input,textarea,select,button{font-family:inherit;font-size:inherit;color:inherit}input,textarea{background:var(--m-surface)}a{color:var(--m-action);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0;color:var(--m-heading);font-weight:var(--m-weight-semibold)}h1{font-size:var(--m-text-3xl);font-weight:var(--m-weight-bold)}h2{font-size:var(--m-text-2xl)}h3{font-size:var(--m-text-xl)}p{margin:0}ul{margin:0;padding:0;list-style:none}code{font-family:var(--m-font-mono);font-size:.9em;background:var(--m-surface-muted);padding:2px 6px;border-radius:var(--m-radius-sm)}@supports (-webkit-touch-callout: none){input,textarea,select{font-size:16px}}.safe-bottom{padding-bottom:max(var(--m-space-md),env(safe-area-inset-bottom))}:root{--m-max-w: 1280px}.app-shell{min-height:100%;display:flex;flex-direction:column}.container{flex:1;width:100%;max-width:var(--m-max-w);margin:0 auto;padding:var(--m-space-lg) var(--m-space-md)}.page{display:flex;flex-direction:column;gap:var(--m-space-md)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--m-space-md);flex-wrap:wrap}.page-head h1{font-size:var(--m-text-2xl)}.muted{color:var(--m-text-muted)}.small{font-size:var(--m-text-sm)}.mono{font-family:var(--m-font-mono);font-size:.85em}.prose{white-space:pre-wrap;line-height:1.6;max-width:72ch}.grid-2{display:grid;grid-template-columns:1fr;gap:var(--m-space-md)}@media (min-width: 900px){.grid-2{grid-template-columns:3fr 2fr}}.nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--m-space-md);height:var(--m-nav-h);padding:0 var(--m-space-md);background:var(--m-primary-dark);color:#fff;padding-top:env(safe-area-inset-top)}.nav-brand{display:flex;align-items:center;gap:var(--m-space-sm);color:#fff;text-decoration:none}.nav-brand:hover{text-decoration:none}.nav-logo{display:block;height:22px;width:auto}.nav-byline{color:var(--m-cloud, #aeb9d6);font-size:var(--m-text-sm)}.nav-actions{display:none;margin-left:auto;gap:var(--m-space-xs)}.nav-link{color:#cbd5e1;padding:6px 10px;border-radius:var(--m-radius-md);font-size:var(--m-text-sm)}.nav-link:hover{color:#fff;text-decoration:none;background:#ffffff14}.nav-link.active{color:#fff;background:#ffffff24}.nav-burger{margin-left:auto;background:none;border:0;color:#fff;padding:6px;border-radius:var(--m-radius-md)}@media (min-width: 900px){.nav-actions{display:flex}.nav-burger{display:none}}.nav-drawer-scrim{position:fixed;inset:0;background:#0006;z-index:30}.nav-drawer{position:fixed;top:0;right:0;bottom:0;width:min(80vw,320px);background:var(--m-surface);z-index:31;display:flex;flex-direction:column;padding:calc(var(--m-nav-h) + env(safe-area-inset-top)) var(--m-space-md) var(--m-space-md);gap:4px;box-shadow:var(--m-shadow-lg)}.nav-drawer-link{padding:12px;border-radius:var(--m-radius-md);color:var(--m-text);font-weight:var(--m-weight-medium)}.nav-drawer-link.active{background:var(--m-primary-tint);color:var(--m-primary)}.attribution{font-size:var(--m-text-xs);color:var(--m-text-muted);padding:var(--m-space-md);text-align:center;border-top:1px solid var(--m-border)}.card{background:var(--m-elevated);border:1px solid var(--m-border);border-radius:var(--m-radius-lg);padding:var(--m-space-md);display:flex;flex-direction:column;gap:var(--m-space-sm)}.card h3{font-size:var(--m-text-lg);display:flex;align-items:baseline;gap:var(--m-space-sm);flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--m-radius-pill);font-size:var(--m-text-xs);font-weight:var(--m-weight-semibold);white-space:nowrap;background:var(--m-surface-muted);color:var(--m-text-subtle)}.badge-primary{background:var(--m-primary-tint);color:var(--m-badge-primary-text)}.badge-accent{background:var(--m-tint-info-bg);color:var(--m-tint-info-text)}.badge-success{background:var(--m-tint-success-bg);color:var(--m-tint-success-text)}.badge-warn{background:var(--m-tint-warn-bg);color:var(--m-tint-warn-text)}.badge-error{background:var(--m-tint-error-bg);color:var(--m-tint-error-text)}.banner{padding:10px 12px;border-radius:var(--m-radius-md);font-size:var(--m-text-sm)}.banner ul{padding-left:18px;list-style:disc}.banner-info{background:var(--m-tint-info-bg);color:var(--m-tint-info-text)}.banner-success{background:var(--m-tint-success-bg);color:var(--m-tint-success-text)}.banner-warn{background:var(--m-tint-warn-bg);color:var(--m-tint-warn-text)}.banner-error{background:var(--m-tint-error-bg);color:var(--m-tint-error-text)}.empty{text-align:center;padding:var(--m-space-2xl) var(--m-space-md);color:var(--m-text-muted)}.empty h2{color:var(--m-heading);font-size:var(--m-text-xl);margin-bottom:6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 14px;border-radius:var(--m-radius-md);border:1px solid transparent;font-weight:var(--m-weight-semibold);font-size:var(--m-text-sm);transition:var(--m-trans-fast);text-decoration:none}.btn:hover{text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--m-primary);color:var(--m-text-on-primary)}.btn-outline{background:transparent;color:var(--m-action);border-color:var(--m-action-border)}.btn-ghost{background:transparent;color:var(--m-action)}.btn-danger{background:var(--m-error);color:#fff}.btn-lg{padding:12px 18px;font-size:var(--m-text-base)}.btn-block{width:100%}.btn:focus-visible,.input:focus-visible,.select:focus-visible,.textarea:focus-visible,.tab:focus-visible,.chip:focus-visible{outline:2px solid var(--m-primary);outline-offset:2px}.spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:1.5s}}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:var(--m-text-sm);font-weight:var(--m-weight-medium);color:var(--m-text-subtle)}.field-help{font-size:var(--m-text-xs);color:var(--m-text-muted)}.input,.select,.textarea{padding:9px 12px;border:1px solid var(--m-border-strong);border-radius:var(--m-radius-md);background:var(--m-surface);color:var(--m-text)}.textarea{resize:vertical;line-height:1.45}.actions{display:flex;gap:var(--m-space-sm);flex-wrap:wrap;margin-top:var(--m-space-xs)}.toolbar{display:flex;align-items:flex-end;gap:var(--m-space-md);flex-wrap:wrap}.toolbar-item{display:flex;align-items:center;gap:8px;font-size:var(--m-text-sm);color:var(--m-text-subtle)}.toolbar-count{margin-left:auto;font-size:var(--m-text-sm);color:var(--m-text-muted)}.tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--m-border)}.tab{background:none;border:0;padding:10px 12px;border-bottom:2px solid transparent;color:var(--m-text-subtle);font-weight:var(--m-weight-medium);white-space:nowrap;display:inline-flex;gap:6px;align-items:center}.tab-active{color:var(--m-primary);border-bottom-color:var(--m-primary)}.tab-count{font-size:var(--m-text-xs);background:var(--m-surface-muted);color:var(--m-text-muted);padding:1px 6px;border-radius:var(--m-radius-pill)}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{border:1px solid var(--m-border-strong);background:var(--m-surface);color:var(--m-text-subtle);padding:4px 10px;border-radius:var(--m-radius-pill);font-size:var(--m-text-xs);display:inline-flex;gap:6px;align-items:center}.chip-active{background:var(--m-primary-tint);color:var(--m-primary);border-color:var(--m-primary)}.sync{font-size:var(--m-text-xs);color:var(--m-text-muted);white-space:nowrap}.sync-error{color:var(--m-warn-ink);font-weight:var(--m-weight-semibold)}.table-wrap{overflow-x:auto;border:1px solid var(--m-border);border-radius:var(--m-radius-lg);background:var(--m-elevated)}.table{width:100%;border-collapse:collapse;font-size:var(--m-text-sm)}.table th,.table td{padding:10px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--m-border)}.table th{font-size:var(--m-text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--m-text-muted);background:var(--m-surface-muted);position:sticky;top:0;white-space:nowrap}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover td{background:var(--m-surface-muted)}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.cell-title{min-width:260px}.cell-client{min-width:160px}.deadline-soon{color:var(--m-warn-ink);font-weight:var(--m-weight-semibold)}.tier{font-size:var(--m-text-xs);font-weight:var(--m-weight-semibold);padding:0 5px;border-radius:4px;background:var(--m-surface-muted);color:var(--m-text-muted)}.tier-1{background:var(--m-tint-success-bg);color:var(--m-tint-success-text)}.tier-2{background:var(--m-tint-info-bg);color:var(--m-tint-info-text)}.view-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.view-more{position:relative;display:inline-flex}.view-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:40;min-width:220px;background:var(--m-elevated);border:1px solid var(--m-border);border-radius:var(--m-radius-lg);box-shadow:var(--m-shadow-lg);padding:6px;display:flex;flex-direction:column}.view-menu-item{display:flex;justify-content:space-between;align-items:center;gap:12px;background:none;border:0;text-align:left;padding:9px 10px;border-radius:var(--m-radius-md);font-size:var(--m-text-sm);color:var(--m-text);cursor:pointer}.view-menu-item:hover{background:var(--m-surface-muted)}.view-menu-item-active{color:var(--m-primary);font-weight:var(--m-weight-semibold)}.toolbar .search{margin-left:auto;min-width:200px;flex:1 1 220px;max-width:360px}.search-toggle{display:none}@media (max-width: 640px){.search-toggle{display:inline-flex;align-items:center;margin-left:auto}.toolbar .search{display:none}.toolbar .search.search-open{display:block;flex:1 1 100%;max-width:none;margin-left:0}}.input-date{padding:5px 8px;font-size:var(--m-text-sm)}.following-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;background:var(--m-surface-muted);border-radius:var(--m-radius-md)}.following-strip .link-btn{margin-left:6px;color:inherit}.client-groups{display:flex;flex-direction:column;gap:var(--m-space-md)}.client-group summary{display:flex;align-items:center;gap:8px;cursor:pointer;padding:10px 12px;background:var(--m-elevated);border:1px solid var(--m-border);border-radius:var(--m-radius-lg);font-weight:var(--m-weight-semibold);color:var(--m-heading);font-size:var(--m-text-lg);list-style:none}.client-group summary::-webkit-details-marker{display:none}.client-group summary:before{content:"▸";color:var(--m-text-muted);transition:var(--m-trans-fast)}.client-group[open] summary:before{transform:rotate(90deg)}.client-group[open] summary{border-bottom-left-radius:0;border-bottom-right-radius:0}.client-group summary .link-btn{margin-left:auto;font-weight:var(--m-weight-normal)}.client-group .table-wrap{border-top:0;border-top-left-radius:0;border-top-right-radius:0}.client-group-empty{padding:10px 12px;border:1px solid var(--m-border);border-top:0;border-radius:0 0 var(--m-radius-lg) var(--m-radius-lg);background:var(--m-elevated)}.list-block{display:flex;flex-direction:column}.list-block-head{display:flex;align-items:baseline;gap:8px;padding:8px 12px;border:1px solid var(--m-border);border-bottom:0;border-radius:var(--m-radius-lg) var(--m-radius-lg) 0 0;background:var(--m-surface-muted)}.list-block-title{font-size:var(--m-text-sm);font-weight:var(--m-weight-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--m-text-subtle)}.list-block .table-wrap{border-top-left-radius:0;border-top-right-radius:0}.list-block-priority{margin-bottom:var(--m-space-sm)}.list-block-priority .list-block-head{background:var(--m-primary-tint);border-color:var(--m-primary);border-left:4px solid var(--m-primary)}.list-block-priority .list-block-head .list-block-title{color:var(--m-primary)}.list-block-priority .table-wrap{border-color:var(--m-primary);border-left:4px solid var(--m-primary)}.row-dismissed td{opacity:.45}.row-unread .cell-title>a,.row-unread .cell-client{font-weight:var(--m-weight-semibold)}.row-unread .cell-title>a{color:var(--m-heading)}.row-dismissed td .badge{opacity:.8}.col-check{width:32px}.star-btn{background:none;border:0;padding:0 4px 0 0;font-size:1rem;color:var(--m-text-muted);cursor:pointer}.star-btn.star-on{color:var(--m-warn)}.exclude-btn{font-size:.9rem}.exclude-btn:hover{color:var(--m-error)}.excluded-list{display:flex;flex-direction:column;background:var(--m-elevated);border:1px solid var(--m-border);border-top:0;border-radius:0 0 var(--m-radius-lg) var(--m-radius-lg)}.excluded-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--m-border);font-size:var(--m-text-sm)}.excluded-row:last-child{border-bottom:0}.row-actions{display:inline-flex;margin-left:8px;gap:6px;vertical-align:middle;opacity:0;pointer-events:none;transition:opacity .12s ease}tr:hover .row-actions,tr:focus-within .row-actions{opacity:1;pointer-events:auto}.link-btn{background:none;border:0;padding:0;color:var(--m-action);font-size:var(--m-text-xs);cursor:pointer}.link-btn:hover{text-decoration:underline}.row-actions .link-btn{border:1px solid var(--m-border-strong);background:var(--m-surface);color:var(--m-text-subtle);padding:2px 9px;border-radius:var(--m-radius-pill);white-space:nowrap;line-height:1.5;transition:var(--m-trans-fast)}.row-actions .link-btn:hover{text-decoration:none;color:var(--m-action);border-color:var(--m-action-border);background:var(--m-primary-tint)}.action-bar{position:sticky;bottom:0;display:flex;align-items:center;gap:var(--m-space-sm);padding:10px var(--m-space-md);padding-bottom:max(10px,env(safe-area-inset-bottom));background:var(--m-elevated);border:1px solid var(--m-border);border-radius:var(--m-radius-lg);box-shadow:var(--m-shadow-lg);z-index:15;flex-wrap:wrap}@media (max-width: 640px){.row-actions{opacity:1;pointer-events:auto}}.facts{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:0;font-size:var(--m-text-sm)}.facts dt{color:var(--m-text-muted)}.facts dd{margin:0}.lots{list-style:disc;padding-left:18px}.reasons{display:flex;flex-direction:column;gap:8px;font-size:var(--m-text-sm)}.undo-toast{position:fixed;left:50%;transform:translate(-50%);bottom:max(18px,env(safe-area-inset-bottom));z-index:70;display:flex;align-items:center;gap:14px;background:var(--m-primary-dark);color:#fff;padding:10px 16px;border-radius:var(--m-radius-lg);box-shadow:var(--m-shadow-lg);font-size:var(--m-text-sm)}.undo-toast-btn{background:none;border:0;color:var(--m-accent-light);font-weight:var(--m-weight-bold);cursor:pointer;font-size:var(--m-text-sm)}.undo-toast-btn:hover{text-decoration:underline}.undo-toast-x{background:none;border:0;color:#fff9;cursor:pointer}.modal-scrim{position:fixed;inset:0;background:#0006;z-index:60;display:flex;align-items:center;justify-content:center;padding:16px}.modal-card{background:var(--m-elevated);border:1px solid var(--m-border);border-radius:var(--m-radius-lg);padding:var(--m-space-lg);max-width:440px;width:100%;box-shadow:var(--m-shadow-lg);display:flex;flex-direction:column;gap:10px}.np-option{display:flex;gap:8px;align-items:flex-start;font-size:var(--m-text-sm);cursor:pointer}.np-option input{margin-top:2px}.auth-wrap{min-height:100%;display:flex;align-items:center;justify-content:center;padding:var(--m-space-md);background:var(--m-bg)}.auth-card{width:100%;max-width:400px;background:var(--m-elevated);border:1px solid var(--m-border);border-radius:var(--m-radius-xl);padding:var(--m-space-xl);box-shadow:var(--m-shadow-md);display:flex;flex-direction:column;gap:var(--m-space-md)}.auth-logo{display:flex;align-items:center;gap:10px;color:var(--m-primary);font-weight:var(--m-weight-bold)}.auth-title{font-size:var(--m-text-xl);font-weight:var(--m-weight-bold);color:var(--m-heading)}.auth-sub{color:var(--m-text-muted);font-size:var(--m-text-sm)}.update-banner{position:sticky;top:0;z-index:40;display:flex;justify-content:center;align-items:center;gap:12px;padding:8px;background:var(--m-accent-dark);color:#fff;font-size:var(--m-text-sm)}.update-banner-btn{background:#fff;color:var(--m-accent-dark);border:0;padding:4px 10px;border-radius:var(--m-radius-md);font-weight:var(--m-weight-semibold)}.page-wide{max-width:none}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--m-space-sm)}.grid-4{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--m-space-sm)}.grid-range{display:grid;grid-template-columns:1fr 1fr auto;gap:var(--m-space-sm);align-items:end}.icon-btn{background:none;border:1px solid transparent;border-radius:var(--m-radius-md);padding:.35rem .6rem;color:var(--m-text-subtle);cursor:pointer;font-size:1.1rem;line-height:1}.icon-btn:hover{background:var(--m-surface-muted);border-color:var(--m-border)}.icon-btn.big{font-size:1.8rem;padding:.4rem .9rem}.warn-ink{color:var(--m-warn-ink)}.observation{margin-top:6px;padding:8px 10px;border-left:3px solid var(--m-warn-ink);background:color-mix(in srgb,var(--m-warn-ink) 8%,transparent);border-radius:4px;font-size:var(--m-text-sm)}.phase2{margin-top:var(--m-space-lg)}.date-strip{display:flex;align-items:center;gap:var(--m-space-xs);margin:var(--m-space-sm) 0 var(--m-space-md);flex-wrap:wrap}.date-strip-days{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0}.date-pill{display:flex;flex-direction:column;align-items:center;min-width:44px;padding:4px 6px;border:1px solid var(--m-border);border-radius:var(--m-radius-md);background:var(--m-surface);color:var(--m-text);cursor:pointer}.date-pill-wd{font-size:.68rem;text-transform:uppercase;color:var(--m-text-muted)}.date-pill-d{font-weight:700}.date-pill-weekend{background:var(--m-surface-muted)}.date-pill-today{border-color:var(--m-primary)}.date-pill-active{background:var(--m-primary);border-color:var(--m-primary);color:#fff}.date-pill-active .date-pill-wd{color:#fff;opacity:.85}.toolbar-search{max-width:320px;flex:1}.tab-attention .tab-count{background:var(--m-warn);color:#fff}.jobs{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.job{display:flex;align-items:stretch;background:var(--m-surface);border:1px solid var(--m-border);border-radius:var(--m-radius-lg)}.job-attention{box-shadow:inset 4px 0 0 var(--m-warn)}.job-cancelled{opacity:.55}.job-cancelled .job-customer{text-decoration:line-through}.job-main{flex:1;display:grid;grid-template-columns:92px minmax(0,2fr) minmax(0,1.4fr) 110px;gap:var(--m-space-md);align-items:center;padding:10px 14px;background:none;border:0;text-align:left;color:inherit;cursor:pointer;font:inherit}.job-main:hover{background:var(--m-surface-muted);border-radius:var(--m-radius-lg) 0 0 var(--m-radius-lg)}.job-time{display:flex;flex-direction:column;gap:2px;font-variant-numeric:tabular-nums}.job-time strong{font-size:1.15rem}.job-out{color:var(--m-text-muted);font-weight:var(--m-weight-semibold)}.job-times{margin-top:2px;font-variant-numeric:tabular-nums}.job-customer{font-weight:600;color:var(--m-heading)}.job-route{font-size:var(--m-text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-who{display:flex;flex-direction:column;gap:3px}.who{display:flex;gap:8px;font-size:var(--m-text-sm)}.who-reg{font-family:var(--m-font-mono);background:var(--m-surface-muted);border-radius:4px;padding:0 5px}.who-empty .who-name,.who-empty .who-reg{color:var(--m-warn-ink)}.job-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;width:148px;flex:none;padding:0 10px;border-left:1px solid var(--m-border)}.menu-wrap{position:relative}.menu-wrap .view-menu{right:0;left:auto}.panel-scrim{position:fixed;inset:0;background:#0f172a59;z-index:40}.panel{position:fixed;top:0;right:0;bottom:0;width:min(560px,100vw);background:var(--m-bg);z-index:41;display:flex;flex-direction:column;box-shadow:var(--m-shadow-xl)}.panel-head{display:flex;justify-content:space-between;gap:var(--m-space-md);padding:var(--m-space-md) var(--m-space-lg);background:var(--m-surface);border-bottom:1px solid var(--m-border)}.panel-head-right{display:flex;align-items:flex-start;gap:var(--m-space-sm)}.panel-title{font-size:var(--m-text-xl);font-weight:700;color:var(--m-heading)}.panel-tabs{padding:0 var(--m-space-lg);background:var(--m-surface)}.panel-body{flex:1;overflow-y:auto;padding:var(--m-space-lg)}.slot{border:1px solid var(--m-border);border-radius:var(--m-radius-md);padding:var(--m-space-sm) var(--m-space-md);margin:0 0 var(--m-space-sm);background:var(--m-surface)}.slot legend{font-weight:600;padding:0 4px}.history{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px}.week-wrap{overflow-x:auto;border:1px solid var(--m-border);border-radius:var(--m-radius-lg);background:var(--m-surface)}.week{border-collapse:collapse;width:100%;min-width:980px;table-layout:fixed}.week th,.week td{border-bottom:1px solid var(--m-border);border-right:1px solid var(--m-border);padding:4px;vertical-align:top;font-size:var(--m-text-sm)}.week thead th{background:var(--m-surface-muted);position:sticky;top:0}.week .week-name{width:150px;text-align:left;background:var(--m-surface);position:sticky;left:0}.week-today{background:var(--m-primary-tint)}.week-off{background:repeating-linear-gradient(135deg,var(--m-tint-warn-bg),var(--m-tint-warn-bg) 6px,transparent 6px,transparent 12px)}.week-off-label{font-size:.72rem;font-weight:700;color:var(--m-tint-warn-text);text-transform:uppercase}.week-job{display:flex;flex-direction:column;width:100%;text-align:left;margin-bottom:3px;padding:3px 5px;border:0;border-left:3px solid var(--m-primary);border-radius:4px;background:var(--m-primary-tint);color:var(--m-text);cursor:pointer;font:inherit}.week-job-time{font-size:.72rem;color:var(--m-text-muted);font-variant-numeric:tabular-nums}.week-job-name{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.batch{align-items:start}.suggest{border:1px solid var(--m-border);border-radius:var(--m-radius-md);margin-top:4px;max-height:220px;overflow-y:auto}.suggest-item{display:block;width:100%;text-align:left;padding:6px 10px;border:0;background:var(--m-surface);color:var(--m-text);cursor:pointer}.suggest-item:hover{background:var(--m-primary-tint)}.chosen{font-weight:600}.preview{margin-top:var(--m-space-md);border-top:1px solid var(--m-border);padding-top:var(--m-space-md)}.preview-month{margin-bottom:var(--m-space-sm)}.preview .chips{gap:4px;margin-top:4px}.driver{max-width:560px}.driver-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--m-space-md)}.driver-date{text-align:center}.driver-date-main{font-size:1.6rem;font-weight:800;color:var(--m-heading)}.driver-jobs{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}.driver-job{display:flex;gap:var(--m-space-md);width:100%;text-align:left;padding:16px;border:1px solid var(--m-border);border-left:6px solid var(--m-primary);border-radius:var(--m-radius-lg);background:var(--m-surface);color:inherit;cursor:pointer;font:inherit}.driver-job-time{font-size:1.7rem;font-weight:800;font-variant-numeric:tabular-nums;display:flex;flex-direction:column;line-height:1}.driver-job-time span{font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--m-text-muted);margin-top:4px}.driver-job-cust{font-size:1.1rem;font-weight:700;color:var(--m-heading)}.driver-job-route{margin:2px 0 6px}.driver-tabs{margin-bottom:var(--m-space-md)}.driver-shift{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:var(--m-space-md)}.driver-shift div{display:flex;flex-direction:column;align-items:center;padding:8px 4px;border:1px solid var(--m-border);border-radius:var(--m-radius-md);background:var(--m-surface)}.driver-shift span{font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--m-text-muted)}.driver-shift strong{font-size:1.15rem;font-variant-numeric:tabular-nums;color:var(--m-heading)}.driver-week{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.driver-weekday{border:1px solid var(--m-border);border-left:6px solid var(--m-primary);border-radius:var(--m-radius-lg);background:var(--m-surface);overflow:hidden}.driver-weekday.is-free{border-left-color:var(--m-border)}.driver-weekday.is-today{box-shadow:0 0 0 2px var(--m-primary)}.driver-weekday-head{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:12px 14px;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.driver-weekday-name{font-weight:800;color:var(--m-heading);display:flex;gap:6px;align-items:center}.driver-weekday-sum{font-size:var(--m-text-sm);color:var(--m-text-muted);font-variant-numeric:tabular-nums;text-align:right}.driver-weekday-jobs{list-style:none;margin:0;padding:0 8px 8px}.driver-weekjob{display:grid;grid-template-columns:52px 1fr auto;gap:8px;align-items:baseline;width:100%;padding:8px 6px;border:0;border-top:1px solid var(--m-border);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.driver-weekjob strong{font-variant-numeric:tabular-nums}.driver-weekjob-what{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.driver-weekjob-reg,.driver-job-meta{font-size:var(--m-text-sm);color:var(--m-text-muted)}.sheet-title{margin-top:var(--m-space-sm)}.sheet dd.big{font-size:1.3rem;font-weight:700}@media (max-width: 860px){.job{flex-direction:column}.job-main{grid-template-columns:72px 1fr;grid-template-areas:"time what" "time who" "time status";gap:4px 12px}.job-time{grid-area:time}.job-what{grid-area:what}.job-who{grid-area:who}.job-status{grid-area:status}.job-actions{width:auto;border-left:0;border-top:1px solid var(--m-border);padding:6px 10px;justify-content:flex-end}.grid-3,.grid-4{grid-template-columns:1fr 1fr}.toolbar-search{max-width:none}}.slot{min-width:0}.field .select,.field .input,.field .textarea{width:100%;max-width:100%;box-sizing:border-box}.date-pill{flex:0 0 auto}@media (max-width: 860px){.date-strip-days{order:-1;flex-basis:100%}.date-strip .input-date{flex:1}}.filters{margin-bottom:var(--m-space-md)}.filters-row{display:flex;flex-wrap:wrap;gap:var(--m-space-sm) var(--m-space-md);align-items:flex-end}.filter{display:flex;flex-direction:column;gap:4px;min-width:0}.filter-grow{flex:1 1 240px}.filter-label{font-size:var(--m-text-xs);color:var(--m-text-muted);font-weight:var(--m-weight-semibold)}.trips-table{transition:opacity .15s}.trips-table.is-stale{opacity:.55}.trips-table .date-row th{position:static;background:var(--m-surface-muted);color:var(--m-heading);font-size:var(--m-text-sm);text-transform:none;letter-spacing:0}.trip-tr{cursor:pointer}.trip-tr.is-attention td:first-child{box-shadow:inset 3px 0 0 var(--m-primary)}.trip-tr.is-cancelled td{color:var(--m-text-muted);text-decoration:line-through}.trip-tr.is-cancelled td:nth-last-child(-n+2){text-decoration:none}.nowrap{white-space:nowrap}.btn-sm{padding:4px 10px;font-size:var(--m-text-xs)}.pager{display:flex;align-items:center;justify-content:center;gap:var(--m-space-md);margin-top:var(--m-space-md)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (max-width: 700px){.filters-row .filter{flex:1 1 40%}.filters-row .filter-grow,.filters-row .filter-status{flex-basis:100%}.trips-table thead{display:none}.trips-table table,.trips-table tbody,.trips-table tr,.trips-table td,.trips-table th{display:block;width:100%}.trips-table .trip-tr{padding:8px 12px;border-bottom:1px solid var(--m-border)}.trips-table .trip-tr td{border:0;padding:2px 0}.trips-table .trip-tr.is-attention{box-shadow:inset 3px 0 0 var(--m-primary);padding-left:14px}.trips-table .trip-tr.is-attention td:first-child{box-shadow:none}.trips-table .trip-tr td[data-label=Status]{display:inline-block;width:auto;margin-right:8px}.trips-table .trip-tr td:last-child{display:inline-block;width:auto}}.job-menu{z-index:60;min-width:240px}.menu-sep{height:1px;background:var(--m-border);margin:4px 2px}.view-menu-item:disabled{color:var(--m-text-muted);cursor:default;background:none}.view-menu-danger{color:var(--m-error)}.panel-notice{margin-bottom:var(--m-space-sm)}.col-check{width:36px;padding-right:0!important}.check{width:18px;height:18px;accent-color:var(--m-primary);cursor:pointer;vertical-align:middle}.trip-tr.is-selected td{background:color-mix(in srgb,var(--m-primary) 5%,var(--m-surface))}.col-actions{text-align:right}.col-actions .job-menu-btn{margin-left:4px}.batch-bar{position:sticky;bottom:12px;z-index:30;margin-top:var(--m-space-md);display:flex;flex-wrap:wrap;align-items:center;gap:var(--m-space-sm) var(--m-space-md);padding:12px 16px;background:var(--m-elevated);border:1px solid var(--m-primary);border-radius:var(--m-radius-lg);box-shadow:var(--m-shadow-lg);padding-bottom:calc(12px + env(safe-area-inset-bottom))}.batch-assign{display:flex;flex-wrap:wrap;align-items:center;gap:var(--m-space-sm);width:100%}.batch-assign .select{width:auto;min-width:180px}.batch-outcome{width:100%}.batch-problems{margin:6px 0;padding-left:18px;font-size:var(--m-text-sm);color:var(--m-warn-ink);max-height:140px;overflow:auto}@media (max-width: 700px){.trips-table .trip-tr{position:relative;padding-left:44px}.trips-table .trip-tr.is-attention{padding-left:44px}.trips-table .trip-tr td.col-check{position:absolute;left:12px;top:10px;width:auto}.trips-table .trip-tr td.col-actions{text-align:left}.trips-table thead{display:block}.trips-table thead tr{display:flex;align-items:center;padding:8px 12px}.trips-table thead th:not(.col-check){display:none}.batch-assign .select{flex:1 1 100%}}.sheet-page{max-width:780px;margin:0 auto;padding:24px 16px;color:#111;background:#fff}.sheet-toolbar{display:flex;gap:8px;justify-content:flex-end;margin-bottom:16px}.sheet-doc{border:1px solid #ddd;border-radius:8px;padding:24px;margin-bottom:24px}.sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:2px solid #1f2d3d;padding-bottom:12px;margin-bottom:16px}.sheet-head h1{font-size:1.3rem;margin:6px 0 0;color:#1f2d3d}.sheet-ref{text-align:right;font-size:.85rem;color:#444}.sheet-grid{display:grid;grid-template-columns:150px 1fr;gap:6px 16px;margin:0;font-size:.95rem}.sheet-grid dt{font-weight:600;color:#444}.sheet-grid dd{margin:0}.sheet-big{font-size:1.15rem;font-weight:700}.sheet-crew{width:100%;border-collapse:collapse;margin:16px 0;font-size:.95rem}.sheet-crew th,.sheet-crew td{border:1px solid #ccc;padding:6px 8px;text-align:left}.sheet-fill{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 24px;margin-top:20px;font-size:.9rem}.sheet-fill div{border-bottom:1px solid #999;padding-bottom:18px}@media print{@page{margin:12mm}body{background:#fff!important}.sheet-toolbar,.update-banner{display:none!important}.sheet-page{padding:0;max-width:none}.sheet-doc{border:0;padding:0;margin:0;break-after:page}.sheet-doc:last-child{break-after:auto}}.stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--m-space-md);margin-bottom:var(--m-space-md)}.stat-tile{display:flex;flex-direction:column;gap:2px;padding:14px 16px;background:var(--m-elevated);border:1px solid var(--m-border);border-radius:var(--m-radius-lg);color:var(--m-text);text-decoration:none;transition:var(--m-trans-fast)}.stat-tile:hover{border-color:var(--m-primary);text-decoration:none}.stat-label{font-size:var(--m-text-sm);color:var(--m-text-subtle)}.stat-value{font-size:2rem;font-weight:var(--m-weight-semibold);color:var(--m-heading);line-height:1.15}.stat-note{font-size:var(--m-text-xs);color:var(--m-text-muted)}.dash-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:var(--m-space-md);align-items:start}.card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-head h2{font-size:1.05rem;margin:0;color:var(--m-heading)}.briefing{border-color:color-mix(in srgb,var(--m-primary) 35%,var(--m-border))}.briefing h2 span{color:var(--m-primary)}.briefing-loading{display:flex;align-items:center;gap:10px;color:var(--m-text-subtle);font-size:var(--m-text-sm);padding:12px 0}.briefing-headline{font-size:1.05rem;color:var(--m-heading);margin:4px 0}.briefing-items{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}.briefing-items li{padding:10px 0;border-top:1px solid var(--m-border)}.briefing-items p{margin:4px 0 0;font-size:var(--m-text-sm);color:var(--m-text-subtle)}.briefing-item-head{display:flex;align-items:baseline;gap:8px}.briefing-foot{margin:8px 0 0}.trip-chips{margin-top:6px}.check-list{list-style:none;margin:0;padding:0}.check-item{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px 0;border-top:1px solid var(--m-border)}.check-title{font-weight:var(--m-weight-semibold);font-size:var(--m-text-sm);color:var(--m-heading)}@media (max-width: 900px){.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid{grid-template-columns:minmax(0,1fr)}}
