:root {
  --bg:var(--bg-primary); --panel:var(--bg-card); --panel-2:var(--bg-card-hover); --field:var(--bg-input); --line:var(--border);
  --cyan:var(--accent); --teal:var(--success); --blue:var(--info); --amber:var(--warning); --red:var(--danger);
  --text:var(--text-primary); --muted:var(--text-secondary); --soft:var(--text-primary); --chart-secondary:var(--teal);
  --radius:7px;
  color-scheme:dark;
}
:root[data-theme="paper"],:root[data-theme="frost"],:root[data-theme="harbor-light"]{color-scheme:light}
:root[data-smc-theme="full-black"],:root[data-smc-theme="full-white"]{--cyan:var(--text-primary);--teal:var(--text-primary);--blue:var(--text-primary);--amber:var(--text-primary);--red:var(--text-primary)}
:root[data-smc-theme="full-black"]{--chart-secondary:#aaa}
:root[data-smc-theme="full-white"]{--chart-secondary:#555}
html:is([data-smc-theme="full-black"],[data-smc-theme="full-white"]) :is(.page-shell,#smcModuleTopbar,.toast){filter:grayscale(1)}
*{box-sizing:border-box}
html,body{min-height:100%;margin:0;background:var(--bg);color:var(--text);font-family:"Rajdhani",Arial,sans-serif;letter-spacing:0}
body{background-image:none}
button,input,select,textarea{font:inherit;letter-spacing:0}
button{cursor:pointer}
.page-shell{width:min(1900px,100%);margin:0 auto;padding:18px clamp(12px,1.4vw,26px) 28px}
.module-head{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid var(--line);border-left:5px solid var(--cyan);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}
.eyebrow,.panel-kicker,.section-label{font:700 11px/1.2 "JetBrains Mono",monospace;color:var(--cyan);text-transform:uppercase}
.eyebrow i{margin-right:7px}
h1,h2,h3,p{margin:0}
.module-head h1{font-size:34px;line-height:1;margin-top:5px}
.module-head p{color:var(--muted);font-size:16px;margin-top:7px}
.module-actions,.record-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.btn,.icon-btn{height:42px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:6px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 15px;box-shadow:0 4px 0 var(--line);transition:transform .16s,border-color .16s,background .16s}
.btn:hover,.icon-btn:hover{transform:translateY(-2px);border-color:var(--cyan)}
.btn:active,.icon-btn:active{transform:translateY(1px);box-shadow:0 1px 0 var(--line)}
.btn:disabled,.icon-btn:disabled{opacity:.42;cursor:not-allowed;transform:none}
.btn.accent{background:var(--panel-2);border-color:var(--cyan)}.btn.primary{background:var(--panel-2);border-color:var(--cyan)}.btn.subtle{background:var(--field)}.icon-btn{width:42px;padding:0}.icon-btn.danger{color:var(--red);border-color:var(--red)}
.status-strip{margin-top:10px;display:grid;grid-template-columns:1.2fr repeat(4,minmax(110px,.6fr));border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--field)}
.status-strip>div{min-height:54px;padding:9px 14px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.status-strip>div:last-child{border:0}
.status-strip span,.status-strip small{color:var(--muted);font:600 10px/1.2 "JetBrains Mono",monospace;text-transform:uppercase}.status-strip b{font:700 14px/1.25 "JetBrains Mono",monospace}.status-strip>div:first-child{display:grid;grid-template-columns:12px auto;grid-template-rows:auto auto;column-gap:8px}.status-strip>div:first-child .pulse{grid-row:1/3;align-self:center}.status-strip small{grid-column:2}
.pulse{width:9px;height:9px;border-radius:50%;background:var(--teal);box-shadow:0 0 12px var(--teal)}
.workspace{display:grid;grid-template-columns:260px minmax(720px,1fr) 300px;gap:12px;margin-top:12px;align-items:start}
.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);overflow:hidden}
.history-panel,.insight-panel{position:sticky;top:76px;max-height:calc(100vh - 92px)}
.panel-title-row{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--line)}
.panel-title-row h2{font-size:21px;margin-top:3px}.count-pill,.vessel-chip,.health-badge{min-width:32px;height:28px;border:1px solid var(--line);border-radius:14px;display:inline-flex;align-items:center;justify-content:center;padding:0 9px;font:700 11px "JetBrains Mono",monospace;background:var(--panel-2);color:var(--cyan)}
.history-filters{display:grid;grid-template-columns:1fr .8fr;gap:7px;padding:10px;border-bottom:1px solid var(--line)}
select,input,textarea{width:100%;border:1px solid var(--line);border-radius:5px;background:var(--field);color:var(--text);min-height:38px;padding:8px 10px;outline:none}
select:focus,input:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 2px var(--line)}
.history-list{padding:8px;overflow:auto;max-height:calc(100vh - 205px)}
.history-card{width:100%;text-align:left;border:1px solid var(--line);border-left:4px solid var(--card-accent,var(--cyan));border-radius:6px;background:var(--panel);color:var(--text);padding:11px;margin-bottom:7px;display:grid;gap:7px}.history-card:hover,.history-card.active{border-color:var(--card-accent,var(--cyan));background:var(--panel-2)}.history-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.history-card h3{font-size:17px}.history-card small{color:var(--muted);font:500 10px/1.4 "JetBrains Mono",monospace}.history-card .status{font:700 9px "JetBrains Mono",monospace;text-transform:uppercase;color:var(--teal)}
.form-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px;border-bottom:1px solid var(--line);min-height:76px}.record-identity{display:flex;align-items:center;gap:12px;min-width:0}.record-identity h2{font-size:23px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-identity p{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vessel-chip{border-radius:5px;height:44px;min-width:48px;font-size:14px;color:var(--text);background:var(--field)}
.tabs{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--line);background:var(--panel)}.tabs button{height:47px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);font-weight:700;font-size:15px}.tabs button:last-child{border-right:0}.tabs button i{margin-right:7px}.tabs button:hover{color:var(--text);background:var(--panel-2)}.tabs button.active{color:var(--cyan);background:var(--panel-2);box-shadow:inset 0 -3px var(--cyan)}
.form-content{padding:14px;min-height:640px;max-height:calc(100vh - 236px);overflow:auto}.empty-state{min-height:560px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:var(--muted);gap:10px}.empty-state i{font-size:48px;color:var(--muted)}.empty-state h3{font-size:25px;color:var(--soft)}.empty-state p{max-width:520px;font-size:16px}
.form-section{display:grid;gap:12px}.section-headline{display:flex;align-items:end;justify-content:space-between;gap:12px}.section-headline h3{font-size:23px}.section-headline p{color:var(--muted);font-size:14px}.section-card{border:1px solid var(--line);border-radius:6px;background:var(--panel);padding:13px}.section-card h4{margin:0 0 10px;font-size:16px;color:var(--cyan)}
.field-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px}.field{display:grid;gap:5px}.field>span{color:var(--muted);font:600 10px "JetBrains Mono",monospace;text-transform:uppercase}.field input,.field select{min-height:42px;font-size:15px}.field.wide{grid-column:span 2}.field.full{grid-column:1/-1}.field textarea{min-height:82px;resize:vertical}
.rh-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.rh-card{padding:12px;border:1px solid var(--line);border-radius:5px;background:var(--panel-2)}.rh-card h4{margin:0 0 9px;color:var(--soft);font-size:16px}.rh-pair{display:grid;grid-template-columns:1fr 1fr;gap:7px}.rh-pair label{display:grid;gap:4px;color:var(--muted);font-size:11px}.rh-pair input{font:600 13px "JetBrains Mono",monospace}
.data-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:5px}.data-table{width:100%;min-width:860px;border-collapse:collapse;background:var(--field)}.data-table th{position:sticky;top:0;z-index:2;background:var(--panel-2);color:var(--text);text-align:left;font:700 10px "JetBrains Mono",monospace;text-transform:uppercase;padding:9px;border-right:1px solid var(--line)}.data-table td{padding:6px;border-top:1px solid var(--line);border-right:1px solid var(--line);vertical-align:middle}.data-table tr:hover td{background:var(--panel-2)}.data-table input,.data-table select{min-width:84px;min-height:34px;padding:6px 7px;border-radius:4px;font:500 12px "JetBrains Mono",monospace}.data-table .row-title{min-width:110px;font-weight:700;color:var(--cyan)}
.note-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.metric-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.metric-card{border:1px solid var(--line);border-radius:5px;background:var(--panel-2);padding:13px}.metric-card span{font:600 10px "JetBrains Mono",monospace;color:var(--muted);text-transform:uppercase}.metric-card b{display:block;margin-top:6px;font:700 20px "JetBrains Mono",monospace;color:var(--text)}
.score-block{display:flex;align-items:center;gap:13px;padding:14px;border-bottom:1px solid var(--line)}.score-ring{--score:0;flex:0 0 92px;height:92px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(circle at center,var(--panel) 57%,transparent 59%),conic-gradient(var(--teal) calc(var(--score)*1%),var(--line) 0)}.score-ring strong{font:700 25px "JetBrains Mono",monospace}.score-ring small{color:var(--muted)}.score-block>div:last-child{display:grid;gap:4px}.score-block span{font-size:12px;color:var(--muted)}.score-block b{font-size:20px}.score-block small{font:500 10px "JetBrains Mono",monospace;color:var(--muted)}
.health-badge.good{color:var(--teal);border-color:var(--teal)}.health-badge.watch{color:var(--amber);border-color:var(--amber)}.health-badge.critical{color:var(--red);border-color:var(--red)}
.mini-kpis{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.mini-kpis>div{padding:12px;border-right:1px solid var(--line);text-align:center}.mini-kpis>div:last-child{border:0}.mini-kpis span{display:block;font:600 9px "JetBrains Mono",monospace;color:var(--muted);text-transform:uppercase}.mini-kpis b{font:700 20px "JetBrains Mono",monospace}.bad{color:var(--red)!important}.warn{color:var(--amber)!important}
.chart-block,.action-block{padding:14px;border-bottom:1px solid var(--line)}.chart-wrap{height:190px;margin-top:10px}.priority-list{display:grid;gap:7px;margin-top:10px;max-height:280px;overflow:auto}.priority-item{display:grid;grid-template-columns:8px 1fr;gap:8px;padding:8px;border:1px solid var(--line);border-radius:5px;background:var(--panel)}.priority-item:before{content:"";width:8px;height:100%;border-radius:3px;background:var(--item-color,var(--amber))}.priority-item b{font-size:14px}.priority-item small{display:block;color:var(--muted);font:500 10px/1.4 "JetBrains Mono",monospace;margin-top:2px}.empty-small{padding:16px 8px;color:var(--muted);text-align:center;font-size:13px}
.toast{position:fixed;right:18px;bottom:18px;z-index:3000;min-width:280px;max-width:460px;padding:12px 15px;border:1px solid var(--cyan);border-radius:6px;background:var(--panel);color:var(--text);box-shadow:0 16px 44px rgba(0,0,0,.35);transform:translateY(120px);opacity:0;transition:.2s}.toast.show{transform:none;opacity:1}.toast.error{border-color:var(--red)}
@media(max-width:1450px){.workspace{grid-template-columns:230px minmax(660px,1fr) 270px}.record-actions .btn span{display:none}.record-actions .btn{width:42px;padding:0}.field-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1450px){.record-actions #pdfBtn{width:auto;padding:0 11px}.record-actions #pdfBtn span{display:inline}}
@media(max-width:1120px){.workspace{grid-template-columns:220px minmax(0,1fr)}.insight-panel{position:relative;top:auto;grid-column:1/-1;max-height:none;display:grid;grid-template-columns:260px 1fr 1fr}.insight-panel>.panel-title-row{grid-column:1/-1}.score-block,.mini-kpis{border-right:1px solid var(--line)}.chart-block,.action-block{border-bottom:0}.form-content{max-height:none}.field-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.page-shell{padding:8px}.module-head{align-items:flex-start;flex-direction:column}.module-head h1{font-size:28px}.module-actions{width:100%;display:grid;grid-template-columns:1fr 1fr 42px}.status-strip{grid-template-columns:1fr 1fr}.status-strip>div:first-child{grid-column:1/-1}.workspace{grid-template-columns:1fr}.history-panel{position:relative;top:auto;max-height:none}.history-list{display:flex;overflow:auto;max-height:none}.history-card{min-width:230px}.tabs{display:flex;overflow:auto}.tabs button{min-width:132px}.form-toolbar{align-items:flex-start;flex-direction:column}.record-actions{width:100%;justify-content:flex-start}.form-content{padding:9px}.field-grid,.rh-grid,.note-grid,.metric-cards{grid-template-columns:1fr}.field.wide{grid-column:auto}.insight-panel{grid-column:auto;display:block}.data-table{min-width:760px}.status-strip>div{border-bottom:1px solid var(--line)}.module-actions .btn{padding:0 8px}.module-actions .btn span{font-size:13px}}
@media print{body{background:white;color:#111}.page-shell{padding:0}.module-head,.status-strip,.history-panel,.insight-panel,.form-toolbar,.tabs{display:none}.workspace{display:block}.form-panel{border:0;box-shadow:none}.form-content{max-height:none;overflow:visible}.section-card{break-inside:avoid;background:white;color:#111}.data-table{color:#111;background:white}.data-table th{position:static;color:#111;background:#e8f2f5}}
.tabs{display:flex;overflow-x:auto}.tabs button{flex:1 0 126px;padding:0 10px;white-space:nowrap}.tabs button[hidden]{display:none}
.workspace>*{min-width:0}.record-identity>div{min-width:0}.history-filters>*{min-width:0}
@media(min-width:1121px) and (max-width:1450px){.workspace{grid-template-columns:200px minmax(0,1fr) 250px}}
.icu-pcv-section{min-width:0}.component-month{color:var(--muted);font:600 12px "JetBrains Mono",monospace}
.component-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line)}
.component-summary>div{min-width:0;padding:12px 10px;border-right:1px solid var(--line)}.component-summary>div:last-child{border:0}
.component-summary span{display:block;color:var(--muted);font-size:12px}.component-summary strong{display:block;margin-top:5px;font:600 14px/1.5 "JetBrains Mono",monospace;overflow-wrap:anywhere}
.component-section{padding-block:10px;min-width:0}.component-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}.component-section h4{margin:0;color:var(--text);font-size:17px;line-height:1.4}
.component-intervals{display:grid;grid-template-columns:repeat(2,minmax(100px,140px));gap:8px}.component-stock-date{width:180px;flex-shrink:0}
.component-hours-table{min-width:690px}.component-hours-table thead tr:first-child th{text-align:center}.component-hours-table thead tr:first-child th:not([rowspan]){height:38px}.component-hours-table thead tr:first-child th:first-child{text-align:left}.component-hours-table thead tr:nth-child(2) th{top:38px}
.component-hours-table tbody th,.component-stock-table tbody th{position:static;background:var(--field);color:var(--text);text-align:left;font:700 12px "JetBrains Mono",monospace;padding:9px;border:1px solid var(--line)}
.component-stock-table{min-width:620px}.component-hours-table input,.component-stock-table input{width:100%;min-width:78px}.icu-pcv-value{font:500 12px "JetBrains Mono",monospace;white-space:nowrap}
.component-status{display:inline-block;font-size:12px;font-weight:700;white-space:nowrap}.component-status.unknown{color:var(--muted)}.component-status.ok{color:var(--teal)}.component-status.due{color:var(--amber)}.component-status.overdue{color:var(--red)}
.component-stock-notes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.component-stock-notes textarea{min-height:70px}
@media(max-width:760px){.component-section-head{align-items:stretch;flex-direction:column}.component-intervals{grid-template-columns:1fr 1fr}.component-stock-date{width:100%}.component-summary{grid-template-columns:1fr}.component-summary>div{border-right:0;border-bottom:1px solid var(--line)}.component-stock-notes{grid-template-columns:1fr}.icu-pcv-section .data-table{min-width:620px}}
.component-report-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.component-report-actions .btn{height:38px;box-shadow:none;white-space:nowrap}
.component-carry-status{padding:9px 0;color:var(--muted);border-block:1px solid var(--line);font-size:13px;overflow-wrap:anywhere}.component-carry-status[hidden]{display:none}
.component-data-check{border-bottom:1px solid var(--line);padding-block:10px}.component-check-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.component-check-heading span{color:var(--muted);font-size:12px;text-align:right}.component-data-check ul{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px}.component-data-check li{border-left:3px solid var(--amber);padding-left:10px;display:grid;gap:3px}.component-data-check li.is-action{border-color:var(--red)}.component-data-check li span{color:var(--muted);font-size:12px}
.component-verify{display:flex;align-items:center;gap:9px;margin:8px 0 14px;font-size:13px}.component-verify input[type=checkbox]{width:18px;height:18px;min-height:0;padding:0;flex-shrink:0;accent-color:var(--teal)}
.vessel-chip{border-color:var(--vessel-accent,var(--cyan));color:var(--vessel-accent,var(--cyan))}
#smcModuleTopbar .smc-std-avatar{background:var(--field);color:var(--text);border:1px solid var(--line)}
@media(max-width:980px){#smcModuleTopbar .smc-std-right{flex-wrap:wrap;min-width:0}}
.component-check-heading i{font-size:10px;transition:transform .15s}.component-data-check[open] .component-check-heading i{transform:rotate(90deg)}
@media(max-width:760px){.icu-pcv-section .section-headline{align-items:stretch;flex-direction:column}.component-report-actions{justify-content:space-between}.component-check-heading{align-items:flex-start}.component-verify{align-items:flex-start}}
.maintenance-summary{display:flex;flex-wrap:wrap;gap:8px 20px;padding:10px 0 14px;color:var(--muted);font-size:12px}.maintenance-summary b{color:var(--text)}
.maintenance-matrix{min-width:860px;table-layout:fixed}.maintenance-matrix thead th:first-child{width:150px}.maintenance-matrix thead th:nth-child(2){width:100px}.maintenance-matrix th{white-space:normal}.maintenance-matrix tbody th{position:sticky;left:0;z-index:1;background:var(--panel);color:var(--text);font-size:12px;line-height:1.4;text-transform:none}.maintenance-matrix thead th:first-child{left:0;z-index:3}.maintenance-matrix input{width:100%;min-width:0}.maintenance-remaining{display:block;margin-top:5px;font-size:11px;color:var(--muted);overflow-wrap:anywhere}.maintenance-matrix .component-status{font-size:10px;line-height:1.5}
.maintenance-section .component-section-head{align-items:center}.maintenance-section .btn{height:38px;white-space:nowrap;box-shadow:none}
.dg-maintenance-matrix{min-width:700px}
.maintenance-matrix tbody th{top:auto}
@media(max-width:760px){.maintenance-section .component-section-head{align-items:stretch}.maintenance-section .btn{align-self:flex-start}}
