:root{
    --ink:#162124;
    --muted:#657176;
    --line:#dfe5e6;
    --surface:#ffffff;
    --surface-raised:#ffffff;
    --canvas:#f3f5f5;
    --field:#ffffff;
    --deep:#142126;
    --deep-soft:#203037;
    --accent:#2f6668;
    --accent-soft:#e3eeee;
    --danger:#9d3c35;
    --success:#2f6a4b;
    --warning:#8a6920;
    --beta:#315d84;
    --radius:14px;
    --shadow:0 18px 45px rgba(20,33,38,.08);
    --hover-line:#cbd6d7;
    --topbar-height:74px;
    --sidebar-width:252px;
}

[data-theme="dark"]{
    color-scheme:dark;
    --ink:#e7eeee;
    --muted:#9caaad;
    --line:#334247;
    --surface:#1b272c;
    --surface-raised:#223137;
    --canvas:#121b1f;
    --field:#172328;
    --deep:#0d1518;
    --deep-soft:#17252a;
    --accent:#79b6b8;
    --accent-soft:#203c3e;
    --danger:#e08a82;
    --success:#7fc09a;
    --warning:#d5b464;
    --beta:#83acd1;
    --shadow:0 18px 45px rgba(0,0,0,.28);
    --hover-line:#53676d;
}

*{box-sizing:border-box}
html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--canvas)}
body{margin:0;min-height:100vh}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}

.app-layout{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);grid-template-rows:var(--topbar-height) minmax(calc(100vh - var(--topbar-height)),auto);grid-template-areas:"topbar topbar" "sidebar main";min-height:100vh}
.topbar{grid-area:topbar;position:sticky;top:0;z-index:30;height:var(--topbar-height);background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px 0 28px}
.topbar-brand{display:inline-flex;align-items:center;min-width:0}
.app-logo{display:block;width:auto;height:44px;max-width:260px}
.topbar-actions{display:flex;align-items:center;gap:12px}
.theme-toggle{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface-raised);color:var(--muted);border-radius:999px;padding:7px 9px;cursor:pointer;transition:.15s ease}
.theme-toggle:hover{border-color:var(--hover-line);color:var(--ink)}
.theme-toggle:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}
.theme-toggle:disabled{cursor:wait;opacity:.7}
.theme-toggle-track{position:relative;width:30px;height:17px;border-radius:999px;background:var(--line);transition:.18s ease}
.theme-toggle-track span{position:absolute;top:3px;left:3px;width:11px;height:11px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.2);transition:.18s ease}
[data-theme="dark"] .theme-toggle-track{background:var(--accent)}
[data-theme="dark"] .theme-toggle-track span{transform:translateX(13px)}
.theme-toggle-sun,.theme-toggle-moon{font-size:.9rem;line-height:1}
.user-menu{position:relative}
.user-menu summary{list-style:none;display:flex;align-items:center;gap:12px;cursor:pointer;border-radius:10px;padding:8px 10px;transition:.15s ease}
.user-menu summary::-webkit-details-marker{display:none}
.user-menu summary:hover{background:var(--canvas)}
.user-menu-copy{display:flex;flex-direction:column;text-align:right}
.user-menu-copy strong{font-size:.9rem}
.user-menu-copy small{color:var(--muted);margin-top:2px}
.user-menu-chevron{color:var(--muted);font-size:1.15rem}
.user-menu-panel{position:absolute;right:0;top:calc(100% + 10px);width:240px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:var(--shadow)}
.user-menu-email{padding:10px 11px 12px;color:var(--muted);font-size:.82rem;overflow-wrap:anywhere;border-bottom:1px solid var(--line);margin-bottom:6px}
.menu-button{width:100%;border:0;background:transparent;text-align:left;padding:10px 11px;border-radius:8px;color:var(--ink);cursor:pointer}
.menu-button:hover{background:var(--canvas)}

.sidebar{grid-area:sidebar;position:sticky;top:var(--topbar-height);height:calc(100vh - var(--topbar-height));padding:26px 18px 20px;background:var(--deep);color:#eef4f3;display:flex;flex-direction:column}
.sidebar-label{text-transform:uppercase;letter-spacing:.13em;font-weight:700;font-size:.68rem;color:#71878a;padding:0 12px 10px}
.sidebar-label-section{margin-top:24px}
.sidebar-nav{display:grid;gap:5px}
.sidebar-nav a{padding:11px 13px;border-radius:9px;color:#bdc9ca;font-size:.94rem;border:1px solid transparent}
.sidebar-nav a:hover,.sidebar-nav a.active{background:rgba(255,255,255,.09);color:#ffffff}
.sidebar-nav a.active{border-color:rgba(255,255,255,.08)}
.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding:18px 12px 0;color:#7f9395;font-size:.76rem;line-height:1.45}

.main-content{grid-area:main;padding:38px clamp(28px,5vw,72px) 70px;min-width:0}
.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--muted);font-size:.78rem;margin-bottom:24px}
.breadcrumb>*+*::before{content:"/";color:#a4afb1;margin-right:8px}
.breadcrumb strong{color:var(--ink);font-weight:650}
.page-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:32px}
.page-header h1{font-size:clamp(2rem,4vw,3.1rem);letter-spacing:-.045em;margin:6px 0 8px;font-weight:650}
.page-header p{margin:0;color:var(--muted);font-size:1.02rem;max-width:760px;line-height:1.55}
.title-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.title-row h1{margin-right:4px}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:.72rem;color:var(--accent)}

.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:42px}
.metric-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:21px;display:flex;flex-direction:column;min-height:158px;transition:.18s ease}
.metric-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--hover-line)}
.metric-card>span{font-size:.82rem;color:var(--muted);font-weight:650}
.metric-card strong{font-size:2.5rem;letter-spacing:-.04em;margin:9px 0}
.metric-card small{margin-top:auto;color:var(--accent);font-weight:650}
.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}
.section-heading h2{font-size:1.5rem;margin:5px 0 0;letter-spacing:-.025em}

.feature-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.feature-card{grid-column:span 2;min-height:220px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:start;transition:.18s ease}
.feature-card-wide{grid-column:span 3}
.feature-card:hover,.data-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--hover-line)}
.card-index{color:#9aa6a8;font-variant-numeric:tabular-nums}
.feature-card h2,.data-card h2{font-size:1.22rem;margin:0 0 8px}
.feature-card p,.data-card p{color:var(--muted);line-height:1.55;margin:0}
.card-arrow{align-self:end;font-size:1.3rem;color:var(--accent)}

.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.card-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}
.data-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;min-height:205px;display:flex;flex-direction:column;transition:.18s ease}
.data-card.compact{min-height:185px}
.data-card .card-link,.data-card>span:not(.status-badge){margin-top:auto;padding-top:22px;color:var(--accent);font-weight:650;font-size:.9rem}
.card-topline{display:flex;justify-content:flex-end;min-height:28px;margin-bottom:18px}
.module-card h2{margin-top:0}

.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:750;line-height:1;border:1px solid transparent}
.status-badge.production{background:#e3f0e8;color:var(--success);border-color:#cde3d5}
.status-badge.beta{background:#e6eef5;color:var(--beta);border-color:#cfdeea}
.status-badge.development{background:#f5eedc;color:var(--warning);border-color:#e8dbb9}
.status-badge.planned{background:#eef1f2;color:#697578;border-color:#dfe5e6}

.panel,.empty-state{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.panel h2{margin-top:0}
.empty-state{min-height:320px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:960px}
.empty-state h1,.empty-state h2{margin:8px 0 10px;font-size:2rem}
.empty-state p{max-width:650px;color:var(--muted);line-height:1.6}
.empty-rule{width:42px;height:3px;background:var(--accent);margin-bottom:15px}

.two-column-layout{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:18px;align-items:start}
.form-stack{display:grid;gap:18px}
.form-stack label{display:grid;gap:7px;font-size:.86rem;font-weight:650}
.form-stack input,.form-stack select{width:100%;border:1px solid var(--line);border-radius:9px;padding:12px 13px;background:var(--field);color:var(--ink)}
.form-stack input:focus,.form-stack select:focus{outline:3px solid var(--accent-soft);border-color:var(--accent)}
.primary-button,.secondary-button{border-radius:9px;padding:11px 15px;border:1px solid transparent;cursor:pointer;font-weight:700}
.primary-button{background:var(--deep);color:#ffffff}
.primary-button:hover{background:#26383e}
.secondary-button{background:var(--surface);border-color:var(--line);color:var(--ink);padding:8px 11px}
.panel-heading{display:flex;justify-content:space-between;align-items:center}
.count-badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:4px 9px;font-weight:700}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
th{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
td small{display:block;color:var(--muted);margin-top:3px}
.status{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:.78rem;font-weight:700}
.status.active{background:#e3f0e8;color:var(--success)}
.status.inactive{background:#f2e6e4;color:var(--danger)}
.alert{border-radius:10px;padding:13px 15px;margin-bottom:20px;border:1px solid}
.alert-error{background:#fbefed;color:var(--danger);border-color:#edcfcb}
.alert-success{background:#edf7f1;color:var(--success);border-color:#cfe6d9}

.auth-body{background:var(--canvas)}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-card{width:min(100%,460px);background:var(--field);border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:var(--shadow)}
.login-brand{display:flex;align-items:center;padding-bottom:28px;border-bottom:1px solid var(--line)}
.login-logo{display:block;width:auto;height:54px;max-width:100%}
.login-copy{padding:30px 0 24px}
.login-copy h2{font-size:2rem;letter-spacing:-.04em;margin:6px 0}
.login-copy p{color:var(--muted);margin:0}
.login-card .primary-button{width:100%;margin-top:4px}

@media(max-width:1080px){
    :root{--sidebar-width:220px}
    .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .card-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
    .feature-card,.feature-card-wide{grid-column:span 3}
    .two-column-layout{grid-template-columns:1fr}
}

@media(max-width:760px){
    :root{--topbar-height:66px}
    .app-layout{display:block;padding-top:var(--topbar-height)}
    .topbar{position:fixed;left:0;right:0;height:var(--topbar-height);padding:0 14px}
    .app-logo{height:38px;max-width:190px}
    .user-menu-copy{display:none}
    .sidebar{position:static;height:auto;padding:14px;background:var(--deep)}
    .sidebar-label,.sidebar-footer{display:none}
    .sidebar-nav{grid-template-columns:1fr 1fr}
    .sidebar-nav a{padding:10px;font-size:.85rem}
    .main-content{padding:28px 18px 50px}
    .metric-grid,.feature-grid,.card-grid,.card-grid.compact{grid-template-columns:1fr}
    .feature-card,.feature-card-wide{grid-column:span 1}
    .metric-card{min-height:135px}
    .card-grid .data-card{min-height:165px}
    .page-header h1{font-size:2.25rem}
    .breadcrumb{margin-bottom:18px}
}

[data-theme="dark"] .status-badge.production,[data-theme="dark"] .status.active{background:#203b2d}
[data-theme="dark"] .status-badge.beta{background:#22364a}
[data-theme="dark"] .status-badge.development{background:#40371f}
[data-theme="dark"] .status-badge.planned{background:#2a3539;color:#b5c0c2;border-color:#3a494e}
[data-theme="dark"] .status.inactive{background:#422b2a}
[data-theme="dark"] .alert-error{background:#3b2827;border-color:#65413e}
[data-theme="dark"] .alert-success{background:#20362a;border-color:#355a43}

/* Cooling Load workflow */
.page-header-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.status-notice{display:flex;align-items:center;gap:14px;margin:0 0 24px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.status-notice p{margin:0;color:var(--muted)}
.workflow-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 24px}
.workflow-step{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted);font-size:.82rem}
.workflow-step b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--canvas);color:var(--ink);font-size:.72rem}
.workflow-step.active{border-color:var(--accent);color:var(--ink)}
.workflow-step.active b{background:var(--accent);color:var(--surface)}
.engineering-form{display:grid;gap:20px}
.form-section{padding:0}
.section-number{display:inline-block;margin:0 0 7px;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.12em}
.form-grid{display:grid;gap:18px;padding:0 24px 24px}
.form-grid.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-grid.three-column{grid-template-columns:repeat(3,minmax(0,1fr))}
.form-grid label{display:grid;gap:7px;color:var(--ink);font-size:.85rem;font-weight:650}
.form-grid input,.form-grid textarea,.form-grid select{width:100%;border:1px solid var(--line);border-radius:9px;background:var(--field);color:var(--ink);padding:11px 12px;outline:none}
.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.form-grid textarea{resize:vertical}
.span-two{grid-column:span 2}.span-all{grid-column:1/-1}
.engineering-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px}
.assumption-list{margin:0;padding:0 24px 24px}
.assumption-list div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}
.assumption-list div:last-child{border-bottom:0}.assumption-list dt{color:var(--muted)}.assumption-list dd{margin:0;text-align:right;font-weight:650}
.result-placeholder{margin:0 24px 24px;padding:24px;border:1px dashed var(--line);border-radius:11px;background:var(--canvas)}
.result-placeholder strong{font-size:1.1rem}.result-placeholder p{margin:7px 0 0;color:var(--muted);line-height:1.55}
.form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}
.data-table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:14px 18px;border-top:1px solid var(--line);text-align:left}.data-table th{color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em}.table-action{text-align:right!important}.table-action a{color:var(--accent);font-weight:700}
.status-draft{background:var(--canvas);color:var(--muted);border-color:var(--line)}
@media (max-width:900px){.workflow-steps{grid-template-columns:1fr}.form-grid.two-column,.form-grid.three-column,.engineering-layout{grid-template-columns:1fr}.span-two{grid-column:auto}.page-header-actions{flex-direction:column}}
.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px}
.panel-header h2{margin:0 0 5px}.panel-header p{margin:0;color:var(--muted);line-height:1.5}
.form-section.panel,.assumptions-panel.panel,.results-panel.panel{padding:0}
.empty-state .secondary-button{margin-top:12px;display:inline-flex}

/* Cooling Load Sprint 002.2 */
.engineering-workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}
.engineering-form-main{grid-column:1;grid-row:1}
.room-summary-card{grid-column:2;grid-row:1}
.engineering-form-main{display:grid;gap:20px}
.room-summary-card{position:sticky;top:calc(var(--topbar-height) + 20px);max-height:calc(100vh - var(--topbar-height) - 40px);overflow:auto;padding:0}
.summary-list{margin:0;padding:0 24px 24px}
.summary-list div{padding:13px 0;border-top:1px solid var(--line)}
.summary-list dt{margin-bottom:5px;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.07em}
.summary-list dd{margin:0;font-weight:700;line-height:1.35}
.form-grid small{color:var(--muted);font-weight:400;line-height:1.45}
.field-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.field-label-row small{text-align:right;font-size:.72rem}
.form-grid input[readonly]{background:var(--canvas);color:var(--muted);cursor:not-allowed}
.derived-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 24px 24px}
.derived-grid div{padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--canvas)}
.derived-grid span{display:block;margin-bottom:5px;color:var(--muted);font-size:.78rem}
.derived-grid strong{font-size:1.05rem}
.result-hero{display:grid;gap:5px;margin:0 24px 18px;padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--canvas)}
.result-hero span,.result-hero small{color:var(--muted)}
.result-hero strong{font-size:2rem;letter-spacing:-.03em}
.engineering-details{margin:0 24px 24px;border:1px solid var(--line);border-radius:11px;overflow:hidden}
.engineering-details summary{cursor:pointer;padding:15px 18px;background:var(--canvas);font-weight:750}
.engineering-detail-body{padding:18px}
.formula-line{margin:0 0 16px;font-size:1.1rem;font-weight:750}
.detail-table-wrap{overflow-x:auto}
.detail-table{width:100%;border-collapse:collapse}
.detail-table th,.detail-table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.detail-table th{color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em}
.detail-total td{font-weight:800}
.reference-note{margin-top:18px;padding:14px;border-left:3px solid var(--accent);background:var(--canvas);color:var(--muted);line-height:1.6}
@media (max-width:1050px){.engineering-workspace{grid-template-columns:1fr}.engineering-form-main,.room-summary-card{grid-column:1;grid-row:auto}.room-summary-card{position:static;max-height:none;overflow:visible}.derived-grid{grid-template-columns:1fr}}

.form-subheading {
    margin: 1.5rem 0 .75rem;
    font-size: 1rem;
}
.form-subheading:first-of-type { margin-top: 0; }
.form-grid.four-column { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.internal-result-grid { margin-top: 1rem; }
.internal-result-grid small { display: block; margin-top: .25rem; }
@media (max-width: 1000px) { .form-grid.four-column { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .form-grid.four-column { grid-template-columns: 1fr; } }

/* Cooling Load inline field guidance */
.field-label-row{min-height:1.35em;flex-wrap:wrap}
.field-label-row>span:first-child{flex:0 0 auto}
.field-label-row small{flex:1 1 220px;min-width:0}
@media (max-width:640px){.field-label-row{align-items:flex-start}.field-label-row small{text-align:left;flex-basis:100%}}

/* Cooling Load required inputs and floating duty summary */
.form-grid input.heatload-required-missing,
.form-grid select.heatload-required-missing,
.form-grid textarea.heatload-required-missing{
    border-color:#d18b2c;
    box-shadow:0 0 0 3px rgba(209,139,44,.16);
}
.heatload-required-label>span:first-child::after,
.heatload-required-label .field-label-row>span:first-child::after{
    content:" Required";
    margin-left:.45rem;
    color:#d18b2c;
    font-size:.68rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.summary-load-section{border-top:1px solid var(--line);padding:20px 24px 24px}
.summary-load-heading{display:block;margin-bottom:10px;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.summary-load-list{margin:0}
.summary-load-list div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.summary-load-list dt{color:var(--muted);font-size:.75rem}
.summary-load-list dd{margin:0;text-align:right;font-size:.78rem;font-weight:750}
.summary-load-total,.summary-capacity{display:grid;gap:5px;margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--canvas)}
.summary-load-total span,.summary-capacity span{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}
.summary-load-total strong{font-size:1.35rem}
.summary-capacity{border-color:var(--accent)}
.summary-capacity strong{font-size:1.55rem;letter-spacing:-.02em}
.summary-capacity small{color:var(--muted);line-height:1.4}
.cooling-component-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 24px 18px}
.cooling-component-grid div{padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--canvas)}
.cooling-component-grid span{display:block;margin-bottom:4px;color:var(--muted);font-size:.76rem}
.cooling-component-grid strong{font-size:.95rem}
@media (max-width:900px){.cooling-component-grid{grid-template-columns:1fr}}

.summary-form-actions{position:sticky;bottom:0;display:grid;gap:10px;padding:16px 24px 20px;border-top:1px solid var(--line);background:var(--surface)}
.summary-form-actions .primary-button,.summary-form-actions .secondary-button{width:100%;justify-content:center;text-align:center}


/* Cooling-load checkbox controls */
.checkbox-label {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.55rem;
    min-height: auto;
}

.checkbox-label input[type="checkbox"] {
    flex: 0 0 auto;
    width: 1rem;
    height: 1rem;
    margin: 0;
}

.checkbox-label span {
    display: inline;
    margin: 0;
}

/* ENG-009 Manufacturer Engineering Library */
.filter-panel{margin-bottom:20px}
.filter-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:16px;align-items:end}
.filter-grid label{display:grid;gap:7px;font-size:.82rem;font-weight:700}
.filter-grid input,.filter-grid select{width:100%;border:1px solid var(--line);border-radius:9px;padding:11px 12px;background:var(--field);color:var(--ink)}
.filter-grid input:focus,.filter-grid select:focus{outline:3px solid var(--accent-soft);border-color:var(--accent)}
.filter-actions{display:flex;align-items:end}
.filter-actions .button{width:100%;justify-content:center}
.trace-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.trace-grid p{margin:0;padding:15px;border:1px solid var(--line);border-radius:10px;background:var(--canvas);line-height:1.5;overflow-wrap:anywhere}
.trace-grid strong{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.timing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.timing-grid div{padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--canvas)}
.timing-grid span{display:block;color:var(--muted);font-size:.78rem;margin-bottom:5px}
.timing-grid strong{font-size:1.15rem}
.compact-empty{min-height:auto;max-width:none;padding:20px}
.checksum{overflow-wrap:anywhere}
@media(max-width:1150px){.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.trace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.filter-grid,.trace-grid,.timing-grid{grid-template-columns:1fr}}
