:root{
  --bg:#06111d;--surface:#0b1d2b;--surface-2:#102637;--surface-3:#081725;
  --line:#1d4053;--line-strong:#2c6073;--text:#e9f3f5;--muted:#8da4b2;
  --cyan:#20c4d8;--green:#22c98b;--amber:#f0aa2d;--red:#ff5d68;--blue:#54a9ff;
  --shadow:0 12px 34px rgba(0,0,0,.28);--control:42px;--radius:6px;
  color-scheme:dark;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:14px
}
[data-theme="paper"]{
  --bg:#edf3f4;--surface:#fff;--surface-2:#f5fafb;--surface-3:#e8f0f2;
  --line:#c5d5da;--line-strong:#8eb3bd;--text:#142630;--muted:#627985;
  --cyan:#087f91;--green:#087c58;--amber:#a86500;--red:#c33443;--blue:#176bb7;
  --shadow:0 12px 30px rgba(24,57,65,.12);color-scheme:light
}
*{box-sizing:border-box;letter-spacing:0}
html,body{height:100%;margin:0;background:var(--bg);color:var(--text)}
body{overflow:hidden}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.48}
svg{width:18px;height:18px;stroke-width:2}
.hidden{display:none!important}
.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 18px;background:var(--surface-3);border-bottom:1px solid var(--line);position:relative;z-index:20}
.mobile-jobs-button{display:none}
.brand{display:flex;align-items:center;gap:11px;color:var(--text);text-decoration:none;min-width:max-content}
.brand-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--cyan);background:#0b3850;color:#b9f4f8;font-weight:900;border-radius:6px;font-size:13px}
.brand strong{display:block;font-size:14px}.brand small{display:block;color:var(--muted);font-size:10px;margin-top:2px}
.top-actions{display:flex;align-items:center;gap:8px;min-width:0}
.compact-field{height:42px;display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);padding:0 8px;border-radius:var(--radius)}
.compact-field span{font-size:8px;font-weight:800;color:var(--muted);text-transform:uppercase}
.compact-field select{width:140px;height:34px;border:0;background:transparent;color:var(--text);font-weight:700;outline:none}
.search-field{height:42px;width:min(280px,24vw);display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);padding:0 11px;border-radius:var(--radius)}
.search-field svg{color:var(--muted);flex:0 0 auto}.search-field input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--text)}
.icon-button,.user-button,.primary-button,.secondary-button,.danger-button{height:var(--control);border:1px solid var(--line);border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;white-space:nowrap}
.icon-button{width:var(--control);background:var(--surface);color:var(--text);position:relative;padding:0}
.icon-button:hover,.secondary-button:hover{border-color:var(--cyan);color:var(--cyan)}
.sync-count{position:absolute;right:-3px;top:-4px;min-width:16px;height:16px;display:grid;place-items:center;padding:0 3px;border-radius:8px;background:var(--amber);color:#191100;font-size:8px;font-weight:900}
.connection{height:32px;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px;font-weight:900;padding:0 8px}.connection span{width:7px;height:7px;border-radius:50%;background:var(--red)}.connection.online span{background:var(--green);box-shadow:0 0 10px var(--green)}
.user-button{background:var(--surface);color:var(--text);padding:0 12px;max-width:160px}.user-button span{overflow:hidden;text-overflow:ellipsis}
.primary-button,.secondary-button,.danger-button{padding:0 15px}
.primary-button{background:linear-gradient(135deg,#0f8296,#0d9e87);color:#fff;border-color:#1fc3c5;box-shadow:0 5px 15px rgba(16,157,163,.18)}
.secondary-button{background:var(--surface);color:var(--text)}
.danger-button{background:var(--red);color:#fff;border-color:#ff8a91}
.app-shell{height:calc(100dvh - 64px);display:grid;grid-template-columns:350px minmax(0,1fr);min-width:0}
.job-rail{min-width:0;background:var(--surface-3);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden;transition:width .2s ease,opacity .2s ease}
.job-rail.collapsed{width:0;opacity:0;border:0}
.app-shell:has(.job-rail.collapsed){grid-template-columns:0 minmax(0,1fr)}
.rail-actions{padding:13px;display:flex;gap:8px;border-bottom:1px solid var(--line)}
.rail-actions .primary-button{flex:1}.rail-toggle{flex:0 0 auto}
.rail-metrics{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.metric-filter{min-width:0;padding:10px 4px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted)}
.metric-filter:last-child{border-right:0}.metric-filter strong{display:block;color:var(--text);font-family:Consolas,monospace;font-size:18px}.metric-filter span{font-size:8px;text-transform:uppercase;font-weight:900}
.metric-filter.active{background:rgba(32,196,216,.1);box-shadow:inset 0 -2px var(--cyan)}.metric-filter.danger strong{color:var(--red)}
.rail-filter-row{display:flex;gap:7px;padding:9px 12px;border-bottom:1px solid var(--line)}
.rail-filter-row select{height:38px;min-width:0;flex:1;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);padding:0 9px}
.rail-filter-row .icon-button{height:38px;width:38px}
.job-list{min-height:0;flex:1;overflow:auto;padding:8px;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}
.job-row{width:100%;display:block;text-align:left;border:1px solid transparent;border-left:4px solid var(--line-strong);background:transparent;color:var(--text);padding:11px 10px;margin-bottom:6px;border-radius:0 var(--radius) var(--radius) 0;position:relative}
.job-row:hover{background:var(--surface);border-color:var(--line)}.job-row.selected{background:var(--surface-2);border-color:var(--line-strong);border-left-color:var(--cyan);box-shadow:var(--shadow)}
.job-row[data-status="ACTIVE"]{border-left-color:var(--green)}.job-row[data-status="SUSPENDED"]{border-left-color:var(--red)}.job-row[data-status="READY_FOR_APPROVAL"]{border-left-color:var(--amber)}
.job-row-head{display:flex;justify-content:space-between;gap:8px}.job-row strong{font-size:12px;line-height:1.25}.job-row .job-number{font:700 9px Consolas,monospace;color:var(--cyan);margin-top:3px}.job-row p{font-size:10px;color:var(--muted);margin:7px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-row-foot{display:flex;gap:5px;align-items:center;margin-top:8px;flex-wrap:wrap}
.status-badge,.mini-tag{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px;border:1px solid var(--line);border-radius:10px;font:800 8px Consolas,monospace;text-transform:uppercase;color:var(--muted)}
.status-badge.active,.status-badge.approved,.status-badge.closed,.status-badge.completed,.status-badge.issued{color:var(--green);border-color:rgba(34,201,139,.55);background:rgba(34,201,139,.09)}
.status-badge.suspended,.status-badge.expired,.status-badge.void{color:var(--red);border-color:rgba(255,93,104,.55);background:rgba(255,93,104,.09)}
.status-badge.ready_for_approval,.status-badge.pending_approval,.status-badge.paused{color:var(--amber);border-color:rgba(240,170,45,.55);background:rgba(240,170,45,.09)}
.empty-state{min-height:180px;display:grid;place-items:center;text-align:center;color:var(--muted);padding:30px}.empty-state svg{width:34px;height:34px;margin-bottom:8px}.empty-state strong{display:block;color:var(--text);margin-bottom:4px}
.workspace{min-width:0;overflow:auto;background-image:linear-gradient(rgba(32,196,216,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(32,196,216,.025) 1px,transparent 1px);background-size:32px 32px;padding:18px}
.dashboard-view,.job-view{max-width:1580px;margin:0 auto}
.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.eyebrow{margin:0 0 5px;color:var(--cyan);font:800 9px Consolas,monospace;text-transform:uppercase}.page-heading h1{margin:0;font-size:24px}.page-heading p:not(.eyebrow){color:var(--muted);margin:6px 0 0;font-size:11px}.heading-actions{display:flex;gap:8px}
.status-band{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.status-band article{min-width:0;display:flex;align-items:center;gap:12px;padding:15px;border-right:1px solid var(--line)}.status-band article:last-child{border-right:0}
.status-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:6px;background:rgba(32,196,216,.1);color:var(--cyan)}.status-icon.green{background:rgba(34,201,139,.1);color:var(--green)}.status-icon.red{background:rgba(255,93,104,.1);color:var(--red)}.status-icon.amber{background:rgba(240,170,45,.1);color:var(--amber)}
.status-band small{display:block;color:var(--muted);font:800 8px Consolas,monospace}.status-band strong{font:900 22px Consolas,monospace}.status-band em{display:block;color:var(--muted);font-size:9px;font-style:normal}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.8fr);gap:13px;margin-top:13px}
.data-panel{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);overflow:hidden;min-width:0}.panel-heading{height:58px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px;border-bottom:1px solid var(--line)}.panel-heading h2{margin:0;font-size:14px}
.vessel-table{display:grid}.vessel-line{display:grid;grid-template-columns:minmax(150px,1.3fr) repeat(3,minmax(70px,.5fr)) 90px;align-items:center;gap:8px;min-height:59px;padding:8px 13px;border-bottom:1px solid var(--line)}.vessel-line:last-child{border-bottom:0}.vessel-line h3{margin:0;font-size:12px}.vessel-line small{color:var(--muted);font:700 9px Consolas,monospace}.vessel-stat strong{display:block;font:900 15px Consolas,monospace}.vessel-stat span{font-size:8px;color:var(--muted);text-transform:uppercase}.vessel-line button{justify-self:end}
.queue-list{min-height:240px;max-height:360px;overflow:auto}.queue-item{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:9px;align-items:center;padding:11px 13px;border-bottom:1px solid var(--line)}.queue-item:last-child{border-bottom:0}.queue-item .queue-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:rgba(240,170,45,.1);color:var(--amber)}.queue-item.danger .queue-icon{background:rgba(255,93,104,.1);color:var(--red)}.queue-item strong{display:block;font-size:11px}.queue-item small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.queue-item time{font:700 9px Consolas,monospace;color:var(--muted)}
.workflow-strip{margin-top:13px;display:grid;grid-template-columns:repeat(5,minmax(120px,1fr) 20px) minmax(120px,1fr);align-items:center;border:1px solid var(--line);background:var(--surface);padding:13px;border-radius:var(--radius);overflow:auto}.workflow-strip>div{min-width:120px;display:grid;grid-template-columns:29px 1fr;column-gap:8px}.workflow-strip>div>span{grid-row:1/3;width:29px;height:29px;display:grid;place-items:center;border:1px solid var(--cyan);color:var(--cyan);font:900 10px Consolas,monospace;border-radius:50%}.workflow-strip strong{font-size:10px}.workflow-strip small{color:var(--muted);font-size:8px}.workflow-strip>svg{color:var(--line-strong);width:16px}
.job-header{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius) var(--radius) 0 0;padding:14px}.job-header-main{display:flex;justify-content:space-between;gap:16px}.job-header h1{font-size:20px;margin:4px 0}.job-header p{margin:0;color:var(--muted);font-size:10px}.job-header-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.job-header-actions{display:flex;align-items:flex-start;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.tabs{display:flex;overflow:auto;background:var(--surface-3);border:1px solid var(--line);border-top:0}.tabs button{min-width:max-content;height:44px;display:flex;align-items:center;gap:6px;padding:0 13px;background:transparent;color:var(--muted);border:0;border-right:1px solid var(--line);font-size:9px;font-weight:900;text-transform:uppercase}.tabs button.active{color:var(--cyan);background:var(--surface-2);box-shadow:inset 0 -2px var(--cyan)}.tabs svg{width:15px}
.tab-content{min-height:520px;border:1px solid var(--line);border-top:0;background:var(--surface);padding:14px;border-radius:0 0 var(--radius) var(--radius)}
.content-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:13px}.section-block{min-width:0;border-top:2px solid var(--line);padding-top:11px;margin-bottom:15px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.section-heading h2{font-size:13px;margin:0}.section-heading p{font-size:9px;color:var(--muted);margin:2px 0 0}.section-actions{display:flex;gap:7px;flex-wrap:wrap}
.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.info-cell{min-height:56px;border:1px solid var(--line);background:var(--surface-2);padding:9px;border-radius:var(--radius)}.info-cell small{display:block;color:var(--muted);font:800 8px Consolas,monospace;text-transform:uppercase}.info-cell strong{display:block;margin-top:5px;font-size:11px;overflow-wrap:anywhere}
.control-list{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.control-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:48px;padding:7px 10px;border-bottom:1px solid var(--line)}.control-row:last-child{border-bottom:0}.control-row .number{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:50%;font:900 9px Consolas,monospace;color:var(--cyan)}.control-row strong{font-size:10px}.control-row small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.control-row input[type="checkbox"]{width:21px;height:21px;accent-color:var(--green)}
.checklist-centre{border-top-color:var(--cyan)}
.checklist-centre-card{border:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius);overflow:hidden;margin-bottom:13px;box-shadow:0 10px 28px rgba(0,0,0,.12)}
.checklist-centre-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}.checklist-centre-head h2{font-size:15px;margin:0}.checklist-centre-head p:not(.eyebrow){font-size:9px;color:var(--muted);margin:4px 0 0}
.checklist-score{width:78px;height:58px;display:grid;place-items:center;border:1px solid rgba(34,201,139,.5);background:rgba(34,201,139,.08);border-radius:var(--radius);flex:0 0 auto}.checklist-score strong{font:900 20px Consolas,monospace;color:var(--green);line-height:1}.checklist-score span{font:800 8px Consolas,monospace;color:var(--muted)}.checklist-score.danger{border-color:rgba(255,93,104,.55);background:rgba(255,93,104,.08)}.checklist-score.danger strong{color:var(--red)}
.checklist-toolbar{min-height:53px;padding:8px 12px;display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--line);background:var(--surface)}.checklist-search{height:36px;display:flex;align-items:center;gap:7px;flex:1;max-width:430px;border:1px solid var(--line);background:var(--surface-3);border-radius:var(--radius);padding:0 9px}.checklist-search svg{width:15px;color:var(--muted)}.checklist-search input{height:32px;border:0;padding:0;background:transparent;box-shadow:none}.checklist-key{display:flex;align-items:center;gap:9px;margin-left:auto}.checklist-key>span{font:800 8px Consolas,monospace;color:var(--muted);white-space:nowrap}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px;background:var(--muted)}.dot.blocker{background:var(--red)}.dot.open{background:var(--amber)}
.checklist-sections{display:grid;gap:7px;padding:10px}.checklist-section{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);overflow:hidden}.checklist-section>summary{min-height:46px;display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,280px);align-items:center;gap:12px;padding:8px 11px;cursor:pointer;list-style:none}.checklist-section>summary::-webkit-details-marker{display:none}.checklist-section>summary strong{font-size:10px}.checklist-section>summary small{display:block;color:var(--muted);font:700 8px Consolas,monospace;margin-top:3px}.checklist-section[open]>summary{border-bottom:1px solid var(--line);background:var(--surface-2)}.section-progress{height:7px;background:var(--surface-3);border:1px solid var(--line);border-radius:5px;overflow:hidden}.section-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--green))}.checklist-section-body{display:grid}
.checklist-control{border-bottom:1px solid var(--line);background:var(--surface);min-width:0}.checklist-control:last-child{border-bottom:0}.checklist-control[hidden]{display:none}.checklist-control-main{display:grid;grid-template-columns:86px minmax(180px,1fr) 34px minmax(150px,190px);gap:9px;align-items:center;min-height:61px;padding:8px 10px;border-left:3px solid var(--line-strong)}.checklist-control.answer-yes .checklist-control-main{border-left-color:var(--green)}.checklist-control.answer-no .checklist-control-main{border-left-color:var(--red);background:rgba(255,93,104,.035)}.checklist-control.answer-na .checklist-control-main{border-left-color:var(--amber)}.checklist-control-copy{min-width:0}.checklist-control-copy strong{display:block;font-size:10px;line-height:1.3}.checklist-control-copy small{display:block;color:var(--muted);font-size:8px;margin-top:3px;line-height:1.3}.checklist-control-copy em{display:inline-flex;align-items:center;gap:4px;color:var(--amber);font:800 7px Consolas,monospace;font-style:normal;margin-top:4px}.checklist-control-copy em svg{width:12px;height:12px}.checklist-control-main select{height:36px;font:800 9px Consolas,monospace;padding:0 8px}.checklist-help-button{width:34px;height:34px;color:var(--cyan)}
.criticality{display:inline-flex;align-items:center;justify-content:center;width:82px;height:21px;border:1px solid var(--line);border-radius:11px;font:900 7px Consolas,monospace;color:var(--muted)}.criticality.blocker{color:var(--red);border-color:rgba(255,93,104,.55);background:rgba(255,93,104,.08)}.criticality.conditional{color:var(--amber);border-color:rgba(240,170,45,.55);background:rgba(240,170,45,.08)}.criticality.advisory{color:var(--cyan);border-color:rgba(32,196,216,.55);background:rgba(32,196,216,.08)}.criticality.information{color:var(--blue);border-color:rgba(84,169,255,.55);background:rgba(84,169,255,.08)}
.checklist-followup{border-top:1px dashed var(--line);margin:0 10px 8px;background:var(--surface-2);border-radius:0 0 var(--radius) var(--radius)}.checklist-followup>summary{cursor:pointer;padding:7px 10px;color:var(--muted);font:800 8px Consolas,monospace}.checklist-followup-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:7px;padding:0 9px 9px}.checklist-followup-grid input{height:36px;font-size:9px}.checklist-followup-grid label>span{font-size:7px}
.checklist-save-bar{min-height:54px;display:flex;justify-content:flex-end;align-items:center;gap:13px;padding:8px 12px;border-top:1px solid var(--line);background:var(--surface)}.checklist-save-bar>span{color:var(--muted);font-size:8px;margin-right:auto}.checklist-save-bar button{height:36px}
.permit-checklist{margin-top:10px;border-top:1px solid var(--line)}.permit-checklist>summary{cursor:pointer;padding:10px 2px;font-weight:900;font-size:9px}.permit-checklist .checklist-sections{padding:4px 0}.permit-checklist .checklist-control-main{grid-template-columns:76px minmax(140px,1fr) 34px minmax(130px,160px)}.permit-checklist .checklist-followup-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}.permit-checklist-save{height:34px;margin-top:7px}
.permit-recommendations{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border:1px solid var(--line);background:var(--surface-2);padding:9px 11px;border-radius:var(--radius);margin-bottom:10px}.permit-recommendations>div{margin-right:auto}.permit-recommendations>div>strong{font-size:9px}.recommendation-chip{min-height:42px;display:flex;align-items:center;gap:7px;border:1px solid var(--cyan);background:rgba(32,196,216,.07);color:var(--text);border-radius:var(--radius);padding:5px 9px;text-align:left}.recommendation-chip svg{width:15px;color:var(--cyan)}.recommendation-chip span{font:900 9px Consolas,monospace}.recommendation-chip small{display:block;color:var(--muted);font:600 7px Segoe UI,Arial,sans-serif;margin-top:2px}.recommendation-chip.added{border-color:var(--green);opacity:.68}.recommendation-chip.added svg{color:var(--green)}
.help-dialog-content{padding:16px}.help-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.help-chart-grid section{border:1px solid var(--line);background:var(--surface-2);padding:12px;border-radius:var(--radius)}.help-chart-grid h3{font-size:11px;margin:0 0 10px}.help-matrix{display:grid;grid-template-columns:100px minmax(0,1fr);gap:7px 10px;align-items:center}.help-matrix p{font-size:9px;color:var(--muted);margin:0;line-height:1.35}.help-code{height:26px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius);font:900 8px Consolas,monospace}.help-code.yes{color:var(--green);border-color:var(--green)}.help-code.no{color:var(--red);border-color:var(--red)}.help-code.na{color:var(--amber);border-color:var(--amber)}.help-code.pending{color:var(--muted)}.selected-help{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--cyan);background:rgba(32,196,216,.06);padding:12px;margin-top:12px;border-radius:var(--radius)}.selected-help small{font:800 7px Consolas,monospace;color:var(--cyan)}.selected-help h3{font-size:12px;margin:3px 0}.selected-help p{font-size:9px;color:var(--muted);margin:0 0 7px;line-height:1.4}.selected-help strong{font-size:9px}.help-warning{display:flex;align-items:center;justify-content:center;gap:7px;border-top:1px solid var(--line);padding-top:12px;margin:13px 0 0;color:var(--amber);font-size:9px}.help-warning svg{width:15px}
.permit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px}.permit-card{border:1px solid var(--line);border-left:4px solid var(--cyan);background:var(--surface-2);border-radius:var(--radius);padding:12px}.permit-card[data-status="ACTIVE"],.permit-card[data-status="ISSUED"]{border-left-color:var(--green)}.permit-card[data-status="SUSPENDED"],.permit-card[data-status="EXPIRED"]{border-left-color:var(--red)}.permit-card-head{display:flex;justify-content:space-between;gap:8px}.permit-card h3{font-size:12px;margin:0}.permit-card p{font-size:9px;color:var(--muted);margin:4px 0 0}.permit-card-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:10px}.permit-card-meta div{background:var(--surface);border:1px solid var(--line);padding:7px;border-radius:4px}.permit-card-meta small{display:block;color:var(--muted);font-size:7px;text-transform:uppercase}.permit-card-meta strong{font:700 9px Consolas,monospace}.permit-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.permit-card-actions button{height:34px;padding:0 10px;font-size:9px}
.evidence-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.evidence-item{border:1px solid var(--line);background:var(--surface-2);padding:9px;border-radius:var(--radius);min-width:0}.evidence-item strong{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.evidence-item small{display:block;color:var(--muted);font:700 8px Consolas,monospace;margin-top:5px}.evidence-actions{display:flex;gap:5px;margin-top:7px}.evidence-actions button{height:30px;font-size:8px;padding:0 9px}
.audit-timeline{position:relative;padding-left:18px}.audit-timeline:before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:1px;background:var(--line-strong)}.audit-event{position:relative;padding:0 0 14px 14px}.audit-event:before{content:"";position:absolute;left:-16px;top:4px;width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 4px var(--surface)}.audit-event strong{font-size:10px}.audit-event small{display:block;color:var(--muted);font:700 8px Consolas,monospace;margin-top:3px}.audit-event p{font-size:9px;color:var(--muted);margin:5px 0 0;overflow-wrap:anywhere}
.gate-list{display:grid;gap:6px}.gate-item{display:flex;align-items:flex-start;gap:8px;padding:9px;border:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius)}.gate-item.ok{border-color:rgba(34,201,139,.4)}.gate-item.blocked{border-color:rgba(255,93,104,.45)}.gate-item svg{width:16px;flex:0 0 auto;color:var(--green)}.gate-item.blocked svg{color:var(--red)}.gate-item strong{font-size:9px}.gate-item small{display:block;color:var(--muted);font-size:8px;margin-top:2px}
.modal{width:min(760px,calc(100% - 24px));max-height:calc(100dvh - 30px);padding:0;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);border-radius:var(--radius);box-shadow:0 24px 90px rgba(0,0,0,.55);overflow:auto}.modal.wide{width:min(1120px,calc(100% - 24px))}.modal::backdrop{background:rgba(1,8,13,.78);backdrop-filter:blur(4px)}.modal form{padding:16px}.modal-heading{display:flex;justify-content:space-between;gap:14px;padding-bottom:13px;margin-bottom:13px;border-bottom:1px solid var(--line)}.modal-heading h2{font-size:18px;margin:0}.modal-heading p:not(.eyebrow){color:var(--muted);font-size:10px;margin:4px 0 0}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:14px;margin-top:14px;border-top:1px solid var(--line)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-grid.compact{grid-template-columns:repeat(2,minmax(180px,280px))}.span-2{grid-column:1/-1}label{display:block}label>span,fieldset legend{display:block;color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase;margin-bottom:5px}input,select,textarea{width:100%;border:1px solid var(--line);border-bottom-color:var(--line-strong);background:var(--surface-3);color:var(--text);border-radius:var(--radius);padding:0 11px;outline:none}input,select{height:42px}textarea{padding:10px 11px;resize:vertical;line-height:1.45}input:focus,select:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(32,196,216,.1)}.check-label{display:flex!important;align-items:center;gap:9px;padding-top:17px}.check-label input{width:20px;height:20px;accent-color:var(--green)}.check-label span{margin:0;color:var(--text);font-size:10px}
.attendee-picker{border:1px solid var(--line);border-radius:var(--radius);padding:10px}.attendee-picker legend{padding:0 5px}.attendee-picker>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:5px;max-height:210px;overflow:auto}.attendee-option{display:flex;align-items:center;gap:8px;padding:7px;background:var(--surface-2);border:1px solid var(--line);border-radius:4px}.attendee-option input{width:18px;height:18px}.attendee-option strong{font-size:9px}.attendee-option small{display:block;color:var(--muted);font-size:8px}
.hazard-editor{display:grid;gap:9px;margin:12px 0}.hazard-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(170px,1.2fr) repeat(4,64px) 34px;gap:6px;align-items:end;border:1px solid var(--line);background:var(--surface-2);padding:8px;border-radius:var(--radius)}.hazard-row label span{font-size:7px}.hazard-row input,.hazard-row select{height:38px}.hazard-row .remove-hazard{height:38px;width:34px}
.template-preview{margin-top:12px;padding:10px;border:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius);font-size:9px;color:var(--muted)}.template-preview strong{display:block;color:var(--text);font-size:11px;margin-bottom:5px}.danger-modal{border-color:var(--red)}
.toast-stack{position:fixed;right:16px;bottom:16px;z-index:1000;display:grid;gap:7px;width:min(380px,calc(100% - 32px))}.toast{display:grid;grid-template-columns:22px 1fr auto;gap:8px;align-items:center;padding:11px;background:var(--surface-2);border:1px solid var(--line-strong);box-shadow:var(--shadow);border-radius:var(--radius);animation:toast-in .18s ease}.toast.error{border-color:var(--red)}.toast.success{border-color:var(--green)}.toast strong{font-size:10px}.toast p{font-size:9px;color:var(--muted);margin:2px 0 0}.toast button{border:0;background:transparent;color:var(--muted)}
@keyframes toast-in{from{opacity:0;transform:translateY(10px)}}
.loading{position:relative;overflow:hidden}.loading:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);transform:translateX(-100%);animation:loading 1.1s infinite}@keyframes loading{to{transform:translateX(100%)}}
@media(max-width:1180px){
  .app-shell{grid-template-columns:310px minmax(0,1fr)}.search-field{display:none}.user-button span{display:none}.status-band{grid-template-columns:repeat(2,1fr)}.status-band article:nth-child(2){border-right:0}.status-band article:nth-child(-n+2){border-bottom:1px solid var(--line)}.dashboard-grid{grid-template-columns:1fr}.workflow-strip{grid-template-columns:repeat(5,minmax(110px,1fr) 18px) minmax(110px,1fr)}.hazard-row{grid-template-columns:repeat(2,minmax(150px,1fr)) repeat(4,62px) 34px}.hazard-row label:nth-child(3){grid-column:1/3}.checklist-followup-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.permit-checklist .checklist-control-main{grid-template-columns:72px minmax(130px,1fr) 34px}.permit-checklist .checklist-control-main select{grid-column:2/4;width:100%}
}
@media(max-width:820px){
  body{overflow:auto}.topbar{height:auto;min-height:58px;padding:8px 10px;align-items:flex-start}.brand small{display:none}.brand-mark{width:38px;height:38px}.top-actions{margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.mobile-jobs-button{display:inline-flex}.vessel-field{order:5;width:100%;height:38px}.vessel-field select{width:100%}.connection,.user-button{display:none}.app-shell{height:auto;min-height:calc(100dvh - 58px);display:block}.job-rail{position:fixed;inset:58px auto 0 0;width:min(350px,92vw);z-index:18;box-shadow:18px 0 50px rgba(0,0,0,.42);transform:translateX(-102%);transition:transform .2s ease}.job-rail.mobile-open{transform:translateX(0)}.job-rail.collapsed{width:min(350px,92vw);opacity:1;border-right:1px solid var(--line)}.app-shell:has(.job-rail.collapsed){display:block}.rail-toggle{display:none}.workspace{min-height:calc(100dvh - 58px);padding:10px}.page-heading{align-items:center}.page-heading h1{font-size:19px}.page-heading p:not(.eyebrow){display:none}.heading-actions .secondary-button{display:none}.status-band article{padding:11px}.dashboard-grid{margin-top:9px;gap:9px}.vessel-line{grid-template-columns:minmax(130px,1fr) repeat(2,60px) 76px}.vessel-line .vessel-stat:nth-of-type(3){display:none}.workflow-strip{margin-top:9px}.job-header-main{display:block}.job-header-actions{justify-content:flex-start;margin-top:11px}.content-grid{grid-template-columns:1fr}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tabs button{height:42px;padding:0 10px}.tab-content{padding:10px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.modal{max-height:calc(100dvh - 12px)}.modal form{padding:12px}.hazard-row{grid-template-columns:repeat(2,minmax(0,1fr))}.hazard-row label:nth-child(3){grid-column:1/3}.hazard-row .remove-hazard{grid-column:2;justify-self:end}.permit-grid{grid-template-columns:1fr}.checklist-control-main{grid-template-columns:74px minmax(150px,1fr) 34px}.checklist-control-main select{grid-column:2/4;width:100%}.checklist-toolbar{align-items:stretch;flex-wrap:wrap}.checklist-search{max-width:none;flex-basis:100%}.checklist-key{margin-left:0}.help-chart-grid{grid-template-columns:1fr}
}
@media(max-width:500px){
  :root{--control:40px}.top-actions .icon-button:nth-of-type(2){display:none}.brand strong{font-size:12px}.status-band{grid-template-columns:1fr 1fr}.status-icon{width:32px;height:32px}.status-band strong{font-size:18px}.status-band em{display:none}.vessel-line{grid-template-columns:minmax(120px,1fr) 55px 55px}.vessel-line .vessel-stat:nth-of-type(3),.vessel-line button{display:none}.queue-list{max-height:none}.page-heading .primary-button span{display:none}.page-heading .primary-button{width:40px;padding:0}.job-header{padding:10px}.job-header h1{font-size:16px}.job-header-actions button span{display:none}.job-header-actions button{width:38px;padding:0}.info-grid{grid-template-columns:1fr 1fr}.form-grid.compact{grid-template-columns:1fr}.hazard-row{grid-template-columns:1fr}.hazard-row label:nth-child(3){grid-column:auto}.hazard-row .remove-hazard{grid-column:1}.modal-actions{position:sticky;bottom:-12px;background:var(--surface);padding:10px 0 calc(10px + env(safe-area-inset-bottom));z-index:2}.checklist-centre-head{align-items:flex-start}.checklist-score{width:65px;height:52px}.checklist-control-main{grid-template-columns:70px minmax(0,1fr) 34px}.checklist-control-main select{grid-column:1/4}.checklist-followup-grid{grid-template-columns:1fr}.checklist-followup-grid .span-2{grid-column:auto}.checklist-section>summary{grid-template-columns:1fr}.section-progress{width:100%}.checklist-save-bar{align-items:flex-start;flex-direction:column}.checklist-save-bar button{width:100%}.checklist-key{width:100%;justify-content:space-between}.help-matrix{grid-template-columns:82px minmax(0,1fr)}
}
@media print{body{overflow:visible}.topbar,.job-rail,.tabs,.job-header-actions,.heading-actions{display:none!important}.app-shell{display:block;height:auto}.workspace{overflow:visible;padding:0;background:none}.job-view{display:block!important}.dashboard-view{display:none!important}.tab-content{border:0}.section-block{break-inside:avoid}}
