:root{--navy-950: #050e1d;--navy-900: #0b1d3a;--navy-800: #122657;--navy-700: #1a3470;--navy-600: #1e4494;--blue: #2563eb;--blue-h: #1d4ed8;--blue-50: #eff6ff;--blue-100: #dbeafe;--blue-200: #bfdbfe;--slate-50: #f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-700:#334155;--slate-900:#0f172a;--text: #0f172a;--text-muted:#64748b;--red: #dc2626;--red-bg: #fef2f2;--green: #16a34a;--green-bg: #f0fdf4;--white: #ffffff;--radius: 10px;--shadow-sm: 0 1px 3px rgba(5,14,29,.1), 0 1px 2px rgba(5,14,29,.06);--shadow: 0 4px 14px rgba(5,14,29,.1), 0 1px 4px rgba(5,14,29,.07);--shadow-lg: 0 20px 48px rgba(5,14,29,.14), 0 4px 12px rgba(5,14,29,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--slate-100);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,p{overflow-wrap:anywhere}h1{margin:0;font-size:2.1rem;font-weight:800;line-height:1.15;letter-spacing:-.02em;color:var(--navy-900)}h2{margin:0;font-size:1.18rem;font-weight:700;letter-spacing:-.01em;color:var(--navy-900)}h3{margin:0 0 14px;font-size:.95rem;font-weight:700;color:var(--navy-800)}p{color:var(--text-muted);line-height:1.65}label{display:grid;gap:7px;color:var(--slate-700);font-size:.85rem;font-weight:700;letter-spacing:.01em}.section-kicker{margin:0 0 10px;color:var(--blue);font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}input,select,textarea{width:100%;min-height:44px;border:1px solid var(--slate-300);border-radius:var(--radius);padding:10px 13px;color:var(--text);background:var(--white);transition:border-color .15s,box-shadow .15s}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--blue);outline:3px solid rgba(37,99,235,.15)}.primary-button,.secondary-button,.ghost-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius);padding:10px 16px;border:1px solid transparent;font-weight:700;font-size:.88rem;letter-spacing:.01em;transition:background .15s,box-shadow .15s}.primary-button{color:var(--white);background:var(--blue);box-shadow:0 1px 3px #2563eb4d}.primary-button:hover:not(:disabled){background:var(--blue-h);box-shadow:0 3px 8px #2563eb59}.secondary-button{color:var(--navy-800);border-color:var(--slate-300);background:var(--white);box-shadow:var(--shadow-sm)}.secondary-button:hover:not(:disabled){background:var(--slate-50);border-color:var(--slate-400)}.ghost-button{width:100%;color:#ffffffb3;background:transparent}.ghost-button:hover:not(:disabled){background:#ffffff14;color:var(--white)}.fit{width:fit-content}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-line,.info-line{display:flex;align-items:flex-start;gap:10px;border-radius:var(--radius);padding:12px 14px;font-size:.87rem;line-height:1.55}.error-line{color:var(--red);background:var(--red-bg);border:1px solid #fecaca}.info-line{color:var(--navy-700);background:var(--blue-50);border:1px solid var(--blue-200)}.loading-screen{display:flex;min-height:100vh;align-items:center;justify-content:center;gap:12px;color:var(--blue);font-weight:800;font-size:1rem;background:var(--slate-100)}.login-screen{display:grid;min-height:100vh;grid-template-columns:minmax(0,1.2fr) minmax(400px,.8fr);background:var(--slate-100)}.login-media{position:relative;display:flex;min-height:100vh;flex-direction:column;justify-content:space-between;overflow:hidden;padding:44px;color:var(--white);background:linear-gradient(135deg,#050e1de0,#122657cc 60%,#1e449499),url(https://images.unsplash.com/photo-1516676839530-135a545cce02?auto=format&fit=crop&w=1600&q=80) center/cover}.brand-lockup,.brand-small{display:flex;align-items:center;gap:12px}.brand-mark,.brand-small span{display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;border-radius:var(--radius);color:var(--white);background:var(--blue);box-shadow:0 2px 8px #2563eb80}.brand-lockup strong,.brand-small strong{display:block;font-size:1rem;font-weight:800;letter-spacing:-.01em}.brand-lockup span,.brand-small small{color:#ffffffa6;font-size:.78rem}.login-copy{max-width:680px;padding-bottom:7vh}.login-copy p{margin:0 0 14px;color:var(--blue-200);font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.login-copy h1{max-width:680px;margin:0 0 20px;font-size:3rem;line-height:1.08;color:var(--white);letter-spacing:-.03em}.login-copy span{display:block;max-width:580px;color:#ffffffbf;font-size:1rem;line-height:1.75}.login-panel{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:40px;background:var(--white)}.auth-box{width:100%;max-width:420px;padding:36px;border:1px solid var(--slate-200);border-radius:14px;background:var(--white);box-shadow:var(--shadow-lg)}.auth-box form,.auth-box{display:grid;gap:18px}.auth-box h2{font-size:1.6rem;font-weight:800;color:var(--navy-900);letter-spacing:-.02em}.panel,.wizard-panel,.metric-card{border:1px solid var(--slate-200);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-sm)}.app-shell{display:grid;min-height:100vh;grid-template-columns:268px minmax(0,1fr)}.sidebar{position:sticky;top:0;display:flex;height:100vh;flex-direction:column;gap:6px;padding:20px 14px;color:var(--white);background:var(--navy-900);border-right:1px solid rgba(255,255,255,.06);overflow:hidden}.brand-small{flex-shrink:0;padding:6px 8px 20px;margin-bottom:4px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-logo{display:block;width:100%;max-width:180px;height:auto;filter:brightness(0) invert(1);opacity:.92}.login-logo{display:block;filter:brightness(0) invert(1);width:auto;max-width:280px;height:auto;opacity:.95}.sidebar nav{display:grid;align-content:start;gap:3px;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:4px;margin-right:-4px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}.sidebar nav::-webkit-scrollbar{width:6px}.sidebar nav::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:3px}.sidebar nav::-webkit-scrollbar-track{background:transparent}.sidebar nav button{display:flex;min-height:42px;align-items:center;gap:10px;border:0;border-radius:8px;padding:10px 12px;color:#ffffffa6;background:transparent;font-weight:600;font-size:.88rem;text-align:left;transition:background .12s,color .12s}.sidebar nav button:hover{color:var(--white);background:#ffffff12}.sidebar nav button.active{color:var(--white);background:var(--blue);box-shadow:0 2px 6px #2563eb66}.session-box{display:flex;gap:10px;margin-top:auto;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px;background:#ffffff0a}.session-box span{display:block;margin-top:3px;color:#ffffff80;font-size:.78rem}.session-box strong{font-size:.88rem}.workspace{min-width:0;padding:28px 32px;background:var(--slate-100)}.page-stack{display:grid;gap:20px;max-width:1480px;margin:0 auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.page-header p{max-width:700px;margin-bottom:0}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card{display:grid;gap:8px;padding:18px 20px}.metric-card svg{color:var(--blue)}.metric-card span{color:var(--text-muted);font-size:.8rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.metric-card strong{font-size:1.45rem;font-weight:800;color:var(--navy-900)}.metric-card p{margin:0;font-size:.82rem}.two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.panel{min-width:0;padding:20px 22px}.api-list,.task-list,.booking-list{display:grid;gap:8px;margin-top:16px}.api-list div,.task-list div{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--slate-200);border-radius:8px;padding:12px 14px;background:var(--slate-50)}.api-list svg,.task-list svg{flex:0 0 auto;color:var(--blue)}.api-list span{display:grid;gap:3px;color:var(--slate-500);font-size:.87rem}.api-list strong{color:var(--text)}.json-box{max-height:520px;overflow:auto;border:1px solid var(--slate-200);border-radius:8px;padding:14px 16px;color:var(--navy-800);background:var(--slate-50);font-size:.79rem;line-height:1.55;white-space:pre-wrap}.catalog-toolbar,.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.catalog-toolbar{margin-bottom:12px}.catalog-toolbar input{max-width:480px}.catalog-toolbar span,.panel-heading span{color:var(--text-muted);font-size:.8rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.data-table,.db-table,.mini-table{display:grid;gap:6px;margin-top:14px}.table-head,.table-row{display:grid;gap:10px;align-items:center}.table-head{padding:0 12px 4px;color:var(--slate-500);font-size:.7rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.table-row{width:100%;border:1px solid var(--slate-200);border-radius:8px;padding:11px 12px;color:var(--text);background:var(--white);text-align:left;transition:border-color .12s,background .12s}.table-row:hover{border-color:var(--blue);background:var(--blue-50)}.table-row span{min-width:0;overflow-wrap:anywhere}.table-row small{display:block;margin-top:3px;color:var(--text-muted);font-size:.78rem}.product-cols{grid-template-columns:minmax(112px,.8fr) minmax(140px,1.3fr) minmax(90px,.8fr) minmax(80px,.7fr)}.price-cols{grid-template-columns:minmax(90px,.8fr) minmax(150px,1.3fr) minmax(120px,.9fr) minmax(70px,.6fr)}.muted{color:var(--text-muted);font-size:.87rem;padding:8px 0}.wizard-shell{display:grid;grid-template-columns:210px minmax(0,1fr);gap:16px;align-items:start}.step-rail{display:grid;gap:5px}.step-rail button{display:flex;align-items:center;gap:10px;border:1px solid var(--slate-200);border-radius:8px;padding:11px 12px;color:var(--slate-500);background:var(--white);font-weight:700;font-size:.85rem;text-align:left;transition:border-color .12s,color .12s}.step-rail button span{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border-radius:6px;color:var(--white);background:var(--slate-300);font-size:.75rem;font-weight:800}.step-rail button.active{color:var(--navy-900);border-color:var(--blue);background:var(--blue-50)}.step-rail button.active span,.step-rail button.done span{background:var(--blue)}.wizard-panel{min-width:0;padding:24px}.form-stack{display:grid;gap:18px}.step-title{display:flex;align-items:flex-start;gap:12px}.step-title svg{flex:0 0 auto;color:var(--blue)}.step-title p{margin:5px 0 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.choice-grid,.summary-grid,.counter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.choice-card,.summary-item,.counter,.passenger-panel{border:1px solid var(--slate-200);border-radius:8px;padding:14px;background:var(--white)}.choice-card{display:grid;gap:8px;min-height:112px;text-align:left;cursor:pointer;transition:border-color .12s,background .12s}.choice-card:hover{border-color:var(--slate-400);background:var(--slate-50)}.choice-card.selected{border-color:var(--blue);background:var(--blue-50);box-shadow:0 0 0 3px #2563eb1f}.choice-card span{color:var(--text-muted);line-height:1.5;font-size:.87rem}.counter{display:flex;align-items:center;justify-content:space-between;gap:12px}.counter span{font-weight:800;font-size:.9rem}.counter div{display:flex;align-items:center;gap:8px}.counter button{width:30px;height:30px;border:1px solid var(--slate-300);border-radius:7px;background:var(--white);font-weight:800;transition:border-color .12s}.counter button:hover{border-color:var(--blue);color:var(--blue)}.passenger-list,.sailing-list{display:grid;gap:10px}.sailing-row,.booking-list button{display:flex;width:100%;align-items:center;gap:12px;border:1px solid var(--slate-200);border-radius:8px;padding:12px 14px;color:var(--text);background:var(--white);text-align:left;transition:border-color .12s,background .12s}.sailing-row:hover{border-color:var(--blue);background:var(--blue-50)}.sailing-row.selected{border-color:var(--blue);background:var(--blue-50);box-shadow:0 0 0 3px #2563eb1f}.sailing-row span,.booking-list span{display:grid;flex:1;gap:3px;min-width:0}.sailing-row small,.booking-list small{color:var(--text-muted);font-size:.78rem}.sailing-row em{flex:0 0 auto;color:var(--navy-700);font-style:normal;font-weight:900;font-size:1rem}.wizard-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid var(--slate-200)}.summary-item{display:grid;gap:5px}.summary-item span{color:var(--text-muted);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.summary-item strong{font-size:.93rem;color:var(--navy-900)}.database-toolbar,.sync-grid,.sync-actions,.pager{display:flex;align-items:center;gap:10px}.database-toolbar input{flex:1 1 380px}.database-toolbar select{flex:0 0 170px}.database-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(400px,.75fr);gap:16px;align-items:start}.db-booking-cols{grid-template-columns:minmax(96px,.75fr) minmax(120px,.9fr) minmax(120px,.9fr) minmax(140px,1fr) minmax(120px,.9fr) minmax(78px,.55fr)}.detail-panel{position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto}.detail-stack{display:grid;gap:16px}.summary-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-section{display:grid;gap:10px;border-top:1px solid var(--slate-200);padding-top:14px}.detail-section h3{margin:0}.key-grid{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px 12px;align-items:center}.key-grid span{color:var(--text-muted);font-size:.79rem;font-weight:700}.key-grid strong{min-width:0;overflow-wrap:anywhere;font-size:.9rem}.passenger-cols{grid-template-columns:36px minmax(130px,1.2fr) minmax(70px,.55fr) minmax(120px,.9fr)}.version-cols{grid-template-columns:minmax(64px,.5fr) minmax(92px,.7fr) minmax(80px,.6fr) minmax(130px,1fr) minmax(82px,.7fr)}.static-row{cursor:default}.static-row:hover{border-color:var(--slate-200);background:var(--white)}.sync-panel{display:grid;gap:14px}.sync-grid{align-items:end;flex-wrap:wrap}.sync-grid label{flex:0 1 200px}.sync-actions{flex-wrap:wrap}.sync-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.sync-log{max-height:200px}.sp{background:var(--white);border:1px solid var(--slate-200);border-radius:var(--radius);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:0;overflow:hidden}.sp-hdr{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;border-bottom:1px solid var(--slate-100);background:var(--slate-50)}.sp-title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:.95rem;color:var(--navy-900)}.sp-runcount{font-size:.72rem;font-weight:600;color:var(--text-muted);background:var(--slate-100);border-radius:20px;padding:1px 7px}.sp-status{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 10px;border-radius:20px}.sp-status-running{background:#dbeafe;color:#1d4ed8;animation:sp-pulse 2s ease-in-out infinite}.sp-status-scheduled{background:var(--green-bg);color:var(--green)}.sp-status-stopped{background:var(--slate-100);color:var(--slate-500)}@keyframes sp-pulse{0%,to{opacity:1}50%{opacity:.6}}.sp-stats{display:flex;gap:0;border-bottom:1px solid var(--slate-100)}.sp-stat{flex:1;display:flex;flex-direction:column;align-items:center;padding:12px 8px 10px;border-right:1px solid var(--slate-100);text-align:center}.sp-stat:last-child{border-right:none}.sp-stat-val{font-size:1.35rem;font-weight:800;color:var(--navy-800);line-height:1}.sp-stat-lbl{font-size:.68rem;color:var(--text-muted);margin-top:3px;font-weight:500}.sp-stat-err .sp-stat-val,.sp-stat-err .sp-stat-lbl{color:var(--red)}.sp-timing{display:flex;flex-wrap:wrap;gap:6px 16px;padding:10px 18px;background:var(--navy-900)}.sp-timing-item{display:flex;align-items:center;gap:5px;font-size:.78rem;color:#fff9}.sp-timing-item svg{opacity:.7}.sp-timing-item strong{color:#ffffffe6;font-weight:600}.sp-exit{font-size:.7rem;font-weight:700;padding:1px 6px;border-radius:4px;margin-left:4px}.sp-exit-ok{background:#16a34a40;color:#4ade80}.sp-exit-err{background:#dc262640;color:#fca5a5}.sp-timing-pulse{color:#60a5fae6}.sp-config{display:flex;flex-wrap:wrap;gap:12px;padding:14px 18px;border-bottom:1px solid var(--slate-100);align-items:center}.sp-field{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--text-muted);font-weight:500}.sp-field-row{display:flex;align-items:center;gap:4px}.sp-field input,.sp-days-input{width:70px;padding:5px 8px;border:1px solid var(--slate-200);border-radius:6px;font-size:.85rem;background:var(--white);color:var(--text)}.sp-unit{font-size:.75rem;color:var(--text-muted)}.sp-presets{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.78rem;color:var(--text-muted);font-weight:500}.sp-preset{padding:4px 10px;border-radius:6px;border:1px solid var(--slate-200);background:var(--white);font-size:.78rem;cursor:pointer;color:var(--slate-700);transition:all .15s}.sp-preset:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-50)}.sp-preset.active{border-color:var(--blue);background:var(--blue);color:#fff}.sp-days-input{width:50px}.sp-actions{display:flex;gap:8px;padding:12px 18px;border-bottom:1px solid var(--slate-100);flex-wrap:wrap}.sp-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:7px;font-size:.83rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s}.sp-btn:disabled{opacity:.5;cursor:not-allowed}.sp-btn-primary{background:var(--blue);color:#fff;border-color:var(--blue-h)}.sp-btn-primary:hover:not(:disabled){background:var(--blue-h)}.sp-btn-secondary{background:var(--white);color:var(--navy-900);border-color:var(--slate-200)}.sp-btn-secondary:hover:not(:disabled){background:var(--slate-50);border-color:var(--slate-300)}.sp-btn-danger{background:var(--white);color:var(--red);border-color:#fecaca}.sp-btn-danger:hover:not(:disabled){background:var(--red-bg)}.sp-btn-bulk{background:var(--white);color:#7c3aed;border-color:#ddd6fe}.sp-btn-bulk:hover:not(:disabled){background:#f5f3ff;border-color:#c4b5fd}.sp-error{display:flex;align-items:center;gap:8px;margin:0 18px;padding:10px 12px;background:var(--red-bg);border:1px solid #fecaca;border-radius:7px;color:var(--red);font-size:.83rem}.sp-log-wrap{display:flex;flex-direction:column;flex:1;min-height:0}.sp-log-hdr{display:flex;justify-content:space-between;align-items:center;padding:8px 18px 6px;font-size:.75rem;font-weight:600;color:var(--text-muted);background:var(--slate-50);border-top:1px solid var(--slate-100)}.sp-log-count{font-weight:400}.sp-log{flex:1;overflow-y:auto;max-height:260px;padding:10px 18px;font-size:.72rem;line-height:1.55;color:var(--slate-700);background:var(--slate-900);margin:0;font-family:Fira Code,Cascadia Code,Consolas,monospace}.sp-log-err{color:#f87171}.sp-log-ok{color:#4ade80}.sp-log-hd{color:#93c5fd;font-weight:600}.catalog-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px}.rp-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:2px solid #e2e8f0;margin-bottom:20px}.rp-kicker{display:inline-flex;align-items:center;gap:5px;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#6366f1;margin-bottom:5px}.rp-header-text h1{font-size:1.55rem;font-weight:900;color:#0f172a;margin-bottom:4px}.rp-header-text p{font-size:.85rem;color:#64748b;max-width:520px}.rp-dl-btn{display:inline-flex;align-items:center;gap:7px;background:#1e3a8a;color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:.9rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .12s;flex-shrink:0}.rp-dl-btn:hover:not(:disabled){background:#1e40af}.rp-dl-btn:disabled{opacity:.5;cursor:not-allowed}.rp-layout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:20px;align-items:start}.rp-left{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.rp-section-label{font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#94a3b8;margin-bottom:9px}.rp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.rp-card{display:flex;align-items:center;gap:7px;padding:9px 11px;border:1.5px solid #e2e8f0;border-radius:8px;background:#f8fafc;cursor:pointer;text-align:left;transition:border-color .12s,background .12s;font-size:.82rem;color:#334155;font-weight:500;position:relative}.rp-card:hover:not(.rp-card-active){border-color:#93c5fd;background:#f0f9ff}.rp-card-active{font-weight:700}.rp-card-icon{font-size:1rem;flex-shrink:0}.rp-card-name{flex:1;line-height:1.3}.rp-card-check{font-size:.75rem;font-weight:900;flex-shrink:0}.rp-tpl-desc{border-left:3px solid;border-radius:0 6px 6px 0;padding:8px 12px;font-size:.82rem;color:#475569;line-height:1.5;margin-bottom:4px}.rp-form{display:flex;flex-direction:column;gap:8px;margin-top:4px}.rp-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rp-field{display:flex;flex-direction:column;gap:4px}.rp-field span{font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.rp-field input,.rp-field select,.rp-field textarea{border:1.5px solid #e2e8f0;border-radius:7px;padding:7px 10px;font-size:.85rem;color:#0f172a;background:#fff;transition:border-color .12s;width:100%}.rp-field input:focus,.rp-field select:focus,.rp-field textarea:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px #dbeafe44}.rp-field textarea{resize:vertical}.rp-field-grow{grid-column:span 2}.rp-toggles{display:flex;flex-wrap:wrap;gap:7px;margin-top:2px}.rp-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1.5px solid #e2e8f0;border-radius:20px;font-size:.82rem;font-weight:600;color:#475569;background:#f8fafc;cursor:pointer;transition:border-color .12s,background .12s}.rp-toggle:hover{border-color:#93c5fd;background:#f0f9ff}.rp-toggle input{accent-color:#1e3a8a;width:14px;min-height:14px}.rp-actions{display:flex;gap:10px;margin-top:14px}.rp-btn-preview{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border:1.5px solid #e2e8f0;border-radius:8px;background:#fff;color:#334155;font-size:.875rem;font-weight:700;cursor:pointer;transition:border-color .12s,background .12s}.rp-btn-preview:hover:not(:disabled){border-color:#94a3b8;background:#f8fafc}.rp-btn-download{display:inline-flex;align-items:center;gap:6px;padding:9px 22px;border:none;border-radius:8px;color:#fff;font-size:.875rem;font-weight:700;cursor:pointer;transition:filter .12s;flex:1;justify-content:center}.rp-btn-download:hover:not(:disabled){filter:brightness(1.1)}.rp-btn-preview:disabled,.rp-btn-download:disabled{opacity:.5;cursor:not-allowed}.rp-msg{margin-top:8px;padding:8px 12px;border-radius:7px;font-size:.83rem;font-weight:600;background:#f0fdf4;color:#065f46;border:1px solid #bbf7d0}.rp-msg-err{background:#fff1f2;color:#be123c;border-color:#fecdd3}.rp-right{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;position:sticky;top:16px}.rp-preview-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;border-bottom:1px solid #f1f5f9;border-top:4px solid #e2e8f0}.rp-preview-title{font-size:.9rem;font-weight:800;color:#0f172a;text-transform:uppercase;letter-spacing:.06em}.rp-preview-status{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:3px 9px;border-radius:20px;background:#f1f5f9;color:#94a3b8}.rp-stats{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;border-bottom:1px solid #f1f5f9}.rp-stat{padding:12px 14px;border-right:1px solid #f1f5f9;text-align:center}.rp-stat:last-child{border-right:none}.rp-stat-wide{grid-column:span 1}.rp-stat-val{font-size:1.15rem;font-weight:900;color:#0f172a;line-height:1}.rp-stat-lbl{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#94a3b8;margin-top:3px}.rp-sample-wrap{padding:14px 16px 16px}.rp-sample-label{font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#94a3b8;margin-bottom:8px}.rp-table-scroll{overflow-x:auto;border-radius:8px;border:1px solid #e2e8f0}.rp-table{width:100%;border-collapse:collapse;font-size:.75rem}.rp-table thead tr th{padding:7px 10px;text-align:left;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff;white-space:nowrap}.rp-table tbody tr{border-bottom:1px solid #f1f5f9}.rp-table tbody tr:nth-child(2n){background:#f8fafc}.rp-table tbody td{padding:5px 10px;color:#334155;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.rp-sample-more{font-size:.72rem;color:#94a3b8;margin-top:7px;font-style:italic}.rp-empty-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 24px;gap:10px;text-align:center}.rp-empty-preview p{font-size:.85rem;color:#64748b;margin:0}.rp-agency-banner{display:flex;gap:10px;align-items:flex-start;background:#fff1f2;border:1.5px solid #fecdd3;border-left:4px solid #b91c1c;border-radius:8px;padding:12px 14px;font-size:.85rem;color:#7f1d1d;line-height:1.5}.rp-agency-banner-icon{font-size:1.3rem;flex-shrink:0;margin-top:1px}.rp-agency-banner strong{color:#b91c1c}.report-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:18px;align-items:start}.report-config,.report-preview{min-width:0}.toggle-grid{display:flex;flex-wrap:wrap;gap:8px}.check-row{display:inline-flex;min-height:36px;align-items:center;gap:8px;border:1px solid var(--slate-200);border-radius:8px;padding:7px 11px;color:var(--slate-700);background:var(--slate-50);font-size:.85rem;font-weight:600;cursor:pointer;transition:border-color .12s,background .12s}.check-row:hover{border-color:var(--blue);background:var(--blue-50)}.check-row input{width:15px;min-height:15px;accent-color:var(--blue)}.report-actions{display:flex;flex-wrap:wrap;gap:10px}.pager{justify-content:space-between;margin-top:14px;padding-top:14px;border-top:1px solid var(--slate-200)}.pager span{color:var(--text-muted);font-size:.85rem;font-weight:700}.lookup-bar{display:flex;gap:10px;align-items:center}.lookup-bar input{flex:1}.lookup-bar.stacked{align-items:stretch;flex-direction:column}@media(max-width:1100px){.login-screen,.app-shell,.wizard-shell,.two-column,.catalog-grid,.database-layout,.report-layout{grid-template-columns:1fr}.detail-panel{position:static;max-height:none}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-grid,.choice-grid,.summary-grid,.counter-grid,.sync-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.login-media{min-height:420px;padding:28px}.login-copy h1{font-size:2rem}.workspace{padding:16px}.page-header,.lookup-bar,.wizard-actions,.catalog-toolbar,.panel-heading,.database-toolbar,.sync-grid,.sync-actions,.report-actions,.pager{align-items:stretch;flex-direction:column}.metric-grid,.form-grid,.choice-grid,.summary-grid,.counter-grid,.sidebar nav,.product-cols,.price-cols,.db-booking-cols,.passenger-cols,.version-cols,.summary-grid.compact,.sync-status-grid{grid-template-columns:1fr}.database-toolbar select{flex-basis:auto}}.sbadge{display:inline-flex;align-items:center;border-radius:5px;padding:3px 9px;font-size:.72rem;font-weight:700;letter-spacing:.02em;white-space:nowrap;flex-shrink:0}.sbadge-sm{padding:2px 6px;font-size:.65rem}.sbadge-ok{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.sbadge-can{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.sbadge-hld{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.sbadge-unk{color:var(--slate-600);background:var(--slate-100);border:1px solid var(--slate-200)}.db-row-cols{grid-template-columns:minmax(130px,1fr) minmax(110px,.9fr) minmax(130px,1fr) minmax(100px,.85fr) minmax(110px,.9fr) minmax(70px,.5fr);padding:0 14px 6px}.db-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(110px,.9fr) minmax(130px,1fr) minmax(100px,.85fr) minmax(110px,.9fr) minmax(70px,.5fr);gap:10px;align-items:center;width:100%;border:1px solid var(--slate-200);border-radius:9px;padding:11px 14px;background:var(--white);text-align:left;cursor:pointer;transition:border-color .12s,background .12s,box-shadow .12s}.db-row:hover{border-color:var(--blue);background:var(--blue-50);box-shadow:0 2px 8px #2563eb17}.db-row>div{min-width:0;display:grid;gap:3px}.db-row strong{font-size:.87rem;font-weight:700;color:var(--navy-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.db-row small{font-size:.74rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.db-row-main{gap:4px!important}.db-row-id{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;gap:6px!important}.db-row-code{font-size:.97rem;font-weight:800;color:var(--navy-900)}.db-row-ref{font-size:.73rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.db-row-ver-col{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:3px!important}.ver-badge{display:inline-flex;align-items:center;border-radius:5px;padding:2px 8px;font-size:.75rem;font-weight:800;color:var(--blue);background:var(--blue-100)}.detail-panel{padding:0!important;overflow:hidden;display:flex;flex-direction:column}.detail-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 28px;gap:12px;height:100%;min-height:240px}.detail-placeholder svg{color:var(--slate-300)}.detail-placeholder h3{margin:0;color:var(--slate-500);font-size:1rem}.detail-placeholder p{margin:0;max-width:280px;font-size:.88rem}.bdetail{display:flex;flex-direction:column;height:100%;min-height:0}.bdetail-hdr{padding:18px 20px 16px;background:var(--navy-900);flex-shrink:0}.bdetail-hdr-top{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.bdetail-code{font-size:1.35rem;font-weight:800;color:var(--white);letter-spacing:-.02em}.bdetail-ref{font-size:.82rem;color:#ffffff8c;font-weight:600;margin-bottom:4px}.bdetail-meta-row{display:flex;gap:6px;align-items:center;font-size:.76rem;color:#ffffff73;font-weight:600;margin-bottom:14px;flex-wrap:wrap}.bdetail-price-row{display:flex;align-items:baseline;gap:10px}.bdetail-price-amt{font-size:1.5rem;font-weight:900;color:var(--white);letter-spacing:-.02em}.bdetail-price-bal{font-size:.78rem;color:#ffffff73;font-weight:600}.bdetail-route{display:flex;align-items:center;gap:10px;padding:13px 20px;background:var(--blue-50);border-bottom:1px solid var(--blue-200);flex-shrink:0}.bdr-port{display:grid;gap:3px;min-width:60px}.bdr-port strong{font-size:1.05rem;font-weight:800;color:var(--navy-900);letter-spacing:-.01em}.bdr-port small{font-size:.72rem;color:var(--text-muted)}.bdr-port-right{text-align:right}.bdr-mid{flex:1;display:flex;align-items:center;gap:6px;color:var(--blue)}.bdr-line{flex:1;height:2px;background:var(--blue-200);border-radius:2px}.bdetail-tabs{display:flex;gap:0;border-bottom:1px solid var(--slate-200);background:var(--white);flex-shrink:0;padding:0 6px}.bdetail-tabs button{padding:11px 16px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--text-muted);font-size:.82rem;font-weight:700;cursor:pointer;transition:color .12s,border-color .12s;white-space:nowrap;margin-bottom:-1px}.bdetail-tabs button:hover{color:var(--navy-900)}.bdetail-tabs button.active{color:var(--blue);border-bottom-color:var(--blue)}.bdetail-body{flex:1;overflow-y:auto;padding:14px 18px 18px;display:grid;gap:10px;align-content:start;background:var(--slate-50)}.bds{border:1px solid var(--slate-200);border-radius:9px;overflow:hidden;background:var(--white)}.bds-title{display:flex;align-items:center;gap:7px;padding:9px 14px;background:var(--slate-50);border-bottom:1px solid var(--slate-200);font-size:.72rem;font-weight:800;color:var(--slate-600);letter-spacing:.06em;text-transform:uppercase}.bds-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px;border-bottom:1px solid var(--slate-100);font-size:.85rem}.bds-row:last-child{border-bottom:0}.bds-row span{color:var(--text-muted);font-weight:600;flex-shrink:0;font-size:.82rem}.bds-row strong{text-align:right;min-width:0;overflow-wrap:anywhere;color:var(--navy-900);font-size:.87rem}.bds-row-total{background:var(--slate-50);border-top:1px solid var(--slate-200)}.bds-row-total span,.bds-row-total strong{font-weight:800;font-size:.9rem!important;color:var(--navy-900)!important}.pax-card{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--slate-200);border-radius:9px;padding:13px 15px;background:var(--white)}.pax-avatar{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:10px;background:var(--blue-100);color:var(--blue);font-size:.88rem;font-weight:800;flex-shrink:0;letter-spacing:-.02em}.pax-info{min-width:0;display:grid;gap:6px}.pax-info strong{font-size:.9rem;color:var(--navy-900)}.pax-tags{display:flex;gap:4px;flex-wrap:wrap}.ptag{display:inline-flex;align-items:center;border-radius:4px;padding:2px 7px;font-size:.68rem;font-weight:700;letter-spacing:.03em;color:var(--slate-600);background:var(--slate-100);border:1px solid var(--slate-200);text-transform:uppercase}.pax-doc{font-size:.76rem;color:var(--text-muted);font-family:ui-monospace,monospace}.vtl{display:grid;gap:0}.vtl-item{display:flex;gap:12px;align-items:flex-start}.vtl-spine{display:flex;flex-direction:column;align-items:center;flex-shrink:0;padding-top:4px;width:16px}.vtl-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--slate-300);background:var(--white);flex-shrink:0;z-index:1}.vtl-dot-cur{border-color:var(--blue);background:var(--blue);box-shadow:0 0 0 3px var(--blue-100)}.vtl-line{flex:1;width:2px;min-height:14px;background:var(--slate-200);margin:3px 0}.vtl-card{flex:1;border:1px solid var(--slate-200);border-radius:9px;padding:11px 14px;background:var(--white);display:grid;gap:5px;margin-bottom:8px}.vtl-latest .vtl-card{border-color:var(--blue-200);background:var(--blue-50)}.vtl-card-hdr{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.vtl-vnum{font-weight:800;font-size:.9rem;color:var(--navy-900)}.vtl-card-meta,.vtl-card-user{display:flex;align-items:center;gap:5px;font-size:.76rem;color:var(--text-muted)}.vtl-price{font-size:.88rem;font-weight:700;color:var(--navy-700);margin-top:2px;border-top:1px solid var(--slate-100);padding-top:6px}.anl-period-tabs{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.anl-period-tab{padding:6px 14px;border-radius:20px;border:1.5px solid var(--slate-200);background:#fff;font-size:.82rem;font-weight:500;color:var(--slate-500);cursor:pointer;transition:all .15s}.anl-period-tab:hover{border-color:#6366f1;color:#6366f1}.anl-period-tab.active{background:#6366f1;border-color:#6366f1;color:#fff}.anl-kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}@media(max-width:1100px){.anl-kpi-row{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.anl-kpi-row{grid-template-columns:1fr 1fr}}.anl-kpi-card{background:#fff;border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm);display:flex;gap:12px;align-items:flex-start}.anl-kpi-icon{width:40px;height:40px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.anl-kpi-body{flex:1;min-width:0}.anl-kpi-label{font-size:.73rem;font-weight:600;color:var(--slate-500);text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.anl-kpi-value{font-size:1.55rem;font-weight:800;color:#0f172a;line-height:1.1}.anl-kpi-sub{display:flex;align-items:center;gap:5px;margin-top:3px;font-size:.75rem;color:var(--slate-500)}.anl-kpi-aside{font-size:.73rem;color:#059669;font-weight:600}.anl-delta{font-size:.72rem;font-weight:700;padding:1px 5px;border-radius:4px}.anl-delta-up{color:#15803d;background:#dcfce7}.anl-delta-dn{color:#dc2626;background:#fee2e2}.anl-trend-panel{padding:0;overflow:hidden}.anl-trend-panel .panel-heading{padding:16px 20px 10px;border-bottom:1px solid var(--slate-100)}.anl-trend-panel svg{padding:10px 16px 0;display:block}.anl-legend{display:flex;gap:14px;align-items:center}.anl-leg-item{display:flex;align-items:center;gap:5px;font-size:.76rem;color:var(--slate-500)}.anl-leg-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}.anl-leg-line{width:18px;height:3px;border-radius:2px;flex-shrink:0}.anl-trend-stats{display:flex;gap:20px;padding:10px 20px 16px;font-size:.78rem;color:var(--slate-500);flex-wrap:wrap;border-top:1px solid var(--slate-100)}.anl-trend-stats strong{color:#0f172a}.anl-chart-empty{text-align:center;padding:40px 0;color:var(--slate-400);font-size:.85rem}.anl-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:900px){.anl-two-col{grid-template-columns:1fr}}.anl-route-table{font-size:.82rem}.anl-route-head,.anl-route-row{display:grid;grid-template-columns:130px 1fr 70px 110px 60px;gap:8px;align-items:center;padding:7px 0}.anl-route-head{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--slate-400);border-bottom:1px solid var(--slate-100);padding-bottom:8px;margin-bottom:2px}.anl-route-row{border-bottom:1px solid var(--slate-50)}.anl-route-row:last-child{border-bottom:none}.anl-route-name{display:flex;align-items:center;gap:5px}.anl-route-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.anl-route-bar-cell{display:flex;flex-direction:column;gap:3px}.anl-agent-table{font-size:.82rem}.anl-agent-head,.anl-agent-row{display:grid;grid-template-columns:24px 1fr 1fr 60px 90px;gap:8px;align-items:center;padding:6px 0}.anl-agent-head{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--slate-400);border-bottom:1px solid var(--slate-100);padding-bottom:8px;margin-bottom:2px}.anl-agent-row{border-bottom:1px solid var(--slate-50)}.anl-agent-row:last-child{border-bottom:none}.anl-rank{font-size:.72rem;font-weight:700;color:var(--slate-400);text-align:center}.anl-agent-name{display:flex;align-items:center;gap:5px;min-width:0}.anl-agent-code{font-weight:600;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.anl-agent-bar-cell{display:flex;flex-direction:column;gap:3px}.anl-channel-tag{font-size:.65rem;font-weight:700;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.anl-channel-tag.web{background:#ede9fe;color:#7c3aed}.anl-channel-tag.inhouse{background:#e0f2fe;color:#0369a1}.anl-val{font-size:.8rem;font-weight:600;color:#0f172a}.anl-val-sm{font-size:.74rem;display:flex;flex-direction:column;gap:1px}.anl-ccy{font-size:.67rem;font-weight:500;color:var(--slate-400)}.anl-profile-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}@media(max-width:1100px){.anl-profile-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.anl-profile-grid{grid-template-columns:1fr}}.anl-pct-track{background:#e2e8f0;border-radius:4px;width:100%;overflow:hidden}.anl-pct-fill{border-radius:4px;transition:width .4s ease}.anl-lt-list{display:flex;flex-direction:column;gap:9px;margin-bottom:14px}.anl-lt-row{display:grid;grid-template-columns:90px 1fr 44px 60px;gap:8px;align-items:center;font-size:.79rem}.anl-lt-bar-wrap{min-width:0}.anl-lt-label{font-weight:500;color:var(--slate-600, #475569)}.anl-lt-pct{font-weight:700;color:#0f172a;text-align:right}.anl-lt-n{font-size:.72rem;color:var(--slate-400);text-align:right}.anl-insight{font-size:.78rem;color:var(--slate-500);border-top:1px solid var(--slate-100);padding-top:10px}.anl-insight strong{color:#6366f1;font-size:.88rem}.anl-nat-list{display:flex;flex-direction:column;gap:8px}.anl-nat-row{display:grid;grid-template-columns:22px 38px 1fr 44px 55px;gap:6px;align-items:center;font-size:.8rem}.anl-nat-flag{font-size:1rem}.anl-nat-code{font-weight:700;font-size:.77rem}.anl-nat-bar-wrap{min-width:0}.anl-nat-pct{font-weight:600;color:#0f172a;text-align:right;font-size:.77rem}.anl-subsection{margin-bottom:18px}.anl-subsection:last-child{margin-bottom:0}.anl-sub-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--slate-400);margin-bottom:8px}.anl-chan-row{display:flex;align-items:center;gap:8px;margin-bottom:7px;font-size:.8rem}.anl-pax-type-label{width:44px;font-weight:600;font-size:.77rem;flex-shrink:0}.anl-mod-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.anl-mod-stat{background:var(--slate-100);border-radius:8px;padding:12px;text-align:center}.anl-mod-val{font-size:1.4rem;font-weight:800;color:#6366f1}.anl-mod-label{font-size:.72rem;color:var(--slate-500);margin-top:3px}.cm-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cm-refresh-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:7px;font-size:.8rem;font-weight:600;border:1px solid var(--slate-200);background:var(--white);color:var(--text-muted);cursor:pointer;transition:all .15s}.cm-refresh-btn.active{border-color:var(--blue);color:var(--blue);background:var(--blue-50)}.cm-config-panel{background:var(--navy-900);border-radius:var(--radius);padding:16px 20px;color:#ffffffe6}.cm-config-title{display:flex;align-items:center;gap:7px;font-size:.82rem;font-weight:700;margin-bottom:14px;opacity:.8;text-transform:uppercase;letter-spacing:.05em}.cm-config-row{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap}.cm-config-row label{display:flex;flex-direction:column;gap:5px;font-size:.78rem;color:#ffffffa6}.cm-config-row input{width:120px;padding:6px 10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:.88rem}.cm-config-hint{display:flex;align-items:center;gap:5px;font-size:.75rem;color:#ffffff80;margin-left:auto}.cm-toolbar{display:flex;flex-direction:column;gap:10px;background:var(--white);border:1px solid var(--slate-200);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow-sm)}.cm-presets{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cm-preset-btn{padding:5px 12px;border-radius:6px;border:1px solid var(--slate-200);background:var(--white);font-size:.78rem;font-weight:600;color:var(--slate-700);cursor:pointer;transition:all .15s}.cm-preset-btn:hover{border-color:var(--blue);color:var(--blue)}.cm-preset-btn.active{border-color:var(--blue);background:var(--blue);color:#fff}.cm-date-input{padding:5px 10px;border:1px solid var(--slate-200);border-radius:6px;font-size:.8rem;color:var(--text);background:var(--white)}.cm-date-sep{color:var(--text-muted);font-size:.85rem}.cm-route-chips{display:flex;gap:6px;flex-wrap:wrap}.cm-chip{padding:4px 11px;border-radius:20px;border:1px solid var(--slate-200);background:var(--white);font-size:.75rem;font-weight:700;color:var(--slate-700);cursor:pointer;transition:all .15s;letter-spacing:.02em}.cm-chip:hover{border-color:var(--navy-700);color:var(--navy-700)}.cm-chip.active{border-color:var(--navy-900);background:var(--navy-900);color:#fff}.cm-last-refresh{display:flex;align-items:center;gap:4px;font-size:.72rem;color:var(--text-muted);margin-left:auto}.cm-departures{display:flex;flex-direction:column;gap:10px}.cm-loading,.cm-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:var(--text-muted);background:var(--white);border:1px solid var(--slate-200);border-radius:var(--radius);font-size:.9rem}.cm-card{background:var(--white);border:1px solid var(--slate-200);border-left:4px solid var(--slate-200);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .15s}.cm-card:hover,.cm-card-open{box-shadow:var(--shadow)}.cm-card-main{width:100%;display:grid;grid-template-columns:220px 1fr 1fr 180px 28px;align-items:center;gap:0;padding:0;background:none;border:none;cursor:pointer;text-align:left}.cm-card-main>*{padding:14px 16px;border-right:1px solid var(--slate-100)}.cm-card-main>*:last-child{border-right:none;padding:14px 10px}.cm-card-route{display:flex;flex-direction:column;gap:5px}.cm-route-badge{display:flex;align-items:center;gap:6px}.cm-port{font-size:1.05rem;font-weight:800;color:var(--navy-900);letter-spacing:.03em}.cm-route-arrow{color:var(--text-muted)}.cm-card-time{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-muted)}.cm-card-time strong{color:var(--text);font-size:.82rem}.cm-vessel{background:var(--slate-100);color:var(--slate-700);font-size:.68rem;font-weight:700;padding:2px 6px;border-radius:4px}.cm-card-badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:2px}.cm-badge{display:inline-flex;align-items:center;gap:3px;font-size:.68rem;font-weight:700;padding:2px 7px;border-radius:20px;text-transform:uppercase;letter-spacing:.03em}.cm-badge-today{background:#dbeafe;color:#1d4ed8}.cm-badge-boarding{background:#fef9c3;color:#854d0e;animation:sp-pulse 1.5s ease-in-out infinite}.cm-badge-past{background:var(--slate-100);color:var(--slate-500)}.cm-badge-hot{background:#fef3c7;color:#b45309}.cm-card-col{display:flex;flex-direction:column;gap:5px}.cm-col-hdr{display:flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.cm-col-sub{font-size:.72rem;color:var(--text-muted)}.cm-card-col-rev{justify-content:center}.cm-rev-amt{font-size:.88rem;font-weight:700;color:var(--navy-800)}.cm-rev-amt span{font-size:.7rem;font-weight:500;color:var(--text-muted);margin-left:2px}.cm-rev-can{font-size:.72rem;color:var(--red);font-weight:600}.cm-card-chevron{display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.cm-obar{display:flex;flex-direction:column;gap:3px}.cm-obar-track{height:7px;background:var(--slate-100);border-radius:4px;overflow:hidden}.cm-obar-fill{height:100%;border-radius:4px;transition:width .3s ease}.cm-obar-label{display:flex;align-items:center;gap:4px;font-size:.8rem;font-weight:700}.cm-obar-max{font-size:.7rem;font-weight:400;color:var(--text-muted)}.cm-obar-tag{font-size:.68rem;font-weight:600;background:var(--slate-100);color:var(--slate-500);padding:1px 5px;border-radius:3px;margin-left:4px}.cm-segbar{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.cm-segbar-track{height:10px;background:var(--slate-100);border-radius:5px;overflow:hidden;display:flex}.cm-segbar-seg{height:100%;transition:width .3s ease}.cm-segbar-seg:first-child{border-radius:5px 0 0 5px}.cm-segbar-seg:last-child{border-radius:0 5px 5px 0}.cm-segbar-empty{width:100%;background:var(--slate-100)}.cm-segbar-legend{display:flex;gap:10px;flex-wrap:wrap}.cm-seg-item{display:flex;align-items:center;gap:4px;font-size:.72rem;color:var(--text-muted)}.cm-seg-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.cm-card-detail{border-top:1px solid var(--slate-100);background:var(--slate-50);padding:20px 20px 16px}.cm-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.cm-detail-block{background:var(--white);border:1px solid var(--slate-200);border-radius:8px;padding:14px 16px}.cm-detail-title{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:700;color:var(--navy-800);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}.cm-detail-rows{display:flex;flex-direction:column;gap:5px}.cm-dr{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;padding:3px 0;border-bottom:1px solid var(--slate-50)}.cm-dr span{color:var(--text-muted)}.cm-dr strong{font-weight:700;color:var(--text)}.cm-dr-total{margin-top:4px;padding-top:6px;border-top:1px solid var(--slate-200)!important;border-bottom:none!important}.cm-dr-total strong{color:var(--navy-900);font-size:.88rem}.cm-fare-split{margin-top:14px;padding-top:12px;border-top:1px dashed var(--slate-200)}.cm-fare-split-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px}.cm-fare-p{color:#0ea5e9!important;font-weight:600!important}.cm-fare-pr{color:#f97316!important;font-weight:600!important}@media(max-width:900px){.cm-card-main{grid-template-columns:1fr}.cm-card-main>*{border-right:none;border-bottom:1px solid var(--slate-100);padding:10px 14px}.cm-card-main>*:last-child{border-bottom:none}.cm-card-chevron{display:none}.cm-detail-grid{grid-template-columns:1fr}}.anl-section{margin-bottom:28px}.anl-section-title{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#1e3a8a;margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid #e0e7ff}.anl-adv-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:900px){.anl-adv-grid{grid-template-columns:1fr}}.anl-adv-card{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;padding:14px 16px}.anl-adv-card-title{font-size:.78rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.anl-insight-box{background:#ede9fe;border-left:3px solid #6366f1;padding:8px 12px;border-radius:0 6px 6px 0;font-size:.82rem;color:#3730a3;line-height:1.55}.anl-tag-web{background:#ede9fe;color:#7c3aed;font-size:.7rem;font-weight:700;padding:1px 5px;border-radius:3px;text-transform:uppercase}.anl-tag-inh{background:#e0f2fe;color:#0369a1;font-size:.7rem;font-weight:700;padding:1px 5px;border-radius:3px;text-transform:uppercase}.anl-conclusions{display:flex;flex-direction:column;gap:10px}.anl-conclusion-item{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;border-radius:8px;line-height:1.55;font-size:.88rem}.anl-conclusion-icon{font-size:1.25rem;flex-shrink:0;margin-top:1px}.anl-conclusion-text{flex:1;color:#334155}.anl-conclusion-good{background:#f0fdf4;border-left:3px solid #16a34a}.anl-conclusion-bad{background:#fef2f2;border-left:3px solid #dc2626}.anl-conclusion-warn{background:#fff7ed;border-left:3px solid #f97316}.anl-conclusion-info{background:#f0f4ff;border-left:3px solid #6366f1}.yc-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:24px;border-bottom:2px solid #e2e8f0;margin-bottom:24px}.yc-kicker{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#0369a1;margin-bottom:6px}.yc-title{font-size:1.75rem;font-weight:900;color:#0f172a;margin-bottom:6px;letter-spacing:-.03em;line-height:1.1}.yc-sub{font-size:.875rem;color:#64748b;max-width:560px;line-height:1.5}.yc-year-pills{display:flex;gap:8px;align-items:center;flex-shrink:0}.yc-pill{padding:10px 20px;border-radius:8px;border:2px solid #e2e8f0;background:#f8fafc;color:#64748b;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .15s}.yc-pill:hover{border-color:#94a3b8;color:#334155}.yc-pill.active{color:#fff!important;box-shadow:0 2px 8px #00000026}.yc-scorecard{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;margin-bottom:20px}.yc-sc-header{display:flex;align-items:center;background:#0f172a;padding:12px 20px;gap:0}.yc-sc-metric-col{flex:0 0 220px}.yc-sc-yr-col{flex:1;text-align:center}.yc-sc-delta-col{flex:0 0 160px;text-align:center}.yc-sc-yr-badge{display:inline-block;padding:4px 16px;border-radius:20px;color:#fff;font-size:.8rem;font-weight:800;letter-spacing:.04em}.yc-sc-row{display:flex;align-items:center;padding:14px 20px;gap:0;border-bottom:1px solid #f1f5f9;transition:background .1s}.yc-sc-row:last-child{border-bottom:none}.yc-sc-row:hover{background:#f8fafc}.yc-sc-row-alt{background:#fafbff}.yc-sc-row-alt:hover{background:#f1f5ff}.yc-sc-icon{font-size:1.1rem;margin-right:10px;flex-shrink:0}.yc-sc-label{font-size:.875rem;font-weight:700;color:#334155;text-transform:uppercase;letter-spacing:.04em}.yc-sc-val{font-size:1.15rem;font-weight:900;letter-spacing:-.02em;display:block;text-align:center}.yc-sc-chg{display:inline-block;padding:4px 10px;border-radius:6px;font-size:.85rem;font-weight:800}.yc-insights{background:#eff6ff;border:1px solid #bfdbfe;border-left:4px solid #1e3a8a;border-radius:0 10px 10px 0;padding:16px 20px;margin-bottom:20px}.yc-insights-title{font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:#1e3a8a;margin-bottom:10px}.yc-insights-list{display:flex;flex-direction:column;gap:6px}.yc-insight-item{font-size:.9rem;color:#1e3a8a;line-height:1.55;padding:2px 0}.yc-charts-stack{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.yc-chart-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px 20px 14px}.yc-chart-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.yc-chart-title{font-size:1rem;font-weight:800;color:#0f172a;letter-spacing:-.01em}.yc-chart-sub{font-size:.78rem;color:#94a3b8;margin-top:3px}.yc-chart-legend{display:flex;gap:16px;flex-wrap:wrap}.yc-legend-item{display:flex;align-items:center;gap:6px;font-size:.8rem}.yc-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.yc-legend-box{width:14px;height:10px;border-radius:3px;flex-shrink:0}.yc-legend-val{color:#64748b;font-weight:600}.yc-delta-section{margin-bottom:20px}.yc-section-hdr{font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:#64748b;padding-bottom:10px;border-bottom:2px solid #e2e8f0;margin-bottom:14px}.yc-delta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.yc-delta-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.yc-delta-card-title{font-size:1.1rem;font-weight:900;color:#0f172a;margin-bottom:16px;letter-spacing:-.02em}.yc-delta-row{margin-bottom:12px}.yc-delta-row:last-child{margin-bottom:0}.yc-delta-row-label{display:block;font-size:.72rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.07em;margin-bottom:5px}.yc-table-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.yc-table{width:100%;border-collapse:collapse;font-size:.875rem}.yc-table thead tr{background:#0f172a}.yc-table thead th{padding:12px 14px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;text-align:right;white-space:nowrap}.yc-table thead th:first-child{text-align:left;border-radius:0}.yc-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .1s}.yc-table tbody tr:hover{background:#f8fafc}.yc-table tbody td{padding:11px 14px;text-align:right;color:#475569;font-size:.875rem}.yc-table td.yc-tbl-month{text-align:left;font-weight:700;color:#0f172a;font-size:.9rem}.yc-table tr.yc-tbl-total{background:#f0f4ff!important}.yc-table tr.yc-tbl-total td{font-weight:900;color:#1e3a8a;border-top:2px solid #1e3a8a;font-size:.9rem;padding:14px}@media(max-width:1100px){.yc-sc-metric-col{flex:0 0 160px}.yc-delta-grid{grid-template-columns:1fr}}.yc-heatmap-table{width:100%;border-collapse:collapse;font-size:.85rem}.yc-heatmap-table thead tr{background:#0f172a}.yc-heatmap-table thead th{padding:10px 14px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff;text-align:center;white-space:nowrap}.yc-heatmap-table thead th:first-child{text-align:left}.yc-heatmap-table tbody tr{border-bottom:1px solid #f1f5f9}.yc-heatmap-table tbody tr:hover{background:#f8fafc!important}.yc-hm-month{padding:10px 14px;font-weight:700;color:#0f172a;text-align:left}.yc-hm-cell{padding:8px 14px;text-align:center;transition:background .2s}.yc-hm-val{padding:8px 14px;text-align:center;font-weight:600}.yc-hm-null{padding:8px 14px;text-align:center;color:#cbd5e1}.yc-hm-total{background:#f0f4ff!important}.yc-hm-total td{padding:12px 14px;text-align:center;font-weight:900;border-top:2px solid #1e3a8a}.yc-hm-total td:first-child{text-align:left;color:#1e3a8a}.ri-kpi-strip{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;margin-bottom:20px}.ri-kpi{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;border-top:3px solid #e2e8f0}.ri-kpi-accent{border-top-color:#1e3a8a}.ri-kpi-warn{border-top-color:#dc2626}.ri-kpi-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin-bottom:4px}.ri-kpi-val{font-size:1.1rem;font-weight:900;color:#0f172a;line-height:1.2}.ri-route-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.ri-route-pill{padding:7px 14px;border-radius:6px;border:2px solid #e2e8f0;background:#f8fafc;color:#475569;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .12s}.ri-route-pill:hover{opacity:.85}.ri-route-pill-all{background:#0f172a;color:#fff;border-color:#0f172a}.ri-route-pill-active{box-shadow:0 2px 8px #0003}.ri-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.ri-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-bottom:14px}.ri-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:18px 20px}.ri-panel-full{margin-bottom:14px}.ri-panel-title{font-size:.95rem;font-weight:800;color:#0f172a;margin-bottom:3px;letter-spacing:-.01em}.ri-panel-sub{font-size:.75rem;color:#94a3b8;margin-bottom:14px}.ri-chart-mini-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin-bottom:10px}.ri-hbar-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;transition:opacity .15s}.ri-hbar-row:last-child{margin-bottom:0}.ri-hbar-label{font-size:.82rem;font-weight:800;min-width:72px;flex-shrink:0}.ri-hbar-track{flex:1;height:16px;background:#f1f5f9;border-radius:4px;overflow:visible;position:relative}.ri-hbar-fill{height:100%;border-radius:4px;transition:width .4s}.ri-hbar-val{font-size:.8rem;font-weight:700;min-width:80px;text-align:right;color:#334155}.ri-stack-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;transition:opacity .15s}.ri-stack-label{font-size:.82rem;font-weight:800;min-width:72px;flex-shrink:0}.ri-stack-bar{flex:1;height:20px;border-radius:4px;overflow:hidden;display:flex}.ri-stack-val{font-size:.78rem;color:#64748b;min-width:70px;text-align:right}.ri-stack-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid #f1f5f9}.ri-table{width:100%;border-collapse:collapse;font-size:.8rem}.ri-table thead tr{background:#0f172a}.ri-table thead th{padding:10px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff;white-space:nowrap}.ri-table thead th.r{text-align:right}.ri-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .1s}.ri-table tbody tr:hover{background:#f8fafc}.ri-table tbody td{padding:10px;color:#334155;vertical-align:middle}.ri-table td.r{text-align:right}.ri-table td.fw{font-weight:700}.ri-table td.muted{color:#94a3b8}.ri-agent-grid{display:flex;flex-direction:column;gap:6px}.ri-agent-row{display:flex;align-items:center;gap:10px}.ri-agent-rank{font-size:.7rem;color:#94a3b8;min-width:18px;font-weight:700}.ri-agent-name{font-size:.82rem;font-weight:700;color:#334155;min-width:100px}.ri-agent-bar-wrap{flex:1;height:10px;background:#f1f5f9;border-radius:4px;overflow:hidden}.ri-agent-bar{height:100%;border-radius:4px;opacity:.85}.ri-agent-val{font-size:.78rem;font-weight:700;color:#475569;min-width:50px;text-align:right}@media(max-width:1200px){.ri-kpi-strip{grid-template-columns:repeat(4,1fr)}.ri-grid-2,.ri-grid-3{grid-template-columns:1fr}}.inv-layout{display:grid;grid-template-columns:1fr 380px;gap:20px;align-items:start}.inv-left,.inv-right{display:flex;flex-direction:column;gap:0}.inv-period-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.inv-select{border:1.5px solid #e2e8f0;border-radius:7px;padding:8px 12px;font-size:.875rem;color:#0f172a;background:#fff;font-weight:600}.inv-select-full{width:100%;margin-bottom:4px}.inv-half-toggle{display:flex;border:1.5px solid #e2e8f0;border-radius:7px;overflow:hidden}.inv-half-btn{padding:8px 14px;border:none;background:#f8fafc;color:#64748b;font-size:.82rem;font-weight:700;cursor:pointer}.inv-half-btn.active{background:#1e3a8a;color:#fff}.inv-period-display{font-size:.95rem;font-weight:800;color:#1e3a8a;margin-bottom:4px}.inv-period-dates{font-size:.78rem;font-weight:500;color:#94a3b8}.inv-preview-loading{display:flex;align-items:center;gap:8px;padding:16px;color:#64748b;font-size:.85rem}.inv-preview-box{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px;margin-top:14px}.inv-preview-title{font-size:.85rem;font-weight:800;color:#0f172a;margin-bottom:12px}.inv-preview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.inv-preview-stat{background:#f8fafc;border-radius:8px;padding:10px 12px;border-left:3px solid #1e3a8a}.inv-preview-stat-accent{border-left-color:#b91c1c}.inv-preview-stat-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin-bottom:4px}.inv-preview-stat-val{font-size:1.1rem;font-weight:900;color:#0f172a}.inv-preview-stat-sub{font-size:.7rem;color:#94a3b8;margin-top:2px}.inv-preview-meta{font-size:.75rem;color:#94a3b8;margin-top:12px;padding-top:10px;border-top:1px solid #f1f5f9}.inv-actions{margin-top:18px}.inv-bulk-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:18px;margin-bottom:14px}.inv-bulk-title{font-size:.9rem;font-weight:800;color:#0f172a;margin-bottom:6px}.inv-bulk-sub{font-size:.8rem;color:#64748b;line-height:1.5;margin-bottom:14px}.inv-bulk-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;padding:11px;border:none;border-radius:8px;background:#b91c1c;color:#fff;font-size:.875rem;font-weight:700;cursor:pointer;transition:filter .12s}.inv-bulk-btn:hover:not(:disabled){filter:brightness(1.1)}.inv-bulk-btn:disabled{opacity:.5;cursor:not-allowed}.inv-bulk-progress{margin-top:12px}.inv-bulk-progress-bar{height:6px;background:#f1f5f9;border-radius:3px;overflow:hidden}.inv-bulk-progress-fill{height:100%;background:#b91c1c;transition:width .3s}.inv-bulk-progress-label{font-size:.72rem;color:#94a3b8;text-align:center;margin-top:5px}.inv-info-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:18px}.inv-info-title{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:10px}.inv-info-text p{font-size:.8rem;color:#475569;line-height:1.6;margin-bottom:8px}.inv-info-text p:last-child{margin-bottom:0}.inv-info-text strong{color:#1e3a8a}.inv-info-text code{background:#e2e8f0;padding:1px 5px;border-radius:3px;font-size:.75rem}@media(max-width:1100px){.inv-layout{grid-template-columns:1fr}}.inv-subnav{display:flex;gap:6px;margin-bottom:18px;border-bottom:1.5px solid #e2e8f0}.inv-subnav-btn{display:flex;align-items:center;gap:7px;padding:10px 16px;border:none;background:transparent;font-size:.85rem;font-weight:700;color:#64748b;cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1.5px;transition:color .12s,border-color .12s}.inv-subnav-btn:hover{color:#1e3a8a}.inv-subnav-btn.active{color:#1e3a8a;border-bottom-color:#1e3a8a}.inv-comm-panel{max-width:920px}.inv-comm-intro{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:16px 18px;margin-bottom:18px}.inv-comm-intro-title{font-size:.85rem;font-weight:800;color:#0f172a;margin-bottom:6px}.inv-comm-intro-text{font-size:.8rem;color:#475569;line-height:1.6}.inv-comm-intro-text strong{color:#1e3a8a}.inv-comm-add{display:flex;gap:8px;margin-bottom:14px;align-items:center}.inv-comm-input{border:1.5px solid #e2e8f0;border-radius:7px;padding:9px 12px;font-size:.85rem;color:#0f172a;background:#fff;font-weight:600}.inv-comm-input-rate{width:90px}.inv-comm-add-btn{display:flex;align-items:center;gap:6px;padding:9px 16px;border:none;border-radius:7px;background:#1e3a8a;color:#fff;font-size:.85rem;font-weight:700;cursor:pointer;white-space:nowrap}.inv-comm-add-btn:hover:not(:disabled){filter:brightness(1.1)}.inv-comm-add-btn:disabled{opacity:.5;cursor:not-allowed}.inv-comm-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.inv-comm-empty{padding:28px;text-align:center;color:#94a3b8;font-size:.85rem}table.inv-comm-table{width:100%;border-collapse:collapse}table.inv-comm-table thead tr{background:#f8fafc}table.inv-comm-table thead th{padding:10px 16px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;text-align:left;border-bottom:1px solid #e2e8f0}table.inv-comm-table tbody td{padding:10px 16px;font-size:.85rem;color:#1e293b;border-bottom:1px solid #f1f5f9;vertical-align:middle}table.inv-comm-table tbody tr:last-child td{border-bottom:none}table.inv-comm-table td.mono{font-family:monospace;font-weight:700}.inv-comm-rate-badge{display:inline-block;padding:3px 10px;border-radius:6px;background:#fef3c7;color:#92400e;font-weight:800;font-size:.85rem}.inv-comm-sub{color:#94a3b8;font-size:.78rem}.inv-comm-actions{display:flex;gap:6px}.inv-comm-icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;color:#64748b;cursor:pointer;transition:all .12s}.inv-comm-icon-btn:hover:not(:disabled){background:#f1f5f9;color:#1e293b}.inv-comm-icon-btn.save{color:#15803d;border-color:#bbf7d0}.inv-comm-icon-btn.save:hover:not(:disabled){background:#f0fdf4}.inv-comm-icon-btn.danger{color:#b91c1c;border-color:#fecaca}.inv-comm-icon-btn.danger:hover:not(:disabled){background:#fef2f2}.inv-comm-icon-btn:disabled{opacity:.5;cursor:not-allowed}.gsa-page{max-width:1380px}.gsa-page-header{align-items:center}.gsa-tabs{display:flex;gap:7px;margin:0 0 16px;padding:5px;width:max-content;border:1px solid #dbe2ea;border-radius:11px;background:#fff}.gsa-tabs button{display:flex;align-items:center;gap:7px;padding:9px 14px;border:0;border-radius:8px;background:transparent;color:#64748b;font-weight:750;cursor:pointer}.gsa-tabs button.active{background:#1e3a8a;color:#fff}.gsa-settings{overflow:hidden;border:1px solid #dbe2ea;border-radius:16px;background:#fff;box-shadow:0 8px 24px #0f172a0b}.gsa-settings-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:21px 22px;border-bottom:1px solid #e5e7eb}.gsa-settings-head h2{margin:0 0 4px;color:#0f172a;font-size:1rem}.gsa-settings-head p{margin:0;color:#64748b;font-size:.72rem}.gsa-settings-head button{display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#334155;font-weight:700;cursor:pointer}.gsa-rule-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:18px 22px;background:#f8fafc}.gsa-rule-cards>div{position:relative;padding:13px 45px 13px 14px;border:1px solid #dbe2ea;border-radius:10px;background:#fff}.gsa-rule-cards strong,.gsa-rule-cards span{display:block}.gsa-rule-cards strong{color:#172f73;font-size:.78rem}.gsa-rule-cards span{margin-top:3px;color:#64748b;font-size:.65rem}.gsa-rule-cards b{position:absolute;right:13px;top:50%;translate:0 -50%;color:#0f172a;font-size:1.2rem}.gsa-settings-tools{display:flex;align-items:center;gap:10px;padding:15px 22px;border-top:1px solid #eef2f7;border-bottom:1px solid #eef2f7}.gsa-settings-tools label{display:flex;align-items:center;gap:8px;flex:1;max-width:430px;padding:0 11px;border:1px solid #cbd5e1;border-radius:8px;color:#64748b}.gsa-settings-tools input{width:100%;padding:9px 0;border:0;outline:0;background:transparent}.gsa-settings-tools select,.gsa-settings-table select{padding:8px 28px 8px 9px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#172f73;font-weight:750}.gsa-settings-tools>span{margin-left:auto;color:#64748b;font-size:.7rem;font-weight:700}.gsa-settings-table{position:relative;max-height:590px;overflow:auto}.gsa-settings-table table{width:100%;border-collapse:collapse}.gsa-settings-table th{position:sticky;top:0;z-index:1;padding:10px 15px;background:#f8fafc;color:#64748b;font-size:.64rem;text-align:left;text-transform:uppercase;letter-spacing:.05em}.gsa-settings-table td{padding:10px 15px;border-top:1px solid #eef2f7;color:#334155;font-size:.72rem}.gsa-settings-table td:last-child{display:flex;align-items:center;gap:8px}.gsa-type{display:inline-block;padding:4px 7px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:.6rem;font-weight:800}.gsa-type.inhouse{background:#fef3c7;color:#92400e}.gsa-settings-loading{display:flex;justify-content:center;align-items:center;gap:9px;padding:30px;color:#64748b}.gsa-kicker{display:flex;align-items:center;gap:6px;margin-bottom:5px;color:#1d4ed8;font-size:.7rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.gsa-currency{padding:9px 14px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;color:#1e3a8a;font-size:.8rem;font-weight:900;letter-spacing:.08em}.gsa-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:start}.gsa-workflow{padding:22px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 8px 24px #0f172a0b}.gsa-flow{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:18px;border:1px solid #dbeafe;border-radius:13px;background:linear-gradient(135deg,#f8fbff,#eff6ff)}.gsa-flow>svg{color:#3b82f6}.gsa-flow section:last-child{text-align:right}.gsa-flow section>span{display:block;margin-bottom:5px;color:#64748b;font-size:.62rem;font-weight:850;letter-spacing:.1em}.gsa-flow strong{display:block;color:#0f172a;font-size:.91rem}.gsa-flow p{margin:4px 0;color:#475569;font-size:.7rem}.gsa-flow small{color:#64748b;font-size:.65rem;line-height:1.45}.gsa-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px;padding-top:20px;border-top:1px solid #eef2f7}.gsa-actions button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border:1px solid #172f73;border-radius:10px;background:#1e3a8a;color:#fff;font-weight:800;cursor:pointer;box-shadow:0 7px 16px #1e3a8a33;transition:background .15s,box-shadow .15s,transform .15s}.gsa-actions button:hover:not(:disabled){background:#172f73;box-shadow:0 9px 20px #1e3a8a47;transform:translateY(-1px)}.gsa-actions button:disabled{border-color:#29458e;background:#29458e;color:#dbeafe;opacity:1;cursor:wait;box-shadow:0 5px 12px #1e3a8a24}.gsa-actions .gsa-preview-btn{border-color:#1e3a8a;background:#1e3a8a;color:#fff}.gsa-actions .rp-btn-download{border-color:#102765;background:#102765;color:#fff}.gsa-actions .rp-btn-download:hover:not(:disabled){background:#0b1d4e}.gsa-actions .rp-btn-download:disabled{border-color:#29458e;background:#29458e;color:#dbeafe;opacity:1}.gsa-preview{margin-top:18px;padding:17px;border:1px solid #dbeafe;border-radius:13px;background:#fbfdff}.gsa-preview-title{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid #e5edf8;color:#16a34a}.gsa-preview-title strong,.gsa-preview-title span{display:block}.gsa-preview-title strong{color:#0f172a;font-size:.85rem}.gsa-preview-title span{margin-top:2px;color:#64748b;font-size:.68rem}.gsa-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}.gsa-metrics>div{padding:12px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.gsa-metrics span,.gsa-metrics small{display:block;color:#94a3b8;font-size:.63rem}.gsa-metrics strong{display:inline-block;margin:6px 4px 1px 0;color:#0f172a;font-size:1.08rem;letter-spacing:-.025em}.gsa-metrics .primary{border-color:#1e3a8a;background:linear-gradient(145deg,#1e3a8a,#2563eb)}.gsa-metrics .primary span,.gsa-metrics .primary small{color:#bfdbfe}.gsa-metrics .primary strong{color:#fff}.gsa-preview-foot{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.gsa-preview-foot span{padding:5px 8px;border-radius:999px;background:#eef2f7;color:#64748b;font-size:.64rem;font-weight:650}.gsa-info{position:sticky;top:20px;padding:21px;border:1px solid #dbe2ea;border-top:4px solid #1e3a8a;border-radius:14px;background:#fff;box-shadow:0 6px 18px #0f172a0a}.gsa-info-icon{display:grid;place-items:center;width:43px;height:43px;margin-bottom:14px;border-radius:11px;background:#eff6ff;color:#1e3a8a}.gsa-info h3{margin:0 0 6px;color:#0f172a;font-size:.95rem}.gsa-info>p{margin:0;color:#64748b;font-size:.72rem;line-height:1.5}.gsa-info ul{display:flex;flex-direction:column;gap:9px;margin:17px 0;padding:16px 0;border-top:1px solid #eef2f7;border-bottom:1px solid #eef2f7;list-style:none}.gsa-info li{display:flex;align-items:center;gap:8px;color:#475569;font-size:.71rem}.gsa-info li svg{color:#16a34a}.gsa-info-note{display:flex;align-items:center;justify-content:space-between;padding:10px;border-radius:9px;background:#f8fafc}.gsa-info-note strong{color:#64748b;font-size:.65rem}.gsa-info-note span{color:#1e3a8a;font-size:.7rem;font-weight:850}.sidebar-scope{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:14px;padding:7px 9px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#ffffff12;color:#ffffffd1;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.brand-small{flex-direction:column;align-items:stretch;gap:0}.brand-small .sidebar-logo{align-self:flex-start}.inv-header-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:390px}.inv-header-badges span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #dbeafe;border-radius:999px;background:#eff6ff;color:#1e40af;font-size:.72rem;font-weight:750;white-space:nowrap}.inv-subnav{width:max-content;max-width:100%;padding:5px;gap:4px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;box-shadow:0 1px 2px #0f172a0a}.inv-subnav-btn{margin:0;border:0;border-radius:8px;padding:9px 14px}.inv-subnav-btn:hover{background:#f8fafc}.inv-subnav-btn.active{border:0;color:#fff;background:#1e3a8a;box-shadow:0 4px 10px #1e3a8a2e}.inv-layout{grid-template-columns:minmax(0,1fr) 360px;gap:22px}.inv-workflow-card{padding:22px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 8px 24px #0f172a0b}.inv-step-heading{display:flex;align-items:center;gap:11px;margin-bottom:14px}.inv-step-heading>span{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#1e3a8a;color:#fff;font-size:.76rem;font-weight:900;box-shadow:0 4px 10px #1e3a8a38}.inv-step-heading strong{display:block;color:#0f172a;font-size:.9rem;letter-spacing:-.01em}.inv-step-heading small{display:block;margin-top:2px;color:#94a3b8;font-size:.72rem;line-height:1.35}.inv-step-heading-spaced{margin-top:25px;padding-top:22px;border-top:1px solid #eef2f7}.inv-period-row{display:grid;grid-template-columns:110px minmax(150px,1fr) auto;gap:9px}.inv-select{min-height:42px;border-color:#dbe2ea;border-radius:9px;outline:none;transition:border-color .15s,box-shadow .15s}.inv-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61c}.inv-half-toggle{min-height:42px;border-color:#dbe2ea;border-radius:9px}.inv-half-btn{min-width:92px;transition:background .15s,color .15s}.inv-half-btn:not(.active):hover{background:#eef2ff;color:#1e3a8a}.inv-period-display{display:flex;align-items:center;gap:8px;min-height:39px;padding:9px 12px;margin-top:2px;border-radius:9px;background:#eff6ff;color:#1e3a8a;font-size:.88rem}.inv-agency-count{float:right;color:#64748b;font-weight:650;text-transform:none;letter-spacing:0}.inv-agency-search{display:flex;align-items:center;gap:8px;height:42px;margin-bottom:8px;padding:0 12px;border:1.5px solid #dbe2ea;border-radius:9px;background:#fff;color:#94a3b8}.inv-agency-search:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61c}.inv-agency-search input{width:100%;border:0;outline:0;color:#0f172a;background:transparent;font-size:.86rem;font-weight:600}.inv-agency-search input::placeholder{color:#a8b2c1;font-weight:500}.inv-preview-loading{margin-top:14px;border:1px dashed #cbd5e1;border-radius:11px;background:#f8fafc}.inv-preview-box{margin-top:16px;padding:18px;border-radius:13px;border-color:#dbe2ea;background:linear-gradient(180deg,#fff,#fbfdff)}.inv-preview-title{display:flex;align-items:center;min-height:32px;padding-bottom:11px;border-bottom:1px solid #eef2f7;font-size:.9rem}.inv-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.inv-preview-stat{min-height:88px;padding:11px 12px;border:1px solid #e8edf3;border-left:0;border-radius:10px;background:#fff}.inv-preview-stat-accent{color:#fff;border-color:#1e3a8a;background:linear-gradient(145deg,#1e3a8a,#1d4ed8)}.inv-preview-stat-accent .inv-preview-stat-label,.inv-preview-stat-accent .inv-preview-stat-sub{color:#bfdbfe}.inv-preview-stat-accent .inv-preview-stat-val{color:#fff}.inv-preview-stat-val{font-size:1.25rem;letter-spacing:-.025em}.inv-actions{margin-top:22px;padding-top:20px;border-top:1px solid #eef2f7}.inv-actions .rp-btn-download{width:100%;min-height:46px;justify-content:center;border-radius:10px;box-shadow:0 7px 16px #1e3a8a2e}.inv-right{position:sticky;top:20px}.inv-bulk-panel,.inv-info-panel{border-radius:14px;box-shadow:0 6px 18px #0f172a09}.inv-bulk-panel{border-top:4px solid #b91c1c;padding:20px}.inv-bulk-title{font-size:1rem}.inv-bulk-btn{min-height:44px;border-radius:10px;box-shadow:0 6px 14px #b91c1c24}.inv-bulk-progress-bar{height:8px}.inv-info-panel{background:#fff}.rp-msg{margin-top:12px;border-radius:9px}.intinv-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.intinv-main{padding:22px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 8px 24px #0f172a0b}.intinv-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #eef2f7}.intinv-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:12px;background:linear-gradient(145deg,#1e3a8a,#2563eb);color:#fff;box-shadow:0 7px 16px #1e3a8a33}.intinv-heading h2{margin:1px 0 4px;color:#0f172a;font-size:1.05rem;letter-spacing:-.015em}.intinv-heading p{max-width:680px;margin:0;color:#64748b;font-size:.79rem;line-height:1.55}.intinv-users{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.intinv-user{display:flex;align-items:center;gap:9px;min-height:52px;padding:8px 10px;border:1px solid #dbe2ea;border-radius:10px;background:#fff;color:#334155;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s,transform .15s}.intinv-user:hover{border-color:#93c5fd;background:#f8fbff;transform:translateY(-1px)}.intinv-user>span,.intinv-summary-user>span{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:9px;background:#eef2ff;color:#3730a3;font-size:.68rem;font-weight:900;letter-spacing:.02em}.intinv-user strong{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:.76rem;letter-spacing:.01em}.intinv-user svg{margin-left:auto;color:#2563eb;flex:0 0 auto}.intinv-user.active{border-color:#3b82f6;background:#eff6ff;box-shadow:0 0 0 3px #3b82f61a;color:#1e3a8a}.intinv-user.active>span{background:#1e3a8a;color:#fff}.intinv-generate{letter-spacing:.005em}.intinv-summary{position:sticky;top:20px;padding:20px;border:1px solid #dbe2ea;border-top:4px solid #1e3a8a;border-radius:14px;background:#fff;box-shadow:0 6px 18px #0f172a0a}.intinv-summary-label{margin-bottom:15px;color:#64748b;font-size:.68rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.intinv-summary-user{display:flex;align-items:center;gap:11px;padding-bottom:16px;border-bottom:1px solid #eef2f7}.intinv-summary-user>span{flex-basis:40px;width:40px;height:40px;background:#1e3a8a;color:#fff;font-size:.76rem}.intinv-summary-user strong,.intinv-summary-user small{display:block}.intinv-summary-user strong{color:#0f172a;font-size:.92rem}.intinv-summary-user small{margin-top:2px;color:#94a3b8;font-size:.7rem}.intinv-summary dl{margin:5px 0 17px}.intinv-summary dl>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #f1f5f9}.intinv-summary dt{color:#94a3b8;font-size:.72rem}.intinv-summary dd{margin:0;color:#334155;font-size:.72rem;font-weight:750;text-align:right}.intinv-includes{display:flex;flex-direction:column;gap:8px;padding:13px;border-radius:10px;background:#f8fafc}.intinv-includes strong{margin-bottom:2px;color:#334155;font-size:.72rem}.intinv-includes span{display:flex;align-items:center;gap:7px;color:#64748b;font-size:.7rem}.intinv-includes svg{color:#16a34a}@media(max-width:1180px){.gsa-layout{grid-template-columns:1fr}.gsa-info{position:static}.gsa-rule-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.inv-layout{grid-template-columns:1fr}.inv-right{position:static;display:grid;grid-template-columns:1fr 1fr;gap:14px}.inv-bulk-panel{margin:0}.intinv-layout{grid-template-columns:1fr}.intinv-summary{position:static}}@media(max-width:760px){.gsa-tabs{width:100%}.gsa-tabs button{flex:1;justify-content:center}.gsa-rule-cards{grid-template-columns:1fr}.gsa-settings-head,.gsa-settings-tools{align-items:stretch;flex-direction:column}.gsa-settings-tools label{max-width:none}.gsa-workflow{padding:16px}.gsa-flow{grid-template-columns:1fr}.gsa-flow>svg{transform:rotate(90deg);justify-self:center}.gsa-flow section:last-child{text-align:left}.gsa-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.gsa-actions{grid-template-columns:1fr}.inv-header-badges{justify-content:flex-start}.inv-subnav{width:100%;overflow-x:auto}.inv-subnav-btn{flex:0 0 auto}.inv-workflow-card{padding:16px}.inv-period-row{grid-template-columns:1fr 1fr}.inv-half-toggle{grid-column:1 / -1}.inv-half-btn{flex:1}.inv-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inv-right{display:flex}.intinv-main{padding:16px}.intinv-users{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.inv-period-row,.inv-preview-grid{grid-template-columns:1fr}.inv-half-toggle{grid-column:auto}.inv-period-display{align-items:flex-start;flex-direction:column}.intinv-users{grid-template-columns:1fr}}.ic-root{background:#0b1220;margin:-28px -32px;padding:28px 32px;min-height:calc(100vh + -0px)}.ic-header{margin-bottom:22px}.ic-kicker{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:800;letter-spacing:.12em;color:#60a5fa;text-transform:uppercase;margin-bottom:8px}.ic-header h1{font-size:1.7rem;font-weight:900;color:#f1f5f9;letter-spacing:-.02em;margin-bottom:4px}.ic-header p{font-size:.85rem;color:#94a3b8;max-width:640px}.ic-pulse{background:linear-gradient(135deg,#111c33,#0d1526);border:1px solid #1e293b;border-radius:16px;padding:20px 24px;margin-bottom:20px;position:relative;overflow:hidden}.ic-pulse:before{content:"";position:absolute;top:-60%;right:-10%;width:320px;height:320px;background:radial-gradient(circle,rgba(96,165,250,.12) 0%,transparent 70%);pointer-events:none}.ic-pulse-loading{display:flex;align-items:center;gap:10px;color:#94a3b8;padding:30px;font-size:.85rem}.ic-pulse-live{display:flex;align-items:center;gap:7px;font-size:.72rem;font-weight:700;color:#64748b;letter-spacing:.05em;text-transform:uppercase;margin-bottom:16px}.ic-live-dot{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 #34d39999;animation:ic-pulse-dot 1.8s infinite}@keyframes ic-pulse-dot{0%{box-shadow:0 0 #34d39980}70%{box-shadow:0 0 0 8px #34d39900}to{box-shadow:0 0 #34d39900}}.ic-pulse-grid{display:grid;grid-template-columns:1.3fr 1.3fr .8fr .8fr;gap:24px;position:relative}.ic-pulse-stat{display:flex;flex-direction:column}.ic-pulse-label{font-size:.7rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.ic-pulse-value{font-size:2.1rem;font-weight:900;color:#f1f5f9;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}.ic-pulse-value-sm{font-size:1.7rem}.ic-pulse-sub{font-size:.72rem;color:#64748b;margin-top:6px;display:flex;align-items:center;gap:6px}.ic-pulse-spark{margin-top:8px}.ic-delta{display:inline-flex;align-items:center;gap:2px;font-weight:700}.ic-delta.up{color:#34d399}.ic-delta.down{color:#f87171}.ic-grid-2{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;margin-bottom:18px;align-items:start}@media(max-width:1100px){.ic-grid-2{grid-template-columns:1fr}}.ic-card{background:#111c33;border:1px solid #1e293b;border-radius:16px;padding:20px 22px}.ic-card-loading{display:flex;align-items:center;gap:10px;color:#64748b;padding:40px;font-size:.85rem;justify-content:center}.ic-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.ic-card-title{display:flex;align-items:center;gap:7px;font-size:.92rem;font-weight:800;color:#f1f5f9}.ic-card-sub{font-size:.74rem;color:#64748b;margin-top:3px}.ic-flow-svg{width:100%;height:auto;display:block}.ic-flow-anim{stroke-dashoffset:0;animation:ic-flow-dash 1.6s linear infinite}@keyframes ic-flow-dash{to{stroke-dashoffset:-24}}.ic-port-pulse{animation:ic-port-ring 2.4s ease-out infinite;transform-origin:center}@keyframes ic-port-ring{0%{r:22;opacity:.5}to{r:34;opacity:0}}.ic-flow-legend{display:flex;gap:18px;margin-top:10px;flex-wrap:wrap}.ic-flow-legend-item{display:flex;flex-direction:column;gap:2px}.ic-flow-legend-route{font-size:.72rem;font-weight:700;color:#94a3b8}.ic-flow-legend-val{font-size:.8rem;font-weight:800;color:#60a5fa}.ic-rank-callouts{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}.ic-callout{display:flex;align-items:center;gap:9px;padding:8px 12px;border-radius:9px;flex:1;min-width:160px}.ic-callout-up{background:#34d3991a;border:1px solid rgba(52,211,153,.25)}.ic-callout-down{background:#f871711a;border:1px solid rgba(248,113,113,.25)}.ic-callout-icon{color:#34d399}.ic-callout-down .ic-callout-icon{color:#f87171}.ic-callout-title{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;font-weight:700}.ic-callout-val{font-size:.85rem;font-weight:800;color:#f1f5f9}.ic-callout-pct{font-weight:700;font-size:.78rem}.ic-callout-up .ic-callout-pct{color:#34d399}.ic-callout-down .ic-callout-pct{color:#f87171}.ic-rank-list{display:flex;flex-direction:column;gap:2px}.ic-rank-row{display:flex;align-items:center;gap:12px;padding:9px 6px;border-bottom:1px solid #1a2540}.ic-rank-row:last-child{border-bottom:none}.ic-rank-pos{width:18px;font-size:.75rem;font-weight:700;color:#475569;text-align:center}.ic-rank-grade{width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:900;color:#0b1220;flex-shrink:0}.ic-rank-info{flex:1;min-width:0}.ic-rank-name{font-size:.82rem;font-weight:700;color:#f1f5f9;font-family:monospace}.ic-rank-meta{font-size:.68rem;color:#64748b;margin-top:1px}.ic-rank-spark{flex-shrink:0}.ic-rank-rev{text-align:right;flex-shrink:0}.ic-rank-rev-val{font-size:.8rem;font-weight:800;color:#e2e8f0}.ic-pace-bars{display:flex;align-items:flex-end;gap:10px;height:110px;margin-bottom:18px;padding-top:10px}.ic-pace-bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.ic-pace-bar-track{width:100%;height:70px;display:flex;align-items:flex-end}.ic-pace-bar-fill{width:100%;background:linear-gradient(180deg,#60a5fa,#3b82f6);border-radius:4px 4px 0 0;min-height:3px;transition:height .4s}.ic-pace-bar-pct{font-size:.65rem;font-weight:700;color:#94a3b8;margin-top:5px}.ic-pace-bar-label{font-size:.65rem;color:#475569;margin-top:1px}.ic-forecast{border-top:1px solid #1a2540;padding-top:14px}.ic-forecast-row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:8px}.ic-forecast-label{font-size:.7rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.ic-forecast-val{font-size:1.3rem;font-weight:900;color:#f1f5f9;margin-top:2px}.ic-forecast-bar-track{height:6px;background:#1a2540;border-radius:3px;overflow:hidden;margin-bottom:8px}.ic-forecast-bar-fill{height:100%;background:linear-gradient(90deg,#60a5fa,#34d399);border-radius:3px;transition:width .5s}.ic-forecast-sub{font-size:.7rem;color:#64748b}.ic-anomaly-count{background:#1e293b;color:#f1f5f9;font-size:.78rem;font-weight:800;padding:3px 10px;border-radius:999px}.ic-anomaly-empty{text-align:center;padding:30px;color:#475569;font-size:.82rem}.ic-anomaly-list{display:flex;flex-direction:column;gap:8px;max-height:420px;overflow-y:auto}.ic-anomaly-row{display:flex;gap:10px;padding:10px 12px;border-radius:9px;align-items:flex-start}.ic-anomaly-row.sev-high{background:#f8717114;border:1px solid rgba(248,113,113,.2)}.ic-anomaly-row.sev-medium{background:#fbbf2414;border:1px solid rgba(251,191,36,.2)}.ic-anomaly-row.sev-low{background:#94a3b814;border:1px solid rgba(148,163,184,.2)}.ic-anomaly-icon{color:#f87171;margin-top:1px;flex-shrink:0}.sev-medium .ic-anomaly-icon{color:#fbbf24}.sev-low .ic-anomaly-icon{color:#94a3b8}.ic-anomaly-title{font-size:.8rem;font-weight:700;color:#f1f5f9}.ic-anomaly-detail{font-size:.72rem;color:#94a3b8;margin-top:2px}.ic-card-wide{margin-bottom:18px}.ic-chart-svg{width:100%;height:auto;display:block;overflow:visible}.ic-grid-trend{display:grid;grid-template-columns:1.7fr 1fr;gap:18px;margin-bottom:18px;align-items:start}.ic-grid-2eq{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;align-items:start}@media(max-width:1100px){.ic-grid-trend,.ic-grid-2eq{grid-template-columns:1fr}}.ic-legend-dot{display:inline-block;width:10px;height:10px;border-radius:3px;flex-shrink:0}.ic-legend-lbl{font-size:.73rem;color:#94a3b8}.ic-channel-row{display:flex;align-items:center;gap:8px;margin-bottom:9px}.ic-channel-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.ic-channel-name{font-size:.72rem;font-weight:700;color:#94a3b8;width:68px;flex-shrink:0;font-family:monospace}.ic-channel-bar-track{flex:1;height:7px;background:#1e293b;border-radius:4px;overflow:hidden}.ic-channel-bar-fill{height:100%;border-radius:4px;transition:width .5s}.ic-channel-pct{font-size:.72rem;font-weight:700;color:#f1f5f9;width:32px;text-align:right;flex-shrink:0}.ic-channel-today{font-size:.68rem;color:#34d399;width:28px;text-align:right;flex-shrink:0;font-weight:700}.ic-routes-list{display:flex;flex-direction:column;gap:8px}.ic-route-row{display:flex;align-items:center;gap:10px}.ic-route-label{font-size:.78rem;font-weight:800;color:#f1f5f9;font-family:monospace;width:78px;flex-shrink:0}.ic-route-bar-track{flex:1;height:8px;background:#1e293b;border-radius:4px;overflow:hidden}.ic-route-bar-fill{height:100%;border-radius:4px;transition:width .5s;opacity:.85}.ic-route-stats{display:flex;gap:8px;align-items:center;flex-shrink:0}.ic-route-rev{font-size:.8rem;font-weight:800;color:#e2e8f0;width:52px;text-align:right}.ic-route-bk{font-size:.68rem;color:#64748b;width:48px;text-align:right}.ic-dep-list{display:flex;flex-direction:column;gap:6px}.ic-dep-row{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:9px;background:#0d1929;border:1px solid #1a2540}.ic-dep-today{background:#34d3990f;border-color:#34d39933}.ic-dep-date{flex-shrink:0;min-width:80px}.ic-dep-day{font-size:.75rem;font-weight:700;color:#e2e8f0}.ic-dep-time{font-size:.68rem;color:#64748b}.ic-dep-route{font-size:.85rem;font-weight:900;color:#f1f5f9;font-family:monospace;flex-shrink:0;width:82px}.ic-dep-arrow{color:#475569;margin:0 2px}.ic-dep-vessel{font-size:.68rem;color:#64748b;width:36px;flex-shrink:0;font-family:monospace}.ic-dep-fill{display:flex;align-items:center;gap:8px;flex:1}.ic-dep-fill-bar{flex:1;height:6px;background:#1e293b;border-radius:3px;overflow:hidden}.ic-dep-fill-inner{height:100%;border-radius:3px;transition:width .5s;opacity:.8}.ic-dep-pax{font-size:.75rem;font-weight:700;color:#e2e8f0;white-space:nowrap;flex-shrink:0}
