.sccft-wrap .sccft-lead{font-size:15px;max-width:980px}.sccft-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;max-width:1100px;margin:18px 0}.sccft-card{background:#fff;border:1px solid #ccd0d4;border-radius:10px;padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.04)}.sccft-card h2{font-size:16px;margin:0 0 8px}.sccft-card p{margin:0;line-height:1.5}.sccft-docnav{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.sccft-docbox{max-width:1180px;background:#fff;border:1px solid #ccd0d4;border-radius:10px;padding:20px}.sccft-docbox h2{margin-top:0}.sccft-docbox pre{white-space:pre-wrap;word-wrap:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.5;margin:0}
.sccft-table { margin: 12px 0 24px; }
.sccft-table code { font-size: 12px; }
.sccft-actions { margin: 18px 0 28px; }
.sccft-wrap .description { max-width: 900px; }
.sccft-source-value{font-weight:600;color:#1d2327;white-space:nowrap}.sccft-derived-value{color:#0b6fa4;font-weight:600;white-space:nowrap}.sccft-direction-arrow{display:inline-block;margin-left:3px;color:#0b6fa4;font-size:13px;line-height:1;transform-origin:50% 50%}.sccft-table th{vertical-align:middle}.sccft-table td{vertical-align:top}.sccft-compact-settings{max-width:980px}.sccft-compact-settings .form-table th{width:170px}.sccft-actions-inline{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:14px 0 20px}
.sccft-tabs{margin:16px 0 8px}.sccft-source-panel{margin-top:8px}.sccft-planned-card{max-width:860px}.sccft-tabs .nav-tab{margin-bottom:0}
.sccft-health-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:middle;background:#999}.sccft-health-ok{background:#00a32a}.sccft-health-warn{background:#dba617}.sccft-health-bad{background:#d63638}.sccft-inline-form{display:inline-block;margin:0 0 0 6px}.sccft-inline-form .button{min-height:24px;line-height:22px;padding:0 8px}.sccft-action-cell{white-space:nowrap}.sccft-error-preview{display:inline-block;max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sccft-preview-table{font-size:12px}.sccft-preview-table th,.sccft-preview-table td{white-space:nowrap}.sccft-health-table th,.sccft-health-table td{vertical-align:middle}
.sccft-table-scroll{max-width:100%;overflow-x:auto;border:1px solid #dcdcde;background:#fff;margin:8px 0 22px}.sccft-preview-block{margin:18px 0 28px}.sccft-preview-block h4{margin:0 0 6px}.sccft-debug-details{margin:18px 0 24px;background:#fff;border:1px solid #dcdcde;border-radius:4px;padding:10px}.sccft-debug-details>summary{cursor:pointer;font-weight:600}.sccft-debug-details pre{white-space:pre-wrap;max-height:420px;overflow:auto}
.sccft-pill{display:inline-block;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;line-height:1.6;white-space:nowrap}.sccft-pill-green{background:#d1f2d8;color:#0a5f1a}.sccft-pill-orange{background:#ffe7b8;color:#8a5200}.sccft-pill-red{background:#ffd6d6;color:#9b1c1c}.sccft-pill-gray{background:#e8e8e8;color:#50575e}
.sccft-conclusion-box{max-width:1180px;background:#fff;border-left:4px solid #2271b1;border-radius:6px;padding:12px 16px;margin:10px 0 18px;box-shadow:0 1px 2px rgba(0,0,0,.04)}.sccft-conclusion-box p{margin:0 0 8px;line-height:1.5}.sccft-conclusion-box p:last-child{margin-bottom:0}.sccft-legend{max-width:1180px}.sccft-grid-two{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));max-width:1180px}.sccft-card h4{margin:0 0 8px;font-size:14px}.sccft-top-diffs{margin:0 0 0 18px}.sccft-top-diffs li{margin:0 0 5px}
.sccft-pill-blue{background:#d7ecff;color:#0b4f80}
.sccft-table-scroll-y{max-height:72vh;overflow:auto;}
.sccft-table-scroll-y table{margin-top:0;margin-bottom:0;}
.sccft-table-scroll-y thead th{position:sticky;top:0;z-index:2;background:#fff;box-shadow:0 1px 0 #dcdcde;}
.sccft-conclusion-grid{margin-top:8px}.sccft-conclusion-card{border-left:5px solid #8c8f94}.sccft-conclusion-card h4{margin:0 0 8px}.sccft-conclusion-green{border-left-color:#00a32a}.sccft-conclusion-orange{border-left-color:#dba617}.sccft-conclusion-red{border-left-color:#d63638}.sccft-conclusion-neutral{border-left-color:#2271b1}
.sccft-grouped-preview .sccft-preview-groups th{background:#f0f6fc;color:#1d2327;font-weight:700;border-bottom:1px solid #c3c4c7;text-align:left;}
.sccft-grouped-preview thead tr:nth-child(2) th{top:28px;}
.sccft-grouped-preview .sccft-preview-groups th{position:sticky;top:0;z-index:3;}
.sccft-context-badge{display:inline-block;margin-left:4px;border-radius:999px;background:#edf2f7;color:#50575e;padding:1px 6px;font-size:10px;font-weight:700;vertical-align:middle;}

.sccft-advice-card{border-left:5px solid #2271b1}.sccft-big-value{font-size:18px;font-weight:700;margin:0 0 6px!important}.sccft-source-profile-card{border-left:4px solid #8c8f94}.sccft-copybar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}.sccft-copy-textarea{width:100%;height:92px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;white-space:pre;overflow:auto;margin-bottom:10px}.sccft-conclusion-green.sccft-advice-card{border-left-color:#00a32a}.sccft-conclusion-orange.sccft-advice-card{border-left-color:#dba617}.sccft-conclusion-red.sccft-advice-card{border-left-color:#d63638}.sccft-conclusion-neutral.sccft-advice-card{border-left-color:#2271b1}

.sccft-muted{color:#646970;font-style:italic}

/* Build 0.4.6: dashboard details keep operational checks compact. */
.sccft-details {
  background: #fff;
  border: 1px solid #ccd0d4;
  border-radius: 4px;
  margin: 10px 0;
  padding: 0;
}
.sccft-details summary {
  cursor: pointer;
  padding: 10px 12px;
  background: #f6f7f7;
}
.sccft-details-body {
  padding: 12px;
}

/* Build 0.4.8: lab insight layer badges and compact dashboard grouping. */
.sccft-lab-badge{display:inline-block;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:800;line-height:1.4;letter-spacing:.02em;vertical-align:middle;margin-right:4px;text-transform:uppercase}.sccft-lab-badge-live{background:#d7ecff;color:#0b4f80}.sccft-lab-badge-trend{background:#e1f5e7;color:#0a5f1a}.sccft-lab-badge-experimental{background:#fff2cc;color:#7a4a00}.sccft-lab-badge-debug{background:#ffd6d6;color:#9b1c1c}.sccft-lab-badge-static{background:#e8e8e8;color:#50575e}.sccft-details .sccft-lab-badge{margin-right:6px}.sccft-conclusion-card .description{margin-top:8px!important;color:#646970}.sccft-details-body h4{margin-top:10px}

/* Build 0.4.10: compact daily horizon stability dashboard. */
.sccft-horizon-matrix th,
.sccft-horizon-matrix td{vertical-align:middle;text-align:center;min-width:86px}
.sccft-horizon-matrix th:first-child,
.sccft-horizon-matrix td:first-child{text-align:left;min-width:220px}
.sccft-horizon-matrix th:last-child,
.sccft-horizon-matrix td:last-child{text-align:left;min-width:180px}
.sccft-horizon-matrix small{display:block;color:#646970;line-height:1.35;margin-top:2px;white-space:nowrap}
.sccft-horizon-empty{color:#8c8f94;font-style:italic}
.sccft-horizon-details .sccft-details-body{padding-top:8px}

/* Build 0.4.20: keep the compact RWS dashboard table readable. */
.sccft-rws-combined-table th,
.sccft-rws-combined-table td {
    white-space: nowrap;
    vertical-align: top;
}
.sccft-rws-combined-table td:empty::after {
    content: "-";
    color: #8c8f94;
}

/* Build 0.4.25: multimodel chart zoom controls, stronger scrolling and distinct line palette. */
.sccft-chart-card{background:#fff;border:1px solid #dcdcde;border-radius:6px;padding:12px;margin:12px 0 18px;max-width:1180px}
.sccft-chart-card h4{margin:0 0 8px;font-size:14px}
.sccft-chart-tools{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:12px;color:#50575e}
.sccft-chart-tools button{border:1px solid #c3c4c7;background:#fff;border-radius:999px;padding:2px 8px;line-height:1.6;cursor:pointer}
.sccft-chart-tools button.active{background:#1d2327;border-color:#1d2327;color:#fff;font-weight:600}
.sccft-chart-scroll{max-width:100%;overflow-x:auto;overflow-y:hidden;border:1px solid #eef0f2;background:#fff;scrollbar-width:thin}.sccft-multimodel-chart{display:block;max-width:none;height:auto;background:#fff}
.sccft-chart-legend{display:flex;gap:12px 16px;flex-wrap:wrap;margin-top:8px;font-size:12px;color:#50575e}
.sccft-chart-legend span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.sccft-chart-legend i{display:inline-block;width:28px;height:0;border-top:4px solid currentColor;border-radius:999px}.sccft-chart-legend .sccft-legend-strong{border-top-width:5px}.sccft-chart-legend .sccft-legend-dashed{border-top-style:dashed}

/* Build 0.4.26: interactive multimodel SVG charts. */
.sccft-chart-shell{position:relative}
.sccft-chart-tools .description{margin-left:8px;max-width:none;color:#646970}
.sccft-chart-line{transition:stroke-width .12s ease,opacity .12s ease,filter .12s ease}.sccft-chart-line.is-active{stroke-width:5!important;filter:drop-shadow(0 1px 1px rgba(0,0,0,.22))}.sccft-chart-point{cursor:crosshair;pointer-events:all}.sccft-chart-point.is-selected{fill:#fff;stroke-width:2;stroke:currentColor}
.sccft-chart-tooltip{position:absolute;z-index:50;background:#fff;border:2px solid #1d2327;border-radius:8px;padding:8px 10px;box-shadow:0 8px 20px rgba(0,0,0,.18);font-size:12px;line-height:1.45;color:#1d2327;pointer-events:none;min-width:145px}.sccft-chart-tooltip strong{display:block;margin-bottom:2px}.sccft-chart-card .sccft-chart-scroll{min-height:330px}

/* v0.4.30 multimodel lab chart interaction */
.sccft-chart-shell-v0430 .sccft-chart-scroll{touch-action:pan-x pan-y;overscroll-behavior:contain;background:#fff}
.sccft-chart-legend-clickable{gap:8px 10px}.sccft-legend-toggle{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:#50575e;padding:3px 4px;cursor:pointer;font-size:12px;white-space:nowrap;border-radius:4px}.sccft-legend-toggle:hover{background:#f0f0f1;color:#1d2327}.sccft-legend-toggle.is-off{opacity:.35;text-decoration:line-through}.sccft-chart-line.is-disabled,.sccft-chart-point.is-disabled{opacity:.08;pointer-events:none}.sccft-chart-avg-line{filter:drop-shadow(0 1px 1px rgba(0,0,0,.18))}.sccft-chart-tooltip strong{font-size:13px}.sccft-chart-tools button[data-zoom]{font-weight:700;min-width:28px}.sccft-chart-card .sccft-chart-scroll{min-height:360px}

/* Build 0.4.31: sticky y-axis and denser multimodel lab chart reading. */
.sccft-chart-shell-v0431 .sccft-chart-plot-wrap{position:relative;border:1px solid #eef0f2;background:#fff;overflow:hidden}
.sccft-chart-shell-v0431 .sccft-chart-scroll{border:0;overflow-x:auto;overflow-y:hidden;background:#fff;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;touch-action:pan-x pan-y;overscroll-behavior:contain}
.sccft-chart-shell-v0431 .sccft-chart-scroll::-webkit-scrollbar{display:none;width:0;height:0}
.sccft-chart-shell-v0431 .sccft-chart-scroll:active{cursor:grabbing}
.sccft-chart-shell-v0431 .sccft-chart-yaxis-sticky{position:absolute;left:0;top:0;width:76px;height:100%;z-index:8;background:linear-gradient(90deg,#fff 0%,#fff 74%,rgba(255,255,255,.86) 90%,rgba(255,255,255,0) 100%);pointer-events:none;color:#50575e;font-size:11px;font-weight:600}
.sccft-chart-shell-v0431 .sccft-chart-yaxis-sticky span{position:absolute;left:7px;min-width:58px;text-align:left;line-height:14px;white-space:nowrap}
.sccft-chart-shell-v0431 .sccft-chart-yaxis-direction span{font-weight:700;min-width:34px}
.sccft-chart-shell-v0431 .sccft-multimodel-chart{min-height:420px}
.sccft-chart-shell-v0431 .sccft-chart-direction-guide{opacity:.36}
.sccft-chart-shell-v0431 .sccft-chart-direction-guide.is-active{opacity:.9}
.sccft-chart-shell-v0431 .sccft-chart-direction-dot{transition:opacity .12s ease,r .12s ease}.sccft-chart-shell-v0431 .sccft-chart-direction-dot.is-disabled{opacity:.06!important}.sccft-chart-shell-v0431 .sccft-chart-direction-dot.is-active{opacity:1!important;r:4.2}
.sccft-chart-shell-v0431 .sccft-chart-line.is-disabled,.sccft-chart-shell-v0431 .sccft-chart-point.is-disabled{opacity:.07;pointer-events:none}
.sccft-chart-shell-v0431 .sccft-chart-tooltip{min-width:132px;line-height:1.35;padding:7px 9px}
.sccft-chart-shell-v0431 .sccft-chart-tooltip strong{font-size:14px;margin-bottom:4px}

/* Build 0.4.32: ECharts-backed multimodel lab charts. Keep axes inside the chart engine; avoid custom sticky-axis scroll hacks. */
.sccft-echart-card{max-width:1280px}
.sccft-echart{width:100%;height:430px;border:1px solid #eef0f2;background:#fff;border-radius:2px}
.sccft-echart-card .sccft-chart-tools{flex-wrap:wrap;margin-bottom:8px}
.sccft-echart-card .sccft-chart-tools .description{white-space:normal}
.sccft-echart-tooltip{display:flex;flex-direction:column;gap:0;line-height:1.25;min-width:118px}
.sccft-echart-tooltip strong{font-size:14px;line-height:1.2;margin:0 0 2px;font-weight:700;color:#1d2327}
.sccft-echart-tooltip span{font-size:12px;line-height:1.25;color:#1d2327;margin:0;padding:0}
@media (max-width:782px){.sccft-echart{height:390px}.sccft-echart-card{padding:10px}.sccft-echart-card .sccft-chart-tools{gap:5px}.sccft-echart-card .sccft-chart-tools .description{flex-basis:100%;margin-left:0}}
.sccft-status-badge{display:inline-block;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;line-height:1.7;background:#f0f0f1;color:#2c3338}.sccft-status-ok{background:#edfaef;color:#006b2d}.sccft-status-notice{background:#f6f7f7;color:#50575e}.sccft-status-warning{background:#fff8e5;color:#8a5a00}.sccft-status-critical{background:#fcf0f1;color:#b32d2e}.sccft-status-disabled{background:#f0f0f1;color:#646970}.sccft-status-lab{background:#eef4ff;color:#315a9b}

/* Build 0.4.36: ECharts interaction/readability pass. */
.sccft-echart{height:470px}
.sccft-echart-tooltip-axis{min-width:180px;max-width:360px;max-height:260px;overflow:auto}
.sccft-echart-tooltip-axis span{display:block;white-space:nowrap}
.sccft-echart-tooltip-axis i{display:inline-block;width:10px;height:3px;margin-right:6px;vertical-align:middle;border-radius:2px}
@media (max-width:782px){.sccft-echart{height:430px}.sccft-echart-tooltip-axis{max-width:280px}}

.sccft-copy-textarea-large{height:220px;}

/* Build 0.4.38: public multimodel shortcode wrapper. */
.sccft-public-multimodel{max-width:1320px;margin:0 auto 28px;color:#1d2327}
.sccft-public-multimodel h2{margin:0 0 8px;font-size:22px;line-height:1.25}
.sccft-public-multimodel h3{margin:22px 0 8px;font-size:18px;line-height:1.3}
.sccft-public-multimodel .description{color:#646970;line-height:1.45;max-width:980px}
.sccft-public-multimodel .sccft-echart-card{max-width:100%;box-sizing:border-box}
.sccft-public-multimodel .sccft-echart{min-height:430px}
@media (max-width:782px){.sccft-public-multimodel{max-width:100%;padding:0 4px}.sccft-public-multimodel .sccft-echart{height:420px}.sccft-public-multimodel .sccft-chart-tools .description{font-size:12px}}

/* Build 0.4.40 RWS completeness badges */
.sccft-badge{display:inline-block;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.6;background:#f0f0f1;color:#1d2327}
.sccft-badge-ok{background:#dff6dd;color:#0a6b22}
.sccft-badge-warn{background:#fff4ce;color:#8a6100}
.sccft-badge-bad{background:#fde7e9;color:#8a2424}

/* Build 0.4.57/0.4.58: Condition Engine multi-spot-ready admin grouping and canonical input preview. */
.sccft-details{padding:0 0 12px}.sccft-details>p,.sccft-details>table,.sccft-details>h3,.sccft-details>pre{margin-left:12px;margin-right:12px}.sccft-details>table{width:calc(100% - 24px)}

/* Build 0.4.67: compact, scroll-safe Condition Engine preview tables. */
.sccft-condition-engine .sccft-grid{max-width:1260px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:12px 0 16px}
.sccft-condition-engine .sccft-card{padding:11px 13px;border-radius:8px}
.sccft-condition-engine .sccft-card h2{font-size:14px;margin:0 0 5px}.sccft-condition-engine .sccft-card p{font-size:13px;line-height:1.35}
.sccft-condition-engine .sccft-details{overflow:hidden;margin:8px 0 10px}.sccft-condition-engine .sccft-details summary{padding:7px 10px;font-size:13px}
.sccft-condition-engine .sccft-details>p{margin:8px 10px;font-size:12px;line-height:1.35;max-width:1180px}
.sccft-condition-engine .sccft-ce-table-scroll{max-width:100%;overflow-x:auto;border:1px solid #dcdcde;background:#fff;margin:8px 10px 10px;scrollbar-width:thin}
.sccft-condition-engine .sccft-ce-table{margin:0!important;font-size:11px;line-height:1.25;min-width:980px;table-layout:auto}
.sccft-condition-engine .sccft-ce-table th,.sccft-condition-engine .sccft-ce-table td{padding:5px 7px;vertical-align:top}
.sccft-condition-engine .sccft-ce-table th{white-space:nowrap;background:#fff;position:sticky;top:0;z-index:1}
.sccft-condition-engine .sccft-ce-table code{font-size:10.5px;white-space:normal;word-break:break-word;line-height:1.25;background:#eef0f1;padding:1px 3px;border-radius:2px}
.sccft-condition-engine .sccft-ce-table .description{font-size:10.5px;line-height:1.25;color:#646970;max-width:none}
.sccft-condition-engine .sccft-ce-table td:nth-child(1){min-width:150px}.sccft-condition-engine .sccft-ce-table td:last-child{max-width:360px}
.sccft-condition-engine .sccft-ce-microspots{min-width:760px}.sccft-condition-engine .sccft-ce-status-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.sccft-condition-engine .sccft-ce-debug-pre{white-space:pre-wrap;background:#fff;border:1px solid #ccd0d4;padding:10px;max-height:500px;overflow:auto;font-size:11px;line-height:1.35}

/* Build 0.4.68: chronological Condition Engine layer order + composer preview. */
.sccft-condition-engine .sccft-ce-composer{min-width:860px}
.sccft-condition-engine .sccft-ce-composer td:nth-child(1){min-width:180px}.sccft-condition-engine .sccft-ce-composer td:last-child{max-width:320px}

/* Build 0.4.83: Condition Engine Lab 168h validation timeline. */
.sccft-condition-engine .sccft-ce-lab-days{display:flex;flex-direction:column;gap:14px;max-width:1280px;margin:12px 0 20px}
.sccft-condition-engine .sccft-ce-lab-day{background:#fff;border:1px solid #ccd0d4;border-radius:8px;padding:10px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.sccft-condition-engine .sccft-ce-lab-day h4{margin:0 0 8px;font-size:14px}
.sccft-condition-engine .sccft-ce-lab-hour-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:6px}
.sccft-condition-engine .sccft-ce-lab-hour{border:1px solid #dcdcde;border-left-width:5px;border-radius:7px;padding:6px;background:#f6f7f7;min-height:104px;display:flex;flex-direction:column;gap:2px;font-size:11px;line-height:1.2;overflow:hidden}
.sccft-condition-engine .sccft-ce-lab-hour strong{font-size:12px}.sccft-condition-engine .sccft-ce-lab-hour small{color:#50575e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sccft-condition-engine .sccft-ce-lab-score{font-size:20px;line-height:1.1;font-weight:800;color:#1d2327}
.sccft-condition-engine .sccft-ce-lab-hour-good{border-left-color:#00a32a;background:#f0fbf2}.sccft-condition-engine .sccft-ce-lab-hour-ok{border-left-color:#76a900;background:#f7fbef}.sccft-condition-engine .sccft-ce-lab-hour-notice{border-left-color:#dba617;background:#fff9e8}.sccft-condition-engine .sccft-ce-lab-hour-bad{border-left-color:#d63638;background:#fff4f4}.sccft-condition-engine .sccft-ce-lab-hour-missing{border-left-color:#8c8f94;background:#f0f0f1;opacity:.75}
@media (max-width:782px){.sccft-condition-engine .sccft-ce-lab-hour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sccft-condition-engine .sccft-ce-lab-hour{min-height:112px}}

/* Build 0.4.84: admin-only Condition Engine lab compare moved to Lab. */
.sccft-lab-profile .sccft-ce-lab-days,
.sccft-source-panel .sccft-ce-lab-days{display:flex;flex-direction:column;gap:14px;max-width:1280px;margin:12px 0 20px}
.sccft-lab-profile .sccft-ce-lab-day,
.sccft-source-panel .sccft-ce-lab-day{background:#fff;border:1px solid #ccd0d4;border-radius:8px;padding:10px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.sccft-lab-profile .sccft-ce-lab-day h4,
.sccft-source-panel .sccft-ce-lab-day h4{margin:0 0 8px;font-size:14px}
.sccft-lab-profile .sccft-ce-lab-hour-grid,
.sccft-source-panel .sccft-ce-lab-hour-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:6px}
.sccft-lab-profile .sccft-ce-lab-hour,
.sccft-source-panel .sccft-ce-lab-hour{border:1px solid #dcdcde;border-left-width:5px;border-radius:7px;padding:6px;background:#f6f7f7;min-height:104px;display:flex;flex-direction:column;gap:2px;font-size:11px;line-height:1.2;overflow:hidden}
.sccft-lab-profile .sccft-ce-lab-hour strong,
.sccft-source-panel .sccft-ce-lab-hour strong{font-size:12px}.sccft-lab-profile .sccft-ce-lab-hour small,.sccft-source-panel .sccft-ce-lab-hour small{color:#50575e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sccft-lab-profile .sccft-ce-lab-score,
.sccft-source-panel .sccft-ce-lab-score{font-size:20px;line-height:1.1;font-weight:800;color:#1d2327}
.sccft-source-panel .sccft-ce-lab-hour-good{border-left-color:#00a32a;background:#f0fbf2}.sccft-source-panel .sccft-ce-lab-hour-ok{border-left-color:#76a900;background:#f7fbef}.sccft-source-panel .sccft-ce-lab-hour-notice{border-left-color:#dba617;background:#fff9e8}.sccft-source-panel .sccft-ce-lab-hour-bad{border-left-color:#d63638;background:#fff4f4}.sccft-source-panel .sccft-ce-lab-hour-missing{border-left-color:#8c8f94;background:#f0f0f1;opacity:.75}
@media (max-width:782px){.sccft-source-panel .sccft-ce-lab-hour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sccft-source-panel .sccft-ce-lab-hour{min-height:112px}}
/* 0.4.88/0.4.89 stacked condition lab compare and viability trace */
.sccft-source-panel .sccft-ce-lab-stacked-day{display:flex;flex-direction:column;gap:10px;max-width:1480px}
.sccft-source-panel .sccft-ce-lab-profile-row{border:1px solid #e2e4e7;border-radius:8px;background:#fafafa;padding:8px}
.sccft-source-panel .sccft-ce-lab-row-title{display:flex;align-items:baseline;gap:10px;margin:0 0 6px;color:#1d2327}
.sccft-source-panel .sccft-ce-lab-row-title small{color:#646970;font-weight:400}
.sccft-source-panel .sccft-lab-profile-old{background:#f8fafc}
.sccft-source-panel .sccft-lab-profile-legacy{background:#fffdf5}
.sccft-source-panel .sccft-lab-profile-target{background:#f7fbff}
.sccft-source-panel .sccft-ce-lab-hour{min-height:132px}
.sccft-version-badge{display:inline-block;margin-left:8px;padding:3px 8px;border:1px solid #ccd0d4;border-radius:999px;background:#fff;font-size:13px;font-weight:600;color:#1d2327;vertical-align:middle}.sccft-runtime-note{display:inline-block;margin:0 0 14px;padding:8px 10px;border-left:4px solid #2271b1;background:#fff}.sccft-docgroups{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:16px 0 20px;max-width:1280px}.sccft-docgroup{background:#fff;border:1px solid #ccd0d4;border-radius:10px;padding:12px}.sccft-docgroup h2{font-size:14px;margin:0 0 8px;color:#1d2327}.sccft-docgroup .sccft-docnav{margin:0}.sccft-docgroup .button{margin:0 4px 6px 0}

/* Build 0.5.20.3: admin/backend cleanup and layer ordering. */
.sccft-condition-engine .sccft-rules-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));max-width:1180px;gap:10px}
.sccft-condition-engine .sccft-rules-grid .sccft-card{min-width:0}
.sccft-condition-engine .sccft-rule-number{width:90px!important;max-width:100%;min-height:30px}
.sccft-condition-engine .sccft-rules-text-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));max-width:1280px;gap:10px}
.sccft-condition-engine .sccft-rules-text-grid textarea{width:100%;min-height:82px}
.sccft-condition-engine .sccft-wetsuit-range-editor table{min-width:900px}
.sccft-condition-engine .sccft-wetsuit-range-editor input{width:100%;max-width:110px}
.sccft-condition-engine .sccft-wetsuit-range-editor textarea{width:100%;min-height:76px}

/* Build 0.5.21: Surf Log module foundation. */
.sccft-surf-log-wrap .sccft-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:16px 0}.sccft-surf-log-wrap .sccft-card{background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:12px;box-shadow:0 1px 1px rgba(0,0,0,.04)}.sccft-surf-log-wrap .sccft-card strong{display:block;margin-bottom:4px}.sccft-surf-log-wrap .sccft-card span{display:block;font-size:22px;font-weight:700}.sccft-surf-log-wrap .sccft-card small{color:#646970}.sccft-mobile-log-card{max-width:760px;background:#fff;border:1px solid #dcdcde;border-radius:10px;padding:14px;margin-top:14px}.sccft-mobile-log-card header h2{margin:0 0 10px}.sccft-kicker{margin:0;color:#646970;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.sccft-mobile-log-card label{display:block;margin:10px 0}.sccft-mobile-log-card label span{display:block;font-weight:600;margin-bottom:4px}.sccft-mobile-log-card input[type=text],.sccft-mobile-log-card input[type=date],.sccft-mobile-log-card input[type=time],.sccft-mobile-log-card input[type=number],.sccft-mobile-log-card select,.sccft-mobile-log-card textarea{width:100%;max-width:100%;box-sizing:border-box}.sccft-mobile-grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sccft-photo-drop{border:1px dashed #8c8f94;border-radius:8px;padding:12px;background:#f6f7f7}.sccft-photo-drop small{display:block;margin-top:4px;color:#646970}.sccft-subspot-multi{border:1px solid #dcdcde;border-radius:8px;padding:10px;margin:10px 0}.sccft-subspot-multi label{display:inline-block;margin:4px 10px 4px 0}.sccft-save-log{width:100%;margin-top:10px}.sccft-surf-log-list{display:grid;gap:12px;margin-top:12px;max-width:980px}.sccft-surf-log-card{display:flex;gap:12px;background:#fff;border:1px solid #dcdcde;border-radius:10px;padding:12px}.sccft-surf-log-thumb{width:96px;height:96px;object-fit:cover;border-radius:8px;background:#f0f0f1}.sccft-surf-log-card-body{flex:1;min-width:0}.sccft-surf-log-card h3{margin:0 0 4px}.sccft-muted{color:#646970}.sccft-mini-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:6px;margin:8px 0}.sccft-mini-metrics span{background:#f6f7f7;border-radius:6px;padding:7px}.sccft-mini-metrics strong{display:block}.sccft-mini-metrics small{color:#646970}.sccft-json-box{background:#fff;border:1px solid #dcdcde;border-radius:6px;padding:10px;max-height:420px;overflow:auto;white-space:pre-wrap}.sccft-surf-log-actions{margin:12px 0}@media(max-width:700px){.sccft-mobile-grid.two{grid-template-columns:1fr}.sccft-surf-log-card{display:block}.sccft-surf-log-thumb{width:100%;height:180px;margin-bottom:8px}.sccft-mobile-log-card{padding:10px}.sccft-subspot-multi label{display:block}}

/* v0.5.24 Surf Log admin maturity */
.sccft-surf-log-wrap .sccft-filter-form { margin: 14px 0; }
.sccft-mobile-grid.four { display:grid; grid-template-columns: repeat(4, minmax(140px,1fr)); gap:12px; }
.sccft-bulk-row { margin:12px 0; display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.sccft-log-select { align-self:flex-start; padding:12px 0 0 10px; }
.sccft-status-test { border-left: 4px solid #6b7280; }
.sccft-status-pending { border-left: 4px solid #f59e0b; }
.sccft-status-approved { border-left: 4px solid #22c55e; }
.sccft-status-rejected { border-left: 4px solid #ef4444; }
.sccft-status-moderation_needed { border-left: 4px solid #dc2626; }
.sccft-status-trashed { opacity:.65; border-left: 4px solid #111827; }
.sccft-status-pill { background:#eef2ff; padding:2px 7px; border-radius:999px; }
.sccft-card-grid-small { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.sccft-link-card { text-decoration:none; color:inherit; }
.sccft-pagination { margin:16px 0; display:flex; gap:6px; align-items:center; }
.sccft-pagination strong { display:inline-block; padding:6px 10px; background:#1d4ed8; color:#fff; border-radius:4px; }
.sccft-hp-field { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
@media (max-width: 900px) { .sccft-mobile-grid.four { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .sccft-mobile-grid.four, .sccft-mobile-grid.two { grid-template-columns: 1fr; } .sccft-bulk-row { display:block; } }

/* v0.5.25 Surf Log admin polish + definition mapping */
.sccft-surf-log-wrap .sccft-filterbar{padding:10px 12px;margin:12px 0 14px;border-radius:8px;max-width:1280px}
.sccft-surf-log-wrap .sccft-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px 10px;align-items:end}
.sccft-surf-log-wrap .sccft-filter-grid label{display:flex;flex-direction:column;gap:3px;margin:0;font-size:12px;font-weight:600;color:#1d2327}
.sccft-surf-log-wrap .sccft-filter-grid label span{font-size:11px;text-transform:uppercase;letter-spacing:.025em;color:#646970}
.sccft-surf-log-wrap .sccft-filter-grid input,.sccft-surf-log-wrap .sccft-filter-grid select{width:100%;min-height:32px;max-width:100%;font-size:13px}
.sccft-surf-log-wrap .sccft-filter-actions{display:flex;gap:6px;align-items:center;min-height:32px;flex-wrap:wrap}
.sccft-surf-log-wrap .sccft-bulk-row{background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:8px 10px;max-width:980px}
.sccft-surf-log-wrap .sccft-select-all-label{font-weight:600}
.sccft-surf-log-wrap .sccft-bulk-row select{min-width:210px}
.sccft-surf-log-wrap .sccft-snapshot-summary th{width:190px}
.sccft-surf-log-wrap .sccft-snapshot-summary code,.sccft-surf-log-wrap .sccft-analytics-table code{font-size:11px;white-space:normal;word-break:break-word}
.sccft-surf-log-wrap .sccft-definition-table th:nth-child(5),.sccft-surf-log-wrap .sccft-definition-table td:nth-child(5){min-width:270px}
.sccft-surf-log-wrap .sccft-definition-table th:nth-child(6),.sccft-surf-log-wrap .sccft-definition-table td:nth-child(6){min-width:220px}
.sccft-surf-log-wrap .sccft-export-scope{display:inline-block;background:#fff;border-left:4px solid #2271b1;padding:8px 10px;margin:8px 0 12px;box-shadow:0 1px 1px rgba(0,0,0,.04)}
.sccft-surf-log-wrap .sccft-export-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
@media (max-width: 700px){.sccft-surf-log-wrap .sccft-filter-grid{grid-template-columns:1fr}.sccft-surf-log-wrap .sccft-bulk-row{display:flex}.sccft-surf-log-wrap .sccft-bulk-row select{width:100%;min-width:0}}
