@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";:root{color:#eef6ff;font-synthesis:none;background:#03091a;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}.app-shell{background:radial-gradient(circle at 85% 10%,#132e61 0,#0000 28%),#03091a;min-height:100vh}.sidebar{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#06162bef;border-right:1px solid #23416b77;flex-direction:column;width:270px;display:flex;position:fixed;inset:0 auto 0 0}.brand{border-bottom:1px solid #23416b66;align-items:center;gap:12px;padding:24px 20px;display:flex}.brand-mark{background:linear-gradient(135deg,#2563eb,#2dd4bf);border-radius:15px;place-items:center;width:48px;height:48px;font-size:12px;font-weight:900;display:grid;box-shadow:0 10px 30px #0ea5e944}.brand strong,.brand span{display:block}.brand strong{text-transform:uppercase;letter-spacing:.04em;font-size:14px}.brand span{color:#8ea9c8;margin-top:4px;font-size:11px;font-weight:700}.sidebar nav{flex:1;padding:22px 14px}.nav-label,.eyebrow{color:#59c7ff;letter-spacing:.17em;text-transform:uppercase;font-size:10px;font-weight:900}.nav-label{color:#657f9f;padding:0 12px 8px}.nav-item{color:#a9bad0;border-radius:14px;align-items:center;gap:12px;margin:4px 0;padding:13px 14px;font-size:13px;font-weight:700;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{color:#fff;background:#ffffff0d}.nav-active{color:#fff;background:linear-gradient(90deg,#1265c94d,#26b9df1a);box-shadow:inset 3px 0 #38bdf8}.sidebar-footer{border-top:1px solid #23416b66;padding:16px}.user-card{align-items:center;gap:10px;min-width:0;display:flex}.user-card div{min-width:0}.user-card strong,.user-card span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.user-card strong{font-size:12px}.user-card span{color:#7890ae;margin-top:3px;font-size:10px}.avatar{color:#bde8ff;background:#174275;border-radius:13px;flex:none;place-items:center;width:38px;height:38px;font-size:11px;font-weight:900;display:grid}.logout-button{color:#fda4af;background:#fb71850d;border:1px solid #f8717140;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:14px;padding:10px;font-size:12px;font-weight:800;display:flex}.main-area{min-height:100vh;margin-left:270px}.topbar{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#071327e8;border-bottom:1px solid #23416b66;align-items:center;gap:14px;min-height:82px;padding:16px 28px;display:flex;position:sticky;top:0}.topbar p{color:#7892b1;text-transform:uppercase;letter-spacing:.14em;margin:0 0 4px;font-size:10px;font-weight:800}.topbar h1{margin:0;font-size:21px}.status-pill,.read-only-pill{color:#6ee7b7;text-transform:uppercase;letter-spacing:.08em;background:#10b98112;border:1px solid #34d39930;border-radius:999px;margin-left:auto;padding:8px 12px;font-size:10px;font-weight:900}.status-pill i{background:#34d399;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block;box-shadow:0 0 12px #34d399}.content{padding:26px}.welcome-card{background:linear-gradient(135deg,#102a55,#13204b);border:1px solid #3b68a166;border-radius:24px;justify-content:space-between;align-items:center;gap:20px;padding:28px;display:flex;box-shadow:0 16px 60px #0008}.welcome-card h2{margin:7px 0 6px;font-size:27px}.welcome-card p{color:#9db1cc;margin:0;font-size:13px}.metrics-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.metric{background:#0d1d39d9;border:1px solid #2f518077;border-radius:20px;min-height:132px;padding:19px;position:relative;overflow:hidden}.metric svg{color:#38bdf855;position:absolute;top:15px;right:15px}.metric span{color:#7892b1;text-transform:uppercase;margin-top:33px;font-size:10px;font-weight:800;display:block}.metric strong{color:#fff;margin-top:7px;font-size:23px;display:block}.panel-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;display:grid}.panel,.boat-card{background:#0b1932e6;border:1px solid #2c4e7a77;border-radius:22px;box-shadow:0 16px 60px #0005}.panel{padding:20px}.panel-title{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.panel-title h3{margin:5px 0 0;font-size:18px}.list-row{border-top:1px solid #24426555;justify-content:space-between;align-items:center;gap:12px;padding:14px 3px;display:flex}.list-row strong,.list-row span{display:block}.list-row strong{font-size:12px}.list-row div>span{color:#7f97b4;margin-top:5px;font-size:10px}.badge{text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;padding:6px 9px;font-size:9px;font-weight:900;display:inline-flex}.badge-green{color:#6ee7b7;background:#10b9811c;border:1px solid #34d39933}.badge-muted{color:#94a3b8;background:#64748b1c;border:1px solid #94a3b829}.badge-blue{color:#7dd3fc;background:#0ea5e91c;border:1px solid #38bdf833}.cards-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.boat-card{padding:22px}.boat-card-icon{color:#67e8f9;background:#0891b21f;border-radius:15px;place-items:center;width:48px;height:48px;margin-bottom:18px;display:grid}.boat-card h2{margin:6px 0;font-size:21px}.boat-card>p{color:#8299b6;margin:0;font-size:12px}.detail-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:22px;display:grid}.detail-grid div{background:#071327;border-radius:14px;padding:12px}.detail-grid span,.detail-grid strong{display:block}.detail-grid span{color:#627b99;text-transform:uppercase;font-size:9px}.detail-grid strong{margin-top:5px;font-size:11px}.schedule-card{background:#07152b;border:1px solid #28497266;border-radius:18px;margin-top:14px;padding:18px}.schedule-head{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.schedule-head h3{margin:6px 0;font-size:16px}.schedule-head p{color:#839ab7;margin:0;font-size:11px}.fare-list{margin-top:15px}.fare-row{color:#91a8c4;border-top:1px solid #28497255;grid-template-columns:minmax(220px,2fr) repeat(3,1fr);gap:12px;padding:11px 0;font-size:10px;display:grid}.fare-row strong{color:#d9eaff}.fare-benefits{flex-wrap:wrap;grid-column:1/-1;gap:7px;display:flex}.fare-benefits small{color:#a7f3d0;background:#10b98112;border:1px solid #34d39933;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;line-height:1.35}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:820px}th,td{text-align:left;border-bottom:1px solid #28497255;padding:14px 11px;font-size:11px}th{color:#6f89a8;text-transform:uppercase;letter-spacing:.07em;font-size:9px}.privacy-note{color:#6983a2;margin:17px 0 0;font-size:10px;line-height:1.6}.empty-state,.loading-card{color:#7f97b4;text-align:center;border:1px dashed #35577f;border-radius:18px;padding:32px;font-size:12px}.loading-page,.access-denied{color:#fff;background:#03091a;place-items:center;min-height:100vh;padding:24px;display:grid}.access-denied>div{background:#fb71850c;border:1px solid #fb718533;border-radius:24px;max-width:550px;padding:35px}.access-denied h1{margin:9px 0}.access-denied p{color:#c6d5e8;line-height:1.6}.login-page{background:#03091a;grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.login-intro{background:radial-gradient(circle at 15% 15%,#2563eb66,#0000 35%),linear-gradient(145deg,#07152c,#0d2851);flex-direction:column;justify-content:space-between;padding:55px;display:flex}.login-brand{text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:10px;font-size:14px;font-weight:900;display:flex}.login-intro h1{max-width:590px;margin:12px 0;font-size:clamp(34px,4.5vw,63px);line-height:1.04}.login-intro p{color:#a9bfd7;max-width:500px;font-size:15px;line-height:1.6}.login-intro small{color:#7592b1}.login-form-area{place-items:center;padding:30px;display:grid}.login-card{background:#0a1a34;border:1px solid #31547f77;border-radius:27px;width:min(430px,100%);padding:34px;box-shadow:0 24px 80px #000a}.login-icon{color:#67e8f9;background:#0891b21f;border-radius:16px;place-items:center;width:52px;height:52px;margin-bottom:20px;display:grid}.login-card h2{margin:8px 0;font-size:27px}.login-card>p{color:#829ab7;margin:0 0 24px;font-size:12px;line-height:1.55}.login-card label{color:#9bb0c9;text-transform:uppercase;letter-spacing:.06em;margin-top:15px;font-size:10px;font-weight:800;display:block}.login-card input{color:#fff;background:#07152c;border:1px solid #31547f;border-radius:13px;outline:none;width:100%;margin-top:7px;padding:14px;font-size:13px}.login-card input:focus{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf819}.password-field{position:relative}.password-field input{padding-right:48px}.password-field button{color:#7f98b6;background:0 0;border:0;padding:8px;display:grid;position:absolute;top:14px;right:8px}.primary-button{color:#fff;text-transform:uppercase;letter-spacing:.05em;background:linear-gradient(90deg,#2563eb,#0891b2);border:0;border-radius:13px;width:100%;margin-top:22px;padding:14px;font-size:12px;font-weight:900}.primary-button:disabled{cursor:wait;opacity:.6}.link-button{color:#7dd3fc;background:0 0;border:0;width:100%;padding:13px;font-size:11px;font-weight:800}.form-message{border-radius:11px;margin:13px 0;padding:11px 13px;font-size:11px;line-height:1.5}.error-message{color:#fecdd3;background:#fb718517;border:1px solid #fb718533}.success-message{color:#a7f3d0;background:#10b98117;border:1px solid #34d39933}.mobile-menu,.mobile-close,.menu-backdrop{display:none}@media (width<=1100px){.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.sidebar{transition:all .25s;transform:translate(-105%)}.sidebar-open{transform:translate(0)}.main-area{margin-left:0}.mobile-menu,.mobile-close{color:#fff;background:0 0;border:0;place-items:center;display:grid}.mobile-close{margin-left:auto}.menu-backdrop{z-index:15;background:#0009;border:0;display:block;position:fixed;inset:0}.topbar{padding:14px 16px}.status-pill{display:none}.content{padding:16px}.welcome-card{flex-direction:column;align-items:flex-start;padding:22px}.read-only-pill{margin-left:0}.metrics-grid{grid-template-columns:1fr 1fr}.panel-grid,.cards-grid{grid-template-columns:1fr}.fare-row{grid-template-columns:1fr 1fr}.login-page{grid-template-columns:1fr}.login-intro{display:none}.login-form-area{min-height:100vh;padding:18px}}@media (width<=430px){.metrics-grid,.detail-grid{grid-template-columns:1fr}}
