.app-shell{grid-template-columns:248px minmax(0,1fr);min-height:100svh;display:grid}.sidebar{color:#e7f3f6;background:linear-gradient(180deg, var(--navy-950), var(--navy-900));flex-direction:column;gap:30px;height:100svh;padding:24px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;padding:0 8px;display:flex}.brand-mark{color:#fff;background:#1b9bb02e;border:1px solid #ffffff2e;border-radius:13px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.brand strong,.brand small{display:block}.brand strong{color:#fff;letter-spacing:.08em}.brand small{color:#91aeb9;margin-top:2px;font-size:11px}.nav-list{gap:6px;display:grid}.nav-list a{color:#a9c0c8;border-radius:12px;align-items:center;gap:12px;min-height:46px;padding:0 12px;font-size:14px;font-weight:600;text-decoration:none;transition:background .16s,color .16s;display:flex}.nav-list a:hover{color:#fff;background:#ffffff0f}.nav-list a.active{color:#fff;box-shadow:inset 3px 0 0 var(--sea-500);background:#1b9bb029}.nav-icon{text-align:center;color:#77c1ce;width:24px;font-size:18px}.sidebar-footer{border-top:1px solid #ffffff14;gap:9px;margin-top:auto;padding:14px 8px 0;display:grid}.region-label{color:#718f9b;font-size:11px}.network-status{color:var(--muted);align-items:center;gap:7px;font-size:12px;font-weight:700;display:inline-flex}.sidebar .network-status{color:#a9c0c8}.network-dot{background:currentColor;border-radius:50%;width:7px;height:7px}.network-status.is-online .network-dot{color:#44c797}.network-status.is-offline .network-dot{color:var(--warning)}.main-panel{min-width:0}.topbar{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f6f9fae6;border-bottom:1px solid #dce5e9e6;justify-content:space-between;align-items:center;min-height:72px;padding:0 34px;display:flex;position:sticky;top:0}.topbar>div{gap:3px;display:grid}.topbar strong{font-size:14px}.eyebrow{color:var(--sea-600);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:800}.page-content{width:min(1440px,100%);margin:0 auto;padding:40px 36px 56px}.page-stack{gap:28px;display:grid}.page-heading{max-width:760px}.page-heading h1{color:var(--navy-950);letter-spacing:-.035em;margin:8px 0 10px;font-size:clamp(30px,4vw,48px);line-height:1.05}.page-heading p{color:var(--muted);margin:0;font-size:15px;line-height:1.65}.status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.status-card,.panel{border:1px solid var(--border);background:var(--surface);border-radius:18px;box-shadow:0 12px 30px #1b34410d}.status-card{flex-direction:column;gap:10px;min-height:164px;padding:20px;display:flex}.status-card>span{color:var(--muted);font-size:12px;font-weight:700}.status-card strong{color:var(--navy-900);font-size:17px}.status-card p{color:var(--muted);margin:auto 0 0;font-size:13px;line-height:1.55}.dashboard-grid{grid-template-columns:minmax(0,1.8fr) minmax(280px,.8fr);gap:16px;display:grid}.panel{padding:22px}.panel-heading{gap:5px;margin-bottom:18px;display:grid}.panel-heading strong{color:var(--navy-900);font-size:18px}.map-placeholder{text-align:center;color:#d8edf1;background:linear-gradient(#0719238c,#071923b8),radial-gradient(circle at 30% 20%,#22788b,#0b2433 58%,#071923);border-radius:14px;place-content:center;gap:6px;min-height:360px;display:grid}.map-placeholder span{font-size:18px;font-weight:800}.map-placeholder small{color:#99bac4}.action-list{gap:10px;display:grid}.action-list button,.action-link{border:1px solid var(--border);min-height:48px;color:var(--navy-900);background:var(--surface-soft);text-align:left;border-radius:12px;padding:0 15px;font-weight:700}.action-list button:hover,.action-link:hover{background:#edf6f7;border-color:#b3ccd4}.feature-placeholder{text-align:center;place-content:center;place-items:center;gap:14px;min-height:360px;display:grid}.feature-placeholder strong{color:var(--navy-900);font-size:18px}.feature-placeholder p{max-width:520px;color:var(--muted);margin:0;line-height:1.6}.feature-orbit{border:1px solid #9dc4cc;border-radius:50%;width:64px;height:64px;box-shadow:inset 0 0 0 12px #eef7f8,0 0 0 7px #1b9bb014}.mobile-nav{display:none}@media (width<=900px){.app-shell{padding-bottom:calc(70px + env(safe-area-inset-bottom));display:block}.sidebar{display:none}.topbar{min-height:64px;padding:env(safe-area-inset-top) 20px 0}.page-content{padding:28px 18px 36px}.status-grid,.dashboard-grid{grid-template-columns:1fr}.map-placeholder{min-height:300px}.mobile-nav{z-index:30;min-height:calc(66px + env(safe-area-inset-bottom));padding:6px 8px env(safe-area-inset-bottom);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff5;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.mobile-nav a{color:#72828b;align-content:center;place-items:center;gap:3px;min-width:0;text-decoration:none;display:grid}.mobile-nav a>span{font-size:18px}.mobile-nav small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:9px;overflow:hidden}.mobile-nav a.active{color:var(--sea-600)}}.topbar-actions{align-items:center;gap:12px;display:flex}.topbar-user{color:var(--muted);font-size:12px;font-weight:700}.ghost-button{border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--navy-900);cursor:pointer;border-radius:10px;padding:0 12px;font-weight:700}.auth-screen{background:radial-gradient(circle at 15% 10%,#1b9bb01f,#0000 34%),linear-gradient(#f6f9fa,#edf4f6);place-items:center;min-height:100svh;padding:28px 18px;display:grid}.auth-card{border:1px solid var(--border);background:#fffffff5;border-radius:22px;width:min(460px,100%);padding:32px;box-shadow:0 24px 70px #0f2a371f}.auth-brand{color:var(--navy-950);letter-spacing:.12em;font-weight:900;text-decoration:none}.auth-heading{margin:28px 0 24px}.auth-heading h1{color:var(--navy-950);letter-spacing:-.03em;margin:0 0 8px;font-size:30px}.auth-heading p,.auth-footer,.auth-success p{color:var(--muted);line-height:1.55}.auth-form{gap:16px;display:grid}.auth-form label{color:var(--navy-900);gap:7px;font-size:13px;font-weight:700;display:grid}.auth-form input{border:1px solid var(--border);min-height:46px;color:var(--navy-950);font:inherit;background:#fff;border-radius:11px;padding:0 13px}.auth-form input:focus{border-color:var(--sea-500);outline:3px solid #1b9bb01f}.auth-form small{color:var(--muted);font-weight:500}.auth-name-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.primary-button,.link-button{background:var(--sea-600);color:#fff;cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;min-height:46px;padding:0 16px;font-weight:800;text-decoration:none;display:inline-flex}.primary-button:disabled,.ghost-button:disabled{opacity:.55;cursor:wait}.form-error{color:#b33b32;margin:0;font-size:13px;line-height:1.45}.form-note{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.auth-success,.auth-loading{background:var(--surface-soft);color:var(--navy-900);border-radius:12px;padding:16px}.auth-success strong,.auth-success p{display:block}.auth-success p{margin:6px 0 0}.auth-footer{margin-top:20px;font-size:13px}.profile-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:18px;display:grid}.profile-panel{gap:20px;display:grid}.profile-form{gap:16px;display:grid}.profile-form h2{color:var(--navy-950);margin:0;font-size:16px}.profile-form label{color:var(--navy-900);gap:7px;font-size:13px;font-weight:700;display:grid}.profile-form input,.profile-form textarea{box-sizing:border-box;border:1px solid var(--border);width:100%;color:var(--navy-950);font:inherit;background:#fff;border-radius:11px}.profile-form input{min-height:46px;padding:0 13px}.profile-form textarea{resize:vertical;padding:12px 13px}.profile-form input:focus,.profile-form textarea:focus{border-color:var(--sea-500);outline:3px solid #1b9bb01f}.profile-form input:disabled{background:var(--surface-soft);color:var(--muted)}.profile-form small{color:var(--muted);font-weight:500}.profile-name-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.vessel-list{gap:10px;display:grid}.vessel-card{border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:12px 14px;display:flex}.vessel-card>div{gap:4px;display:grid}.vessel-card span,.empty-state p{color:var(--muted);font-size:12px}.status-pill{background:#1b9bb01f;border-radius:999px;padding:6px 9px;font-weight:800;color:var(--sea-600)!important;font-size:11px!important}.empty-state{border:1px dashed var(--border);background:var(--surface-soft);border-radius:12px;padding:16px}.empty-state p{margin:6px 0 0;line-height:1.5}.vessel-form{border-top:1px solid var(--border);padding-top:18px}.action-link{align-items:center;text-decoration:none;display:flex}@media (width<=900px){.profile-grid,.profile-name-grid{grid-template-columns:1fr}}.vessel-card-manage{align-items:flex-start}.vessel-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.text-button{color:var(--sea-600);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:800}.text-button:disabled{opacity:.5;cursor:wait}.danger-text{color:#b33b32}.form-section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}@media (width<=640px){.vessel-card-manage{display:grid}.vessel-card-actions{justify-content:flex-start}}.documents-grid{grid-template-columns:minmax(280px,.72fr) minmax(0,1.6fr);align-items:start;gap:18px;display:grid}.documents-sidebar,.document-create-panel,.document-drafts-panel,.document-editor-panel{gap:18px;display:grid}.document-create-controls{gap:12px;display:grid}.document-create-controls label{color:var(--navy-900);gap:7px;font-size:13px;font-weight:700;display:grid}.document-create-controls select,.document-form input,.document-form textarea,.document-form select{box-sizing:border-box;border:1px solid var(--border);width:100%;color:var(--navy-950);font:inherit;background:#fff;border-radius:11px}.document-create-controls select,.document-form input,.document-form select{min-height:44px;padding:0 12px}.document-form textarea{resize:vertical;padding:11px 12px}.document-form input:focus,.document-form textarea:focus,.document-form select:focus,.document-create-controls select:focus{border-color:var(--sea-500);outline:3px solid #1b9bb01f}.document-draft-list{gap:10px;display:grid}.document-draft-item{border:1px solid var(--border);background:var(--surface-soft);width:100%;color:var(--navy-950);text-align:left;cursor:pointer;border-radius:12px;gap:5px;padding:13px 14px;transition:border-color .14s,background .14s;display:grid}.document-draft-item:hover,.document-draft-item.is-active{border-color:var(--sea-500);background:#1b9bb014}.document-draft-item>span:first-child{font-weight:800}.document-draft-item small{color:var(--muted)}.document-status{border-radius:999px;justify-self:start;padding:5px 8px;font-size:11px;font-weight:800}.document-status.draft{color:var(--muted);background:#6074821f}.document-empty-editor{text-align:center;min-height:320px;color:var(--muted);place-content:center;gap:8px;display:grid}.document-empty-editor strong{color:var(--navy-950);font-size:20px}.document-empty-editor p{max-width:520px;margin:0;line-height:1.6}.document-editor-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.document-editor-heading h2{color:var(--navy-950);margin:6px 0 0;font-size:clamp(20px,3vw,28px)}.document-progress-block{background:var(--surface-soft);text-align:right;border-radius:12px;gap:2px;min-width:110px;padding:12px 14px;display:grid}.document-progress-block strong{color:var(--sea-600);font-size:22px}.document-progress-block span{color:var(--muted);font-size:11px;font-weight:700}.document-legal-note{background:#f1bb5917;border:1px solid #d2983a47;border-radius:12px;padding:14px 16px}.document-legal-note strong{color:var(--navy-950)}.document-legal-note p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.55}.document-form{gap:22px;display:grid}.document-field-group{gap:13px;display:grid}.document-field-group h3{border-bottom:1px solid var(--border);color:var(--navy-950);margin:0;padding-bottom:9px;font-size:15px}.document-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.document-fields-grid label{color:var(--navy-900);gap:7px;font-size:12px;font-weight:700;display:grid}.document-fields-grid label.wide{grid-column:1/-1}.document-fields-grid em{color:#b33b32;font-style:normal}.document-fields-grid small{color:#b33b32;font-size:11px;font-weight:600}.document-fields-grid [aria-invalid=true]{background:#b33b3206;border-color:#b33b3285}.document-editor-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;padding-top:18px;display:flex}.document-editor-actions p{margin:0}.document-action-buttons{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}@media (width<=980px){.documents-grid{grid-template-columns:1fr}.documents-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.documents-sidebar,.document-fields-grid{grid-template-columns:1fr}.document-editor-heading,.document-editor-actions{flex-direction:column;align-items:stretch}.document-progress-block{text-align:left}.document-action-buttons{justify-content:stretch}}.document-generation-panel{border:1px solid var(--border);background:var(--surface-soft);border-radius:14px;gap:14px;padding:18px;display:grid}.document-generation-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.document-generation-heading>div:first-child{gap:4px;display:grid}.document-generation-buttons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.document-revision-list{gap:8px;display:grid}.document-revision-item{border:1px solid var(--border);background:#fff;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;padding:12px 13px;display:flex}.document-revision-item>div{gap:3px;display:grid}.document-revision-item small{color:var(--muted);font-size:11px}.document-status.queued,.document-status.generating,.document-status.retrying{color:var(--sea-600);background:#1b9bb01f}.document-status.ready{color:#2f7c54;background:#338c5c1f}@media (width<=720px){.document-generation-heading,.document-revision-item{flex-direction:column;align-items:stretch}.document-generation-buttons{grid-template-columns:1fr;display:grid}.document-generation-buttons .primary-button,.document-generation-buttons .ghost-button,.document-revision-item .link-button{justify-content:center;width:100%}}@media (width<=900px){.auth-form input,.profile-form input,.profile-form textarea,.document-create-controls select,.document-form input,.document-form textarea,.document-form select{font-size:16px}}.navigator-page{gap:20px}.navigator-toolbar{grid-template-columns:minmax(220px,320px) auto minmax(0,1fr);align-items:end;gap:14px;display:grid}.navigator-toolbar label{color:var(--navy-900);gap:7px;font-size:13px;font-weight:700;display:grid}.navigator-toolbar select{border:1px solid var(--border);min-height:46px;color:var(--navy-950);font:inherit;background:#fff;border-radius:11px;padding:0 12px}.navigator-summary{flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0;display:flex}.navigator-summary span{background:var(--surface-soft);color:var(--muted);border-radius:999px;padding:8px 10px;font-size:11px;font-weight:700}.navigator-summary strong{color:var(--navy-900)}.navigator-map-panel{padding:0;overflow:hidden}.navigator-map-meta{justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.navigator-map-meta>div:first-child{gap:4px;display:grid}.navigator-legend{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;gap:10px;font-size:11px;font-weight:700;display:flex}.navigator-legend span{align-items:center;gap:6px;display:inline-flex}.legend-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.legend-dot.base{background:#147d91}.legend-dot.warning{background:#d59a3d}.legend-dot.danger{background:#c84f43}.navigator-map{border-top:1px solid var(--border);border-bottom:1px solid var(--border);width:100%;height:min(62vh,720px);min-height:460px}.navigator-disclaimer{color:var(--muted);background:#fff9ee;gap:8px;padding:12px 16px;font-size:11px;line-height:1.5;display:flex}.navigator-disclaimer strong{color:#8d651f;flex:none}.navigator-error{background:#b33b320f;border-radius:10px;padding:10px 12px}.navigator-data-grid{grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:18px;display:grid}.navigator-notice-list{gap:9px;display:grid}.navigator-notice-item{border:1px solid var(--border);background:var(--surface-soft);border-radius:11px;align-items:flex-start;gap:10px;padding:11px 12px;display:flex}.navigator-notice-item>div{gap:4px;min-width:0;display:grid}.navigator-notice-item strong{color:var(--navy-950);font-size:13px}.navigator-notice-item small,.navigator-freshness{color:var(--muted);font-size:11px}.navigator-position-panel dl{gap:10px;margin:0;display:grid}.navigator-position-panel dl>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:14px;padding:10px 0;display:flex}.navigator-position-panel dt{color:var(--muted);font-size:12px}.navigator-position-panel dd{color:var(--navy-950);margin:0;font-weight:800}.navigator-freshness{margin-top:14px;line-height:1.5;display:block}@media (width<=900px){.navigator-toolbar,.navigator-data-grid{grid-template-columns:1fr}.navigator-summary,.navigator-legend{justify-content:flex-start}}@media (width<=680px){.navigator-map-meta,.navigator-disclaimer{flex-direction:column;align-items:flex-start}.navigator-map{height:58vh;min-height:390px}.navigator-toolbar .primary-button,.navigator-toolbar select{width:100%;font-size:16px}}:root{color:#14222c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--navy-950:#071923;--navy-900:#0b2433;--navy-800:#12384a;--sea-600:#147d91;--sea-500:#1b9bb0;--surface:#fff;--surface-soft:#f6f9fa;--border:#dce5e9;--text:#14222c;--muted:#687a85;--success:#15805e;--warning:#b87812;--danger:#b54646;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#eef3f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:#eef3f6;min-width:320px}body{min-width:320px;min-height:100svh;margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}#root{min-height:100svh}::selection{color:#fff;background:var(--sea-600)}@media (width<=900px){input,textarea,select{font-size:16px}}
