:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#172e3e;background:#f2f5f7;font-synthesis:none;--nav:#0c2638;--green:#126650;--line:#dce4e8;--muted:#647787}*{box-sizing:border-box}body{margin:0;font-size:16px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}button,input,select,textarea{border:1px solid var(--line);border-radius:6px;background:white;color:inherit}button{padding:9px 14px;font-size:14px;font-weight:600}button:hover{background:#edf4f4;border-color:#a9bebd}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #4ebfbb;outline-offset:2px}input,select,textarea{padding:10px 12px;width:100%}textarea{resize:vertical;line-height:1.6;min-height:140px}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-.8px;margin-bottom:9px}h2{font-size:21px;letter-spacing:-.35px}h3{font-size:16px}small,.small{font-size:12px}.muted{color:var(--muted)}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#0a503d;color:white}.danger{color:#ad3838}.shell{display:grid;grid-template-columns:246px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--nav);color:#bbccd7;padding:28px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{font-size:24px;color:#fff;font-weight:650;letter-spacing:-1px;padding:0 12px 25px;display:flex;gap:10px;align-items:center}.brand-mark{color:#71e4c1;font-size:28px}.brand small{display:block;font-weight:400;letter-spacing:2px;font-size:10px;color:#8da9ba;margin-top:5px}.vessel-card{border:1px solid #2a4556;border-radius:8px;padding:14px;margin-bottom:28px}.vessel-card strong{display:block;color:#fff;margin:7px 0}.side-label{font-size:11px;letter-spacing:1.8px;margin:0 12px 12px;color:#7f9aac}.nav{background:none;border:0;color:#bfd0db;text-align:left;display:flex;align-items:center;gap:12px;width:100%;padding:13px 12px;margin:3px 0;font-weight:500}.nav:hover{background:#183c4f}.nav.active{background:#1d4855;color:#8ae6cd}.nav .count{margin-left:auto;font-size:12px;background:#2e5361;padding:2px 6px;border-radius:4px}.sidebar-foot{margin-top:auto;padding:24px 12px 0;font-size:12px;line-height:1.7;color:#8da9ba}.sidebar-foot b{color:#bfd0db;font-weight:500}.main{min-width:0}.topbar{height:74px;background:white;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 36px;gap:12px}.crumb{font-size:14px;color:#738391}.crumb b{color:#213b4d;font-weight:500}.actions{display:flex;gap:8px;flex-wrap:wrap}.content{padding:32px 36px}.heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}.eyebrow{font-size:11px;letter-spacing:1.8px;color:var(--green);font-weight:650;margin-bottom:11px}.heading p{font-size:14px;color:var(--muted);margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);background:white;border:1px solid var(--line);border-radius:9px;margin-bottom:28px}.stat{padding:21px 24px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat-label{font-size:12px;color:var(--muted);margin-bottom:10px}.stat strong{font-size:27px;letter-spacing:-.7px;font-weight:600}.stat small{display:block;margin-top:7px;color:var(--muted)}.panel{background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden}.toolbar{padding:18px 20px;display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line)}.toolbar input{max-width:350px}.toolbar select{max-width:270px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:14px}th{font-size:11px;letter-spacing:.8px;color:#6d7f8b;font-weight:600;background:#f8fafb;padding:14px 18px;white-space:nowrap;border-bottom:1px solid var(--line)}td{padding:16px 18px;border-bottom:1px solid #edf0f2;vertical-align:middle}tr:last-child td{border-bottom:0}tbody tr:hover{background:#f7fbfb}.job-title{border:0;padding:0;background:transparent;text-align:left;font-size:14px;line-height:1.5;max-width:430px;font-weight:600}.job-title:hover{color:var(--green);background:transparent}.code{font-family:Consolas,monospace;font-size:13px;color:#597383;white-space:nowrap}.subline{display:block;margin-top:4px;font-size:12px;color:var(--muted)}.pill{display:inline-block;white-space:nowrap;border-radius:4px;padding:5px 8px;background:#f0f2f5;color:#647181;font-size:12px}.pill.review{background:#fff3da;color:#8b650b}.pill.ready{background:#e6f5ee;color:#23654d}.table-footer{padding:16px 20px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.table-footer button{padding:5px 10px}.note{font-size:12px;color:var(--muted);line-height:1.7;margin-top:20px}.row{display:flex;align-items:center;gap:12px}.spread{justify-content:space-between}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid .wide{grid-column:1/-1}label{display:block;font-size:14px;color:#526a7a}label>input,label>select,label>textarea{margin-top:7px;color:#172e3e}.form-panel{padding:26px;margin-bottom:22px}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px}.editor-layout aside .panel{padding:22px;margin-bottom:18px}.check{display:flex;gap:9px;align-items:flex-start;margin:12px 0;font-size:14px;line-height:1.5}.check input{width:16px;height:16px;margin:3px 0 0;accent-color:var(--green)}.back{color:var(--muted);background:transparent;border:0;padding:0;margin-bottom:20px}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:24px}.tabs button{border:0;border-radius:0;padding:12px 0;background:none;color:var(--muted)}.tabs button.active{color:var(--green);border-bottom:2px solid var(--green)}.line-table input{min-width:85px;padding:8px;font-size:14px}.line-table input.text{min-width:220px}.line-table td{padding:10px}.total{font-size:22px;font-weight:650;text-align:right;padding:24px}.money{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.empty{padding:70px 30px;text-align:center;color:var(--muted)}.empty h2{color:#253f50}.catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:20px}.catalog-item{padding:18px;border:1px solid var(--line);border-radius:6px;display:flex;justify-content:space-between;gap:14px;align-items:center}.catalog-item h3{margin:0 0 7px;font-size:14px;line-height:1.5}.catalog-item p{margin:0;font-size:12px;color:var(--muted)}dialog{width:min(720px,92vw);border:0;border-radius:12px;padding:30px;color:#172e3e;box-shadow:0 30px 100px #071e3555}dialog::backdrop{background:#09243480}dialog h2{margin-bottom:22px}dialog .actions{justify-content:flex-end;margin-top:26px}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:#143a42;color:white;padding:13px 22px;border-radius:8px;box-shadow:0 6px 25px #0002;z-index:50;display:none;max-width:90vw;font-size:14px}.attachments{display:flex;gap:12px;flex-wrap:wrap}.attachments figure{margin:0;width:180px}.attachments img{width:100%;height:130px;object-fit:contain;background:#f4f7f8;border:1px solid var(--line);border-radius:6px}.attachments figcaption{font-size:12px;word-break:break-word}.save-state{color:#658071;font-size:12px}.mobile-brand{display:none}.warning{background:#fff6e5;color:#7e5b13;padding:13px 16px;border-radius:6px;font-size:14px;line-height:1.6}#print{display:none}.progress{height:5px;background:#e6edef;border-radius:5px;margin-top:10px;overflow:hidden}.progress span{height:100%;display:block;background:#228a71}.summary-row{display:grid;grid-template-columns:1fr 90px 160px;gap:20px;padding:17px 22px;border-bottom:1px solid var(--line);font-size:14px}.summary-row:last-child{border:0}.summary-row strong{text-align:right}.chip{background:#e8f4ef;color:var(--green);font-size:12px;padding:4px 9px;border-radius:4px}.intro-card{border-left:3px solid #31a784;padding:15px 18px;background:#edf7f3;font-size:14px;margin-bottom:24px;line-height:1.6}.std-controls{display:flex;gap:8px;align-items:center}.std-controls input{width:80px}.section-title{margin-bottom:20px}.notice-count{margin-left:auto;font-size:12px;white-space:nowrap;color:var(--muted)}
@media(max-width:1100px){.shell{grid-template-columns:205px minmax(0,1fr)}.sidebar{padding:24px 12px}.content{padding:24px}.topbar{padding:0 24px}.editor-layout{grid-template-columns:1fr}.editor-layout aside{display:grid;grid-template-columns:1fr 1fr;gap:16px}.catalog{grid-template-columns:1fr}.stat{padding:18px}.stat strong{font-size:23px}.heading{align-items:flex-start}}
@media(max-width:760px){.shell{display:block}.sidebar{position:static;height:auto;padding:18px;display:block}.brand{padding:0 0 15px}.vessel-card,.side-label,.sidebar-foot{display:none}.sidebar nav{display:flex;gap:6px;overflow:auto}.nav{width:auto;white-space:nowrap;padding:10px;font-size:12px}.nav .count{display:none}.topbar{height:auto;min-height:70px;padding:15px 18px;flex-wrap:wrap}.content{padding:22px 16px}.heading{flex-wrap:wrap;gap:15px}h1{font-size:25px}.stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.toolbar{flex-wrap:wrap;padding:15px}.toolbar input,.toolbar select{max-width:none}.form-grid{grid-template-columns:1fr}.editor-layout aside{display:block}.form-panel{padding:18px}.summary-row{grid-template-columns:1fr 45px 105px;padding:15px;font-size:12px;gap:10px}.actions button{padding:9px 11px}.crumb{font-size:12px}.notice-count{margin-left:0}.tabs{gap:20px}.catalog{padding:14px}.catalog-item{flex-wrap:wrap}.save-state{display:none}}
@media print{body{background:white;color:#000;font-size:11pt}#app,#modal,#toast{display:none!important}#print{display:block}.print-cover{page-break-after:always}.print-job{break-before:page}#print h1{font-size:25pt}#print h2{font-size:17pt}#print h3{font-size:12pt;margin-top:20px}#print p{white-space:pre-wrap;line-height:1.45}#print table{font-size:10pt}#print td,#print th{padding:7px;border:1px solid #ccc}#print .print-meta{display:flex;justify-content:space-between;border-bottom:2px solid #172e3e;padding-bottom:15px;margin-bottom:20px}#print img{max-width:100%;max-height:500px}#print .no-break{break-inside:avoid}@page{size:A4;margin:15mm}}

.welcome{max-width:1240px;margin:auto;padding:36px}.welcome-brand{font-size:26px;font-weight:700;color:#0c2638}.welcome-brand span{font-size:11px;letter-spacing:2px;margin-left:16px;color:#64808f;font-weight:500}.welcome-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:80px;align-items:center;min-height:73vh}.welcome h1{font-size:52px;line-height:1.12;letter-spacing:-2px;margin:20px 0 24px}.welcome p{line-height:1.7;color:#607686;max-width:520px}.welcome .primary{padding:14px 22px;font-size:16px}.welcome footer{border-top:1px solid var(--line);padding:24px 0;color:#748794;font-size:13px}.workflow-card{background:#0c2638;border-radius:12px;color:white;padding:32px}.workflow-card .code{color:#76cdb6}.workflow-card>div{border-top:1px solid #2a4556;margin-top:25px;padding:23px 0 0;position:relative;padding-left:40px}.workflow-card b{position:absolute;left:0;top:23px;color:#6ad7b7;font:14px Consolas,monospace}.workflow-card p{font-size:14px;color:#acc4cf;margin:0}.workflow-card h3{margin-bottom:8px}.fleet-summary{display:flex;align-items:center;gap:12px;margin-bottom:28px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap}.fleet-summary strong{font-size:26px}.fleet-summary span{color:var(--muted);margin-right:25px;font-size:14px}.fleet-summary button{margin-left:auto}.fleet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.fleet-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:24px}.fleet-card h2{margin:25px 0 8px;font-size:25px}.fleet-card p{color:var(--muted);font-size:14px}.fleet-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:12px;border-top:1px solid var(--line);padding:20px 0;color:var(--muted)}.fleet-details b{font-weight:500;color:#263f50;text-align:right}.fleet-card>button{width:100%;margin-top:10px}.empty-icon{font-size:48px;color:#438677;margin-bottom:20px}[hidden]{display:none!important}.warning{margin-bottom:18px}.warning button{margin:5px 0 0 8px}
@media(max-width:1100px){.topbar{height:auto;min-height:74px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}.stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.fleet-grid{grid-template-columns:1fr 1fr}.welcome-layout{gap:35px}.welcome h1{font-size:42px}}
@media(max-width:760px){.welcome{padding:24px}.welcome-layout{grid-template-columns:1fr;gap:30px;padding:50px 0}.welcome h1{font-size:37px}.welcome-brand span{display:block;margin:8px 0 0}.fleet-grid{grid-template-columns:1fr}.fleet-summary button{margin-left:0}.intro-card.row{flex-wrap:wrap}}

.login-card{background:white;border:1px solid var(--line);border-radius:9px;padding:24px;max-width:440px;margin-top:25px}.login-card label{margin:16px 0}.login-card>button{width:100%;margin-top:8px}.login-card .note{font-size:12px;margin:14px 0 0}.equipment-choice{border:1px solid #c9dcd7;background:#f2f9f6;padding:18px;border-radius:7px}.equipment-choice>.row{margin-top:12px}.equipment-results{max-height:390px;overflow:auto;margin-top:16px}.equipment-results button{display:block;width:100%;text-align:left;margin:5px 0;line-height:1.6}.equipment-results small{display:block;color:var(--muted)}dialog form>label{margin:16px 0}.welcome-layout{padding-top:40px;padding-bottom:40px}.welcome h1{font-size:43px}
.full-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;font-size:14px}.full-meta b{display:block;color:var(--muted);font-size:12px;margin-bottom:7px}.full-section{scroll-margin-top:24px;margin-top:38px}.full-section-heading{flex-wrap:wrap;margin-bottom:18px}.full-section-heading h2{margin:0}.full-section-heading strong{white-space:nowrap}.full-job h2{margin-top:18px}.full-job h3{margin-top:26px;margin-bottom:10px}.full-job p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.full-job td:nth-child(n+4){text-align:right;white-space:nowrap}.full-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.full-images img{max-width:100%;max-height:480px;object-fit:contain;border:1px solid var(--line);border-radius:6px}.full-totals{margin-top:28px}.full-totals .row{padding:12px 0;flex-wrap:wrap}.full-grand-total{border-top:1px solid var(--line);font-size:22px;color:var(--green)}.full-section a,.form-panel a{color:var(--green)}
.system-suggestions{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:6px;margin-top:5px;background:white;box-shadow:0 5px 16px #172e3e12}.system-suggestions button{display:block;width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;text-align:left;padding:12px 14px;font-weight:400;line-height:1.5}.system-suggestions small{display:block;color:var(--muted)}.system-suggestions .note{margin:12px 14px}.system-suggestions strong{font-weight:500}
.classification-value{min-height:64px;resize:vertical;background:#f8fafb;line-height:1.5}
.file-attachment{display:flex;flex-wrap:wrap;align-items:center;gap:12px;border:1px solid var(--line);border-radius:6px;padding:14px;margin:8px 0;width:100%;overflow-wrap:anywhere}.file-attachment strong{flex:1;min-width:140px}.file-attachment img{max-width:160px;max-height:120px;object-fit:contain}.file-attachment a{color:var(--green)}
.line-table .description-cell{min-width:320px;width:45%;vertical-align:top}.line-table textarea.line-description{display:block;min-height:40px;width:100%;padding:9px 12px;font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;overflow:hidden;resize:none;field-sizing:content}.line-table td{vertical-align:top}

.line-table select[data-key="performedBy"]{min-width:190px;width:100%;padding:10px 32px 10px 12px;white-space:nowrap}

input:required,select:required,textarea:required,textarea[data-required="review"]{background-color:#fffbe6}input:required:disabled,select:required:disabled,textarea:required:disabled{background-color:#f8f6eb}

.supply-panel{background:#fffbe6}.supply-required{font-size:13px;line-height:1.5;color:#765615;margin:0 0 14px}.supply-panel.needs-attention{border:2px solid #bf861f}

.vessel-project-groups{display:grid;gap:32px}.vessel-group-heading{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.vessel-group-heading h2{margin:0;overflow-wrap:anywhere}.vessel-project-group .fleet-card h3{font-size:20px;line-height:1.4;margin:24px 0 16px;overflow-wrap:anywhere}

.account-group-heading th{background:#eaf3f3;color:#123344;font-size:14px;font-weight:700;letter-spacing:0;text-transform:none;padding:14px 18px}.account-group-heading .chip{margin-left:8px}

.account-vessel-heading th{background:#f4f8fa;color:#164653;font-weight:600;padding-left:24px;border-top:1px solid #dce7eb;}
