@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700&family=Barlow+Condensed:wght@500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap");:root{--navy-950:#0a1e33;--navy-900:#14304f;--navy-800:#1c4066;--navy-700:#275684;--ink:#14304f;--canvas:#f3f6f8;--canvas-2:#e7edf1;--surface:#ffffff;--line:#d3dde4;--line-soft:#e5ebf0;--accent:#c73e36;--accent-600:#a92f28;--accent-700:#8a241e;--accent-100:#fce4e1;--accent-rgb:199,62,54;--sea:#1f5d8c;--sea-100:#e0ebf4;--sea-700:#164569;--good:#1c7a55;--good-100:#e0efe6;--warn:#9a6a09;--warn-100:#f6e8cc;--done:#64707a;--done-100:#e8ebee;--text:#152736;--muted:#54677a;--faint:#8798a8;--slate-300:#b9c7d1;--radius:9px;--shadow:0 1px 2px rgba(10,30,51,.07);--shadow-lg:0 16px 40px rgba(10,30,51,.16)}*{box-sizing:border-box;margin:0;padding:0}:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}}body,html{height:100%}body{font-family:Barlow,system-ui,sans-serif;color:var(--text);background:var(--canvas);-webkit-font-smoothing:antialiased;font-size:15px}.display,h1,h2,h3,h4{font-family:Barlow Condensed,Barlow,sans-serif;font-weight:700;letter-spacing:.01em;line-height:1.04}a{text-decoration:none;color:inherit}button{font-family:inherit}.mono,.num{font-family:IBM Plex Mono,monospace;font-feature-settings:"tnum" 1}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.kicker{font-size:11px;letter-spacing:.18em;color:var(--accent-600)}.flag,.kicker{font-family:IBM Plex Mono,monospace;font-weight:600;text-transform:uppercase}.flag{font-size:10.5px;letter-spacing:.06em;border:1px solid var(--line);border-radius:4px;padding:1px 5px;color:var(--muted);background:var(--canvas)}.brand{display:flex;align-items:center;gap:11px;font-weight:700}.brand .logo{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--ink);color:var(--canvas);border:2px solid var(--accent)}.brand .logo svg{width:20px;height:20px}.brand .name{font-family:Barlow Condensed,sans-serif;font-size:21px;line-height:.95;text-transform:uppercase;letter-spacing:.02em}.brand .name small{display:block;font-family:IBM Plex Mono,monospace;font-size:9px;font-weight:500;letter-spacing:.22em;color:var(--accent);margin-top:2px}.brand .name small,.btn{text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;transition:background .15s,color .15s,border-color .15s;font-family:Barlow Condensed,sans-serif;font-weight:600;font-size:16px;letter-spacing:.04em;padding:11px 20px;border-radius:7px;border:1.5px solid transparent;text-align:center}.btn svg{width:17px;height:17px}.btn-primary{background:var(--accent-600);color:#fff}.btn-primary:hover{background:var(--accent-700)}.btn-ghost{background:var(--surface);border-color:var(--line);color:var(--text)}.btn-ghost:hover{border-color:var(--ink)}.btn-navy{background:var(--ink);color:var(--canvas)}.btn-lg{padding:14px 26px;font-size:17px}.btn-block{width:100%}.btn:disabled{opacity:.6;cursor:not-allowed}.field{margin-bottom:16px}.field label{display:block;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;margin-bottom:7px;color:var(--muted)}.field .hint{letter-spacing:0;text-transform:none;color:var(--faint);font-size:11px}.input,.select,.textarea{width:100%;padding:11px 13px;border:1.5px solid var(--line);border-radius:7px;font-size:15px;font-family:inherit;background:var(--surface);color:var(--text);transition:.15s}.input::placeholder,.textarea::placeholder{color:#a4afb5}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-100)}.textarea{min-height:104px;resize:vertical}.input-group{position:relative}.input-group .suffix{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:500;color:var(--muted)}.badge,.input-group .suffix{font-family:IBM Plex Mono,monospace}.badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:4px 9px;border-radius:5px;border:1px solid transparent;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-new{background:var(--sea-100);color:#164569;border-color:#c6d8e6}.badge-review{background:var(--warn-100);color:#79530a;border-color:#ead9b0}.badge-approved{background:var(--good-100);color:#14603f;border-color:#bfe1d0}.badge-service{background:var(--sea-100);color:#164569;border-color:#c6d8e6}.badge-done{background:var(--done-100);color:#4b585e;border-color:#dcdcd4}.badge-rejected{background:#f7e3e0;color:#9a3b2c;border-color:#e9c6bf}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.modal-ov{position:fixed;inset:0;z-index:60;background:rgba(8,20,28,.5);display:flex;align-items:center;justify-content:center;padding:18px}.modal-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);width:100%;max-width:440px;max-height:90vh;overflow-y:auto;padding:20px 22px}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.modal-head h3{font-family:Barlow Condensed,sans-serif;font-weight:700;text-transform:uppercase;font-size:21px}.modal-x{background:none;border:none;font-size:18px;color:var(--muted);cursor:pointer;line-height:1;padding:4px}.modal-x:hover{color:var(--text)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.blueprint{position:relative}.blueprint:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 0);background-size:34px 34px}.row{display:flex}.between{justify-content:space-between;align-items:center}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 18px;gap:0 18px}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:0 16px;gap:0 16px}.formerror{background:#f7e3e0;border:1px solid #e9c6bf;color:#9a3b2c;border-radius:7px}.formerror,.formok{padding:10px 13px;font-size:13px;margin-bottom:14px}.formok{background:var(--good-100);border:1px solid #bfe1d0;color:#14603f;border-radius:7px}.split{display:grid;grid-template-columns:1.05fr .95fr;min-height:100vh}.hero{position:relative;background:var(--ink);color:#eaf1f4;padding:46px 52px;display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden}.hero .brand .name{color:#fff}.hero>*{position:relative;z-index:2}.herocontent{margin:auto 0;max-width:46ch}.wave{position:absolute;inset:auto -40px -10px -40px;opacity:.9;z-index:1}.hero h1{font-size:46px;line-height:1.02;margin:0 0 18px;max-width:15ch;text-transform:uppercase}.hero h1 span{color:var(--accent)}.hero p{font-size:16px;color:#9fb1bb;max-width:42ch;line-height:1.55}.feats{flex-direction:column;margin-top:30px}.feat,.feats{display:flex;gap:13px}.feat{align-items:center;font-size:14.5px;color:#cdd9df}.feat .dot{width:32px;height:32px;border-radius:6px;background:rgba(var(--accent-rgb),.16);border:1px solid rgba(var(--accent-rgb),.35);display:grid;place-items:center;flex:none}.feat .dot svg{width:17px;height:17px;color:var(--accent)}.auth{display:flex;align-items:center;justify-content:center;padding:40px;background:var(--canvas)}.auth-card{width:100%;max-width:410px}.auth .kicker{margin-bottom:10px;display:block}.tabs{display:flex;background:var(--canvas-2);border:1px solid var(--line);border-radius:8px;padding:4px;margin-bottom:26px}.tabs a,.tabs button{flex:1 1;border:none;background:none;font-family:Barlow Condensed,sans-serif;font-weight:600;font-size:15px;letter-spacing:.04em;text-transform:uppercase;padding:9px;border-radius:6px;cursor:pointer;color:var(--muted);text-align:center}.tabs a.active,.tabs button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.auth h2{font-size:30px;text-transform:uppercase;margin-bottom:4px}.auth .sub{font-size:14px;margin-bottom:24px}.auth .sub,.legal{color:var(--muted)}.legal{font-size:12px;text-align:center;margin-top:18px;line-height:1.5}.legal a{color:var(--sea);font-weight:600}.staff-link{display:flex;align-items:center;gap:14px;margin-top:26px}.staff-link span{flex:1 1;height:1px;background:var(--line)}.staff-link a{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.staff-link a:hover{color:var(--accent)}.adminbg{min-height:100vh;background:var(--ink);display:flex;align-items:center;justify-content:center;padding:24px;color:#e7eef2}.adminbg .bp{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.5;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 0);background-size:34px 34px}.stage{width:100%;max-width:412px;position:relative;z-index:2}.topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.topline .brand .name{color:#fff}.topline .back{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#9fb0ba}.topline .back:hover{color:var(--accent)}.apanel{background:#11242f;border:1px solid #203a48;border-radius:12px;padding:30px 28px;box-shadow:0 24px 60px rgba(0,0,0,.4)}.lockrow{display:flex;align-items:center;gap:11px;margin-bottom:20px}.lockrow .lk{width:40px;height:40px;border-radius:8px;background:rgba(var(--accent-rgb),.16);border:1px solid rgba(var(--accent-rgb),.4);display:grid;place-items:center;flex:none}.lockrow .lk svg{width:19px;height:19px;color:var(--accent)}.lockrow h1{font-size:24px;text-transform:uppercase;color:#fff;line-height:1}.apanel .field label{color:#90a2ad}.apanel .input{background:#0d1d26;border-color:#23404f;color:#eaf1f4}.apanel .input::placeholder{color:#5e7682}.restricted{display:flex;gap:8px;align-items:center;justify-content:center;margin-top:22px;font-family:IBM Plex Mono,monospace;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:#6f8590}.restricted svg{width:13px;height:13px}.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.side{background:var(--navy-900);color:#cfd9df;padding:22px 16px;display:flex;flex-direction:column}.side .brand{margin:6px 8px 8px}.side .brand .name{color:#fff;font-size:19px}.side .tag{margin:0 8px 22px;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600;letter-spacing:.14em;color:#f0a49b;text-transform:uppercase}.nav{flex-direction:column;gap:2px}.nav,.nav a{display:flex}.nav a{align-items:center;gap:12px;padding:10px 13px;border-radius:7px;font-size:14.5px;font-weight:500;color:#93a3ab}.nav a svg{width:19px;height:19px}.nav a.active{background:rgba(var(--accent-rgb),.16);color:#fff;box-shadow:inset 2px 0 0 var(--accent)}.nav a.active svg{color:var(--accent)}.nav a .pill{margin-left:auto;background:var(--sea);color:#fff;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;padding:1px 8px;border-radius:999px}.side .user{margin-top:auto;display:flex;align-items:center;gap:11px;padding:11px 10px;border-top:1px solid rgba(255,255,255,.09)}.side .av{width:36px;height:36px;border-radius:50%;background:var(--accent-600);color:#fff;display:grid;place-items:center;font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:15px}.side .user .info{font-size:13px;line-height:1.3}.side .user .info small{color:#a5b3bd;display:block;font-size:11px}.side .logout{margin-left:auto;color:#7e8d95}.side .logout:hover{color:#fff}.side .logout svg{width:18px;height:18px}.drawer-close,.logout-m,.mnav-scrim,.topbar-m{display:none}.side-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.main{padding:30px 38px}.pagehead{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px;gap:16px;flex-wrap:wrap}.pagehead h1{font-size:30px;text-transform:uppercase;position:relative;padding-bottom:10px}.pagehead h1:after{content:"";position:absolute;left:0;bottom:0;width:46px;height:4px;background:var(--accent);-webkit-clip-path:polygon(0 0,100% 0,calc(100% - 7px) 50%,100% 100%,0 100%);clip-path:polygon(0 0,100% 0,calc(100% - 7px) 50%,100% 100%,0 100%)}.pagehead p{color:var(--muted);font-size:14px;margin-top:4px}.stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-bottom:26px}.stat{background:var(--surface);border-radius:9px;padding:14px 17px 15px;border:1px solid var(--line);border-top:3px solid var(--sea)}.stat.s2{border-top-color:var(--warn)}.stat.s3{border-top-color:var(--good)}.stat.s4{border-top-color:var(--accent)}.stat.s5{border-top-color:var(--done)}.stat .n{font-size:25px;font-weight:600;letter-spacing:-.02em}.stat .l,.stat .n{font-family:IBM Plex Mono,monospace}.stat .l{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-top:4px}.stat.s1 .n{color:var(--sea)}.stat.s2 .n{color:var(--warn)}.stat.s3 .n{color:var(--good)}.stat.s4 .n{color:var(--accent)}.stat.s5 .n{color:var(--done)}table{width:100%;border-collapse:collapse}.tbl-card{overflow:hidden}thead th{text-align:left;font-family:IBM Plex Mono,monospace;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:500;padding:12px 18px;background:var(--canvas);border-bottom:1px solid var(--line)}tbody td{padding:14px 18px;border-bottom:1px solid var(--line-soft);font-size:14.5px;vertical-align:middle}tbody tr:last-child td{border-bottom:none}.boat{display:flex;align-items:center;gap:11px}.boat .ic{width:38px;height:38px;border-radius:7px;background:var(--sea-100);display:grid;place-items:center;color:var(--sea);flex:none}.boat .ic svg{width:20px;height:20px}.boat b{font-weight:600}.boat small{color:var(--muted);display:block;font-size:12px}.slot{font-weight:600;color:var(--ink)}.empty,.slot{font-family:IBM Plex Mono,monospace}.empty{padding:44px 20px;text-align:center;color:var(--muted);font-size:13px;letter-spacing:.02em}.empty:before{content:"— ⌁ —";display:block;font-size:15px;color:var(--slate-300);letter-spacing:.4em;margin-bottom:10px}.topbar{background:var(--surface);border-bottom:1px solid var(--line);padding:14px 30px;gap:16px;position:-webkit-sticky;position:sticky;top:0;z-index:5}.topbar,.topbar .back{display:flex;align-items:center}.topbar .back{gap:8px;font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.04em;text-transform:uppercase;font-weight:500;color:var(--muted)}.topbar .back svg{width:18px;height:18px}.wrap{max-width:860px;margin:0 auto;padding:30px 24px 60px}.formhead h1{font-size:32px;text-transform:uppercase}.formhead p{color:var(--muted);font-size:14.5px;margin-top:6px}.section-t{display:flex;align-items:center;gap:10px;font-family:IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.06em;margin:26px 0 14px}.section-t,.section-t .num{font-size:12px;font-weight:600;color:var(--accent-600)}.section-t .num{width:24px;height:24px;border-radius:50%;background:var(--accent-100);display:grid;place-items:center}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:22px;box-shadow:var(--shadow)}.upload{border:1.6px dashed var(--slate-300);border-radius:8px;padding:18px;text-align:center;color:var(--muted);font-size:13.5px;cursor:pointer}.upload svg{width:24px;height:24px;color:var(--slate-300);margin-bottom:6px}.upload b{color:var(--sea)}.upload input{display:none}.pick2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.opt{border:1.6px solid var(--line);border-radius:8px;padding:14px;cursor:pointer;display:flex;gap:11px;align-items:flex-start;background:var(--surface);transition:.15s}.opt.sel{border-color:var(--accent);background:var(--accent-100)}.opt .rb{width:19px;height:19px;border-radius:50%;border:2px solid var(--slate-300);flex:none;margin-top:1px;position:relative}.opt.sel .rb{border-color:var(--accent)}.opt.sel .rb:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--accent)}.opt .ot{font-size:14px;font-weight:600}.opt .od{font-size:12px;color:var(--muted);margin-top:2px}.quote{background:var(--ink);color:#eaf1f4;border-radius:10px;padding:18px 20px;margin-top:16px}.quote .line{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;padding:6px 0;color:#a9bcc6}.quote .line b{color:#fff;font-weight:600;font-family:IBM Plex Mono,monospace;font-size:13px}.quote .total{border-top:1px solid rgba(255,255,255,.16);margin-top:8px;padding-top:12px;font-size:15px;color:#fff}.quote .total span:first-child{font-family:Barlow Condensed,sans-serif;text-transform:uppercase;letter-spacing:.04em}.quote .total .amt{font-family:IBM Plex Mono,monospace;font-size:24px;font-weight:600;color:var(--accent)}.quote .inc{font-size:11.5px;color:#8d9ea8;margin-top:8px;display:flex;gap:7px;align-items:center;line-height:1.45}.quote .inc svg{width:14px;height:14px;color:var(--accent);flex:none}.pay-info{display:flex;gap:10px;background:var(--warn-100);border:1px solid #ead9b0;border-radius:8px;padding:12px 14px;font-size:12.5px;color:var(--warn);line-height:1.5;margin-bottom:16px}.pay-info svg{width:17px;height:17px;flex:none;margin-top:1px}.space-note{display:flex;gap:9px;align-items:flex-start;border-radius:8px;padding:11px 13px;font-size:13px;line-height:1.45;margin-top:14px}.space-note svg{width:17px;height:17px;flex:none;margin-top:1px}.space-note.ok{background:#e3f1e8;border:1px solid #bfe0cc;color:#1f6b41}.space-note.error{background:#f7e3e0;border:1px solid #e9c6bf;color:#9a3b2c}.space-note.checking{background:var(--canvas);border:1px solid var(--line);color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:12px}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:26px}.splitmain{display:grid;grid-template-columns:minmax(0,1fr) 480px;min-height:100vh}.list-col{padding:28px 30px;border-right:1px solid var(--line)}.filters{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.chip{font-family:IBM Plex Mono,monospace;font-size:11.5px;font-weight:500;letter-spacing:.03em;padding:6px 12px;border-radius:5px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer}.chip.on{background:var(--ink);color:var(--canvas);border-color:var(--ink)}.reqs{display:flex;flex-direction:column;gap:11px}.req{display:block;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:15px 17px;cursor:pointer;transition:.15s}.req:hover{border-color:var(--slate-300)}.req.sel{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.req .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;gap:10px}.req .boat-n{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:18px;text-transform:uppercase}.req .meta{display:flex;gap:14px;color:var(--muted);font-size:12.5px;flex-wrap:wrap;font-family:IBM Plex Mono,monospace}.req .meta b{color:var(--text);font-weight:600}.drawer{background:var(--surface);padding:26px 24px;display:flex;flex-direction:column;border-left:1px solid var(--line)}.drawer h2{font-size:24px;text-transform:uppercase}.drawer .sub{color:var(--muted);font-size:12.5px;margin:3px 0 18px;font-family:IBM Plex Mono,monospace}.kv{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px 16px;gap:14px 16px;margin-bottom:18px}.kv .k{font-family:IBM Plex Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:500}.kv .v{font-size:14.5px;font-weight:600;margin-top:3px}.charges{border:1px solid var(--line);border-radius:8px;padding:6px 14px;margin-bottom:16px;background:var(--canvas)}.charges .cl{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:8px 0;border-bottom:1px solid var(--line-soft);color:#3a4d56;gap:10px}.charges .cl:last-child{border-bottom:none}.charges .cl i{color:var(--muted);font-style:normal;font-size:11.5px}.charges .cl b,.charges .cl i{font-family:IBM Plex Mono,monospace}.charges .cl b{font-weight:600}.charges .cl.paint{background:rgba(var(--accent-rgb),.06);margin:0 -14px;padding:8px 14px}.rinput{width:46px;border:1px solid var(--accent);border-radius:4px;padding:2px 4px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:600;color:var(--accent-600);text-align:center;background:#fff}.rinput:focus{outline:none;box-shadow:0 0 0 2px var(--accent-100)}.charges .cl.tot{font-family:Barlow Condensed,sans-serif;text-transform:uppercase;letter-spacing:.03em;font-size:15px;color:var(--text)}.charges .cl.tot b{color:var(--accent-600);font-size:16px}.doc{display:flex;align-items:center;gap:10px;background:var(--canvas);border:1px solid var(--line);border-radius:7px;padding:10px 12px;font-size:13px;font-weight:600;margin-bottom:12px}.doc .ic{width:30px;height:30px;border-radius:6px;background:var(--accent-100);color:var(--accent-600);display:grid;place-items:center;flex:none}.doc .ic svg{width:16px;height:16px}.doc a{margin-left:auto;color:var(--sea);font-size:12.5px;font-weight:600}.works{background:var(--canvas);border:1px solid var(--line);border-radius:7px;padding:12px 14px;font-size:13.5px;line-height:1.55;color:#33454f;margin:8px 0 20px}.assign{border-top:1px solid var(--line);padding-top:18px;margin-top:auto}.assign h3{font-family:IBM Plex Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:500;margin-bottom:12px}.okmsg{display:flex;align-items:center;gap:8px;background:var(--good-100);color:#14603f;font-size:12.5px;font-weight:600;padding:9px 12px;border-radius:7px;margin-bottom:14px}.okmsg.bad{background:#f7e3e0;color:#9a3b2c}.okmsg svg{width:16px;height:16px;flex:none}.capgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;grid-gap:14px;gap:14px;margin-bottom:22px}.capcard{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:16px 18px;box-shadow:var(--shadow)}.capcard .l{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:500}.capcard .l,.capcard .n{font-family:IBM Plex Mono,monospace}.capcard .n{font-size:26px;font-weight:600;margin-top:5px}.capcard .n small{font-size:13px;font-weight:500;color:var(--muted)}.capcard.free .n{color:var(--good)}.capcard.used .n{color:var(--sea)}.capcard.pct .n{color:var(--warn)}.meter{height:8px;background:var(--canvas-2);overflow:hidden;margin-top:11px}.meter,.meter i{border-radius:5px}.meter i{display:block;height:100%;background:var(--sea)}.chartcard{background:var(--surface);border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);padding:22px 24px}.chartcard h3{font-size:19px;text-transform:uppercase;margin-bottom:2px}.chartcard .csub{font-size:12.5px;color:var(--muted);margin-bottom:20px}.chart{display:flex;gap:24px}.yaxis{display:flex;flex-direction:column;justify-content:space-between;height:230px;font-family:IBM Plex Mono,monospace;font-size:10.5px;color:var(--faint);font-weight:500;text-align:right;padding-bottom:26px}.plot{flex:1 1;position:relative}.grid-lines{position:absolute;inset:0 0 26px 0;display:flex;flex-direction:column;justify-content:space-between}.grid-lines i{border-top:1px dashed var(--line)}.grid-lines i.cap{border-top:2px dashed var(--accent-600)}.bars{position:relative;gap:6px;height:230px;align-items:flex-end}.bars,.col{display:flex}.col{flex:1 1;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.col .bar{width:78%;max-width:34px;border-radius:3px 3px 0 0;position:relative;transition:.2s;min-height:2px}.col .bar.low{background:#2f8f63}.col .bar.mid{background:#cf8a26}.col .bar.high{background:var(--accent)}.col .val{position:absolute;top:-17px;left:50%;transform:translateX(-50%);font-size:9.5px;font-weight:600;color:var(--ink);white-space:nowrap}.col .day,.col .val{font-family:IBM Plex Mono,monospace}.col .day{margin-top:7px;font-size:10.5px;color:var(--muted);font-weight:500;text-align:center;height:26px;line-height:1.25}.col .day b{display:block;color:var(--text);font-size:12.5px}.boatlist{gap:10px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid var(--line-soft)}.bchip{display:flex;align-items:center;gap:9px;background:var(--canvas);border:1px solid var(--line);border-radius:7px;padding:8px 13px;font-size:12.5px}.bchip .sq{font-family:IBM Plex Mono,monospace;font-weight:600;color:var(--ink)}.bchip small{color:var(--muted)}.alert{display:flex;align-items:center;gap:8px;background:var(--accent-100);border:1px solid #f0c7c2;color:var(--accent-700);font-size:12.5px;font-weight:600;padding:9px 13px;border-radius:7px;margin-top:16px}.alert svg{width:16px;height:16px;flex:none}.vtabs{display:flex;gap:4px;background:var(--canvas-2);border:1px solid var(--line);border-radius:8px;padding:4px;flex-wrap:wrap}.vtabs a{font-family:Barlow Condensed,sans-serif;font-weight:600;font-size:14px;letter-spacing:.03em;text-transform:uppercase;padding:7px 14px;border-radius:6px;color:var(--muted)}.vtabs a.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.periodnav{display:flex;align-items:center;gap:10px}.periodnav a.arrow{width:34px;height:34px;border:1px solid var(--line);background:var(--surface);border-radius:7px;display:grid;place-items:center;color:var(--text)}.periodnav a.arrow svg{width:16px;height:16px}.periodnav .m{font-family:IBM Plex Mono,monospace;font-size:13.5px;min-width:210px;text-align:center;color:var(--muted)}.gantt{background:var(--surface);border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);overflow:hidden}.gantt-head{display:grid;grid-template-columns:170px repeat(14,1fr);border-bottom:1px solid var(--line);background:var(--canvas)}.gantt-head .corner{padding:12px 14px;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.gantt-head .corner,.gantt-head .d{font-family:IBM Plex Mono,monospace;color:var(--muted)}.gantt-head .d{padding:9px 0;text-align:center;font-size:10.5px;border-left:1px solid var(--line-soft)}.gantt-head .d b{display:block;color:var(--text);font-size:12.5px}.gantt-head .d.today{background:var(--accent-100)}.grow{display:grid;grid-template-columns:170px repeat(14,1fr);border-bottom:1px solid var(--line-soft);position:relative;min-height:48px}.grow:last-child{border-bottom:none}.slotcell{padding:0 14px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--line);background:var(--surface);z-index:1}.slotcell b{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:15px;text-transform:uppercase;line-height:1.05}.slotcell small{font-family:IBM Plex Mono,monospace;font-size:10px;color:var(--muted)}.gcell{border-left:1px solid var(--line-soft)}.track{left:170px;right:0;top:0;bottom:0;pointer-events:none}.gbar,.track{position:absolute}.gbar{top:9px;height:30px;border-radius:6px;display:flex;align-items:center;padding:0 11px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;box-shadow:0 2px 6px rgba(14,28,38,.15)}.gbar.service{background:var(--accent)}.gbar.approved{background:#2f8f63}.ganttempty{padding:44px;text-align:center;color:var(--muted)}.mgrid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:8px;gap:8px}.mhead{font-family:IBM Plex Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:center;padding-bottom:2px}.mcell{min-height:92px;border:1px solid var(--line);border-radius:8px;padding:8px 9px;background:var(--surface);display:flex;flex-direction:column}.mcell.out{background:var(--canvas-2);opacity:.55}.mcell.today{border-color:var(--accent)}.mcell .dn{font-weight:600;font-size:13px}.mcell .dn,.mcell .mb{font-family:IBM Plex Mono,monospace}.mcell .mb{margin-top:auto;font-size:10px;color:var(--muted)}.mcell .mfill{height:5px;border-radius:3px;background:var(--canvas-2);overflow:hidden;margin-top:6px}.mcell .mfill i{display:block;height:100%}.mlegend{display:flex;gap:16px;margin-top:16px;font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--muted)}.mlegend span{display:flex;align-items:center;gap:6px}.mlegend i{width:12px;height:12px;border-radius:3px;display:inline-block}.srow{display:flex;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line-soft);flex-wrap:wrap}.srow:last-child{border-bottom:none}.srow-head{font-family:IBM Plex Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.srow .ef{display:flex;gap:8px;align-items:center;flex:1 1;min-width:0}.srow .ef .name{flex:1 1;min-width:130px}.srow .input,.srow .select{padding:8px 10px;font-size:14px}.iconbtn{background:none;border:1px solid var(--line);border-radius:7px;width:34px;height:34px;display:grid;place-items:center;cursor:pointer;color:var(--muted)}.iconbtn:hover{border-color:var(--accent);color:var(--accent)}.iconbtn svg{width:15px;height:15px}.srow .chip svg{width:12px;height:12px;flex:none}.srow-hint{display:none}.svc-pick{display:flex;flex-direction:column;gap:8px}.svc-opt{display:flex;align-items:center;gap:11px;border:1.5px solid var(--line);border-radius:9px;padding:11px 14px;cursor:pointer;background:var(--surface);transition:.15s}.svc-opt:hover{border-color:var(--slate-300)}.svc-opt.sel{border-color:var(--accent);background:var(--accent-100)}.svc-opt .cb{width:19px;height:19px;border-radius:5px;border:2px solid var(--slate-300);flex:none;display:grid;place-items:center;color:#fff}.svc-opt.sel .cb{background:var(--accent);border-color:var(--accent)}.svc-opt .cb svg{width:12px;height:12px;opacity:0}.svc-opt.sel .cb svg{opacity:1}.svc-opt .sn{font-weight:600;font-size:14px;flex:1 1}.svc-opt .sp{font-weight:600;font-size:13px;color:var(--ink)}.svc-opt .sp,.svc-opt .st{font-family:IBM Plex Mono,monospace}.svc-opt .st{font-size:10.5px;color:var(--muted);margin-left:8px}.charges .cl.svc span{display:flex;align-items:center;gap:2px}.rmbtn{background:none;border:none;color:var(--accent);font-weight:700;font-size:15px;cursor:pointer;line-height:1;padding:0 4px;margin-left:4px}.rmbtn:hover{color:var(--accent-700)}.addsvc{display:flex;gap:8px;margin:8px 0 4px}.addsvc .select{flex:1 1;padding:8px 10px;font-size:13px}.addsvc .btn{padding:8px 14px;font-size:14px}.plano{position:relative;width:100%;max-width:760px;border:1px solid var(--line);border-radius:11px;overflow:hidden;box-shadow:var(--shadow);background:var(--ink);line-height:0}.plano img{display:block;width:100%}.lot{position:absolute;border-radius:4px;border:2px solid;display:flex;align-items:center;justify-content:center;font-family:IBM Plex Mono,monospace;font-size:9px;font-weight:600;text-align:center;overflow:hidden;line-height:1.05;padding:1px;box-sizing:border-box;cursor:default}.lot.free{background:rgba(47,143,99,.5);border-color:#2f8f63;color:#eafff4}.lot.busy{background:rgba(208,93,52,.66);border-color:#c2522e;color:#fff}.lot.off{background:rgba(130,130,130,.35);border-color:#999;color:#eee}.lot.sel{box-shadow:0 0 0 3px rgba(var(--accent-rgb),.55);z-index:3}.daterange{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:18px}.daterange .field{margin-bottom:0}.plano-legend{display:flex;gap:18px;margin-top:14px;font-family:IBM Plex Mono,monospace;font-size:11.5px;color:var(--muted);flex-wrap:wrap}.plano-legend i{width:13px;height:13px;border-radius:3px;display:inline-block;margin-right:6px;vertical-align:-2px}.lot.pick{background:rgba(21,80,107,.62);border-color:#0f3c52;color:#fff;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--sea);z-index:3}.maplist{display:grid;grid-template-columns:340px 1fr;grid-gap:20px;gap:20px;align-items:start}.boatlist{display:flex;flex-direction:column;gap:9px}.blhead{font-family:IBM Plex Mono,monospace;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}.bcard{display:block;background:var(--surface);border:1px solid var(--line);border-left:4px solid transparent;border-radius:9px;padding:12px 14px;transition:.15s}.bcard:hover{border-color:var(--slate-300)}.bcard.sel{box-shadow:0 0 0 1px var(--sea);background:#f7fafb}.bcard .bctop{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}.bcard .bn{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:17px;text-transform:uppercase}.bcard .bcmeta{display:flex;gap:12px;flex-wrap:wrap;font-family:IBM Plex Mono,monospace;font-size:11.5px;color:var(--muted)}.bcard .bcmeta b{color:var(--text);font-weight:600}.detcard{margin-top:14px;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--sea);border-radius:10px;padding:16px 18px}.detcard h3{font-size:19px;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;gap:8px}.detcard .kv{display:grid;grid-template-columns:1fr 1fr;grid-gap:11px 14px;gap:11px 14px;margin-top:12px;margin-bottom:0}.detcard .k{font-family:IBM Plex Mono,monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.detcard .v{font-size:14px;font-weight:600;margin-top:2px}.detlabel{font-family:IBM Plex Mono,monospace;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-600);font-weight:600;margin:20px 0 8px;display:flex;align-items:center;gap:10px}.detlabel:after{content:"";flex:1 1;height:1px;background:var(--line)}.pz{display:inline-flex;gap:5px;flex-wrap:wrap}.pz span{font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;background:var(--sea-100);color:#0f3c52;border:1px solid #cfe0e9;border-radius:4px;padding:1px 7px}.weeks{display:flex;flex-direction:column;gap:6px}.wkrow{position:relative;border:1px solid var(--line);border-radius:9px;background:var(--surface);overflow:hidden}.wkgrid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(7,1fr)}.dcell{border-right:1px solid var(--line-soft);padding:5px 7px}.dcell:last-child{border-right:none}.dcell.out{background:var(--canvas-2);opacity:.5}.dcell .dn{font-family:IBM Plex Mono,monospace;font-weight:600;font-size:12.5px;color:#3a4d56}.dcell.today .dn{background:var(--ink);color:#fff;border-radius:5px;padding:0 6px}.bar{position:absolute;height:19px;display:flex;align-items:center;padding:0 8px;color:#fff;font-family:IBM Plex Mono,monospace;font-size:9.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 1px 2px rgba(14,28,38,.18);z-index:2}.bar small{font-weight:500;opacity:.92}.callegend{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.lgi{display:flex;align-items:center;gap:9px;background:var(--canvas);border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:12.5px}.lgi .sw{width:14px;height:14px;border-radius:4px;flex:none}.lgi .det{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:11px}.lot.edit{cursor:-webkit-grab;cursor:grab}.lot.edit:active{cursor:-webkit-grabbing;cursor:grabbing}.lotpanel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px;box-shadow:var(--shadow)}.lotpanel .grid2{gap:0 12px}.lotlist{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.lotpill{font-family:IBM Plex Mono,monospace;font-size:11px;padding:5px 10px;border:1px solid var(--line);border-radius:6px;cursor:pointer;background:var(--surface)}.lotpill.on{background:var(--ink);color:var(--canvas);border-color:var(--ink)}.emar{display:grid;grid-template-columns:360px minmax(0,1fr);min-height:100vh}.emar-list{padding:26px 24px;border-right:1px solid var(--line)}.emar-exp{padding:26px 30px;background:var(--canvas)}.bsearch{position:relative;margin:16px 0 14px}.bsearch svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--muted)}.bsearch input{width:100%;padding:10px 12px 10px 34px;border:1.5px solid var(--line);border-radius:8px;font-size:14px;font-family:inherit;background:var(--surface);color:var(--text)}.bsearch input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-100)}.boats-list{display:flex;flex-direction:column;gap:8px}.boatcard{display:block;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:12px 14px;transition:.15s}.boatcard:hover{border-color:var(--slate-300)}.boatcard.sel{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.boatcard .n{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:17px;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;gap:8px}.boatcard .mat{margin-top:1px}.boatcard .mat,.boatcard .mt{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--muted)}.boatcard .mt{display:flex;gap:12px;margin-top:7px}.boatcard .mt b{color:var(--text);font-weight:600}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex:none}.exphead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:4px}.exphead h2{font-size:30px;text-transform:uppercase;line-height:1}.expmat{font-size:12.5px;color:var(--muted);margin-top:5px;gap:8px}.expmat,.statline{font-family:IBM Plex Mono,monospace;display:flex;align-items:center}.statline{gap:7px;font-size:12px;font-weight:600;margin-top:9px}.spec{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:18px 20px;margin:18px 0;box-shadow:var(--shadow)}.speckv{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:15px 18px;gap:15px 18px}.speckv .k{font-family:IBM Plex Mono,monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.speckv .v{font-size:15px;font-weight:600;margin-top:3px}.ownerrow{border-top:1px solid var(--line-soft);margin-top:16px;padding-top:14px}.ownerrow .who{font-size:14px}.ownerrow .who b{font-weight:700}.emar-sect{display:flex;align-items:center;gap:10px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-600);margin:6px 0 14px}.emar-sect .cnt{color:var(--muted)}.emar-sect:after{content:"";flex:1 1;height:1px;background:var(--line)}.timeline{position:relative;padding-left:26px}.timeline:before{content:"";position:absolute;left:6px;top:8px;bottom:10px;width:2px;background:var(--line)}.visit{position:relative;margin-bottom:13px}.visit:before{content:"";position:absolute;left:-26px;top:16px;width:14px;height:14px;border-radius:50%;background:var(--surface);border:3px solid var(--accent)}.visit.done:before{border-color:var(--done)}.vcard{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px;box-shadow:var(--shadow)}.vtop{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;flex-wrap:wrap}.vdates{font-family:IBM Plex Mono,monospace;font-size:13.5px;font-weight:600}.vdates .arrow{color:var(--muted);margin:0 6px}.vdates .real{color:var(--muted);font-size:11px;font-weight:500;margin-left:6px}.vmoney{font-family:IBM Plex Mono,monospace;font-weight:600;color:var(--accent-600);font-size:14px}.vmeta{display:flex;gap:18px;flex-wrap:wrap;align-items:center;font-size:13px;color:#3a4d56}.vmeta .lab{font-family:IBM Plex Mono,monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-right:6px}.docs{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px 18px;box-shadow:var(--shadow)}.docrow{display:flex;align-items:center;gap:10px;font-size:13.5px;padding:8px 0;border-bottom:1px solid var(--line-soft)}.docrow .ic{width:28px;height:28px;border-radius:6px;background:var(--accent-100);color:var(--accent-600);display:grid;place-items:center;flex:none}.docrow .ic svg{width:15px;height:15px}.docrow a{margin-left:auto;color:var(--sea);font-size:12.5px;font-weight:600}.noteform{margin-top:12px;border-top:1px solid var(--line-soft);padding-top:14px}.noteform label{display:block;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;margin-bottom:7px;color:var(--muted)}.noteform .hint{letter-spacing:0;text-transform:none;color:var(--faint);font-size:11px}.precarga{display:flex;align-items:center;gap:10px;background:var(--good-100);color:#14603f;border:1px solid #bfe1d0;border-radius:8px;padding:10px 13px;font-size:13px;font-weight:600;margin:0 0 16px}.precarga svg{width:17px;height:17px;flex:none}.precarga a{margin-left:auto;color:#14603f;text-decoration:underline;font-size:12.5px;white-space:nowrap}.puestobox{background:var(--sea-100);border:1px solid #cfe0e9;border-radius:8px;padding:13px 15px}.puestobox label{color:#0f3c52}.alertbar{display:flex;gap:9px;align-items:flex-start;background:var(--warn-100);border:1px solid #ead9b0;border-left:4px solid var(--warn);border-radius:8px;padding:11px 14px;font-size:13.5px;color:#6a4a08;line-height:1.5;margin-bottom:18px}.alertbar svg{width:17px;height:17px;flex:none;margin-top:1px;color:var(--warn)}.alertbar b{color:#79530a}.searchrow{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}.searchrow .bsearch{flex:1 1;min-width:240px;margin:0}.mmap{border:1.5px solid #c6d2da;border-radius:12px;overflow:hidden;background:linear-gradient(180deg,#e8eef2,#f3f6f8 90px)}.mmap-scroll{overflow-x:auto}.mmap-inner{min-width:880px}.zoneband{padding:16px 18px;background:repeating-linear-gradient(90deg,rgba(38,51,61,.045) 0 3px,transparent 3px 26px)}.zlab{font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:600;letter-spacing:.14em;color:var(--muted);margin-bottom:10px;text-transform:uppercase}.filarow{display:flex;align-items:flex-end;gap:10px;margin-bottom:16px}.filarow:last-child{margin-bottom:0}.filarow .fl{font-family:IBM Plex Mono,monospace;font-weight:600;font-size:12px;color:var(--sea);width:52px;flex:none}.rackrow{display:flex;gap:10px}.colp{display:flex;flex-direction:column-reverse;gap:0;align-items:stretch;border-left:3px solid #97a4ad;border-right:3px solid #97a4ad;background:rgba(151,164,173,.07);padding:0 3px;border-radius:2px}.colp .lbl{font-size:11px;color:var(--sea);margin:4px 0 3px}.cellv,.colp .lbl{font-family:IBM Plex Mono,monospace;font-weight:600;text-align:center}.cellv{display:block;position:relative;width:84px;height:32px;border:none;border-bottom:3px solid #c1873f;background:transparent;font-size:10.5px;line-height:29px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 5px;color:var(--ink);margin-top:3px}.cellv.free{color:#aeb9c0;font-weight:400}.cellv.free:hover{color:var(--accent-600);background:rgba(192,123,40,.07)}.cellv.occ{background:#fff;border-radius:8px 8px 3px 3px;box-shadow:inset 3px 0 0 var(--sea),0 1px 2px rgba(24,34,43,.12)}.cellv.occ:hover{box-shadow:inset 3px 0 0 var(--accent),0 1px 3px rgba(24,34,43,.2)}.cellv.out{background:repeating-linear-gradient(45deg,#e5e9eb 0 6px,#f4f6f7 6px 12px);border-radius:8px 8px 3px 3px;color:var(--muted)}.aisle{background:repeating-linear-gradient(90deg,#dde2e5 0 26px,#eef1f2 26px 52px);text-align:center;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600;color:#7d8b94;letter-spacing:.28em;padding:7px 0;border-top:2px solid #c3ccd1;border-bottom:2px solid #c3ccd1;text-transform:uppercase}.midrow{display:flex;gap:16px;padding:16px 18px;align-items:stretch;flex-wrap:wrap}.zbox{border:1.5px solid #c3ccd1;border-radius:10px;padding:12px;background:var(--surface)}.zbox .areacells{display:flex;gap:8px;flex-wrap:wrap}.zbox .cellv{width:96px;border-bottom:none;margin-top:0;background:#eef1f2;border-radius:6px;font-weight:400;color:#aeb9c0;line-height:32px}.zbox .cellv.occ{background:#fff;font-weight:600;color:var(--ink);box-shadow:inset 3px 0 0 var(--sea),0 1px 2px rgba(24,34,43,.12);border-radius:8px 8px 3px 3px}.cellv.lav{box-shadow:inset 3px 0 0 #2e7fa8,0 1px 2px rgba(24,34,43,.12)!important}.cellv.srv{box-shadow:inset 3px 0 0 #6b4fa0,0 1px 2px rgba(24,34,43,.12)!important}.ramp{display:flex;align-items:center;justify-content:center;min-width:130px;border:2px dashed #97a4ad;border-radius:10px;font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:600;color:#7d8b94;letter-spacing:.12em;text-align:center;padding:10px;text-transform:uppercase}.water{background:linear-gradient(180deg,#6d9ec7,#8fb6d6);padding:0 18px 20px}.dock{height:12px;background:#14304f;margin:0 -18px}.wlab{font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:600;letter-spacing:.14em;color:#0d2740;padding:10px 0 8px;text-transform:uppercase}.slips{display:flex;gap:16px;padding:0 6px;flex-wrap:wrap}.slip{display:block;position:relative;width:92px;height:92px;border:2px dashed #ffffffaa;border-top:none;border-radius:0 0 10px 10px;background:rgba(255,255,255,.4);text-align:center;font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:500;color:#0d2740;padding-top:8px}.slip .nm{display:block;margin-top:5px;font-weight:600;padding:0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slip.occ{background:#fff;border:2px solid #fff;border-top:none;color:var(--ink);box-shadow:inset 0 3px 0 var(--sea),0 2px 5px rgba(24,34,43,.25)}.slip.occ:hover{box-shadow:inset 0 3px 0 var(--accent),0 2px 6px rgba(24,34,43,.3)}.slip.free:hover{border-color:#fff;color:#081c30}.stdot{position:absolute;top:3px;width:7px;height:7px;border-radius:50%;box-shadow:0 0 0 1.5px #fff}.stdot.doc{background:#c73e36}.stdot.fee{background:#d29a1e}.slip .stdot{top:6px}.mmap-leg{display:flex;gap:16px;flex-wrap:wrap;font-family:IBM Plex Mono,monospace;font-size:11.5px;color:var(--muted);margin-top:12px}.mmap-leg .sw{width:12px;height:12px;border-radius:3px;display:inline-block;margin-right:6px;vertical-align:-2px}.mcount{display:flex;gap:8px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.mcount .sq{width:36px;height:36px;border-radius:8px;border:2px solid var(--line);font-family:IBM Plex Mono,monospace;font-weight:600;font-size:15px;line-height:33px;text-align:center;color:var(--slate-300)}.mcount .sq.used{background:var(--accent-600);border-color:var(--accent-600);color:#fff}.mcount .lbl2{font-size:13.5px;color:var(--muted);margin-left:4px}.gatebox{display:flex;gap:9px;align-items:flex-start;border-radius:8px;padding:12px 14px;font-size:13.5px;line-height:1.5;margin-bottom:14px}.gatebox svg{width:17px;height:17px;flex:none;margin-top:1px}.gatebox.ok{background:var(--good-100);border:1px solid #bfe1d0;color:#14603f}.gatebox.no{background:#f7e3e0;border:1px solid #e9c6bf;color:#9a3b2c}.doctabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.doctabs a{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:6px 13px;font-size:13px;color:var(--sea)}.doctabs a.on{background:var(--accent-600);border-color:var(--accent-600);color:#fff;font-weight:600}.tabs2{display:flex;gap:2px;border-bottom:2px solid var(--line);margin:18px 0 0;flex-wrap:wrap}.tabs2 a{font-family:Barlow Condensed,sans-serif;text-transform:uppercase;letter-spacing:.04em;font-size:15px;font-weight:600;padding:9px 15px;color:var(--muted);border-radius:8px 8px 0 0}.tabs2 a.on{border:2px solid var(--line);border-bottom-color:var(--surface);color:var(--accent-700);margin-bottom:-2px}.tabpanel,.tabs2 a.on{background:var(--surface)}.tabpanel{border:1px solid var(--line);border-top:none;border-radius:0 0 10px 10px;padding:20px}.zarpe-print{max-width:640px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:10px;padding:34px 38px}@media print{.no-print{display:none!important}body{background:#fff}.zarpe-print{border:none;padding:0;max-width:none}}@media (max-width:760px){.split,.splitmain{grid-template-columns:1fr!important;min-height:auto}.hero{padding:26px 22px 30px;min-height:auto}.hero h1{font-size:34px;margin:18px 0 12px}.hero .feats,.hero .wave{display:none}.auth{padding:26px 20px}.shell{grid-template-columns:1fr}.topbar-m{display:flex;align-items:center;gap:10px;position:-webkit-sticky;position:sticky;top:0;z-index:30;background:var(--navy-900);padding:9px 12px}.topbar-m .brand .name{color:#fff;font-size:17px}.topbar-m .brand .logo{width:34px;height:34px}.burger{display:grid;place-items:center;width:42px;height:42px;border-radius:9px;color:#fff;cursor:pointer;flex:none}.burger svg{width:24px;height:24px}.side{position:fixed;top:0;left:0;bottom:0;right:auto;width:280px;max-width:84vw;height:100%;flex-direction:column;padding:18px 14px;transform:translateX(-100%);transition:transform .25s ease;z-index:50;overflow-y:auto;border-top:none}.side-head{margin-bottom:6px}.side .brand .name{color:#fff}.drawer-close{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;color:#9db0bd;cursor:pointer}.drawer-close svg{width:22px;height:22px}.mnav-toggle:checked~.side{transform:translateX(0)}.mnav-scrim{display:none}.mnav-toggle:checked~.mnav-scrim{display:block;position:fixed;inset:0;background:rgba(8,20,28,.55);z-index:45}.side .user form{display:none}.logout-m{display:block;margin-top:12px;border-top:1px solid rgba(255,255,255,.09);padding-top:10px}.logout-m button{display:flex;align-items:center;gap:10px;width:100%;background:none;border:none;color:#cfd9df;font:inherit;font-size:14.5px;font-weight:500;padding:11px 13px;cursor:pointer;border-radius:7px}.logout-m button svg{width:19px;height:19px}.logout-m button:active{background:rgba(255,255,255,.08);color:#fff}.main{padding:20px 18px 40px}.list-col{border-right:none;padding:22px 18px 40px}.drawer{border-left:none;border-top:1px solid var(--line)}.wrap{padding:24px 18px 40px}.topbar{padding:13px 18px}.grid2,.grid3,.pick2{grid-template-columns:1fr}.capgrid,.stats{grid-template-columns:1fr 1fr}.tbl-card{overflow-x:auto}.tbl-card table{min-width:560px}.kv{grid-template-columns:1fr 1fr}.chart{gap:12px}.yaxis{display:none}.pagehead .btn{width:100%}.chip{padding:10px 14px}.iconbtn{width:42px;height:42px}.gantt{overflow-x:auto}.gantt-head,.grow{min-width:780px}.mgrid{gap:5px}.mcell{min-height:70px;padding:6px}.mcell .ev{font-size:8.5px;padding:1px 3px}.periodnav .m{min-width:0}.maplist{grid-template-columns:1fr}.detcard .kv{grid-template-columns:1fr 1fr}.emar{grid-template-columns:1fr;min-height:auto}.emar-list{border-right:none;padding:22px 18px 16px}.emar-exp{padding:22px 18px 40px}.speckv{grid-template-columns:1fr 1fr}}