:root{--ink:#16233a;--ink-soft:#435577;--ink-faint:#6b7a99;--surface:#fbfcfd;--surface-raised:#fff;--surface-sunken:#eef1f6;--rule:#d8dee8;--rule-strong:#b7c2d3;--accent:#1d5da6;--accent-ink:#123f78;--accent-surface:#e8f0fa;--status-ok-ink:#146c43;--status-ok-surface:#e5f4ea;--status-ok-rule:#bfe3cc;--status-caution-ink:#7c4a03;--status-caution-surface:#fcefd8;--status-caution-rule:#eecb8f;--status-critical-ink:#9a1c1c;--status-critical-surface:#fbe8e8;--status-critical-rule:#f0bdbd;--font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-md:1.0625rem;--text-lg:1.3125rem;--text-xl:1.75rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--radius-sm:4px;--radius-md:6px;--shadow-popover:0 4px 16px -4px #16233a38;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--ink:#e7ecf5;--ink-soft:#a9b6cc;--ink-faint:#7c8aa3;--surface:#0a0f1a;--surface-raised:#121a2b;--surface-sunken:#070b14;--rule:#ffffff14;--rule-strong:#ffffff29;--accent:#2dd4bf;--accent-ink:#5eead4;--accent-surface:#2dd4bf24;--status-ok-ink:#4ade80;--status-ok-surface:#22c55e24;--status-ok-rule:#22c55e4d;--status-caution-ink:#fbbf24;--status-caution-surface:#fbbf2424;--status-caution-rule:#fbbf244d;--status-critical-ink:#f87171;--status-critical-surface:#f8717124;--status-critical-rule:#f871714d;--shadow-popover:0 4px 16px -4px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-ui);font-size:var(--text-base);color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}h1,h2,h3,h4{letter-spacing:-.01em;color:var(--ink);margin:0;font-weight:650}p{margin:0}a{color:var(--accent)}::selection{background:var(--accent);color:var(--surface-raised)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--surface-sunken)}::-webkit-scrollbar-thumb{background:var(--rule-strong);border:3px solid var(--surface-sunken);border-radius:999px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.num,td.num,th.num,input[type=number],input[type=date]{font-variant-numeric:tabular-nums}button{font-family:inherit;font-size:var(--text-sm);cursor:pointer;border-radius:var(--radius-sm);border:1px solid #0000;padding:.55rem .9rem;font-weight:600;line-height:1;transition:background-color .15s,border-color .15s,color .15s}button:disabled{cursor:not-allowed;opacity:.55}.btn-primary,.inline-form button[type=submit]{background:var(--ink);color:var(--surface-raised);border-color:var(--ink)}.btn-primary:hover:not(:disabled),.inline-form button[type=submit]:hover:not(:disabled){background:var(--accent-ink);border-color:var(--accent-ink)}.btn-ghost{color:var(--ink-soft);border-color:var(--rule-strong);background:0 0}.btn-ghost:hover:not(:disabled){border-color:var(--ink-soft);color:var(--ink)}.theme-toggle{border:1px solid var(--rule-strong);width:2.25rem;height:2.25rem;color:var(--ink-soft);background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle:hover{border-color:var(--ink-soft);color:var(--ink)}.popover-anchor{display:inline-block;position:relative}.popover-panel{top:calc(100% + var(--space-2));z-index:20;gap:var(--space-2);background:var(--surface-raised);border:1px solid var(--rule);border-radius:var(--radius-md);width:260px;box-shadow:var(--shadow-popover);padding:var(--space-4);text-align:left;flex-direction:column;display:flex;position:absolute;right:0}.popover-panel h4{margin:0 0 var(--space-1);font-size:var(--text-sm)}.popover-panel label{gap:var(--space-1);font-size:var(--text-xs);flex-direction:column;display:flex}.popover-panel__actions{gap:var(--space-2);margin-top:var(--space-1);display:flex}input,select{font-family:inherit;font-size:var(--text-sm);color:var(--ink);background:var(--surface-raised);border:1px solid var(--rule-strong);border-radius:var(--radius-sm);padding:.5rem .65rem}input::placeholder{color:var(--ink-faint)}input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}label{font-size:var(--text-sm);color:var(--ink-soft)}.auth-page{min-height:100vh;padding:var(--space-4);justify-content:center;align-items:center;display:flex}.auth-form{z-index:1;background:var(--l-glass);border:1px solid var(--l-glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:min(360px,100%);padding:var(--space-6) var(--space-5) var(--space-5);gap:var(--space-3);border-radius:16px;flex-direction:column;display:flex;position:relative}.wordmark{align-items:baseline;gap:.4em;margin-bottom:.1rem;text-decoration:none;display:flex}.wordmark__mark{font-size:var(--text-xl);letter-spacing:-.02em;color:var(--ink);font-weight:700}.wordmark__unit{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}.ocean-theme .wordmark__mark{color:var(--l-ink)}.ocean-theme .wordmark__unit{color:var(--l-ink-faint)}.auth-form .subtitle{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--l-ink-soft)}.auth-form label{gap:var(--space-1);font-size:var(--text-xs);letter-spacing:.02em;text-transform:uppercase;color:var(--l-ink-faint);flex-direction:column;font-weight:600;display:flex}.auth-form input{font-size:var(--text-base);color:var(--l-ink);background:#0f2a280a;border:1px solid #0f2a2824;border-radius:8px;padding:.65rem .75rem}[data-theme=dark] .auth-form input{background:#ffffff0d;border-color:#ffffff29}.auth-form input::placeholder{color:var(--l-ink-faint)}.auth-form input:focus-visible{outline:2px solid var(--l-accent);outline-offset:1px;border-color:var(--l-accent)}.auth-form .glass-btn{margin-top:var(--space-2);width:100%;font-size:var(--text-sm);justify-content:center;padding:.7rem}.error{font-size:var(--text-sm);color:var(--status-critical-ink);background:var(--status-critical-surface);border:1px solid var(--status-critical-rule);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.dashboard{max-width:1160px;padding:0 var(--space-5) var(--space-7);margin:0 auto}.topbar{padding:var(--space-5) 0 var(--space-4);border-bottom:1px solid var(--rule);margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.topbar__identity{align-items:baseline;gap:var(--space-3);display:flex}.topbar__role{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:var(--accent-surface);border-radius:var(--radius-sm);padding:.2rem .5rem;font-weight:700}.topbar__user{align-items:center;gap:var(--space-4);display:flex}.topbar__identity-block{flex-direction:column;align-items:flex-end;line-height:1.3;display:flex}.topbar__vessel-name{font-size:var(--text-sm);letter-spacing:-.01em;color:var(--ink);font-weight:650}.topbar__name{font-size:var(--text-sm);color:var(--ink-soft)}.tabs{gap:var(--space-1);border-bottom:1px solid var(--rule);margin-bottom:var(--space-5);display:flex}.tabs button{color:var(--ink-soft);padding:var(--space-3) var(--space-1);margin-right:var(--space-5);font-size:var(--text-sm);letter-spacing:.01em;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0}.tabs button:hover{color:var(--ink)}.tabs button.active{color:var(--ink);border-bottom-color:var(--ink);font-weight:700}.vessel-selector{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink-soft);margin-bottom:var(--space-5);display:flex}.vessel-selector select{color:var(--ink);font-weight:600}section>h3{font-size:var(--text-md);margin-bottom:var(--space-3)}section>h4{font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);margin:var(--space-5) 0 var(--space-2)}.table-scroll{margin-bottom:var(--space-5);-webkit-overflow-scrolling:touch;overflow-x:auto}.data-table{border-collapse:collapse;background:var(--surface-raised);border:1px solid var(--rule);border-radius:var(--radius-md);width:100%;min-width:640px;margin-bottom:0;overflow:hidden}.data-table th{text-align:left;font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);background:var(--surface-sunken);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--rule);font-weight:700}.data-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--rule);font-size:var(--text-sm);vertical-align:middle}.data-table__actions{gap:var(--space-2);white-space:nowrap;flex-wrap:nowrap;display:flex}.data-table tbody tr:last-child td{border-bottom:none}.pagination-controls{align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);font-size:var(--text-sm);color:var(--ink-faint);flex-wrap:wrap;display:flex}.pagination-controls__page-size{align-items:center;gap:var(--space-1);display:flex}.pagination-controls__nav{align-items:center;gap:var(--space-2);display:flex}.data-table tbody tr:hover td{background:var(--surface-sunken)}.data-table td.num,.data-table th.num{text-align:right}.data-table td input,.data-table td select{font-size:var(--text-sm);padding:.35rem .5rem}.data-table .empty-row td{padding:var(--space-6) var(--space-3);text-align:center;color:var(--ink-faint);font-size:var(--text-sm)}.data-table td button,.data-table td .btn-ghost{font-size:var(--text-xs);padding:.35rem .7rem}.qty-stepper{align-items:flex-end;gap:var(--space-1);flex-direction:column;display:flex}.qty-stepper__controls{align-items:center;gap:var(--space-1);display:inline-flex}.data-table td .qty-stepper__btn{justify-content:center;align-items:center;width:1.5rem;height:1.5rem;padding:0;line-height:1;display:inline-flex}.qty-stepper__value{text-align:center;font-variant-numeric:tabular-nums;min-width:2rem}.qty-stepper__confirm{justify-content:flex-end;align-items:center;gap:var(--space-1);flex-wrap:wrap;max-width:16rem;display:flex}.qty-stepper__confirm input{font-size:var(--text-xs);width:7rem;padding:.3rem .5rem}.qty-stepper__confirm .error{text-align:left;width:100%}.low-stock-row td{background:var(--status-caution-surface)}.low-stock-row:hover td{background:#f8e6c3}[data-theme=dark] .low-stock-row:hover td{background:#fbbf2438}.badge{font-size:var(--text-xs);letter-spacing:.03em;text-transform:uppercase;border-radius:var(--radius-sm);border:1px solid #0000;align-items:center;gap:.3em;padding:.2rem .5rem;font-weight:700;line-height:1.3;display:inline-flex}.badge--ok{color:var(--status-ok-ink);background:var(--status-ok-surface);border-color:var(--status-ok-rule)}.badge--caution{color:var(--status-caution-ink);background:var(--status-caution-surface);border-color:var(--status-caution-rule)}.badge--critical{color:var(--status-critical-ink);background:var(--status-critical-surface);border-color:var(--status-critical-rule)}.badge--neutral{color:var(--ink-soft);background:var(--surface-sunken);border-color:var(--rule)}.low-stock-banner{align-items:center;gap:var(--space-3);background:var(--status-caution-surface);border:1px solid var(--status-caution-rule);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-5);font-size:var(--text-sm);display:flex}.low-stock-banner strong{color:var(--status-caution-ink);text-transform:uppercase;font-size:var(--text-xs);letter-spacing:.05em;align-items:center;gap:.5em;display:inline-flex}.low-stock-banner strong:before{content:"";background:var(--status-caution-ink);border-radius:1px;flex-shrink:0;width:.5em;height:.5em;transform:rotate(45deg)}.low-stock-banner .dismiss-button{color:var(--status-caution-ink);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;background:0 0;border:none;margin-left:auto;padding:.2rem .4rem;font-weight:700}.low-stock-banner .dismiss-button:hover{text-decoration:underline}.panel-actions{margin-bottom:var(--space-5)}.file-upload-button{font-size:var(--text-sm);border:1px solid var(--ink);color:var(--ink);background:var(--surface-raised);border-radius:var(--radius-sm);cursor:pointer;margin-bottom:var(--space-3);align-items:center;gap:.4em;padding:.55rem .9rem;font-weight:600;display:inline-flex}.file-upload-button:hover{background:var(--surface-sunken)}.upload-result{margin-bottom:var(--space-5);font-size:var(--text-sm);color:var(--ink-soft)}.error-table{border-collapse:collapse;width:100%;margin-top:var(--space-2);border:1px solid var(--status-critical-rule);border-radius:var(--radius-sm);overflow:hidden}.error-table th,.error-table td{border-bottom:1px solid var(--status-critical-rule);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);text-align:left}.error-table th{background:var(--status-critical-surface);color:var(--status-critical-ink);text-transform:uppercase;letter-spacing:.03em}.error-table tbody tr:last-child td{border-bottom:none}.inline-form{gap:var(--space-2);background:var(--surface-raised);border:1px solid var(--rule);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;align-items:center;display:flex}.inline-form input{min-width:8rem}.inline-form input[type=checkbox]{min-width:0}.inline-form label{align-items:center;gap:var(--space-1);font-size:var(--text-sm);text-transform:none;color:var(--ink-soft);display:flex}.vessel-checkbox-list{border:1px solid var(--rule);border-radius:var(--radius-sm);max-height:6.5rem;padding:var(--space-2);background:var(--surface);flex-direction:column;gap:2px;min-width:14rem;display:flex;overflow-y:auto}.vessel-checkbox-list label{align-items:center;gap:var(--space-1);font-size:var(--text-sm);text-transform:none;color:var(--ink-soft);white-space:nowrap;display:flex}.doctor-company-block{align-items:center;gap:var(--space-2);padding:var(--space-1) 0;flex-wrap:wrap;display:inline-flex}.register-list{margin:0 0 var(--space-3);border:1px solid var(--rule);border-radius:var(--radius-md);background:var(--surface-raised);padding:0;list-style:none;overflow:hidden}.register-list li{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);border-bottom:1px solid var(--rule);display:flex}.register-list li:last-child{border-bottom:none}.register-list li:nth-child(2n){background:var(--surface-sunken)}.register-list .meta{color:var(--ink-faint);font-size:var(--text-xs)}.register-list__row--selected{background:var(--accent-surface)!important}.hint{font-size:var(--text-xs);color:var(--ink-faint)}.stock-panel__heading-row{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.stock-panel__heading-row h3{margin:0}.stock-supplier-note{font-size:var(--text-sm);color:var(--ink-soft);margin:0}.ocean-theme{--l-bg:#f5fbfa;--l-ink:#0f2a28;--l-ink-soft:#3c5f5b;--l-ink-faint:#6b8d89;--l-glass:#0d94880d;--l-glass-hover:#0d948817;--l-glass-border:#0d948829;--l-accent:#0d9488;--l-accent-2:#0284c7;background:var(--l-bg);min-height:100vh;color:var(--l-ink);font-family:var(--font-ui);position:relative;overflow-x:clip}[data-theme=dark] .ocean-theme{--l-bg:#05070d;--l-ink:#f5f7fb;--l-ink-soft:#b6c1d6;--l-ink-faint:#7c8aa3;--l-glass:#ffffff0f;--l-glass-hover:#ffffff1a;--l-glass-border:#ffffff24;--l-accent:#2dd4bf;--l-accent-2:#38bdf8}.ocean-mesh{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.ocean-blob{filter:blur(90px);opacity:.35;mix-blend-mode:multiply;border-radius:50%;width:46vw;height:46vw;animation:26s ease-in-out infinite alternate blobDrift;position:absolute}[data-theme=dark] .ocean-blob{opacity:.55;mix-blend-mode:screen}.ocean-blob--a{background:radial-gradient(circle, var(--l-accent), transparent 70%);animation-duration:24s;top:-10%;left:-8%}.ocean-blob--b{background:radial-gradient(circle, var(--l-accent-2), transparent 70%);animation-duration:30s;animation-delay:-6s;top:20%;right:-12%}.ocean-blob--c{opacity:.25;background:radial-gradient(circle,#6366f1,#0000 70%);width:38vw;height:38vw;animation-duration:34s;animation-delay:-14s;bottom:-18%;left:20%}[data-theme=dark] .ocean-blob--c{opacity:.4}@keyframes blobDrift{0%{transform:translate(0)scale(1)}to{transform:translate(6%,8%)scale(1.12)}}.world-map{z-index:0;opacity:.45;pointer-events:none;position:fixed;inset:0;overflow:hidden}.world-map__base,.world-map__routes{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.world-map__path{fill:none;stroke-width:1px;stroke-dasharray:1200;stroke-dashoffset:1200px;animation:1.2s ease-out forwards world-map-draw}@keyframes world-map-draw{to{stroke-dashoffset:0}}.landing-nav{z-index:10;max-width:1160px;padding:var(--space-4) var(--space-5);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f5fbfab3;justify-content:space-between;align-items:center;margin:0 auto;display:flex;position:sticky;top:0}[data-theme=dark] .landing-nav{background:#05070d8c}.landing-nav__actions{align-items:center;gap:var(--space-3);display:flex}.glass-btn{font-size:var(--text-sm);color:var(--l-ink);background:var(--l-glass);border:1px solid var(--l-glass-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;align-items:center;gap:.5em;padding:.6rem 1.3rem;font-weight:600;text-decoration:none;transition:background-color .2s,border-color .2s,transform .2s;display:inline-flex}.glass-btn:hover{background:var(--l-glass-hover);border-color:#0f2a2847;transform:translateY(-1px)}[data-theme=dark] .glass-btn:hover{border-color:#ffffff47}.glass-btn--primary{background:var(--l-accent);color:#052420;border-color:var(--l-accent);font-weight:700}.glass-btn--primary:hover{background:#5eead4;border-color:#5eead4}.ocean-theme .theme-toggle{background:var(--l-glass);border-color:var(--l-glass-border);width:2.5rem;height:2.5rem;color:var(--l-ink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ocean-theme .theme-toggle:hover{background:var(--l-glass-hover);color:var(--l-ink);border-color:#0f2a2847}[data-theme=dark] .ocean-theme .theme-toggle:hover{border-color:#ffffff47}.auth-page .theme-toggle{top:var(--space-4);right:var(--space-4);z-index:2;position:fixed}.landing-hero{z-index:1;max-width:1160px;padding:var(--space-7) var(--space-5) var(--space-6);text-align:center;align-items:center;gap:var(--space-6);flex-direction:column;margin:0 auto;display:flex;position:relative}.landing-hero h1{letter-spacing:-.02em;color:var(--l-ink);margin:0 0 var(--space-5);font-size:clamp(2.25rem,4.4vw,3.75rem);font-weight:750;line-height:1.08}.landing-hero__thesis{max-width:46ch;font-size:var(--text-md);color:var(--l-ink-soft);margin:0 auto var(--space-6);line-height:1.6}.landing-hero__actions{justify-content:center;align-items:center;gap:var(--space-5);flex-wrap:wrap;display:flex}.landing-hero__link{font-size:var(--text-sm);color:var(--l-ink-soft);text-decoration:none}.landing-hero__link:hover{color:var(--l-ink)}.landing-hero__link--button{cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit}.download-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--space-4);background:#05070d8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.download-modal{background:var(--l-bg);border:1px solid var(--l-glass-border);width:100%;max-width:420px;padding:var(--space-6) var(--space-5) var(--space-5);border-radius:20px;position:relative;box-shadow:0 24px 60px #00000059}[data-theme=dark] .download-modal{background:#0b0e18}.download-modal h3{margin:0 0 var(--space-2);color:var(--l-ink)}.download-modal__close{top:var(--space-3);right:var(--space-3);background:var(--l-glass);border:1px solid var(--l-glass-border);width:2rem;height:2rem;color:var(--l-ink-soft);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;font-size:1.2rem;line-height:1;display:flex;position:absolute}.download-modal__close:hover{color:var(--l-ink)}.download-modal__lede{color:var(--l-ink-soft);font-size:var(--text-sm);margin:0 0 var(--space-4)}.download-modal__choices{gap:var(--space-3);display:grid}.download-choice{padding:var(--space-3) var(--space-4);background:var(--l-glass);border:1px solid var(--l-glass-border);cursor:pointer;text-align:left;border-radius:12px;flex-direction:column;align-items:flex-start;gap:.2rem;transition:background-color .2s,border-color .2s;display:flex}.download-choice:hover{background:var(--l-glass-hover);border-color:var(--l-accent)}.download-choice__label{color:var(--l-ink);font-weight:700}.download-choice__hint{font-size:var(--text-sm);color:var(--l-ink-faint)}.download-modal__cta{width:100%;margin-bottom:var(--space-4);justify-content:center}.download-modal__details{gap:var(--space-2);margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);background:var(--l-glass);border:1px solid var(--l-glass-border);border-radius:12px;display:grid}.download-modal__details div{justify-content:space-between;gap:var(--space-3);display:flex}.download-modal__details dt{color:var(--l-ink-faint);font-size:var(--text-sm)}.download-modal__details dd{color:var(--l-ink);font-size:var(--text-sm);margin:0;font-weight:600}.download-modal__note{font-size:var(--text-sm);color:var(--l-ink-faint);margin:0 0 var(--space-4)}.download-modal__back{color:var(--l-ink-soft);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;padding:0}.download-modal__back:hover{color:var(--l-ink)}.hero-in{opacity:0;animation:.7s cubic-bezier(.16,1,.3,1) forwards heroIn;transform:translateY(16px)}.hero-in--1{animation-delay:60ms}.hero-in--2{animation-delay:.18s}.hero-in--3{animation-delay:.3s}@keyframes heroIn{to{opacity:1;transform:translateY(0)}}.landing-hero__visual{justify-content:center;width:100%;min-height:320px;display:flex;position:relative}.hero-globe{aspect-ratio:1;width:100%;max-width:420px;position:relative}.hero-globe__canvas{opacity:0;contain:layout paint size;cursor:grab;width:100%;height:100%;transition:opacity .5s}main{z-index:1;padding:0 18% var(--space-7);gap:var(--space-6);flex-direction:column;display:flex;position:relative}.panel{background:var(--l-glass);border:1px solid var(--l-glass-border);padding:var(--space-5);text-align:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:14px;transition:transform .22s,background-color .22s,border-color .22s}.panel:hover{background:var(--l-glass-hover);border-color:#0f2a2838;transform:translateY(-3px)}[data-theme=dark] .panel:hover{border-color:#ffffff3d}.panel h2{color:var(--l-ink);font-size:var(--text-lg);margin:0 0 var(--space-3)}.panel h3{color:var(--l-ink);font-size:var(--text-md);margin:0 0 var(--space-2)}.panel p{color:var(--l-ink-soft);max-width:68ch;margin:0 auto;line-height:1.65}.landing-grid{gap:var(--space-7);grid-template-columns:1fr 1fr;display:grid;position:relative}.landing-grid .panel{z-index:1;position:relative}.panel--feature{background:linear-gradient(160deg, #38bdf824, var(--l-glass) 65%)}.sea-route{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.sea-route__path{fill:none;stroke:var(--l-accent);stroke-width:3px;stroke-linecap:round;stroke-dasharray:1 11;opacity:.5;animation:3s linear infinite sea-route-flow}.sea-route__port{fill:var(--l-accent-2);opacity:.7}.sea-route__ship{fill:var(--l-accent-2);filter:drop-shadow(0 0 4px var(--l-accent-2))}@keyframes sea-route-flow{to{stroke-dashoffset:-24px}}.reveal{opacity:0;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transform:translateY(28px)}.reveal--visible{opacity:1;transform:translateY(0)}.landing-closing{z-index:1;text-align:center;padding:var(--space-7) var(--space-5);max-width:720px;margin:0 auto;position:relative}.landing-closing h2{color:var(--l-ink);font-size:var(--text-xl);max-width:22ch;margin:0 auto var(--space-5)}.static-page{z-index:1;max-width:760px;padding:var(--space-6) 0 var(--space-7);margin:0 auto;position:relative}.static-page h1{color:var(--l-ink);font-size:var(--text-xl);margin:0 0 var(--space-4)}.static-page__lede{font-size:var(--text-md);color:var(--l-ink-soft);margin:0 0 var(--space-6);line-height:1.6}.static-page__body{gap:var(--space-4);margin-bottom:var(--space-6);flex-direction:column;display:flex}.static-page__body p{color:var(--l-ink-soft);line-height:1.7}.static-page__cta{align-self:center}.contact-form{gap:var(--space-3);text-align:left;flex-direction:column;max-width:480px;display:flex}.contact-form label{gap:var(--space-1);font-size:var(--text-xs);letter-spacing:.02em;text-transform:uppercase;color:var(--l-ink-faint);flex-direction:column;font-weight:600;display:flex}.contact-form input,.contact-form textarea{font-family:inherit;font-size:var(--text-base);color:var(--l-ink);resize:vertical;background:#0f2a280a;border:1px solid #0f2a2824;border-radius:8px;padding:.65rem .75rem}[data-theme=dark] .contact-form input,[data-theme=dark] .contact-form textarea{background:#ffffff0d;border-color:#ffffff29}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--l-ink-faint)}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--l-accent);outline-offset:1px;border-color:var(--l-accent)}.contact-form .glass-btn{align-self:flex-start}.contact-form__success p{color:var(--l-ink-soft);margin:0}@media (prefers-reduced-motion:reduce){.landing__blob,.hero-in{opacity:1;transform:none;animation:none!important}.reveal{transition:none}.sea-route__path{animation:none}.world-map__path{stroke-dashoffset:0;animation:none}}@media (width<=900px){main{padding:0 var(--space-5) var(--space-7)}.landing-grid{grid-template-columns:1fr}}@media (width<=640px){.landing-hero{padding:var(--space-6) var(--space-4)}main{padding:0 var(--space-3) var(--space-6);gap:var(--space-4)}.panel{padding:var(--space-4)}.dashboard{padding:0 var(--space-3) var(--space-6)}.topbar{align-items:flex-start;gap:var(--space-3);padding:var(--space-4) 0 var(--space-3);flex-direction:column}.topbar__user{justify-content:space-between;width:100%}.tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.tabs button{margin-right:var(--space-4);white-space:nowrap}.inline-form{flex-direction:column;align-items:stretch}.inline-form input,.inline-form select,.inline-form button{width:100%}.low-stock-banner{flex-wrap:wrap}.register-list li{align-items:flex-start;gap:var(--space-1);flex-direction:column}}textarea{font-family:inherit;font-size:var(--text-sm);color:var(--ink);background:var(--surface-raised);border:1px solid var(--rule-strong);border-radius:var(--radius-sm);resize:vertical;padding:.5rem .65rem}textarea::placeholder{color:var(--ink-faint)}textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.form-error{font-size:var(--text-sm);color:var(--status-critical-ink);margin-top:var(--space-1)}.care-requests-panel{gap:var(--space-4);flex-direction:column;display:flex}.care-requests-panel__new{gap:var(--space-2);background:var(--surface-raised);border:1px solid var(--rule);border-radius:var(--radius-md);padding:var(--space-4);flex-direction:column;display:flex}.care-requests-panel__new h3{font-size:var(--text-md);margin-bottom:var(--space-1)}.care-requests-panel__new label{gap:var(--space-1);flex-direction:column;display:flex}.care-requests-panel__body{gap:var(--space-4);grid-template-columns:320px 1fr;height:640px;display:grid}.care-requests-panel__sidebar{gap:var(--space-4);flex-direction:column;min-height:0;display:flex}.care-requests-panel__history{gap:var(--space-2);flex-direction:column;flex:1;min-height:0;display:flex}.care-requests-panel__history-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint);margin:0}.care-requests-panel__list{gap:var(--space-1);flex-direction:column;flex:1;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.care-requests-panel__empty-list{font-size:var(--text-sm);color:var(--ink-faint);padding:var(--space-2) 0}.care-requests-panel__chat{min-height:0;display:flex}.care-requests-panel__empty{text-align:center;padding:var(--space-4);border:1px solid var(--rule);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--ink-faint);font-size:var(--text-sm);flex:1;justify-content:center;align-items:center;display:flex}.care-request-item{text-align:left;width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--ink);flex-direction:column;gap:.15rem;font-weight:500;display:flex}.care-request-item:hover:not(:disabled){border-color:var(--rule-strong);background:var(--surface-sunken)}.care-request-item.active{border-color:var(--accent);background:var(--accent-surface)}.care-request-item--unread{font-weight:700}.care-request-item__status,.care-request-item__doctor{font-size:var(--text-xs);letter-spacing:.02em;color:var(--ink-faint)}.care-request-item__status{text-transform:uppercase}.chat-thread{gap:var(--space-3);border:1px solid var(--rule);border-radius:var(--radius-md);background:var(--surface-raised);padding:var(--space-4);flex-direction:column;flex:1;min-height:0;display:flex}.chat-thread__messages{gap:var(--space-2);background:var(--surface-sunken);border-radius:var(--radius-sm);min-height:0;padding:var(--space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.chat-message{padding:var(--space-2) var(--space-3);background:var(--surface-raised);border:1px solid var(--rule);border-radius:14px;align-self:flex-start;max-width:75%}.chat-message--own{background:var(--accent-surface);border-color:#0000;align-self:flex-end}.chat-message__meta{font-size:var(--text-xs);color:var(--ink-faint);margin-bottom:var(--space-1)}.chat-message__body{font-size:var(--text-sm);color:var(--ink);white-space:pre-wrap;word-break:break-word}.chat-message__attachment{margin-top:var(--space-1);font-size:var(--text-xs);padding:.3rem .6rem;display:inline-flex}.chat-thread__composer{gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--rule);flex-direction:column;display:flex}.chat-thread__composer-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.chat-thread__closed-note{color:var(--ink-faint);text-align:center;padding:var(--space-2) 0;font-style:italic}.topbar__unread-badge{background:var(--status-critical-ink);min-width:1.25rem;height:1.25rem;color:var(--surface-raised);font-size:var(--text-xs);border-radius:999px;justify-content:center;align-items:center;padding:0 .35rem;font-weight:700;line-height:1;display:inline-flex}@media (width<=640px){.care-requests-panel__body{grid-template-columns:1fr;height:auto}.care-requests-panel__sidebar{max-height:320px}.chat-thread{min-height:420px}.chat-message{max-width:92%}}.assistant-panel{gap:var(--space-4);flex-direction:column;display:flex}.assistant-panel__body{gap:var(--space-4);grid-template-columns:320px 1fr;height:640px;display:grid}.assistant-panel__sidebar{gap:var(--space-4);flex-direction:column;min-height:0;display:flex}.assistant-panel__new{gap:var(--space-2);background:var(--surface-raised);border:1px solid var(--rule);border-radius:var(--radius-md);padding:var(--space-4);flex-direction:column;display:flex}.assistant-panel__new h3{font-size:var(--text-md);margin-bottom:var(--space-1)}.assistant-panel__new label{gap:var(--space-1);flex-direction:column;display:flex}.assistant-panel__history{gap:var(--space-2);flex-direction:column;flex:1;min-height:0;display:flex}.assistant-panel__history-item{align-items:center;gap:var(--space-2);display:flex}.assistant-panel__history-item .care-request-item{flex:1;width:auto}@media (width<=640px){.assistant-panel__body{grid-template-columns:1fr;height:auto}.assistant-panel__sidebar{max-height:320px}}.faq-panel{gap:var(--space-4);flex-direction:column;display:flex}.faq-panel__toolbar{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.faq-panel__toolbar input[type=text]{flex:1;min-width:200px}.faq-panel__form{gap:var(--space-2);background:var(--surface-raised);border:1px solid var(--rule);border-radius:var(--radius-md);padding:var(--space-4);flex-direction:column;display:flex}.faq-panel__form label{gap:var(--space-1);flex-direction:column;display:flex}.faq-panel__body{gap:var(--space-4);grid-template-columns:320px 1fr;height:640px;display:grid}.faq-panel__list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.faq-panel__empty-list{font-size:var(--text-sm);color:var(--ink-faint);padding:var(--space-2) 0}.faq-topic-item{align-items:center;gap:var(--space-2);text-align:left;width:100%;padding:var(--space-2);border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--ink);display:flex}.faq-topic-item:hover:not(:disabled){border-color:var(--rule-strong);background:var(--surface-sunken)}.faq-topic-item.active{border-color:var(--accent);background:var(--accent-surface)}.faq-topic-item__thumb{object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0;width:64px;height:36px}.faq-topic-item__title{font-weight:600;font-size:var(--text-sm);display:block}.faq-topic-item__category{font-size:var(--text-xs);color:var(--ink-faint);display:block}.faq-panel__detail{border:1px solid var(--rule);border-radius:var(--radius-md);background:var(--surface-raised);padding:var(--space-4);overflow-y:auto}.faq-panel__detail-category{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint)}.faq-panel__play-button{border:1px solid var(--rule);border-radius:var(--radius-md);background:0 0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.faq-panel__play-button img{width:100%;height:auto;display:block}.faq-panel__play-button span{font-size:var(--text-lg);color:#fff;background:#00000059;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.faq-panel__video{aspect-ratio:16/9;border:1px solid var(--rule);border-radius:var(--radius-md);width:100%}.faq-panel__solution{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--rule)}.faq-panel__solution h4{margin:0 0 var(--space-1);font-size:var(--text-sm)}.faq-panel__disclaimer{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--status-caution-ink);background:var(--status-caution-surface);border:1px solid var(--status-caution-rule);border-radius:var(--radius-sm)}.faq-panel__detail-actions{margin-top:var(--space-3)}@media (width<=640px){.faq-panel__body{grid-template-columns:1fr;height:auto}.faq-panel__list{max-height:320px}}.fleet-overview{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.fleet-overview__card{align-items:flex-start;gap:var(--space-2);text-align:left;padding:var(--space-4);border:1px solid var(--rule);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--ink);flex-direction:column;display:flex}.fleet-overview__card:hover{border-color:var(--rule-strong);background:var(--surface-sunken)}.fleet-overview__card h3{margin:0}.fleet-overview__stat{font-size:var(--text-sm);color:var(--ink-faint);margin:0}@media (width<=640px){.fleet-overview{grid-template-columns:1fr}}.fleet-summary-panels{gap:var(--space-4);margin-top:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.requests-trend-chart,.stock-details-panel{padding:var(--space-4);border:1px solid var(--rule);border-radius:var(--radius-md);background:var(--surface-raised)}.requests-trend-chart h4,.stock-details-panel h4{margin:0 0 var(--space-3)}.stock-details-panel ul{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.stock-details-panel li{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--rule);display:flex}.stock-details-panel li:last-child{border-bottom:none}@media (width<=640px){.fleet-summary-panels{grid-template-columns:1fr}}.chat-thread__call-log{font-size:var(--text-xs);color:var(--ink-faint);padding:var(--space-1) var(--space-2);background:var(--surface-sunken);border-radius:999px;align-self:center}.video-call-panel{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--rule);border-radius:var(--radius-md);background:var(--surface-raised);flex-direction:column;display:flex}.video-call-panel__streams{border-radius:var(--radius-sm);background:#000;min-height:180px;position:relative;overflow:hidden}.video-call-panel__remote{background:#000;width:100%;max-height:320px;display:block}.video-call-panel__local{bottom:var(--space-2);right:var(--space-2);border-radius:var(--radius-sm);border:2px solid var(--surface-raised);width:96px;position:absolute}.video-call-panel__controls{align-items:center;gap:var(--space-3);display:flex}.video-call-panel__incoming{align-items:center;gap:var(--space-2);display:flex}.notification-bell{width:2rem;height:2rem;color:var(--ink-soft);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.notification-bell:hover{background:var(--accent-surface);color:var(--accent)}.notification-bell__badge{background:var(--status-critical-ink);min-width:1.1rem;height:1.1rem;color:var(--surface-raised);border-radius:999px;justify-content:center;align-items:center;padding:0 .3rem;font-size:.65rem;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:.1rem;right:.1rem}.notification-bell__panel{width:320px;max-height:400px}.notification-bell__header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.notification-bell__header-actions{gap:var(--space-1);display:flex}.notification-bell__header-actions .btn-ghost{font-size:var(--text-xs);padding:.2rem .4rem}.notification-bell__empty{font-size:var(--text-sm);color:var(--ink-faint);text-align:center;padding:var(--space-3) 0}.notification-bell__list{gap:var(--space-1);flex-direction:column;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.notification-bell__item{text-align:left;width:100%;padding:var(--space-2);border-radius:var(--radius-sm);color:var(--ink);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;flex-direction:column;gap:.15rem;display:flex}.notification-bell__item:hover{background:var(--accent-surface)}.notification-bell__item--unread{font-weight:650}.notification-bell__time{font-size:var(--text-xs);color:var(--ink-faint);font-weight:400}
