:root{--bg:#f5efe1;--surface:rgba(255,251,242,0.78);--surface-strong:#fffaf0;--text:#17261f;--muted:#516259;--line:rgba(23,38,31,0.12);--line-strong:rgba(23,38,31,0.16);--accent:#005f73;--accent-soft:rgba(0,95,115,0.14);--ok:#17653a;--warn:#af5d0a;--danger:#9b2226;--shadow:0 18px 42px rgba(35,44,38,0.09);--radius-card:30px;--radius-panel:22px;--radius-pill:999px}*{box-sizing:border-box}html{min-height:100%;background:radial-gradient(circle at top left,rgba(0,95,115,.18),transparent 34%),radial-gradient(circle at top right,rgba(238,155,0,.18),transparent 28%),linear-gradient(180deg,#f3ecdc,#f7f2e9 50%,#efe8d7)}body{margin:0;min-height:100vh;color:var(--text);font-family:Avenir Next,Segoe UI,sans-serif;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 16% 18%,rgba(9,121,140,.12),transparent 24%),radial-gradient(circle at 82% 14%,rgba(238,155,0,.08),transparent 26%)}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}button,input,select{font:inherit}input,select{width:100%;border:1px solid var(--line-strong);background:rgba(255,255,255,.82);color:var(--text);border-radius:16px;padding:14px 16px;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}input:focus,select:focus{border-color:rgba(0,95,115,.48);box-shadow:0 0 0 4px rgba(0,95,115,.08);background:rgba(255,255,255,.96)}.shell{width:min(1240px,calc(100vw - 48px));margin:0 auto;padding:32px 0 64px;position:relative;z-index:1}.login-shell{min-height:100vh;display:grid;place-items:center;padding:28px;position:relative;z-index:1}.login-card{width:min(100%,620px);display:flex;flex-direction:column;gap:24px;padding:28px;border-radius:32px;background:rgba(255,251,242,.82);border:1px solid rgba(255,255,255,.6);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 24px 64px rgba(24,39,34,.12)}.login-brand{display:flex;align-items:center;gap:20px}.login-logo{width:96px;height:96px;flex:0 0 96px;display:grid;place-items:center}.login-logo-image{width:82px;height:82px}.login-brand-copy{display:flex;flex-direction:column;gap:10px}.login-title{margin:0;font-size:1rem}.login-subtitle{max-width:40rem;color:var(--muted);font-size:1.02rem;line-height:1.5}.login-form{display:flex;flex-direction:column;gap:14px}.login-error{color:var(--danger);font-size:.96rem;font-weight:600}.topbar{justify-content:space-between;gap:32px;margin-bottom:36px}.masthead,.topbar{display:flex;align-items:center}.masthead{gap:18px;flex:1 1 auto;min-width:0}.logo-slot{width:108px;height:108px;flex:0 0 108px;display:flex;align-items:center;justify-content:center}.logo-image{width:96px;height:96px}.brand{display:flex;flex-direction:column;gap:0}.brand-mark{display:inline-flex;align-items:baseline;gap:.02em;color:#173a4a;font-size:clamp(2rem,3.2vw,2.95rem);font-weight:800;letter-spacing:.14em;line-height:.95;text-transform:lowercase;white-space:nowrap}.brand-mark-main,.brand-mark-tld{opacity:.94}.brand-mark-dot{color:#0a9cab;transform:translateY(-.04em)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.82rem;font-weight:600;color:var(--muted)}.title{font-size:clamp(3rem,6vw,4.8rem);letter-spacing:-.05em;line-height:.94;max-width:18ch}.subtitle{color:var(--muted);max-width:50rem;font-size:clamp(1.1rem,1.7vw,1.35rem);line-height:1.45}.page-intro{display:flex;flex-direction:column;gap:16px;padding-inline:24px;margin-bottom:56px}.site-footer{margin-top:48px;padding:22px 24px 0;border-top:1px solid rgba(23,38,31,.08)}.site-footer-grid{display:grid;grid-template-columns:minmax(0,1.3fr) auto auto;grid-gap:18px 28px;gap:18px 28px;align-items:start}.site-footer-brand{display:flex;flex-direction:column;gap:6px;min-width:0}.site-footer-brand strong{font-size:1rem;letter-spacing:.02em}.site-footer-brand p{color:var(--muted);font-size:.96rem;line-height:1.45;max-width:34rem}.site-footer-links,.site-footer-meta{display:flex;flex-direction:column;gap:10px;color:var(--muted);font-size:.95rem}.site-footer-links a{transition:color .16s ease}.site-footer-links a:hover{color:var(--text)}.nav,.nav-links{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.nav a{border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:rgba(255,255,255,.45);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-weight:500;box-shadow:inset 0 1px 0 rgba(255,255,255,.4)}.nav a,.nav-button{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;font-size:1rem;line-height:1}.nav-button{gap:8px;border-radius:var(--radius-pill);border:1px solid rgba(155,34,38,.14);background:rgba(155,34,38,.08);color:#7c2428;font-weight:600;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}.nav-button-icon{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;font-size:.95rem;line-height:1}.content-grid,.hero-grid{display:grid;grid-gap:20px;gap:20px}.section-block{margin-top:18px}.admin-top-block{margin-bottom:12px}.admin-control-card{gap:14px;padding:22px}.admin-header-row{gap:12px}.admin-control-card .section-head{gap:6px}.admin-panel{padding:14px}.admin-summary-card{gap:14px}.admin-summary-card .section-head{gap:6px}.admin-list-card{gap:14px}.admin-list-card .list{gap:10px}.admin-list-card .list-item{gap:8px;padding:13px 14px}.hero-grid{grid-template-columns:1.3fr .9fr;margin-bottom:12px}.dashboard-flow{display:flex;flex-direction:column}.content-grid{grid-template-columns:repeat(12,1fr)}.card{background:var(--surface);border:1px solid rgba(255,255,255,.5);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:24px}.card strong{font-weight:700}.panel{padding:16px;border-radius:var(--radius-panel);background:rgba(255,255,255,.52);border:1px solid var(--line)}.panel-tight{gap:12px}.card h2{font-size:clamp(1.8rem,2.7vw,2.7rem);line-height:1.04;letter-spacing:-.035em}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.stack{display:flex;flex-direction:column;gap:16px}.management-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.row{align-items:center;justify-content:space-between;gap:16px}.field,.row{display:flex}.field{flex-direction:column;gap:6px}.field-label{color:var(--muted);font-size:.92rem;font-weight:600}.section-head{gap:9px;padding-top:2px}.panel-heading,.section-head{display:flex;flex-direction:column}.panel-heading{gap:8px;min-height:0}.panel-title{font-size:clamp(1.25rem,2vw,1.9rem)!important;line-height:1.08!important}.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--radius-pill);background:rgba(255,255,255,.7);border:1px solid var(--line);color:var(--muted);font-size:1rem;line-height:1.1;white-space:nowrap}.metric{display:flex;flex-direction:column;gap:10px}.metric-value{font-size:clamp(2.4rem,5vw,4.4rem);line-height:.94;letter-spacing:-.05em;overflow-wrap:anywhere}.metric-hero .metric-value{font-size:clamp(3.2rem,7vw,5.4rem)}.status-card{gap:12px}.checklist-card{gap:10px;padding:18px 20px 20px}.checklist-header{gap:12px;margin-bottom:2px}.checklist-card .section-head{gap:5px}.checklist-card h2{line-height:.96}.checklist-list{gap:10px}.checklist-item{gap:8px;padding:12px 14px}.status-card .section-head{gap:6px}.status-card .metric-hero{gap:8px}.status-flag{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.56)}.status-flag.ready{background:rgba(23,101,58,.1);border-color:rgba(23,101,58,.18)}.status-flag.pending{background:rgba(155,34,38,.1);border-color:rgba(155,34,38,.18);color:#8a2529}.status-flag strong{font-size:1rem;line-height:1.2}.status-card .metric-hero .metric-value{font-size:clamp(1.8rem,2.7vw,2.7rem);line-height:1.04;letter-spacing:-.035em}.status-card .muted{max-width:26ch}.stat-value{font-size:clamp(2.2rem,4vw,3.8rem);line-height:.9}.muted{color:var(--muted);font-size:1.05rem;line-height:1.5}.cta{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:74px;padding:18px 24px;border:0;border-radius:28px;background:linear-gradient(135deg,#0d7a74,#1696a0 52%,#35b6aa);color:white;font-family:Avenir Next,Segoe UI,sans-serif;font-size:1.14rem;font-weight:800;line-height:1.1;letter-spacing:.04em;text-align:center;text-transform:uppercase;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 14px 28px rgba(22,150,160,.24);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.cta.stop{background:linear-gradient(135deg,#ca5a2e,#d96f38 48%,#e89656);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 14px 28px rgba(201,90,46,.24)}.cta:hover{transform:translateY(-1px);filter:saturate(1.04)}.cta:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(255,250,240,.9),0 0 0 8px rgba(22,150,160,.22),inset 0 1px 0 rgba(255,255,255,.22),0 14px 28px rgba(22,150,160,.24)}.cta:disabled{cursor:not-allowed;background:linear-gradient(135deg,#9aa8a4,#b8c2bf);box-shadow:none;color:rgba(255,255,255,.95)}.button-secondary{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 16px;border:1px solid rgba(0,95,115,.18);border-radius:18px;background:rgba(0,95,115,.08);color:var(--accent);font-weight:700;text-align:center;cursor:pointer}.button-icon{justify-content:flex-start;padding-inline:18px 20px;width:100%}.button-icon span:last-child{text-align:left}.button-plus{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:rgba(0,95,115,.14);font-size:1.15rem;font-weight:700;line-height:1}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.readiness-card{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.56)}.readiness-card.ready{background:rgba(23,101,58,.1);border-color:rgba(23,101,58,.18)}.readiness-card.pending{background:rgba(238,155,0,.1);border-color:rgba(175,93,10,.16)}.workflow-card{display:flex;flex-direction:column;gap:10px}.workflow-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.workflow-step{display:flex;flex-direction:column;gap:6px;min-height:96px;padding:12px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.56)}.workflow-step.done{background:rgba(23,101,58,.1);border-color:rgba(23,101,58,.18)}.workflow-step-flash{animation:workflow-success-flash .9s ease-out}.workflow-step.current{background:rgba(238,155,0,.12);border-color:rgba(175,93,10,.22)}.workflow-step.current .workflow-index{background:rgba(175,93,10,.16);color:#8d4e08}.workflow-step-stop.current{background:rgba(180,35,44,.12);border-color:rgba(180,35,44,.22)}.workflow-step-stop.current .workflow-index{background:rgba(180,35,44,.16);color:#9b2226}@keyframes workflow-success-flash{0%{background:rgba(90,190,120,.28);border-color:rgba(46,140,82,.4);box-shadow:0 0 0 0 rgba(46,140,82,.22)}38%{background:rgba(120,214,150,.38);border-color:rgba(46,140,82,.48);box-shadow:0 0 0 10px rgba(46,140,82,.08)}to{background:rgba(23,101,58,.1);border-color:rgba(23,101,58,.18);box-shadow:0 0 0 0 rgba(46,140,82,0)}}.workflow-step-head{display:flex;align-items:center;gap:10px}.workflow-step strong{font-size:.98rem;line-height:1.2}.workflow-step .muted{font-size:.92rem;line-height:1.35}.workflow-index{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:rgba(23,38,31,.08);font-size:.92rem;font-weight:700}.stat-box{justify-content:space-between;gap:10px;min-height:156px;padding:16px;border-radius:var(--radius-panel);background:rgba(255,255,255,.62);border:1px solid var(--line)}.list,.stat-box{display:flex;flex-direction:column}.list{gap:12px}.list-item{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:var(--radius-panel);background:rgba(255,255,255,.62);border:1px solid var(--line)}.list-item.compact{flex-direction:row;justify-content:space-between;align-items:center;gap:16px}.list-item.compact>div:first-child{flex:1 1 auto;min-width:0}.status-documents{gap:10px}.status-document{align-items:center;padding:12px 14px}.status-document .pill{flex:0 0 auto;align-self:center}.status-document .muted{max-width:32ch}.routine-copy{flex:1 1 auto;min-width:0;padding-right:12px}.routine-copy .muted{font-size:.96rem;line-height:1.45}.routine-pill{padding:6px 12px;font-size:.9rem}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.toggle{width:54px;height:32px;min-width:54px;border-radius:999px;position:relative;border:0;flex:0 0 auto;overflow:hidden;cursor:pointer;background:rgba(81,98,89,.25);transition:background .16s ease}.toggle:disabled{cursor:not-allowed;opacity:.55}.toggle[data-active=true]{background:rgba(10,147,150,.8)}.toggle:after{content:"";position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:50%;background:white;transition:transform .16s ease}.toggle[data-active=true]:after{transform:translateX(22px)}.inline-lock-note{color:var(--muted);font-size:.95rem;font-weight:600}.timeline{display:flex;flex-direction:column;gap:10px}.timeline-entry{display:grid;grid-template-columns:72px 1fr;grid-gap:12px;gap:12px;align-items:start}.timeline-entry time{color:var(--muted);font-weight:600;font-size:.96rem;line-height:1.5;padding-top:8px}.alert{padding:14px 16px;border-radius:var(--radius-panel);background:rgba(238,155,0,.14);color:#7a4300;border:1px solid rgba(175,93,10,.16);font-size:1rem;line-height:1.45}.status-card .alert{padding:12px 14px;line-height:1.35}.ok{color:var(--ok)}.warn{color:var(--warn)}.danger{color:var(--danger)}@media (max-width:920px){.dashboard-flow{display:grid;grid-gap:20px;gap:20px}.shell{width:min(100vw - 32px,1240px);padding-top:22px}.content-grid,.hero-grid{grid-template-columns:1fr}.dashboard-flow>.content-grid,.dashboard-flow>.hero-grid{display:contents}.vessel-card{order:1}.checklist-card{order:2}.status-card{order:3}.events-card{order:4}.span-4,.span-5,.span-6,.span-7,.span-8{grid-column:auto}.card{padding:20px}.topbar{margin-bottom:44px}.logo-slot{width:96px;height:96px;flex-basis:96px}.brand-mark{font-size:clamp(1.75rem,4vw,2.4rem)}.management-grid{grid-template-columns:1fr}.stat-box{min-height:136px}.workflow-list{grid-template-columns:1fr}.workflow-step{min-height:0}.login-card{padding:24px}.page-intro,.site-footer{padding-inline:20px}.site-footer{margin-top:40px}.site-footer-grid{grid-template-columns:1fr;gap:16px}}@media (max-width:680px){.shell{width:min(100vw - 20px,1240px);padding-top:18px;padding-bottom:28px}.content-grid,.dashboard-flow,.hero-grid{gap:18px}.hero-grid{margin-bottom:10px}.section-block{margin-top:18px}.admin-top-block{margin-bottom:10px}.admin-control-card{padding:18px;gap:12px}.admin-panel{padding:13px}.row{align-items:flex-start;flex-direction:column}.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:14px 10px;gap:14px 10px;margin-bottom:24px}.login-shell{padding:16px}.login-card{gap:20px;padding:20px;border-radius:26px}.login-brand{align-items:flex-start;flex-direction:column;gap:14px}.login-logo{width:72px;height:72px;flex-basis:72px}.login-logo-image{width:64px;height:64px}.masthead{min-width:0;gap:14px}.logo-slot{width:60px;height:60px;flex-basis:60px}.logo-image{width:56px;height:56px}.brand{min-width:0;gap:8px}.brand-mark{font-size:clamp(1.08rem,5.2vw,1.5rem);letter-spacing:.09em}.page-intro{gap:12px;padding-inline:18px;margin-bottom:34px}.site-footer{margin-top:32px;padding:18px 18px 0}.site-footer-brand p,.site-footer-links,.site-footer-meta{font-size:.93rem}.section-head{gap:8px;padding-top:0}.title{font-size:clamp(2.5rem,13vw,3.7rem)}.subtitle{font-size:1.02rem}.nav{display:contents}.nav-button.nav-logout{grid-column:2;grid-row:1;margin-left:0;padding:12px 16px;white-space:nowrap}.nav-links{grid-column:1/-1;grid-row:2;width:100%;gap:10px;justify-content:flex-start}.nav a{flex:1 1 auto;text-align:center;padding:13px 16px}.card{padding:18px;border-radius:24px}.checklist-card{padding:16px 16px 18px}.checklist-item{padding:12px 13px}.stat-grid{grid-template-columns:1fr}.stat-box{min-height:0}.cta{min-height:58px;border-radius:22px}.alert,.list-item{padding:14px}.routine-copy{padding-right:10px}.routine-copy .muted{font-size:.93rem}.routine-pill{padding:5px 11px;font-size:.86rem}.timeline-entry{grid-template-columns:1fr;gap:6px}.timeline-entry time{padding-top:0}}