:root{--blue:#191b87;--blue-dark:#111359;--ink:#242936;--muted:#717989;--line:#dce0e9;--bg:#f0f2f7;--green:#267d57;--red:#bc3c43;--amber:#aa6d17;--yellow:#fff1ad}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:15px/1.5 Arial,Helvetica,sans-serif;background:var(--bg)}[hidden]{display:none!important}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button,a,input,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #787be5}button{border:0}h1,h2,h3,p{margin-top:0}a{color:inherit;text-decoration:none}.eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--muted);margin-bottom:6px}.brand{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:800;letter-spacing:.7px}.brand img{width:36px;height:36px}.pill{display:inline-flex;align-items:center;font-size:10px;font-weight:700;letter-spacing:1px;padding:5px 9px;border:1px solid #cfd3eb;border-radius:4px;color:var(--blue)}.primary,.outline,.danger{padding:12px 18px;border-radius:6px;font-weight:700;display:inline-flex;gap:15px;align-items:center;justify-content:center;min-height:44px}.primary{background:var(--blue);color:#fff}.primary:hover{background:var(--blue-dark)}.outline{border:1px solid var(--line);color:var(--ink);background:#fff}.danger{background:#fff1f2;color:var(--red);border:1px solid #ebc6ca}.error{color:var(--red);font-size:14px;margin:12px 0 0;min-height:22px}.muted{color:var(--muted);font-size:13px}.login-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.brand-panel{color:#fff;background:linear-gradient(150deg,#151780,#20246f);padding:60px 10%;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.brand-panel:after{content:"";position:absolute;width:550px;height:550px;border:1px solid #ffffff15;border-radius:50%;right:-300px;bottom:-130px;box-shadow:0 0 0 80px #ffffff05,0 0 0 160px #ffffff03;pointer-events:none}.brand-panel .brand{position:absolute;top:45px}.brand-panel .eyebrow{color:#b9beff}.brand-panel h1{font-size:clamp(36px,4.5vw,64px);line-height:1.12;letter-spacing:-2px;margin:18px 0 24px}.brand-panel p{color:#c5c8ec;font-size:18px}.brand-foot{position:absolute;bottom:40px;font-size:11px;letter-spacing:1px;left:10%;right:10%;display:flex;justify-content:space-between;color:#c5c8ec}.login-panel{display:grid;place-items:center;padding:50px 25px;background:#f6f7fb}.login-card{width:100%;max-width:360px}.login-card h2{font-size:32px;letter-spacing:-1px;margin:25px 0 8px}.login-card>p{color:var(--muted);margin-bottom:30px}.login-card label,.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;margin-bottom:18px}input,select{min-height:45px;width:100%;border:1px solid #cbd1de;border-radius:5px;background:#fff;color:var(--ink);padding:10px 12px}input[type=checkbox]{width:17px;min-height:17px;height:17px;accent-color:var(--blue)}.login-card .primary{width:100%;justify-content:space-between;margin-top:8px}.password-row{position:relative}.password-row input{padding-right:65px}.password-row button{position:absolute;right:4px;top:4px;height:37px;background:transparent;color:var(--blue);font-size:12px;font-weight:700}.login-note{font-size:12px;color:var(--muted);border-top:1px solid var(--line);margin-top:25px;padding-top:20px}.sidebar{position:fixed;width:235px;inset:0 auto 0 0;background:#16194f;color:#c1c6df;padding:28px 18px;z-index:2}.sidebar .brand{font-size:14px;color:#fff}.side-label{display:block;font-size:10px;letter-spacing:1.3px;padding:42px 12px 12px;color:#959cbd}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;text-align:left;border-radius:6px;font-weight:700;background:#ffffff12;color:#fff}.nav-item.active{box-shadow:inset 3px 0 #a9adff}.sidebar-bottom{position:absolute;left:24px;right:24px;bottom:28px;font-size:11px;line-height:1.8}.sidebar-bottom .pill{color:#c0c4ff;border-color:#55587f;font-size:9px}.sidebar-bottom p{margin-top:12px}.sidebar-bottom small{color:#9298b8}.main{margin-left:235px;min-height:100vh}.topbar{padding:22px 35px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar strong{font-size:15px}.user{display:flex;align-items:center;gap:20px}.user b{display:block;font-size:13px}.user small{display:block;color:var(--muted);font-size:11px}.user .outline{padding:7px 12px;min-height:36px;font-size:12px}.content{padding:35px;max-width:1700px;margin:auto}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.page-heading h1{font-size:30px;letter-spacing:-1px;margin:0 0 5px}.page-heading p{color:var(--muted);font-size:13px;margin:0}.notice{padding:10px 14px;background:#e8f3ee;color:#286448;border:1px solid #d2e5d9;border-radius:5px;font-size:12px;margin:18px 0 24px}.notice.warning{background:#fff4dc;color:#8a5512;border-color:#ecd4a4}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:30px}.metric{border:1px solid var(--line);background:#fff;padding:20px 24px;border-radius:7px;position:relative}.metric:before{content:"";position:absolute;inset:20px auto 20px 0;width:3px;background:var(--blue)}.metric.scheduled:before{background:var(--amber)}.metric.completed:before{background:var(--green)}.metric>span{font-size:12px;color:var(--muted);font-weight:700}.metric strong{display:block;font-size:38px;line-height:1.3;letter-spacing:-1px;margin:5px 0}.metric small{font-size:11px;color:var(--muted)}.board{border:1px solid var(--line);border-radius:8px;background:#f7f8fb;overflow:hidden}.board-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px;background:#fff;border-bottom:1px solid var(--line)}.board-heading h2{font-size:16px;margin:0}.search-label{width:240px}.search-label input{font-size:12px;min-height:35px;padding:7px 10px;background:#f7f8fb}.columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:20px}.column-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.column-heading>b{font-size:11px;padding:2px 7px;border-radius:3px;background:#e7e9f0;color:var(--muted)}.status{font-size:10px;font-weight:700;padding:5px 9px;border-radius:4px;display:inline-flex;align-items:center;gap:6px;background:#e9eafb;color:var(--blue)}.status i{width:5px;height:5px;border-radius:50%;background:currentColor}.status.scheduled{background:#fbf0dc;color:#986414}.status.completed{background:#e7f2eb;color:var(--green)}.movement-card{display:block;text-align:left;width:100%;padding:18px 16px;margin-bottom:12px;background:#fff;border:1px solid var(--line);border-radius:6px;color:var(--ink);box-shadow:0 2px 4px #171c3610;transition:border-color .15s,box-shadow .15s}.movement-card:hover{border-color:#a2a5cf;box-shadow:0 3px 10px #171c3615}.card-top{display:flex;justify-content:space-between;gap:6px;font-size:9px;color:var(--muted)}.card-top>span{text-transform:uppercase;letter-spacing:.7px;font-weight:700}.card-top small{font-size:8px;color:#8d7344;white-space:nowrap}.movement-card h3{font-size:18px;letter-spacing:-.5px;margin:10px 0 3px;overflow-wrap:anywhere}.movement-phase{display:inline-block;font-size:9px;color:var(--blue);font-weight:700;letter-spacing:.8px}.route{margin:16px 0;padding:10px 0;display:grid;grid-template-columns:1fr 15px 1fr;gap:8px;border-top:1px solid #eef0f5;border-bottom:1px solid #eef0f5;font-size:11px;line-height:1.5}.route b{color:#a3a6bd}.card-meta{display:flex;flex-direction:column;gap:5px;font-size:11px;color:var(--muted)}.card-meta>span{font-weight:700;color:#51596b}.card-foot{display:flex;justify-content:space-between;gap:12px;margin-top:15px;padding-top:12px;border-top:1px solid #eef0f5;font-size:9px;color:var(--muted)}.card-foot b{white-space:nowrap;color:var(--blue)}.empty-column{border:1px dashed #d5d9e4;border-radius:5px;padding:35px 10px;text-align:center;font-size:12px;color:var(--muted)}.content>footer{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:18px;gap:10px}.overlay{position:fixed;inset:0;z-index:10;background:#11163366;display:flex;justify-content:flex-end}.drawer{width:510px;max-width:100%;height:100%;overflow-y:auto;background:#fff;box-shadow:-10px 0 40px #12152b22;padding:28px}.drawer-open{overflow:hidden}.drawer>header,dialog header{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:20px}.drawer h2,dialog h2{font-size:24px;letter-spacing:-.5px;margin:0}.icon-button{font-size:27px;line-height:1;background:#f0f1f6;border-radius:5px;width:36px;height:36px;flex-shrink:0;color:#555d70}.drawer-status{display:flex;align-items:center;gap:14px;margin-bottom:15px}.sample-note{font-size:12px;color:#8b692c;background:#fff8e8;padding:10px;border-radius:5px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;padding:14px 0}.detail-value span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.detail-value b{display:block;font-size:13px;overflow-wrap:anywhere}.detail-heading{font-size:13px;color:var(--blue);margin:26px 0 12px;padding-bottom:9px;border-bottom:1px solid var(--line)}.detail-heading>span{float:right;font-size:10px;font-weight:400;color:var(--muted)}.allocation-row{display:flex;gap:10px}.allocation-tag{background:#f0f1f7;padding:6px 10px;font-size:12px;border-radius:4px}.allocation-tag b{color:var(--blue);margin-left:7px}.tug-row{display:grid;grid-template-columns:1.5fr 1fr 1fr;border:1px solid var(--line);padding:12px;margin-top:8px;border-radius:5px;gap:12px}.tug-row.pilot-transport{background:var(--yellow);border-color:#e9d76f}.tug-row b{font-size:12px}.tug-row small{display:block;color:#6b7182;font-size:10px}.tug-row strong{font-size:17px}.time-row{display:grid;grid-template-columns:18px 1fr auto;gap:8px;padding:12px 0;border-bottom:1px solid #edf0f4;align-items:center;font-size:12px}.time-row>span>small{color:#959bad;font-size:10px;margin-right:7px}.time-row>strong{color:var(--blue);font-size:19px;white-space:nowrap}.check{font-size:19px;font-weight:700}.done{color:var(--green)}.missing{color:var(--red)}.next-stage{background:#f2f3f8;border:1px dashed #cfd3e1;padding:14px;margin:25px 0;font-size:12px;border-radius:5px}.next-stage p{color:var(--muted);margin:6px 0 0}.drawer-actions{display:flex;gap:10px;margin-top:24px}.drawer-actions button{font-size:12px;flex:1}dialog{width:620px;max-width:calc(100% - 24px);max-height:calc(100% - 32px);padding:26px;border:0;border-radius:8px;box-shadow:0 20px 80px #10153750;color:var(--ink)}dialog::backdrop{background:#11163377}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.form-grid .wide{grid-column:1/-1}.form-grid label{margin-bottom:16px;font-size:12px}fieldset{border:1px solid var(--line);padding:14px;border-radius:5px;margin:10px 0 20px}legend{font-size:13px;font-weight:700;color:var(--blue);padding:0 5px}.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check-option{display:flex;align-items:center;gap:7px;font-size:12px}.boat-option{display:flex;align-items:center;gap:15px;margin:10px 0;font-size:12px}.boat-option b{width:45px}.boat-option select{min-height:35px;padding:6px 10px}dialog footer{display:flex;justify-content:flex-end;gap:10px;padding-top:15px;border-top:1px solid var(--line)}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90%;z-index:30;padding:12px 20px;background:#252d44;color:#fff;box-shadow:0 5px 20px #12172c33;border-radius:6px;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1600px){.movement-card{padding:22px}.movement-card h3{font-size:21px}.route,.card-meta{font-size:12px}}@media(max-width:1150px){.sidebar{width:195px;padding:24px 13px}.sidebar .brand{font-size:12px;gap:6px}.main{margin-left:195px}.content{padding:25px 20px}.topbar{padding:20px}.columns{padding:14px;gap:10px}.movement-card{padding:14px 12px}.card-top{flex-wrap:wrap}}@media(max-width:850px){.sidebar{width:72px;padding:22px 15px}.sidebar .brand{font-size:0}.sidebar .brand img{width:38px;height:38px}.sidebar .side-label,.sidebar-bottom,.nav-item span{display:none}.nav-item{padding:12px;margin-top:40px;justify-content:center}.main{margin-left:72px}.columns{grid-template-columns:1fr}.column{padding-bottom:12px}.column+.column{border-top:1px solid var(--line);padding-top:18px}.summary{gap:10px}.metric{padding:15px}.metric strong{font-size:30px}.metric small{font-size:10px}.page-heading h1{font-size:26px}.topbar strong{font-size:12px}.brand-panel{padding:60px 8%}.user{gap:10px}}@media(max-width:600px){.login-layout{display:block}.brand-panel{min-height:260px;padding:90px 28px 30px}.brand-panel .brand{top:24px}.brand-panel h1{font-size:34px;margin:10px 0}.brand-panel p,.brand-panel .eyebrow,.brand-foot{display:none}.login-panel{padding:35px 25px;min-height:calc(100vh - 260px)}.login-card h2{font-size:27px;margin-top:16px}.sidebar{display:none}.main{margin-left:0}.topbar{padding:16px;gap:12px}.topbar .eyebrow{font-size:9px}.user b{max-width:110px;font-size:11px}.user .outline{padding:6px 9px;min-height:32px;font-size:10px}.content{padding:24px 14px}.page-heading{align-items:flex-start}.page-heading h1{font-size:24px}.page-heading p{font-size:11px}.page-heading .primary{font-size:11px;min-height:36px;padding:9px 10px;white-space:nowrap}.notice{font-size:10px}.summary{gap:8px;margin-bottom:20px}.metric{padding:13px 10px}.metric>span{font-size:10px}.metric small{display:none}.metric strong{font-size:28px}.board-heading{padding:14px;gap:10px}.board-heading h2{font-size:14px}.search-label{width:170px}.drawer{padding:22px 18px}.drawer h2{font-size:22px}.content>footer{font-size:9px;flex-direction:column}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}dialog{padding:22px 18px}.time-row>strong{font-size:18px}}
