.compliance-page { --cp-bg:var(--bg-primary,#13171b); --cp-panel:var(--bg-card,#20262c); --cp-input:var(--bg-input,#161d23); --cp-border:var(--border,#35434f); --cp-text:var(--text-primary,#edf5f9); --cp-muted:var(--text-secondary,#b3bcc5); --cp-accent:var(--accent,#3bd7b2); --cp-green:#29c7a0; --cp-red:#ff7e8e; --cp-amber:#edbd66; --cp-blue:#68b9f4; margin:0; background:var(--cp-bg); color:var(--cp-text); font:14px/1.5 Arial,Helvetica,sans-serif; letter-spacing:0; }
[data-theme="paper"] .compliance-page,[data-theme="frost"] .compliance-page,[data-theme="harbor-light"] .compliance-page { --cp-green:#08785e; --cp-red:#bf2843; --cp-amber:#905b08; --cp-blue:#206fb8; }
.compliance-page *, .compliance-page *::before, .compliance-page *::after { box-sizing:border-box; }
.compliance-page [hidden] { display:none !important; }
#complianceApp { max-width:1800px; padding:24px 28px 12px; margin:auto; }
#complianceApp h1 { font-size:26px; line-height:1.2; margin:6px 0; }
#complianceApp h2,.workspace-dialog h2 { font-size:17px; margin:0; }
#complianceApp h3,.workspace-dialog h3 { font-size:15px; margin:0 0 8px; }
#complianceApp p,.workspace-dialog p { margin:6px 0 12px; }
.compliance-page :is(#complianceApp,.workspace-dialog) a { color:var(--cp-accent); text-decoration:none; }
.compliance-page :is(#complianceApp,.workspace-dialog) a:hover { text-decoration:underline; }
.compliance-page :is(#complianceApp,.workspace-dialog) :is(button,.button) { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:38px; padding:8px 13px; border:1px solid var(--cp-border); border-radius:6px; background:var(--cp-panel); color:var(--cp-text); font:600 13px/1.25 Arial,Helvetica,sans-serif; cursor:pointer; text-decoration:none; }
.compliance-page :is(#complianceApp,.workspace-dialog) :is(button,.button):hover { border-color:var(--cp-accent); }
.compliance-page :is(#complianceApp,.workspace-dialog) .primary { background:var(--cp-accent); border-color:var(--cp-accent); color:var(--bg-primary,#0b1720); }
[data-theme="paper"] .compliance-page .primary,[data-theme="frost"] .compliance-page .primary,[data-theme="harbor-light"] .compliance-page .primary { color:#fff !important; }
.compliance-page :is(#complianceApp,.workspace-dialog) .icon-button { flex:0 0 38px; width:38px; height:38px; padding:0; }
.compliance-page button:disabled { opacity:.5; cursor:not-allowed !important; }
.compliance-page :is(#complianceApp,.workspace-dialog) :focus-visible { outline:2px solid var(--cp-accent); outline-offset:3px; }
.compliance-page :is(#complianceApp,.workspace-dialog) label { display:flex; flex-direction:column; min-width:0; gap:5px; font-size:12px; font-weight:600; color:var(--cp-muted); }
.compliance-page :is(#complianceApp,.workspace-dialog) :is(input,select) { min-width:0; max-width:100%; height:38px; padding:7px 10px; border:1px solid var(--cp-border); border-radius:5px; background:var(--cp-input); color:var(--cp-text); font:14px Arial,Helvetica,sans-serif; color-scheme:dark; }
[data-theme="paper"] .compliance-page :is(input,select),[data-theme="frost"] .compliance-page :is(input,select),[data-theme="harbor-light"] .compliance-page :is(input,select) { color-scheme:light !important; }
.page-heading,.section-heading,.viewbar,.dialog-head,.workspace-footer { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.page-heading { margin-bottom:22px; }.breadcrumb { font-size:12px; font-weight:700; }.actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }.muted { font-size:12px; color:var(--cp-muted); }
.filters { display:grid; grid-template-columns:minmax(190px,320px) 150px auto 1fr; align-items:end; gap:12px; padding:16px 0; border-block:1px solid var(--cp-border); }
.data-stamp { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:10px; min-height:38px; }
.badge { display:inline-flex; align-items:center; border:1px solid currentColor; border-radius:4px; padding:2px 7px; font-size:11px; font-weight:700; white-space:nowrap; }.good { color:var(--cp-green); }.critical { color:var(--cp-red); }.warn { color:var(--cp-amber); }.gap { color:var(--cp-muted); }
.scenario { border-bottom:1px solid var(--cp-border); padding:12px 0; }.scenario summary { cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:14px; list-style:none; }.scenario summary::after { content:'+'; font-size:20px; }.scenario[open] summary::after { content:'-'; }.scenario summary::-webkit-details-marker { display:none; }.scenario summary>span:first-child { display:flex; align-items:center; gap:10px; font-weight:600; }.scenario summary .muted { margin-left:auto; }.scenario-fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) auto; align-items:end; gap:12px; padding:18px 0 8px; }
.viewbar { border-bottom:1px solid var(--cp-border); margin-bottom:22px; }[role="tablist"] { display:flex; gap:20px; overflow-x:auto; min-width:0; }
.compliance-page #complianceApp [role="tab"] { border:0; border-bottom:3px solid transparent; border-radius:0; padding:14px 2px; background:none; white-space:nowrap; color:var(--cp-muted); }
.compliance-page #complianceApp [role="tab"][aria-selected="true"] { color:var(--cp-accent); border-bottom-color:var(--cp-accent); }#auditBadge { font-size:11px; font-variant-numeric:tabular-nums; }
.metric-strip { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; border-bottom:1px solid var(--cp-border); padding:0 0 24px; margin-bottom:24px; }.metric { min-width:0; }.metric strong { display:block; font-size:25px; line-height:1.25; margin:5px 0; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }.metric small { display:block; color:var(--cp-muted); font-size:12px; }.metric-label { color:var(--cp-muted); font-size:12px; }
.section-heading { margin:22px 0 12px; }.section-heading .inline { flex-direction:row; align-items:center; }.table-wrap { overflow:auto; width:100%; border-block:1px solid var(--cp-border); }
#complianceApp table { border-collapse:collapse; width:100%; font-size:13px; text-align:right; font-variant-numeric:tabular-nums; }#complianceApp th { background:var(--cp-panel); color:var(--cp-muted); font-size:11px; font-weight:600; white-space:nowrap; }#complianceApp th,#complianceApp td { padding:13px 14px; border-bottom:1px solid var(--cp-border); }#complianceApp td { white-space:nowrap; }#complianceApp th:first-child,#complianceApp td:first-child { text-align:left; }#complianceApp tr:last-child td { border-bottom:0; }#complianceApp td small { display:block; color:var(--cp-muted); font-size:11px; margin-top:3px; }#complianceApp td .name { font-weight:600; }#complianceApp tfoot { border-top:2px solid var(--cp-border); font-weight:700; }.rating { font-size:13px; min-width:28px; justify-content:center; }#complianceApp tbody tr:hover { background:var(--cp-panel); }
.chart-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; }.chart-section { min-width:0; }.chart-frame { position:relative; height:250px; }.chart-empty { position:absolute; inset:30% 0 auto; text-align:center; color:var(--cp-muted); background:var(--cp-bg); padding:12px; }.source-note { border-left:3px solid var(--cp-amber); padding:8px 12px; color:var(--cp-muted); font-size:12px; margin-top:24px !important; }
.coverage-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }.coverage-item { border-left:3px solid var(--cp-blue); padding:8px 16px; min-width:0; }.definition-list { display:grid; grid-template-columns:1fr 1fr; gap:10px 16px; font-size:13px; }.definition-list dt { color:var(--cp-muted); }.definition-list dd { margin:0; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }.coverage-item .definition-list { grid-template-columns:1fr auto; }
.audit-list { border-top:1px solid var(--cp-border); }.audit-item { border-bottom:1px solid var(--cp-border); padding:15px 0; }.audit-item summary { cursor:pointer; display:grid; grid-template-columns:95px minmax(180px,1fr) minmax(230px,2fr) 80px; align-items:center; gap:14px; list-style:none; }.audit-item summary::-webkit-details-marker { display:none; }.audit-item summary>span:last-child { color:var(--cp-muted); text-align:right; }.audit-item[open] summary { margin-bottom:12px; }.audit-body { margin-left:109px; max-width:950px; }.audit-body p { font-size:13px; }.sample { background:var(--cp-panel); padding:10px; overflow-wrap:anywhere; }.audit-item .badge { justify-self:start; }.method-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px 40px; }.method-grid>section { border-top:1px solid var(--cp-border); padding-top:20px; }.method-grid p { color:var(--cp-muted); font-size:13px; }.reference-list { padding-left:18px; }.reference-list li { margin:12px 0; }
.notice { border-left:3px solid var(--cp-amber); padding:10px 14px; margin:12px 0; background:var(--cp-panel); font-size:13px; }.notice.error { border-color:var(--cp-red); color:var(--cp-red); }.empty { padding:28px; text-align:center; color:var(--cp-muted); grid-column:1/-1; }.workspace-footer { border-top:1px solid var(--cp-border); margin-top:30px; padding:12px 0; color:var(--cp-muted); font-size:11px; }
.workspace-dialog { width:470px; max-width:calc(100% - 24px); max-height:calc(100dvh - 32px); overflow:auto; padding:22px; border:1px solid var(--cp-border); border-radius:8px; background:var(--cp-panel); color:var(--cp-text); }.workspace-dialog::backdrop { background:#0008; }.dialog-head { margin-bottom:18px; }.vessel-dialog { width:720px; }.vessel-dialog .definition-list { border-block:1px solid var(--cp-border); padding:14px 0; }.export-actions { display:flex; gap:10px; flex-wrap:wrap; }.theme-options { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.theme-options button { text-align:left; justify-content:start !important; min-height:46px !important; font-size:12px !important; }.theme-options button[aria-pressed="true"] { outline:2px solid var(--cp-accent); outline-offset:-2px; }.theme-swatch { flex:0 0 14px; width:14px; height:14px; border-radius:50%; }.print-report { display:none; }
@media(max-width:1100px) { #complianceApp { padding:20px; }.metric-strip { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }.scenario-fields { grid-template-columns:1fr 1fr; }.scenario-fields .actions { grid-column:1/-1; }.viewbar { align-items:start; flex-direction:column; gap:0; }.viewbar>span { margin:0 0 9px; }.chart-grid { gap:22px; }.page-heading { align-items:start; } }
@media(max-width:760px) { .compliance-page .smc-std-right { flex-wrap:wrap; justify-content:flex-start; max-width:100%; }.compliance-page .smc-standard-topbar { max-width:100%; }.compliance-page .smc-std-name,.compliance-page .smc-std-module { letter-spacing:0; }.compliance-page [data-std-clock]:not([data-std-clock="gmt"]) { display:none; }.page-heading { flex-direction:column; gap:12px; }.filters { grid-template-columns:minmax(0,1fr) 120px auto; }.data-stamp { grid-column:1/-1; justify-content:start; min-height:24px; }.chart-grid,.method-grid { grid-template-columns:1fr; }.coverage-grid { grid-template-columns:1fr; }.audit-item summary { grid-template-columns:85px 1fr 60px; gap:10px; }.audit-item summary>strong { grid-column:2; grid-row:2; }.audit-item summary>span:last-child { grid-column:3; grid-row:1; }.audit-body { margin-left:0; }.scenario summary { flex-wrap:wrap; }.scenario summary .muted { flex-basis:100%; order:3; margin-left:0; }.scenario summary::after { margin-left:auto; }.section-heading { flex-wrap:wrap; }.metric strong { font-size:23px; } }
@media(max-width:480px) { #complianceApp { padding:16px 12px; }#complianceApp h1 { font-size:23px; }.filters { grid-template-columns:minmax(0,1fr) auto; }.filters label:first-child { grid-column:1/-1; }.metric-strip { grid-template-columns:1fr 1fr; gap:18px; }.metric strong { font-size:21px; }[role="tablist"] { max-width:100%; gap:16px; }.viewbar { min-width:0; }.viewbar button { font-size:12px !important; }.compliance-page :is(#complianceApp,.workspace-dialog) :is(input,select) { font-size:16px; }.scenario-fields { gap:10px; }.actions input { width:100%; }.chart-frame { height:235px; }.workspace-footer { flex-wrap:wrap; gap:6px; }.theme-options { grid-template-columns:1fr; }.workspace-dialog { padding:16px; } }
@media print { @page { size:A4 landscape; margin:12mm; }.compliance-page { background:#fff !important; color:#152932 !important; }#smcModuleTopbar,#complianceApp,.workspace-dialog { display:none !important; }.print-report { display:block; font:10pt/1.4 Arial,Helvetica,sans-serif; color:#152932; }.report-head { display:flex; justify-content:space-between; border-bottom:3px solid #137f78; padding-bottom:4mm; margin-bottom:5mm; }.report-head img { width:12mm; height:12mm; object-fit:contain; }.report-head h1 { font-size:20pt; margin:0; }.report-head p { margin:1mm 0; }.report-note { background:#fff4d8; border-left:3px solid #ba8200; padding:3mm; font-size:9pt; margin:4mm 0; }.report-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:5mm; padding:3mm 0; }.report-kpis strong { display:block; font-size:17pt; }.report-kpis span { font-size:9pt; color:#4c6570; }.report-table { width:100%; border-collapse:collapse; font-size:8pt; margin:3mm 0 6mm; }.report-table th,.report-table td { padding:2mm; border-bottom:1px solid #c8d9dd; text-align:right; overflow-wrap:anywhere; }.report-table th { background:#e8f2f4; }.report-table th:first-child,.report-table td:first-child { text-align:left; }.report-table thead { display:table-header-group; }.report-table tr { break-inside:avoid; }.report-audit { page-break-before:always; }.report-audit .report-table td { text-align:left; }.report-section h2 { font-size:13pt; margin:4mm 0; }.report-footer { font-size:8pt; color:#4c6570; margin-top:5mm; } }
