:root{font-family:var(--font-sans);--brand-primary: #C1121F;--brand-primary-700: #9E0F19;--brand-primary-soft: rgba(193, 18, 31, .14);--accent: #2563EB;--accent-700: #1D4ED8;--accent-soft: rgba(37, 99, 235, .16);--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, Consolas, monospace;--radius-btn: 12px;--radius-card: 16px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 8px 24px rgba(0, 0, 0, .3);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .45);--glass-bg: rgba(15, 23, 42, .72);--glass-border: rgba(148, 163, 184, .12);--bg-0: #0B1120;--bg-1: #0F172A;--surface: #1E293B;--surface-2: #172033;--border: #334155;--border-2: #2A3A4F;--fg-1: #F8FAFC;--fg-2: #CBD5E1;--fg-3: #E2E8F0;--fg-4: #94A3B8;--fg-5: #64748B;--fg-6: #475569;--accent-soft-fg: #93B4FB;color-scheme:dark;--navy: var(--bg-0);--teal: var(--accent);--line: var(--border);--panel: var(--surface);--soft: var(--surface-2);--muted: var(--fg-4);--danger: #F87171;--warning: #FBBF24;--success: #4ADE80;color:var(--fg-1);background:var(--bg-1)}[data-theme=light]{--bg-0: #EEF1F5;--bg-1: #F4F6F8;--surface: #FFFFFF;--surface-2: #F4F6F8;--border: #DDE3EA;--border-2: #E3E8EE;--fg-1: #11161D;--fg-2: #424C59;--fg-3: #2F3742;--fg-4: #5B6776;--fg-5: #7A8696;--fg-6: #A8B3C0;--accent-soft-fg: #1D4ED8;--glass-bg: rgba(255, 255, 255, .8);--shadow-sm: 0 1px 2px rgba(17, 22, 29, .06);--shadow-md: 0 8px 24px rgba(17, 22, 29, .08);--shadow-lg: 0 24px 60px rgba(17, 22, 29, .12);color-scheme:light;--danger: #b42318;--warning: #b54708;--success: #027a48}*{box-sizing:border-box}body{margin:0;min-width:0;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}.app-shell{height:100vh;display:grid;grid-template-columns:244px minmax(0,1fr);overflow:hidden}.app-shell.ai-open{grid-template-columns:244px minmax(0,1fr) 320px}.sidebar{height:100vh;padding:16px 12px;background:var(--bg-0);border-right:1px solid var(--border);color:var(--fg-1);display:flex;flex-direction:column;overflow-y:auto}.brand{display:flex;gap:11px;align-items:center;padding:4px 6px 18px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--brand-primary);color:#fff;font-weight:800;font-size:13px;letter-spacing:-.02em}.brand strong,.brand span{display:block}.brand strong{font-size:14px;font-weight:700;color:var(--fg-1)}.brand span{margin-top:2px;color:var(--fg-5);font-size:11px}.sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1;min-height:0}.nav-group{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.nav-group-title{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-6);padding:8px 8px 6px}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 12px;border:0;border-radius:11px;background:transparent;color:var(--fg-4);font-size:13.5px;font-weight:500;text-align:left;width:100%;transition:background .14s,color .14s}.nav-item:hover{color:var(--fg-1);background:color-mix(in srgb,var(--fg-4) 12%,transparent)}.nav-item.active{background:var(--accent-soft);color:var(--fg-1);font-weight:600}.sidebar-user{margin-top:auto;display:flex;align-items:center;gap:10px;padding:11px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border-2)}.sidebar-user-avatar{width:32px;height:32px;border-radius:999px;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:700;font-size:12px}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-info strong{display:block;font-size:12.5px;font-weight:600;color:var(--fg-1)}.sidebar-user-info span{display:block;font-size:10.5px;color:var(--fg-5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user>svg{color:var(--fg-5);flex:none}.content{min-width:0;width:100%;height:100vh;display:flex;flex-direction:column;background:var(--bg-1)}.topbar{height:60px;flex:none;display:flex;align-items:center;gap:13px;padding:0 20px;background:var(--glass-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.cmd-trigger{flex:0 1 360px;display:flex;align-items:center;gap:10px;height:38px;padding:0 13px;background:var(--surface-2);border:1px solid var(--border-2);border-radius:11px;color:var(--fg-5)}.cmd-trigger span{flex:1;text-align:left;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmd-trigger kbd,.cmd-input-row kbd{font-family:var(--font-mono);font-size:11px;background:var(--bg-0);border:1px solid var(--border);border-radius:6px;padding:2px 7px;color:var(--fg-4)}.topbar-actions{margin-left:auto;display:inline-flex;align-items:center;gap:9px;min-width:0}.topbar-icon{position:relative;width:38px;height:38px;border-radius:11px;background:var(--surface-2);border:1px solid var(--border-2);display:grid;place-items:center;color:var(--fg-2)}.topbar-icon:hover{border-color:var(--accent)}.topbar-icon.ai-toggle{color:#06b6d4}.topbar-icon.ai-toggle.active{background:#06b6d429}.bell-dot{position:absolute;top:7px;right:8px;width:7px;height:7px;border-radius:999px;background:var(--brand-primary)}.icon-button{width:38px;height:38px;display:none;place-items:center;border-radius:11px;border:1px solid var(--border-2);background:var(--surface-2);color:var(--fg-2)}.primary-action{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 15px;border:none;border-radius:11px;background:var(--brand-primary);color:#fff;font-size:13px;font-weight:600}.primary-action:hover{background:var(--brand-primary-700)}.scroll-area{flex:1;overflow-y:auto;padding:24px}.page-head{margin-bottom:18px}.page-head .eyebrow,.cockpit-head .eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 6px}.page-head h1,.cockpit-head h1{font-size:25px;font-weight:800;letter-spacing:-.02em;margin:0;color:var(--fg-1)}.cockpit{display:flex;flex-direction:column;gap:13px}.cockpit-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:5px}.cockpit-head-actions{display:flex;gap:8px}.ghost-button{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border-2);color:var(--fg-2);font-size:12.5px;font-weight:600}.ghost-button:hover{border-color:var(--accent)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:16px}.kpi-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.kpi-card-top span{font-size:12px;color:var(--fg-4)}.kpi-card-top svg{color:var(--fg-6)}.kpi-card strong{font-weight:700;font-size:30px;letter-spacing:-.02em;color:var(--fg-1);font-variant-numeric:tabular-nums}.cockpit-split{display:grid;grid-template-columns:2fr 1fr;gap:13px}.cockpit-actions .quick-action{display:flex;align-items:center;gap:11px;width:100%;padding:11px;margin-top:9px;border-radius:11px;background:var(--surface-2);border:1px solid var(--border);color:var(--fg-3);font-size:12.5px;font-weight:600;text-align:left}.cockpit-actions .quick-action svg{color:var(--accent)}.cockpit-actions .quick-action:hover{border-color:var(--accent)}.panel-header-title{display:flex;align-items:center;gap:8px}.panel-header-title h2{margin:0}.danger-icon{color:var(--danger)}.accent-icon{color:var(--accent)}.link-button{background:none;border:none;color:var(--accent-soft-fg);font-size:12px;font-weight:600}.cockpit-empty{color:var(--fg-5);font-size:13px;margin:4px 0 0}.ai-panel{height:100vh;background:var(--bg-0);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.ai-panel-head{padding:17px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.ai-panel-mark{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,#2563eb,#06b6d4);display:grid;place-items:center;color:#fff;flex:none}.ai-panel-head>div{flex:1}.ai-panel-head strong{display:block;font-size:13.5px;font-weight:700;color:var(--fg-1)}.ai-panel-head span{display:block;font-size:11px;color:var(--fg-5)}.ai-live-dot{width:8px;height:8px;border-radius:999px;background:var(--success);animation:oedsPulse 2s infinite}@keyframes oedsPulse{0%,to{opacity:1}50%{opacity:.45}}.ai-panel-body{padding:15px;overflow-y:auto;display:flex;flex-direction:column;gap:13px;flex:1}.ai-card{border-radius:14px;padding:15px;background:var(--surface-2);border:1px solid var(--border-2)}.ai-card.anomaly{background:var(--brand-primary-soft);border-color:#dc262647}.ai-card-title{display:flex;align-items:center;gap:7px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#06b6d4;margin-bottom:9px}.ai-card.anomaly .ai-card-title{color:var(--danger)}.ai-card p{font-size:12.5px;line-height:1.6;color:var(--fg-2);margin:0}.ai-card p strong{color:var(--fg-1)}.ai-actions-title{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-5);margin-bottom:10px}.ai-action{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;margin-bottom:9px;border-radius:11px;background:var(--surface);border:1px solid var(--border);color:var(--fg-3);font-size:12px;font-weight:600;text-align:left}.ai-action svg{color:var(--accent)}.ai-action:hover{border-color:var(--accent)}.ai-chat{margin-top:auto;display:flex;align-items:center;gap:9px;height:42px;padding:0 13px;background:var(--surface-2);border:1px solid var(--border-2);border-radius:12px;color:var(--fg-5)}.ai-chat span{flex:1;font-size:12.5px}.ai-chat svg:last-child{color:var(--accent)}.cmd-overlay{position:fixed;inset:0;background:#02061199;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:60;display:flex;justify-content:center;padding-top:120px}.cmd-modal{width:600px;max-width:calc(100vw - 32px);height:max-content;max-height:60vh;background:var(--surface);border:1px solid var(--border-2);border-radius:18px;box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column}.cmd-input-row{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border);color:var(--fg-5)}.cmd-input-row input{flex:1;background:transparent;border:none;outline:none;color:var(--fg-1);font-size:15px}.cmd-list{padding:10px;overflow-y:auto}.cmd-group-title{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-6);padding:8px 12px 6px}.cmd-item{width:100%;display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:11px;background:transparent;border:none;color:var(--fg-2);text-align:left}.cmd-item span{flex:1;font-size:13.5px}.cmd-item svg{color:var(--fg-4)}.cmd-item-arrow{opacity:0}.cmd-item:hover{background:var(--accent-soft);color:var(--fg-1)}.cmd-item:hover svg{color:var(--accent-soft-fg)}.cmd-item:hover .cmd-item-arrow{opacity:1}.view-section:not(.active-view),.hidden-subview{display:none!important}.api-pill{min-height:32px;display:inline-flex;align-items:center;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}.api-pill.connected{color:var(--success);background:#22c55e24;border-color:#abefc6}.api-pill.demo{color:var(--warning);background:#f59e0b24;border-color:#f59e0b4d}.hero-panel{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.eyebrow{margin:0 0 5px;color:var(--teal);font-weight:800;text-transform:uppercase;font-size:12px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(28px,4vw,42px);line-height:1.05;overflow-wrap:anywhere}.hero-subtitle{display:block;max-width:680px;margin-top:8px;color:var(--fg-2);line-height:1.4}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.hero-actions button,.panel-header button{display:inline-flex;align-items:center;gap:8px;padding:0 14px}.mobile-action-rail{display:none}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:14px 0}.metric-card{min-height:118px;display:grid;gap:8px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.metric-card svg{color:var(--teal)}.metric-card span{color:var(--muted);font-size:14px}.metric-card strong{font-size:30px}.platform-grid,.maritime-grid,.transport-grid{display:grid;gap:14px;margin-bottom:14px}.platform-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}.maritime-grid{grid-template-columns:1fr}.transport-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)}.master-file-list,.module-list,.maritime-list,.transport-list{display:grid;gap:12px}.master-file-card,.module-card,.maritime-card,.transport-card{display:grid;gap:10px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.master-file-head,.module-card-head,.maritime-card-head,.transport-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.master-file-head span:first-child,.module-card-head span,.maritime-card-head span:first-child,.transport-card-head span:first-child{display:block;margin-bottom:4px;color:var(--teal);font-size:12px;font-weight:800;text-transform:uppercase}.master-file-head h3,.module-card-head h3,.maritime-card-head h3,.transport-card-head h3{margin:0;font-size:17px}.module-card-head strong{font-size:28px}.maersk-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.maersk-status-grid article,.maersk-empty-state{min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.maersk-status-grid span{display:block;margin-bottom:5px;color:var(--teal);font-size:12px;font-weight:800;text-transform:uppercase}.maersk-status-grid strong,.maersk-status-grid small{display:block;overflow-wrap:anywhere}.maersk-status-grid strong{font-size:16px}.maersk-status-grid small{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.35}.maersk-next-steps{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.maersk-next-steps span{min-height:28px;display:inline-flex;align-items:center;padding:4px 9px;border:1px solid rgba(37,99,235,.3);border-radius:999px;background:#2563eb24;color:var(--accent-soft-fg);font-size:12px;font-weight:800}.maersk-empty-state{display:flex;gap:8px;align-items:center;color:var(--warning);font-weight:800}.module-tags{display:flex;gap:7px;flex-wrap:wrap}.module-tags span{min-height:26px;display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#2563eb24;color:#3538cd;font-size:12px;font-weight:800}.master-file-meta,.maritime-meta{display:flex;gap:10px;flex-wrap:wrap}.master-file-meta span,.maritime-meta span{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.master-file-card p,.module-card p,.module-card small,.handoff-box span{margin:0;color:var(--fg-2);font-size:13px;line-height:1.35}.module-card small{display:block;padding-top:8px;border-top:1px solid var(--line)}.maritime-route{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center;min-height:42px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.maritime-route span{color:var(--fg-2);font-weight:800;overflow-wrap:anywhere}.maritime-route svg{color:var(--teal)}.handoff-box{display:grid;gap:4px;padding:10px 12px;border-radius:8px;background:#22c55e24;color:var(--success)}.transport-route{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center;min-height:54px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.transport-route span,.transport-status-row span,.dispatch-summary span{display:block;margin-bottom:4px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.transport-route strong,.transport-status-row strong,.dispatch-summary strong{display:block;overflow-wrap:anywhere}.transport-route svg{color:var(--teal)}.transport-assignment{display:flex;gap:10px;flex-wrap:wrap}.transport-assignment span{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.transport-status-row,.dispatch-summary{display:grid;gap:10px}.transport-status-row{grid-template-columns:repeat(4,minmax(0,1fr))}.transport-status-row div,.dispatch-summary div{min-width:0;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.transport-handoff{background:#2563eb24;color:#3538cd}.transport-doc-tags{display:flex;gap:7px;flex-wrap:wrap}.transport-doc-tags span{min-height:24px;display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:800}.transport-doc-tags .ready{color:var(--success);background:#22c55e24}.transport-doc-tags .missing{color:var(--warning);background:#f59e0b24}.transport-doc-list,.dispatch-checklist{display:grid;gap:10px}.transport-doc-row,.dispatch-checklist article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;min-width:0;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.transport-doc-row svg,.dispatch-checklist svg{color:var(--teal)}.transport-doc-row strong,.transport-doc-row span,.dispatch-checklist strong,.dispatch-checklist span{display:block}.transport-doc-row span,.dispatch-checklist span{margin-top:3px;color:var(--muted);font-size:12px}.transport-doc-row b{color:var(--fg-2);font-size:12px;overflow-wrap:anywhere}.dispatch-summary{margin-bottom:12px}.dispatch-summary strong{font-size:26px}.dispatch-checklist article{grid-template-columns:auto minmax(0,1fr)}.client-tracking-grid{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:14px;margin-bottom:14px}.client-list{display:grid;gap:10px}.client-card{width:100%;color:inherit;font:inherit;text-align:left;display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.client-card:hover{border-color:#99d6cf;background:#22c55e24}.client-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.client-card-head span{display:block;margin-bottom:4px;color:var(--teal);font-size:12px;font-weight:800;text-transform:uppercase}.client-card-head h3{margin:0;font-size:17px}.client-card-head strong{font-size:24px}.progress-track{height:8px;overflow:hidden;border-radius:999px;background:var(--surface-2)}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--teal)}.client-kpis{display:flex;gap:8px;flex-wrap:wrap}.client-kpis span{min-height:28px;display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;background:var(--panel);color:var(--fg-2);font-size:12px;font-weight:800}.process-stage-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.process-stage-card{min-width:0;min-height:160px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.process-stage-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;margin-bottom:10px}.process-stage-head span,.process-stage-head b{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--panel);color:var(--teal);font-size:12px;font-weight:800}.process-stage-head strong{font-size:13px}.stage-case-list{display:grid;gap:8px}.stage-case{width:100%;color:inherit;font:inherit;text-align:left;display:grid;gap:5px;padding:10px;border:1px solid transparent;border-radius:8px;background:var(--panel)}.stage-case:hover,.stage-case.selected{border-color:#99d6cf;background:#22c55e24}.stage-case strong,.stage-case small,.stage-case em{display:block}.case-detail-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:14px;margin-bottom:14px}.case-overview-panel{grid-row:span 2}.panel-subtitle{display:block;margin-top:4px;color:var(--muted);font-size:13px;font-weight:700}.case-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.case-overview div,.case-action-box,.case-route-box{min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.case-overview span,.case-action-box span,.case-progress span{display:block;margin-bottom:4px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.case-overview strong,.case-action-box strong{display:block;overflow-wrap:anywhere}.case-progress{display:grid;gap:8px;margin-bottom:14px}.case-progress strong{display:block;font-size:20px}.case-action-box{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:12px;margin-bottom:14px}.case-route-box{display:grid;gap:8px}.case-route-box span{display:inline-flex;align-items:center;gap:7px;color:var(--fg-2);font-size:13px}.timeline-list{position:relative;display:grid;gap:12px}.timeline-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;min-width:0}.timeline-marker{width:12px;height:12px;margin-top:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px #dff3f0}.timeline-item h3{margin:0 0 5px;font-size:16px}.timeline-item p,.notification-card p{margin:0;color:var(--fg-2);font-size:13px;line-height:1.35}.timeline-meta,.notification-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.timeline-meta span,.notification-meta span{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.notification-list,.document-list{display:grid;gap:10px}.notification-card{display:grid;gap:8px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.notification-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.notification-head strong{color:var(--teal);font-size:13px}.notification-status{min-height:24px;display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;color:var(--fg-2);background:var(--surface-2);font-size:12px;font-weight:800}.notification-status.enviado,.notification-status.leido{color:var(--success);background:#22c55e24}.notification-status.en-cola,.notification-status.programado{color:var(--warning);background:#f59e0b24}.compose-notification{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--teal);border-radius:8px;background:#22c55e24;color:var(--teal);font-weight:800}.document-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;min-height:58px;padding:10px 0;border-bottom:1px solid var(--line)}.document-row:last-child{border-bottom:0}.document-row svg{color:var(--teal)}.document-row strong,.document-row span,.document-row small{display:block}.document-row span{margin-top:3px;color:var(--muted);font-size:12px}.document-row small{margin-top:3px;color:var(--fg-2);font-size:12px;line-height:1.3}.document-row b{max-width:110px;text-align:right;color:var(--fg-2);font-size:12px;overflow-wrap:anywhere}.stage-case small,.stage-case em{color:var(--muted);font-size:12px;font-style:normal}.stage-case p{margin:0;color:var(--fg-2);font-size:12px;line-height:1.3}.statistics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}.stats-panel{min-width:0;padding:16px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel)}.stats-heading{display:flex;align-items:center;gap:9px;margin-bottom:12px}.stats-heading h2{margin:0;font-size:18px}.stats-panel.tone-commercial .stats-heading svg{color:var(--success)}.stats-panel.tone-operational .stats-heading svg{color:var(--accent)}.stats-panel.tone-risk .stats-heading svg{color:var(--danger)}.stats-list{display:grid;gap:10px}.stat-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-height:54px;padding:10px 0;border-bottom:1px solid var(--line)}.stat-row:last-child{border-bottom:0}.stat-row span,.stat-row small{display:block}.stat-row span{font-weight:800}.stat-row small{margin-top:3px;color:var(--muted);font-size:12px}.stat-row strong{max-width:150px;color:var(--fg-1);font-size:17px;text-align:right;overflow-wrap:anywhere}.products-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px;margin-bottom:14px}.product-source{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:44px;margin-bottom:12px;padding:10px 12px;border-radius:8px;background:#22c55e24;color:var(--success)}.product-source span{color:var(--fg-2);font-size:13px;text-align:right}.product-class-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-class-card{display:grid;gap:10px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.product-class-head{display:flex;justify-content:space-between;gap:10px}.product-class-head span{display:block;margin-bottom:4px;color:var(--teal);font-size:12px;font-weight:800;text-transform:uppercase}.product-class-head h3{margin:0;font-size:17px}.product-class-head strong{font-size:28px}.product-tax-profile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.product-tax-profile span{min-height:28px;display:inline-flex;align-items:center;padding:3px 8px;border-radius:8px;background:var(--panel);color:var(--fg-2);font-size:12px;font-weight:800}.product-class-card p,.quality-card p{margin:0;color:var(--fg-2);font-size:13px;line-height:1.35}.sac-list,.quality-list{display:grid;gap:10px}.sac-list{margin-bottom:14px}.sac-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:54px;padding:10px 0;border-bottom:1px solid var(--line)}.sac-row:last-child{border-bottom:0}.sac-row strong,.sac-row span{display:block}.sac-row span{margin-top:3px;color:var(--muted);font-size:12px}.sac-row b{font-size:20px}.quality-card{display:grid;gap:6px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f59e0b24}.quality-severity{width:fit-content;min-height:22px;display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase}.quality-severity.alto{color:var(--danger);background:#dc262624}.quality-severity.medio{color:var(--warning);background:#f59e0b24}.route-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px;margin-bottom:14px}.customs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.customs-card,.route-event{min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.customs-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.customs-card-head span:first-child{display:block;margin-bottom:4px;color:var(--teal);font-size:12px;font-weight:800;text-transform:uppercase}.customs-card h3,.route-event h3{margin:0;font-size:16px}.customs-meta,.route-event div{display:grid;gap:7px;margin-top:10px}.customs-meta span,.route-event div span{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:13px}.customs-card p{margin:10px 0;color:var(--fg-2);font-size:13px;line-height:1.35}.issue-tags{display:flex;gap:7px;flex-wrap:wrap}.issue-tags span{min-height:24px;display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:#2563eb24;color:#3538cd;font-size:12px;font-weight:800}.route-event-list{display:grid;gap:10px}.work-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:14px}.panel{min-width:0;max-width:100%;overflow:hidden;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.panel.wide{grid-row:span 2}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.panel-header h2{margin:0;font-size:19px}.shipment-list{display:grid;gap:12px}.shipment-card{display:grid;grid-template-columns:minmax(200px,1fr) minmax(170px,.7fr) minmax(210px,.9fr) minmax(220px,.9fr);gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.shipment-main h3{margin:6px 0 4px;font-size:17px}.shipment-main p,.shipment-meta span,.shipment-flow span{color:var(--muted);font-size:14px}.shipment-meta,.shipment-flow,.shipment-actions{display:grid;gap:7px;min-width:0}.shipment-flow span,.shipment-actions span,.task-meta span{display:inline-flex;gap:7px;align-items:center}.shipment-actions strong{font-size:13px;line-height:1.25}.shipment-actions div{display:flex;gap:8px;flex-wrap:wrap}.shipment-actions button{min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--fg-2);font-weight:700}.risk{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:800}.risk.alto{color:var(--danger);background:#dc262624}.risk.medio{color:var(--warning);background:#f59e0b24}.risk.bajo{color:var(--success);background:#22c55e24}.location-stack,.alert-stack{display:grid;gap:10px}.location-row{min-height:46px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.location-row:last-child{border-bottom:0}.dot{width:10px;height:10px;border-radius:50%}.dot.blue{background:#2563eb}.dot.amber{background:#f59e0b}.dot.green{background:#16a34a}.dot.gray{background:#667085}.dot.violet{background:#7c3aed}.wip{cursor:not-allowed;opacity:.85}.sidebar-backdrop{position:fixed;inset:0;z-index:30;background:#08142173}.alert-card{display:grid;gap:4px;padding:12px;border-radius:8px;border:1px solid var(--line)}.alert-card span{color:var(--muted);font-size:14px}.alert-card.danger{background:#dc262624;border-color:#dc26264d}.alert-card.warning{background:#f59e0b24;border-color:#f59e0b4d}.alert-card.success{background:#22c55e24;border-color:#22c55e4d}.people-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;margin-top:14px}.security-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:14px;margin-top:14px}.documents-center-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px;margin-top:14px}.odoo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.75fr);gap:14px}.opening-workspace-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:14px}.opening-command-panel,.odoo-available-panel{grid-column:1}.operation-template-panel,.prefile-panel,.opening-queue-panel{grid-column:2}.odoo-principle-panel,.odoo-sync-panel,.odoo-events-panel{grid-column:1}.odoo-opening-panel,.odoo-ownership-panel{grid-column:2}.governance-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.7fr) minmax(300px,.7fr);gap:14px;margin-top:14px}.role-grid,.platform-user-list,.document-rule-list,.notification-rule-list,.audit-list{display:grid;gap:10px}.role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.role-card,.platform-user-card,.document-rule-card,.notification-rule-card,.audit-card{min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.role-card{display:grid;gap:10px}.role-card-head,.document-rule-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.role-card-head span,.document-rule-head span{display:block;margin-bottom:4px;color:var(--teal);font-size:12px;font-weight:800;text-transform:uppercase}.role-card-head h3,.document-rule-head h3,.platform-user-card h3,.notification-rule-card h3,.audit-card h3{margin:0;font-size:16px}.role-card-head strong,.document-rule-head b{min-width:34px;text-align:right;font-size:24px}.role-card p,.platform-user-card p,.platform-user-card small,.document-rule-card p,.document-rule-card small,.notification-rule-card p,.audit-card p{margin:0;color:var(--fg-2);font-size:13px;line-height:1.35}.permission-tags,.document-rule-docs{display:flex;gap:7px;flex-wrap:wrap}.permission-tags span,.document-rule-docs span{min-height:24px;display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:var(--panel);color:var(--fg-2);font-size:12px;font-weight:800}.platform-user-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px}.user-device{grid-column:1 / -1;display:flex;gap:8px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:12px}.user-device svg{color:var(--teal)}.user-device span,.user-device small{font-weight:700}.document-rule-card,.notification-rule-card,.audit-card{display:grid;gap:9px}.notification-rule-card div,.audit-card div{display:flex;gap:10px;flex-wrap:wrap}.notification-rule-card div span,.audit-card div span{display:inline-flex;gap:6px;align-items:center;color:var(--muted);font-size:12px;font-weight:700}.document-table{display:grid;gap:10px}.document-table-row{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(130px,auto);gap:12px;align-items:center;min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.document-table-row svg{color:var(--teal)}.document-table-row h3,.document-table-row p,.document-table-row strong,.document-table-row span{display:block}.document-table-row h3{margin:0 0 3px;font-size:16px}.document-table-row p,.document-table-row span{margin:0;color:var(--muted);font-size:12px;line-height:1.35}.document-table-row div:last-child{text-align:right}.document-table-row strong{color:var(--fg-2);font-size:13px}.sync-strip{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.sync-strip span,.sync-strip small{color:var(--muted);font-size:12px;font-weight:700}.sync-strip strong{color:#3538cd;font-size:12px}.governance-principle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.governance-principle div,.opening-rule-card,.sync-state-card,.sync-event-card,.ownership-row{min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.governance-principle div{display:grid;gap:8px}.governance-principle svg{color:var(--teal)}.governance-principle span,.sync-state-card span,.sync-event-head span,.sync-decision-grid span{display:block;color:var(--teal);font-size:12px;font-weight:800;text-transform:uppercase}.governance-principle strong{font-size:20px}.governance-principle p,.opening-rule-card p,.sync-state-card p,.sync-event-card p,.opening-rule-card small,.sync-state-card small,.sync-event-card small,.ownership-row span{margin:0;color:var(--fg-2);font-size:13px;line-height:1.35}.opening-rule-list,.sync-event-list,.ownership-list{display:grid;gap:10px}.sync-state-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.opening-rule-card,.sync-state-card,.sync-event-card{display:grid;gap:9px}.opening-rule-card h3,.sync-state-card h3,.sync-event-card h3{margin:0;font-size:16px}.sync-event-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.sync-event-head b{max-width:140px;color:#3538cd;font-size:12px;text-align:right;overflow-wrap:anywhere}.sync-decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sync-decision-grid div{min-width:0;padding:10px;border-radius:8px;background:var(--panel)}.sync-decision-grid strong{display:block;margin-top:4px;font-size:13px;line-height:1.3}.ownership-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,auto);gap:12px;align-items:center}.ownership-row strong,.ownership-row span{display:block}.ownership-row b{color:var(--fg-2);font-size:12px;text-align:right;overflow-wrap:anywhere}.opening-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.opening-action-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.opening-action-row button,.odoo-file-card button{min-height:40px;display:inline-flex;gap:7px;align-items:center;justify-content:center;border:1px solid var(--teal);border-radius:8px;background:#22c55e24;color:var(--teal);font-weight:800}.opening-action-row button:disabled,.odoo-file-card button:disabled{cursor:wait;opacity:.66}.opening-result{min-height:34px;display:inline-flex;align-items:center;padding:7px 10px;border-radius:8px;font-size:12px;font-weight:800;line-height:1.25}.opening-result.success{border:1px solid rgba(34,197,94,.3);background:#22c55e24;color:var(--success)}.opening-result.error{border:1px solid rgba(220,38,38,.3);background:#dc262624;color:#b42318}.opening-path-card,.odoo-file-card,.operation-template-card,.prefile-card,.opening-queue-card{min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.opening-path-card,.odoo-file-card,.operation-template-card,.prefile-card{display:grid;gap:9px}.opening-path-card h3,.odoo-file-card h3,.operation-template-card h3,.prefile-card h3,.opening-queue-card h3{margin:0;font-size:16px}.opening-path-card p,.odoo-file-card p,.operation-template-card p,.prefile-card p,.opening-path-card small,.operation-template-card small,.prefile-card small,.opening-queue-card p,.opening-queue-card small{margin:0;color:var(--fg-2);font-size:13px;line-height:1.35}.odoo-file-list,.operation-template-list,.prefile-list,.opening-queue-list{display:grid;gap:10px}.odoo-file-head,.operation-template-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.odoo-file-head span,.operation-template-head span{display:block;margin-bottom:4px;color:var(--teal);font-size:12px;font-weight:800;text-transform:uppercase}.odoo-file-head b{max-width:150px;color:var(--fg-2);font-size:12px;text-align:right;overflow-wrap:anywhere}.operation-template-head strong{font-size:24px}.opening-meta{display:flex;gap:10px;flex-wrap:wrap}.opening-meta span{display:inline-flex;gap:6px;align-items:center;color:var(--muted);font-size:12px;font-weight:700}.opening-queue-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:start}.opening-queue-card b{max-width:160px;color:#3538cd;font-size:12px;text-align:right;overflow-wrap:anywhere}.opening-queue-card small{grid-column:1 / -1}.team-list,.task-list{display:grid;gap:10px}.team-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:74px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#22c55e24;color:var(--teal);font-weight:800}.team-card h3,.task-card h3{margin:0 0 3px;font-size:16px}.team-card span,.team-card small,.task-card span{color:var(--muted);font-size:13px}.team-status{display:grid;gap:5px;justify-items:end;text-align:right}.status-pill,.task-status{display:inline-flex;width:fit-content;min-height:24px;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:800}.status-pill.en-campo,.task-status.en-proceso{color:var(--accent-soft-fg);background:#2563eb24}.status-pill.disponible,.task-status.completa{color:var(--success);background:#22c55e24}.status-pill.revision,.task-status.validar{color:var(--warning);background:#f59e0b24}.status-pill.fuera,.task-status.pendiente{color:var(--fg-2);background:var(--surface-2)}.task-card{position:relative;display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.task-id{display:block;margin-bottom:4px;color:var(--teal);font-weight:800;text-transform:uppercase}.task-meta{display:flex;gap:12px;flex-wrap:wrap}.task-status{position:absolute;top:12px;right:12px}@media(max-width:1060px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.sidebar.open{display:block;position:fixed;top:0;left:0;bottom:0;width:min(280px,82vw);height:100vh;z-index:40;overflow-y:auto;box-shadow:0 0 40px #00000059}.icon-button{display:grid}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.work-grid,.platform-grid,.maritime-grid,.transport-grid,.opening-workspace-grid,.client-tracking-grid,.case-detail-grid,.statistics-grid,.products-grid,.route-grid,.security-grid,.documents-center-grid,.odoo-grid,.governance-grid,.people-grid{grid-template-columns:1fr}.odoo-principle-panel,.odoo-sync-panel,.odoo-events-panel,.odoo-opening-panel,.odoo-ownership-panel,.opening-command-panel,.odoo-available-panel,.operation-template-panel,.prefile-panel,.opening-queue-panel{grid-column:auto}.product-class-grid,.customs-grid,.role-grid,.opening-path-grid,.maersk-status-grid{grid-template-columns:1fr}.process-stage-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.shipment-card{grid-template-columns:minmax(220px,1fr) minmax(190px,.8fr)}}@media(max-width:720px){.module-tabs{width:min(100%,calc(100vw - 24px))}.content{padding:12px}.exceptions-summary{gap:10px}.exceptions-kpi{flex:1 1 100%;min-width:0}.exceptions-source{margin-left:0;flex:1 1 100%;text-align:center}.exception-card-head{gap:6px}.exception-card-head strong{flex:1 1 100%;order:3}.exception-status{margin-left:0}.exception-meta{gap:8px 14px}.topbar{grid-template-columns:auto minmax(0,1fr) auto;justify-content:stretch}.topbar-actions{justify-self:end}.api-pill{display:none}.search{grid-column:1 / -1;grid-row:2;min-width:0}.primary-action span{display:none}.primary-action{width:52px;padding:0;justify-content:center;justify-self:end}.hero-panel{align-items:flex-start;flex-direction:column;padding:18px}.hero-actions{width:100%;flex-direction:column}.hero-actions button{width:100%;flex:0 0 auto;justify-content:center;min-width:0}.mobile-action-rail{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0;padding:8px;border:1px solid var(--line);border-radius:8px;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mobile-action-rail button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--fg-2);font-weight:800;font-size:13px}.metrics-grid,.process-stage-strip,.maritime-route{grid-template-columns:1fr}.maritime-route svg{transform:rotate(90deg)}.transport-route,.transport-status-row{grid-template-columns:1fr}.transport-route svg{transform:rotate(90deg);justify-self:center}.transport-doc-row{grid-template-columns:auto minmax(0,1fr)}.transport-doc-row b{grid-column:2}.case-overview,.case-action-box{grid-template-columns:1fr}.document-row{grid-template-columns:auto minmax(0,1fr)}.document-row b{grid-column:2;max-width:none;text-align:left}.document-table-row{grid-template-columns:auto minmax(0,1fr)}.document-table-row div:last-child{grid-column:2;text-align:left}.governance-principle,.sync-state-grid,.sync-decision-grid,.ownership-row,.opening-queue-card{grid-template-columns:1fr}.sync-event-head{display:grid}.sync-event-head b,.ownership-row b,.odoo-file-head b,.opening-queue-card b{max-width:none;text-align:left}.product-source{display:grid;align-items:start}.product-source span{text-align:left}.metric-card{min-height:90px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;overflow:hidden}.metric-card span{overflow-wrap:anywhere}.shipment-card{grid-template-columns:1fr}.shipment-actions div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.shipment-actions button{min-height:42px}.team-card{grid-template-columns:auto minmax(0,1fr)}.team-status{grid-column:1 / -1;justify-items:start;text-align:left}.task-card{padding-top:44px}}.exceptions-summary{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px}.exceptions-kpi{display:flex;flex-direction:column;min-width:140px;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.exceptions-kpi strong{font-size:22px;color:var(--navy)}.exceptions-kpi span{font-size:12px;color:var(--muted)}.exceptions-source{margin-left:auto;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600}.exceptions-source.is-sample{color:var(--warning);background:#f59e0b24;border:1px solid rgba(220,38,38,.28)}.exceptions-source.is-live{color:var(--success);background:#22c55e24;border:1px solid #a6e0c0}.exceptions-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.exceptions-filter{padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);font-size:13px;cursor:pointer}.exceptions-filter.active{background:var(--teal);border-color:var(--teal);color:#fff}.exceptions-stack{display:flex;flex-direction:column;gap:12px}.exceptions-empty{color:var(--muted);font-size:14px}.exception-card{border:1px solid var(--line);border-left:4px solid var(--line);border-radius:10px;padding:14px 16px;background:var(--panel)}.exception-card.priority-alta{border-left-color:var(--danger)}.exception-card.priority-media{border-left-color:var(--warning)}.exception-card.priority-baja{border-left-color:var(--muted)}.exception-card-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:10px}.exception-card-head strong{color:var(--navy);font-size:15px}.exception-priority{font-size:11px;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:999px}.exception-priority.alta{color:var(--danger);background:#dc262624}.exception-priority.media{color:var(--warning);background:#f59e0b24}.exception-priority.baja{color:var(--muted);background:var(--soft)}.exception-status{margin-left:auto;font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 10px}.exception-status.resuelta{color:var(--success);border-color:#a6e0c0}.exception-meta{display:flex;flex-wrap:wrap;gap:14px;color:var(--muted);font-size:13px;margin-bottom:8px}.exception-meta span{display:inline-flex;align-items:center;gap:5px}.exception-impact{color:var(--danger);font-weight:600}.exception-links{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.exception-links code{font-size:12px;background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:1px 7px;color:var(--navy)}.exception-notes{font-size:13px;color:var(--muted);margin:0 0 8px}.exception-actions{display:flex;align-items:center;gap:12px}.exception-actions .wip{padding:6px 14px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--muted);font-size:13px;cursor:not-allowed}.exception-rule{font-size:11px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.exception-resolve{padding:6px 14px;border:1px solid var(--teal);border-radius:8px;background:var(--teal);color:#fff;font-size:13px;font-weight:600}.exception-resolve:disabled{opacity:.6;cursor:progress}.exception-cancel{padding:6px 14px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted);font-size:13px}.exception-resolve-form{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}.exception-resolve-form textarea,.exception-resolve-form input{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;color:var(--fg-1);resize:vertical}.exception-resolve-buttons{display:flex;gap:8px}.exception-error{color:var(--danger);font-size:12px}.timeline-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px}.timeline-controls label{font-size:13px;color:var(--muted)}.timeline-controls select{padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--navy);font-size:14px}.timeline-source{margin-left:auto;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600}.timeline-source.is-sample{color:var(--warning);background:#f59e0b24;border:1px solid rgba(220,38,38,.28)}.timeline-source.is-live{color:var(--success);background:#22c55e24;border:1px solid #a6e0c0}.timeline-list{list-style:none;margin:0;padding:0 0 0 8px}.timeline-item{position:relative;padding:0 0 20px 24px;border-left:2px solid var(--line)}.timeline-item:last-child{border-left-color:transparent;padding-bottom:0}.timeline-dot{position:absolute;left:-7px;top:2px;width:12px;height:12px;border-radius:50%;background:var(--teal);border:2px solid var(--panel)}.timeline-item.source-carrier .timeline-dot{background:var(--teal)}.timeline-item.source-manual .timeline-dot{background:var(--navy)}.timeline-item.source-ais .timeline-dot{background:var(--warning)}.timeline-item.source-csv .timeline-dot{background:var(--muted)}.timeline-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:4px}.timeline-head strong{color:var(--navy);font-size:15px}.timeline-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--soft);color:var(--muted);border:1px solid var(--line)}.timeline-badge.carrier{color:var(--teal);border-color:#a6ddd8;background:#22c55e24}.timeline-badge.ais{color:var(--warning);border-color:#dc262647;background:#f59e0b24}.timeline-meta{display:flex;flex-wrap:wrap;gap:14px;color:var(--muted);font-size:13px;margin-bottom:4px}.timeline-meta span{display:inline-flex;align-items:center;gap:5px}.timeline-received{font-style:italic}.timeline-foot{display:flex;gap:12px;font-size:11px;color:var(--muted)}.timeline-type{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.timeline-empty{color:var(--muted);font-size:14px;padding-left:0;border-left:none}.timeline-add{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--teal);border-radius:8px;background:var(--teal);color:#fff;font-size:13px;font-weight:600}.timeline-add:disabled{opacity:.6;cursor:progress}.timeline-cancel{padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted);font-size:13px}.timeline-form{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.timeline-form-row{display:flex;gap:8px;flex-wrap:wrap}.timeline-form-row input{flex:1 1 180px}.timeline-form input,.timeline-form textarea{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;color:var(--fg-1);background:var(--panel);resize:vertical}.timeline-form-buttons{display:flex;gap:8px}.timeline-error{color:var(--danger);font-size:12px}.exceptions-highlight-row{margin:14px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:10px}.exceptions-highlight{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid rgba(220,38,38,.28);border-left:4px solid var(--danger);border-radius:10px;background:#dc262624;text-decoration:none;color:inherit}.exceptions-highlight.demurrage-highlight{border-left-color:var(--warning)}.exceptions-highlight.demurrage-highlight .exceptions-highlight-icon{color:var(--warning);background:#f59e0b24}.exceptions-highlight-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#dc262624;color:var(--danger)}.exceptions-highlight-body{display:flex;flex-direction:column}.exceptions-highlight-body strong{color:var(--navy);font-size:16px}.exceptions-highlight-body span{color:var(--muted);font-size:13px}.exceptions-highlight-cta{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:var(--teal);font-weight:700;font-size:14px;white-space:nowrap}.demurrage-summary{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px}.demurrage-kpi{display:flex;flex-direction:column;min-width:150px;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.demurrage-kpi strong{font-size:22px;color:var(--navy)}.demurrage-kpi span{font-size:12px;color:var(--muted)}.demurrage-source{margin-left:auto;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600}.demurrage-source.is-sample{color:var(--warning);background:#f59e0b24;border:1px solid rgba(220,38,38,.28)}.demurrage-source.is-live{color:var(--success);background:#22c55e24;border:1px solid #a6e0c0}.demurrage-stack{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.demurrage-card{border:1px solid var(--line);border-left:4px solid var(--line);border-radius:10px;padding:14px 16px;background:var(--panel)}.demurrage-card.risk-alto{border-left-color:var(--danger)}.demurrage-card.risk-medio{border-left-color:var(--warning)}.demurrage-card.risk-bajo{border-left-color:var(--success)}.demurrage-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.demurrage-container{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--navy)}.demurrage-lfd{font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px}.demurrage-lfd.alta{color:var(--danger);background:#dc262624}.demurrage-lfd.media{color:var(--warning);background:#f59e0b24}.demurrage-lfd.baja{color:var(--muted);background:var(--soft)}.demurrage-status{font-size:13px;color:var(--fg-2);margin-bottom:8px}.demurrage-meta{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);margin-bottom:8px}.demurrage-meta span{display:inline-flex;align-items:center;gap:5px}.demurrage-foot{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.demurrage-risk{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.demurrage-risk.alto{color:var(--danger);border-color:#dc26264d}.demurrage-risk.medio{color:var(--warning);border-color:#dc262647}.demurrage-cost{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--danger)}.demurrage-links{display:flex;flex-wrap:wrap;gap:6px}.demurrage-links code{font-size:12px;background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:1px 7px;color:var(--navy)}.import-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px}.import-file{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:8px;background:var(--teal);color:#fff;font-weight:600;font-size:14px;cursor:pointer}.import-sample{padding:9px 14px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--navy);font-size:14px}.import-required,.import-hint{font-size:12px;color:var(--muted)}.import-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.import-chip{font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;border:1px solid var(--line)}.import-chip.ok{color:var(--success);background:#22c55e24;border-color:#a6e0c0}.import-chip.warning{color:var(--warning);background:#f59e0b24;border-color:#dc262647}.import-chip.error{color:var(--danger);background:#dc262624;border-color:#dc26264d}.import-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}.import-table{width:100%;border-collapse:collapse;font-size:13px}.import-table th,.import-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.import-table th{background:var(--soft);color:var(--muted);font-size:12px;text-transform:uppercase}.import-row.error{background:#dc262624}.import-row.warning{background:#f59e0b24}.row-ok{color:var(--success)}.row-warning{color:var(--warning)}.row-error{color:var(--danger)}.cell-empty{color:#c0c8d2}.import-messages{color:var(--muted);white-space:normal}.import-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px}.import-actions .wip{padding:9px 16px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--muted);font-size:14px;cursor:not-allowed}.import-note{font-size:12px;color:var(--muted)}.theme-toggle{width:44px;min-height:42px;display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--radius-btn);background:var(--panel);color:var(--fg-2)}.theme-toggle:hover{color:var(--fg-1);border-color:var(--accent)}body{font-family:var(--font-sans);background:var(--bg-1);color:var(--fg-1);-webkit-font-smoothing:antialiased}.panel{border-radius:var(--radius-card);background:var(--surface);border-color:var(--border);padding:18px}.panel-header h2{font-size:14px;font-weight:700;color:var(--fg-1)}.panel-subtitle{color:var(--fg-4);font-size:12px}h2,h3{color:var(--fg-1)}.risk{font-weight:700;font-size:11px;padding:3px 10px}.risk.alto{color:var(--danger);background:#dc262629}.risk.medio{color:var(--warning);background:#f59e0b29}.risk.bajo{color:var(--success);background:#22c55e29}.alert-card{border-radius:11px;border:1px solid var(--border);background:var(--surface-2);padding:11px 13px;display:grid;gap:3px}.alert-card strong{font-size:12.5px;color:var(--fg-1)}.alert-card span{font-size:11.5px;color:var(--fg-4)}.alert-card.danger{border-color:#dc26264d;background:#dc26261a}.alert-card.warning{border-color:#f59e0b4d;background:#f59e0b1a}.alert-card.success{border-color:#22c55e4d;background:#22c55e1a}.exceptions-highlight{border:1px solid rgba(220,38,38,.28);border-left:3px solid var(--danger);background:var(--surface);border-radius:14px}.exceptions-highlight-icon{background:#dc262624;border-radius:9px}.exceptions-highlight.demurrage-highlight .exceptions-highlight-icon{background:#f59e0b24}.exceptions-highlight-body strong{color:var(--fg-1)}.exceptions-highlight-body span{color:var(--fg-4)}.exceptions-highlight-cta{color:var(--accent-soft-fg)}.task-id{font-family:var(--font-mono);color:var(--accent-soft-fg)}.api-pill{height:30px;border-radius:999px;border:1px solid var(--border-2);background:var(--surface-2);color:var(--fg-4);font-size:11px}.api-pill.connected{color:var(--success);border-color:#22c55e4d;background:#22c55e1a}.progress-track{background:var(--bg-0)}.progress-track span{background:var(--accent)}@media(max-width:1180px){.app-shell,.app-shell.ai-open{grid-template-columns:244px minmax(0,1fr)}.ai-panel{display:none}}@media(max-width:920px){.app-shell,.app-shell.ai-open{grid-template-columns:1fr}.icon-button{display:grid}.sidebar{position:fixed;z-index:50;width:260px;transform:translate(-100%);transition:transform .2s ease}.sidebar.open{transform:translate(0)}.sidebar-backdrop{position:fixed;inset:0;background:#02061180;z-index:40}.cmd-trigger{flex:1}.cmd-trigger span{display:none}.kpi-grid{grid-template-columns:repeat(2,1fr)}.cockpit-split{grid-template-columns:1fr}}.pipeline-board{display:flex;flex-direction:column;gap:14px}.pipeline-tabs{display:flex;gap:10px;flex-wrap:wrap}.pipeline-tab{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:11px;border:1px solid var(--border-2);background:var(--surface-2);color:var(--fg-2);font-size:13.5px;font-weight:600}.pipeline-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.pipeline-tab-count{font-family:var(--font-mono);font-size:11px;opacity:.75}.pipeline-ia{display:flex;align-items:center;gap:12px;padding:13px 16px;background:var(--accent-soft);border:1px solid rgba(37,99,235,.3);border-radius:14px}.pipeline-ia-mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#2563eb,#06b6d4);display:grid;place-items:center;color:#fff;flex:none}.pipeline-ia p{margin:0;font-size:12.5px;line-height:1.5;color:var(--fg-2)}.pipeline-ia p strong{color:var(--fg-1)}.pipeline-columns{display:flex;gap:13px;overflow-x:auto;padding-bottom:8px}.pipeline-column{width:252px;flex:0 0 252px;background:var(--bg-0);border:1px solid var(--border);border-radius:var(--radius-card)}.pipeline-column-head{display:flex;align-items:center;gap:8px;padding:13px 15px;border-bottom:1px solid var(--border)}.pipeline-dot{width:9px;height:9px;border-radius:999px;flex:none}.pipeline-column-title{flex:1;font-size:12.5px;font-weight:700;color:var(--fg-3)}.pipeline-column-count{font-family:var(--font-mono);font-size:12px;color:var(--fg-6)}.pipeline-cards{padding:12px;display:flex;flex-direction:column;gap:11px}.pipeline-card{text-align:left;border:1px solid var(--border-2);background:var(--surface);border-radius:14px;padding:13px;display:flex;flex-direction:column;gap:8px}.pipeline-card:hover{border-color:var(--accent)}.pipeline-card-top{display:flex;align-items:center;justify-content:space-between}.pipeline-card strong{font-size:13.5px;font-weight:600;color:var(--fg-1)}.pipeline-card-product{font-size:11.5px;color:var(--fg-4)}.pipeline-card-foot{display:flex;flex-direction:column;gap:4px;margin-top:2px}.pipeline-card-foot span{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--fg-4)}.pipeline-empty{font-size:12px;color:var(--fg-6);text-align:center;padding:10px 0;margin:0}.maritime-grid{display:flex!important;flex-direction:column;gap:13px}.maritime-stepper-panel{padding:18px 20px}.maritime-stepper-caption{font-size:12px;color:var(--fg-4);margin-bottom:16px}.stepper{display:flex;align-items:center}.stepper-node{display:flex;flex-direction:column;align-items:center;gap:7px;flex:none}.stepper-dot{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:var(--surface-2);border:2px solid var(--border);color:var(--fg-5)}.stepper-node.done .stepper-dot{background:var(--success);border-color:var(--success);color:#fff}.stepper-node.current .stepper-dot{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 4px var(--accent-soft)}.stepper-label{font-size:11px;font-weight:600;color:var(--fg-5)}.stepper-node.done .stepper-label,.stepper-node.current .stepper-label{color:var(--fg-2)}.stepper-node.current .stepper-label{color:var(--accent-soft-fg);font-weight:700}.stepper-line{flex:1;height:2px;background:var(--border);margin:0 6px 18px}.stepper-line.done{background:var(--success)}.oeds-table-panel{padding:0;overflow:hidden}.oeds-table-panel .panel-header{padding:16px 18px 0;margin-bottom:14px}.oeds-table{width:100%}.oeds-table-head{display:grid;grid-template-columns:var(--cols);gap:10px;padding:12px 18px;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-5);background:var(--surface-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.oeds-table-row{display:grid;grid-template-columns:var(--cols);gap:10px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border);font-size:13px;color:var(--fg-3)}.oeds-table-row:last-child{border-bottom:0}.oeds-table-row:hover{background:var(--surface-2)}.oeds-table .oeds-strong{color:var(--fg-1);font-weight:500}.oeds-table .oeds-mono{font-family:var(--font-mono);font-size:12px;color:var(--fg-3)}@media(max-width:900px){.oeds-table-head{display:none}.oeds-table-row{grid-template-columns:1fr 1fr;gap:6px 10px}}.oeds-cell-icon{display:inline-flex;align-items:center;gap:9px}.oeds-cell-icon svg{color:var(--fg-5);flex:none}.oeds-table-row-btn{width:100%;background:transparent;border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;font:inherit;color:var(--fg-3)}.oeds-progress-cell{display:flex;align-items:center;gap:9px}.oeds-progress-cell .progress-track{flex:1;height:7px;border-radius:999px;background:var(--bg-0);overflow:hidden}.oeds-progress-cell .progress-track span{display:block;height:100%;background:var(--accent);border-radius:999px}.oeds-progress-cell em{font-family:var(--font-mono);font-style:normal;font-size:12px;color:var(--fg-4)}.vis-pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:10.5px;font-weight:600;background:var(--surface-2);border:1px solid var(--border-2);color:var(--fg-3)}.state-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700}.state-pill.ok{color:var(--success);background:#22c55e29}.state-pill.warn{color:var(--warning);background:#f59e0b29}.state-pill.muted{color:var(--fg-4);background:var(--surface-2)}.client-tracking-grid>.client-summary-panel{grid-column:1 / -1}.route-grid>.aduana-duca-panel{grid-column:1 / -1}
