*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#0e1320;color:#eef3ff}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:#111827;border-right:1px solid #243047;padding:22px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}.brand-mark{background:#f59e0b;color:#111827;font-weight:900;border-radius:10px;padding:10px}.brand small,.user-card small{display:block;color:#9fb0c8}.sidebar nav{display:grid;gap:8px}.sidebar nav a,.logout-link{color:#dbe7ff;text-decoration:none;padding:11px 12px;border-radius:9px}.sidebar nav a:hover,.logout-link:hover{background:#1c2940}.sidebar-footer{margin-top:auto}.user-card{padding:12px;background:#172033;border-radius:10px;margin-bottom:10px}.main{padding:28px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.topbar h1{margin:0;font-size:28px}.topbar p{color:#9fb0c8;margin:.35rem 0 0}.grid{display:grid;gap:16px}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:24px}.card{background:#151d2d;border:1px solid #26334a;border-radius:14px;padding:18px;box-shadow:0 8px 24px rgba(0,0,0,.18)}.stat .value{font-size:30px;font-weight:800}.muted{color:#9fb0c8}.btn{display:inline-block;border:0;border-radius:9px;padding:10px 14px;text-decoration:none;font-weight:700;cursor:pointer}.btn-primary{background:#f59e0b;color:#151515}.btn-secondary{background:#26334a;color:#fff}.btn-danger{background:#7f1d1d;color:#fff}.toolbar{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid #26334a;text-align:left;white-space:nowrap}.table th{color:#a9bad1;font-size:13px;text-transform:uppercase}.badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#26334a;font-size:12px}.badge.high,.badge.urgent,.badge.emergency{background:#7f1d1d;color:#fecaca}.badge.new{background:#1d4ed8}.badge.progress{background:#92400e}.badge.closed{background:#166534}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-group{display:grid;gap:7px}.form-group.full{grid-column:1/-1}label{font-weight:700}input,select,textarea{width:100%;background:#0e1626;color:#eef3ff;border:1px solid #33445f;border-radius:9px;padding:11px}textarea{min-height:120px}.alert{padding:12px 14px;border-radius:9px;margin:0 0 18px}.alert.success{background:#14532d}.alert.error{background:#7f1d1d}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#1e293b,#090d16)}.login-card{width:min(430px,92vw);background:#111827;border:1px solid #28354d;border-radius:18px;padding:28px}.login-card h1{margin-top:0}.actions{display:flex;gap:10px;flex-wrap:wrap}@media(max-width:800px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative}.main{padding:18px}.form-grid{grid-template-columns:1fr}}
.nav-section{margin:22px 10px 6px;color:#70819c;font-size:11px;font-weight:800;letter-spacing:.09em}
.top-actions{display:flex;align-items:center;gap:10px}
.top-menu{position:relative}
.top-menu summary{list-style:none}
.top-menu summary::-webkit-details-marker{display:none}
.icon-button,.user-button{cursor:pointer;border:1px solid #33445f;background:#151d2d;color:#eef3ff;border-radius:10px;min-height:42px}
.icon-button{width:44px;display:grid;place-items:center;position:relative;font-size:18px}
.user-button{display:flex;align-items:center;gap:9px;padding:5px 10px}
.avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f59e0b;color:#111827;font-weight:900}
.notif-count{position:absolute;right:-5px;top:-7px;background:#dc2626;color:white;border-radius:999px;font-size:10px;min-width:19px;height:19px;display:grid;place-items:center;border:2px solid #0e1320}
.dropdown{position:absolute;right:0;top:50px;width:310px;background:#111827;border:1px solid #33445f;border-radius:12px;box-shadow:0 20px 50px rgba(0,0,0,.45);overflow:hidden;z-index:50}
.user-dropdown{width:230px}
.dropdown a{display:block;color:#dbe7ff;text-decoration:none;padding:11px 13px;border-top:1px solid #202b40}
.dropdown a:hover{background:#1c2940}
.dropdown-title{padding:12px 13px;font-weight:800;background:#172033}
.dropdown small{display:block;color:#9fb0c8;margin-top:3px}
.dropdown .unread{background:#192642}
.dropdown-empty{padding:18px;color:#9fb0c8;text-align:center}
.dropdown-footer{text-align:center;font-weight:700}
.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.status-ok{border-left:5px solid #16a34a}.status-warn{border-left:5px solid #f59e0b}.status-error{border-left:5px solid #dc2626}
.code-box{font-family:ui-monospace,Consolas,monospace;background:#0b1220;border:1px solid #33445f;padding:10px 12px;border-radius:8px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}

.quick-link{text-decoration:none}
.quick-link:hover{background:#1c2940}
.timeline{display:grid;gap:12px}
.timeline-item{display:grid;grid-template-columns:18px 1fr;gap:10px}
.timeline-dot{width:10px;height:10px;border-radius:50%;background:#f59e0b;margin-top:6px}
.timeline-body{border-left:1px solid #33445f;padding:0 0 14px 12px}
.timeline-body strong{display:block}
.timeline-body small{display:block;color:#9fb0c8;margin-top:3px}
.two-col{display:grid;grid-template-columns:2fr 1fr;gap:16px}
@media(max-width:900px){.two-col{grid-template-columns:1fr}}

/* Phase 5.2 administration card layout */
.admin-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:16px;
    align-items:stretch;
}
.admin-card{
    display:block;
    min-height:126px;
    text-decoration:none;
}
.admin-card h3{
    margin-top:0;
}


/* Phase 5.3 operational dashboards */
.dashboard-search{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:center;
}
.dashboard-search input{
    min-width:280px;
    flex:1;
}
.dashboard-mini-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:14px;
}
.dashboard-mini-card{
    display:flex;
    flex-direction:column;
    gap:7px;
    min-height:105px;
    text-decoration:none;
    transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.dashboard-mini-card:hover{
    transform:translateY(-2px);
    border-color:var(--accent,#f59e0b);
    box-shadow:0 10px 24px rgba(0,0,0,.18);
}
@media (max-width:760px){
    .dashboard-search input{min-width:100%;}
}


/* Phase 6 schedule / dispatch dashboard */
.schedule-week{
    display:grid;
    grid-template-columns:repeat(7,minmax(180px,1fr));
    gap:12px;
    overflow-x:auto;
    padding-bottom:6px;
}
.schedule-day{
    min-width:180px;
    padding:14px;
}
.schedule-day-head{
    display:flex;
    justify-content:space-between;
    gap:8px;
    align-items:flex-start;
    margin-bottom:12px;
}
.schedule-day-head strong,
.schedule-day-head span{
    display:block;
}
.schedule-job{
    display:flex;
    flex-direction:column;
    gap:4px;
    padding:10px;
    margin-top:10px;
    border:1px solid rgba(148,163,184,.20);
    border-radius:10px;
    text-decoration:none;
    background:rgba(255,255,255,.025);
}
.schedule-job:hover{
    border-color:var(--accent,#f59e0b);
}
.schedule-job-urgent{
    border-color:rgba(239,68,68,.70);
}
.schedule-job-time{
    font-weight:700;
    font-size:.88rem;
}
.schedule-empty{
    padding:16px 0;
    text-align:center;
}
@media(max-width:1100px){
    .schedule-week{grid-template-columns:repeat(7,220px);}
}


/* Phase 8 signature capture */
.signature-wrap{
    border:2px dashed rgba(148,163,184,.45);
    border-radius:14px;
    background:#fff;
    overflow:hidden;
}
#signaturePad{
    display:block;
    width:100%;
    height:260px;
    touch-action:none;
    cursor:crosshair;
}
.signature-image{
    display:block;
    width:100%;
    max-width:900px;
    min-height:180px;
    object-fit:contain;
    background:#fff;
    border-radius:12px;
    border:1px solid rgba(148,163,184,.3);
}


/* Phase 9.1 Work Order quick jump */
html{scroll-behavior:smooth}
.workorder-jump-nav{
    position:sticky;
    top:10px;
    z-index:30;
    margin-bottom:18px;
    backdrop-filter:blur(12px);
}
.workorder-jump-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
#wo-overview,
#wo-controls,
#wo-tech-update,
#wo-materials,
#wo-files,
#wo-activity,
#wo-approval,
#wo-billing{
    scroll-margin-top:150px;
}
.workorder-back-top{
    display:flex;
    justify-content:flex-end;
    margin-top:18px;
}
@media (max-width:760px){
    .workorder-jump-nav{position:static}
    .workorder-jump-buttons .btn{flex:1 1 calc(50% - 8px);text-align:center}
}


/* Phase 10.1 sticky shell */
.sticky-sidebar{
    position:sticky;
    top:0;
    align-self:flex-start;
    height:100vh;
    overflow-y:auto;
    overscroll-behavior:contain;
}
.sticky-topbar{
    position:sticky;
    top:0;
    z-index:80;
    backdrop-filter:blur(14px);
}
.main,
.main-content,
.content{
    min-width:0;
}
@media (max-width:900px){
    .sticky-sidebar{
        position:relative;
        height:auto;
        overflow:visible;
    }
    .sticky-topbar{
        position:sticky;
        top:0;
    }
}

/* Phase 10.1 invoice workflow */
.invoice-workflow-card{overflow:hidden}
.invoice-workflow{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:nowrap;
}
.invoice-step{
    min-width:120px;
    flex:0 1 170px;
    display:grid;
    grid-template-columns:34px 1fr;
    grid-template-rows:auto auto;
    column-gap:10px;
    align-items:center;
    opacity:.55;
}
.invoice-step span{
    grid-row:1/3;
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:999px;
    border:1px solid rgba(148,163,184,.4);
    font-weight:800;
}
.invoice-step strong{font-size:.92rem}
.invoice-step small{opacity:.8}
.invoice-step.is-active{opacity:1}
.invoice-step.is-active span{
    border-color:currentColor;
    box-shadow:0 0 0 3px rgba(148,163,184,.08);
}
.invoice-workflow-line{
    height:2px;
    flex:1 1 60px;
    min-width:24px;
    background:rgba(148,163,184,.25);
}
.invoice-workflow-line.is-active{background:currentColor;opacity:.7}

@media (max-width:760px){
    .invoice-workflow{
        align-items:stretch;
        flex-direction:column;
    }
    .invoice-workflow-line{
        width:2px;
        min-width:2px;
        height:20px;
        margin-left:16px;
        flex:0 0 20px;
    }
}


/* Phase 10.3 analytics and status colors */
:root{
    --chart-1:#3b82f6;
    --chart-2:#22c55e;
    --chart-3:#f59e0b;
    --chart-4:#a855f7;
    --chart-5:#06b6d4;
    --chart-6:#ef4444;
}
.wo-status-closed{background:rgba(34,197,94,.16)!important;color:#86efac!important;border-color:rgba(34,197,94,.45)!important}
.wo-status-paid{background:rgba(6,182,212,.16)!important;color:#67e8f9!important;border-color:rgba(6,182,212,.45)!important}
.wo-status-invoiced{background:rgba(168,85,247,.16)!important;color:#d8b4fe!important;border-color:rgba(168,85,247,.45)!important}
.wo-status-approval{background:rgba(245,158,11,.16)!important;color:#fcd34d!important;border-color:rgba(245,158,11,.45)!important}
.wo-status-completed{background:rgba(59,130,246,.16)!important;color:#93c5fd!important;border-color:rgba(59,130,246,.45)!important}
.wo-status-progress{background:rgba(59,130,246,.12)!important;color:#bfdbfe!important}
.wo-status-hold{background:rgba(245,158,11,.13)!important;color:#fde68a!important}
.wo-status-cancelled{background:rgba(239,68,68,.16)!important;color:#fca5a5!important;border-color:rgba(239,68,68,.45)!important}

tr.wo-status-closed td{background:rgba(34,197,94,.045)}
tr.wo-status-paid td{background:rgba(6,182,212,.04)}

.closed-order-banner,
.paid-order-banner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:14px 18px;
    border-radius:14px;
    margin-bottom:16px;
    font-weight:700;
}
.closed-order-banner{
    background:rgba(34,197,94,.14);
    border:1px solid rgba(34,197,94,.45);
    color:#86efac;
}
.paid-order-banner{
    background:rgba(6,182,212,.14);
    border:1px solid rgba(6,182,212,.45);
    color:#67e8f9;
}

.analytics-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.analytics-card{
    background:rgba(15,23,42,.35);
    border:1px solid rgba(148,163,184,.15);
    border-radius:14px;
    padding:18px;
}
.bar-chart{display:grid;gap:10px}
.bar-row{
    display:grid;
    grid-template-columns:minmax(110px,1.1fr) minmax(120px,3fr) 44px;
    gap:10px;
    align-items:center;
}
.bar-label{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar-track{height:12px;border-radius:999px;background:rgba(148,163,184,.14);overflow:hidden}
.bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--chart-1),var(--chart-5))}
.bar-value{text-align:right;font-weight:700}
.pie-wrap{display:grid;grid-template-columns:180px 1fr;gap:22px;align-items:center}
.pie-chart{
    width:170px;height:170px;border-radius:50%;
    box-shadow:inset 0 0 0 12px rgba(15,23,42,.22);
}
.pie-legend{display:grid;gap:8px}
.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px}
.chart-1{background:var(--chart-1)} .chart-2{background:var(--chart-2)}
.chart-3{background:var(--chart-3)} .chart-4{background:var(--chart-4)}
.chart-5{background:var(--chart-5)} .chart-6{background:var(--chart-6)}

.line-chart-wrap{min-height:220px}
.line-chart{width:100%;height:180px;overflow:visible}
.chart-axis{stroke:rgba(148,163,184,.25);stroke-width:.6}
.chart-line{fill:none;stroke:var(--chart-2);stroke-width:2.2;vector-effect:non-scaling-stroke}
.chart-point{fill:var(--chart-2);stroke:var(--bg,#0f172a);stroke-width:.8;vector-effect:non-scaling-stroke}
.line-chart-labels{display:flex;justify-content:space-between;gap:8px;font-size:.72rem;color:#94a3b8}
.line-chart-labels span{display:grid;text-align:center;gap:2px}
.line-chart-labels strong{color:inherit}

@media(max-width:900px){
    .analytics-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
    .pie-wrap{grid-template-columns:1fr;justify-items:center}
    .bar-row{grid-template-columns:90px 1fr 36px}
    .line-chart-labels{overflow-x:auto;justify-content:flex-start}
    .line-chart-labels span{min-width:70px}
}


/* Phase 10.4 invoice/work queue visuals */
.invoice-row-paid td{background:rgba(34,197,94,.045)}
.invoice-row-partial td{background:rgba(245,158,11,.04)}
.invoice-row-overdue td{background:rgba(239,68,68,.055)}
.invoice-row-void td{opacity:.65;background:rgba(100,116,139,.04)}
.invoice-row-sent td{background:rgba(59,130,246,.035)}

.invoice-row-paid:hover td{background:rgba(34,197,94,.075)}
.invoice-row-overdue:hover td{background:rgba(239,68,68,.085)}


/* Phase 10.5 Invoice Operations */
.invoice-operations-card{overflow:hidden}
.invoice-ops-toolbar{margin-bottom:16px}
.invoice-filter-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
    padding:14px;
    border:1px solid rgba(148,163,184,.14);
    border-radius:14px;
    background:rgba(15,23,42,.28);
    margin-bottom:14px;
}
.invoice-filter-tabs{
    display:flex;
    gap:7px;
    flex-wrap:wrap;
}
.invoice-filter-tab{
    text-decoration:none;
    padding:8px 12px;
    border-radius:999px;
    border:1px solid rgba(148,163,184,.22);
    color:inherit;
    font-size:.86rem;
    font-weight:700;
}
.invoice-filter-tab:hover,
.invoice-filter-tab.active{
    border-color:rgba(59,130,246,.65);
    background:rgba(59,130,246,.14);
}
.invoice-search{
    display:flex;
    gap:8px;
    align-items:center;
    flex:1 1 420px;
    justify-content:flex-end;
}
.invoice-search input{
    min-width:260px;
    max-width:440px;
    width:100%;
}
.invoice-ops-summary{
    margin:4px 0 14px;
    color:#94a3b8;
    font-size:.9rem;
}
.invoice-operations-table td{
    vertical-align:middle;
}
.invoice-row-actions{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
}
.invoice-mini-state{
    display:inline-block;
    margin-top:5px;
    padding:2px 7px;
    border-radius:999px;
    font-size:.7rem;
    font-weight:800;
}
.invoice-mini-state.paid,
.invoice-mini-state.closed{
    background:rgba(34,197,94,.14);
    color:#86efac;
}
.invoice-mini-state.overdue{
    background:rgba(239,68,68,.14);
    color:#fca5a5;
}
.balance-open{color:#fcd34d}
.balance-zero{color:#86efac}
.invoice-empty-state{
    text-align:center;
    padding:34px 16px;
}
.invoice-empty-icon{
    font-size:42px;
    margin-bottom:10px;
}
@media(max-width:760px){
    .invoice-search{
        justify-content:stretch;
        flex-basis:100%;
    }
    .invoice-search input{
        min-width:0;
    }
}


/* Phase 11 Reports */
.report-range-tabs{
    display:flex;
    gap:7px;
    flex-wrap:wrap;
}
@media(max-width:760px){
    .report-range-tabs{width:100%}
}

/* Phase 12.6 contextual help */
.context-help{display:flex;justify-content:flex-end;margin:12px 0}
.help-steps li{margin:.65rem 0;line-height:1.55}
.help-topic{display:flex!important;flex-direction:column;gap:.45rem;text-decoration:none}
.help-topic span{color:var(--muted,#6b7280);font-weight:400;line-height:1.45}

/* Phase 12.7 — colorful detailed in-app Staff Manual */
.manual-hero{display:flex;gap:20px;align-items:center;padding:26px;border-radius:22px;margin:4px 0 20px;color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.14)}
.manual-hero-icon{font-size:46px;background:rgba(255,255,255,.18);width:76px;height:76px;display:grid;place-items:center;border-radius:20px}
.manual-hero h1{margin:3px 0 7px;color:#fff}.manual-hero p{margin:0;max-width:900px;line-height:1.6;color:rgba(255,255,255,.92)}
.manual-hero .eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;opacity:.85}
.manual-blue{background:linear-gradient(135deg,#2563eb,#4f46e5)}.manual-cyan{background:linear-gradient(135deg,#0891b2,#0f766e)}
.manual-purple{background:linear-gradient(135deg,#7c3aed,#9333ea)}.manual-orange{background:linear-gradient(135deg,#ea580c,#d97706)}
.manual-indigo{background:linear-gradient(135deg,#4338ca,#6d28d9)}.manual-green{background:linear-gradient(135deg,#15803d,#059669)}
.manual-pink{background:linear-gradient(135deg,#be185d,#9333ea)}.manual-slate{background:linear-gradient(135deg,#334155,#475569)}
.manual-red{background:linear-gradient(135deg,#b91c1c,#e11d48)}.manual-teal{background:linear-gradient(135deg,#0f766e,#0284c7)}
.manual-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}
.manual-card{background:var(--card,#fff);border:1px solid var(--border,#e5e7eb);border-radius:18px;padding:22px;margin-bottom:18px;box-shadow:0 5px 18px rgba(0,0,0,.05)}
.manual-card h2,.manual-card h3{margin-top:0}.why-card{border-left:6px solid #3b82f6}.example-card{border-left:6px solid #10b981}.warning-card{border-left:6px solid #ef4444}.decision-card{border-left:6px solid #f59e0b}
.manual-step{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:15px 0;border-bottom:1px solid var(--border,#e5e7eb)}.manual-step:last-child{border-bottom:0}
.step-number{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#2563eb;color:#fff;font-weight:800}.manual-step h3{margin:0 0 5px;font-size:1rem}.manual-step p{margin:0;line-height:1.55;color:var(--muted,#64748b)}
.status-guide{display:grid;gap:9px}.status-row{display:grid;grid-template-columns:38px 170px 1fr;align-items:center;padding:10px 12px;border-radius:12px;background:rgba(127,127,127,.07)}.status-icon{font-size:20px}
.decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.decision-grid>div{padding:15px;border-radius:14px;background:rgba(245,158,11,.09);border:1px solid rgba(245,158,11,.22)}.decision-grid p{margin:7px 0 0;line-height:1.5}
.manual-sidebar{position:sticky;top:88px}.manual-nav{display:flex;gap:10px;align-items:center;padding:10px 11px;margin:4px 0;border-radius:10px;text-decoration:none;color:inherit}.manual-nav:hover,.manual-nav.active{background:rgba(37,99,235,.12);font-weight:700}.manual-nav.active{box-shadow:inset 3px 0 #2563eb}
.quick-card{background:linear-gradient(145deg,rgba(37,99,235,.08),rgba(124,58,237,.08))}
.code-explain{display:grid;grid-template-columns:minmax(220px,1fr) 1.4fr;gap:12px;padding:10px;margin:8px 0;border-radius:10px;background:rgba(127,127,127,.08)}.code-explain code{font-weight:700}
@media(max-width:900px){.manual-layout{grid-template-columns:1fr}.manual-sidebar{position:static}.decision-grid{grid-template-columns:1fr}.status-row{grid-template-columns:34px 130px 1fr}.manual-hero{align-items:flex-start}.manual-hero-icon{width:58px;height:58px;font-size:34px;flex:0 0 auto}}
@media(max-width:560px){.manual-hero{padding:18px}.manual-hero-icon{display:none}.code-explain{grid-template-columns:1fr}.status-row{grid-template-columns:30px 1fr}.status-row span:last-child{grid-column:2}}

/* Phase 13 Work Order completion */
.wo-closeout-card{border:1px solid rgba(16,185,129,.35);box-shadow:0 8px 24px rgba(16,185,129,.08)}
.closeout-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.closeout-checks label{padding:12px;border-radius:12px;background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.18)}
.closeout-signal{padding:12px 14px;border-radius:12px;margin:12px 0}.closeout-signal.ready{background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.3)}.closeout-signal.waiting{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.3)}
.closeout-complete{border-left:6px solid #10b981;background:linear-gradient(145deg,rgba(16,185,129,.08),transparent)}
@media(max-width:700px){.closeout-checks{grid-template-columns:1fr}}

/* Phase 14 — Work Order Operational Control */
.control-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px;margin-bottom:18px;border-radius:20px;background:linear-gradient(135deg,rgba(37,99,235,.14),rgba(139,92,246,.14));border:1px solid rgba(99,102,241,.24)}
.control-hero h2{margin:3px 0 5px}.control-hero p{margin:0;color:var(--muted,#64748b)}.control-hero .eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em}
.control-buckets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.control-bucket{display:flex;flex-direction:column;gap:5px;padding:15px;border-radius:15px;background:var(--card,#fff);border:1px solid var(--border,#e5e7eb);text-decoration:none;color:inherit}.control-bucket strong{font-size:1.8rem}.control-bucket small{color:var(--muted,#64748b)}.control-bucket:hover,.control-bucket.selected{box-shadow:0 8px 24px rgba(37,99,235,.12);border-color:#6366f1}.control-bucket.selected{background:rgba(99,102,241,.08)}
.next-action{display:flex;flex-direction:column;gap:4px;min-width:190px}.next-action small{color:var(--muted,#64748b);line-height:1.35}.empty-good{text-align:center;padding:24px;font-weight:700;color:#059669}
.attention-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.attention-strip a{padding:12px 14px;border-radius:12px;text-decoration:none;color:inherit}.attention-red{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.25)}.attention-purple{background:rgba(139,92,246,.12);border:1px solid rgba(139,92,246,.25)}.attention-green{background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.25)}.attention-ok{background:rgba(16,185,129,.07);border:1px solid rgba(16,185,129,.16)}
.operational-attention{border-left:6px solid #6366f1}.attention-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.attention-grid a{display:flex;justify-content:space-between;align-items:center;padding:13px;border-radius:12px;background:rgba(99,102,241,.07);text-decoration:none;color:inherit}.attention-grid strong{font-size:1.4rem}
@media(max-width:1000px){.control-buckets{grid-template-columns:repeat(2,1fr)}.attention-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.control-buckets,.attention-grid,.attention-strip{grid-template-columns:1fr}.control-hero{align-items:flex-start;flex-direction:column}}

/* Phase 14.1 — Control Center visual repair
   Explicit layout rules so queue cards cannot collapse into inline links. */
.control-hero{
 display:flex!important;justify-content:space-between!important;align-items:center!important;
 gap:18px!important;padding:22px!important;margin:0 0 20px!important;border-radius:18px!important;
 background:linear-gradient(135deg,rgba(37,99,235,.16),rgba(124,58,237,.13))!important;
 border:1px solid rgba(96,165,250,.24)!important;
}
.control-hero .eyebrow{display:block!important;margin-bottom:5px!important;font-size:11px!important;font-weight:800!important;letter-spacing:.12em!important;opacity:.8!important}
.control-hero h2{margin:0 0 7px!important}.control-hero p{margin:0!important;opacity:.82!important}

.control-buckets{
 display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:12px!important;margin:0 0 22px!important;width:100%!important;
}
.control-bucket{
 display:flex!important;flex-direction:column!important;justify-content:space-between!important;
 min-height:118px!important;padding:16px!important;border-radius:16px!important;
 background:rgba(30,41,59,.72)!important;border:1px solid rgba(148,163,184,.18)!important;
 text-decoration:none!important;color:inherit!important;overflow:hidden!important;
 box-shadow:0 5px 16px rgba(0,0,0,.10)!important;
}
.control-bucket span{display:block!important;font-weight:750!important;line-height:1.25!important}
.control-bucket strong{display:block!important;font-size:2rem!important;line-height:1!important;margin:8px 0!important}
.control-bucket small{display:block!important;line-height:1.3!important;opacity:.68!important}
.control-bucket:hover,.control-bucket.selected{border-color:rgba(96,165,250,.72)!important;transform:translateY(-1px)!important;box-shadow:0 9px 24px rgba(0,0,0,.16)!important}
.control-bucket.selected{background:linear-gradient(145deg,rgba(37,99,235,.24),rgba(124,58,237,.15))!important}

.control-table .next-action{display:flex!important;flex-direction:column!important;gap:5px!important;min-width:210px!important}
.control-table .next-action strong{display:block!important;white-space:normal!important}
.control-table .next-action small{display:block!important;white-space:normal!important;line-height:1.4!important;opacity:.72!important}
.empty-good{display:block!important;text-align:center!important;padding:26px!important;font-weight:750!important}

@media(max-width:1150px){.control-buckets{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:680px){
 .control-hero{flex-direction:column!important;align-items:flex-start!important}
 .control-buckets{grid-template-columns:1fr!important}
 .control-bucket{min-height:auto!important}
}

/* Phase 15 — Guided Technician Job Workspace */
.job-guide-shell{margin:0 0 22px;padding:20px;border-radius:20px;background:linear-gradient(145deg,rgba(30,41,59,.76),rgba(15,23,42,.62));border:1px solid rgba(96,165,250,.22);box-shadow:0 10px 28px rgba(0,0,0,.10)}
.job-guide-head{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:17px}.job-guide-head h2{margin:3px 0 5px}.job-guide-head p{margin:0;opacity:.72}.job-guide-head .eyebrow,.job-next-action .eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;opacity:.68}
.job-stepper{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0 0 16px}.job-step{display:flex;gap:9px;align-items:center;padding:12px 10px;border-radius:13px;border:1px solid rgba(148,163,184,.14);background:rgba(148,163,184,.05);opacity:.52}.job-step.current{opacity:1;border-color:rgba(96,165,250,.65);background:rgba(37,99,235,.17);box-shadow:0 5px 16px rgba(37,99,235,.12)}.job-step.done{opacity:.88;border-color:rgba(16,185,129,.30);background:rgba(16,185,129,.08)}.job-step-icon{font-size:1.35rem}.job-step strong,.job-step small{display:block}.job-step small{font-size:.72rem;opacity:.65;margin-top:2px}
.job-next-action{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px;border-radius:15px;background:linear-gradient(135deg,rgba(245,158,11,.13),rgba(37,99,235,.10));border:1px solid rgba(245,158,11,.22);margin-bottom:14px}.job-next-icon{font-size:2rem}.job-next-action h3{margin:3px 0 4px}.job-next-action p{margin:0;line-height:1.45;opacity:.78}
.job-readiness{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.job-readiness>div{display:flex;flex-direction:column;gap:3px;padding:11px;border-radius:12px;border:1px solid rgba(148,163,184,.13);background:rgba(148,163,184,.05)}.job-readiness strong{font-size:.84rem}.job-readiness small{font-size:.72rem;opacity:.68}.job-readiness .ready{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.22)}.job-readiness .needs{background:rgba(245,158,11,.10);border-color:rgba(245,158,11,.28)}
@media(max-width:1100px){.job-stepper{grid-template-columns:repeat(3,1fr)}.job-readiness{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.job-guide-head,.job-next-action{display:flex;flex-direction:column;align-items:flex-start}.job-stepper{grid-template-columns:repeat(2,1fr)}.job-readiness{grid-template-columns:repeat(2,1fr)}}@media(max-width:430px){.job-stepper,.job-readiness{grid-template-columns:1fr}}

/* Phase 16 — Work Order quality gate */
.completion-review{position:relative}.completion-review>summary{list-style:none;cursor:pointer}.completion-review>summary::-webkit-details-marker{display:none}
.completion-panel{position:absolute;z-index:20;right:0;top:46px;width:min(560px,86vw);padding:18px;border-radius:16px;background:#111827;border:1px solid rgba(245,158,11,.35);box-shadow:0 18px 50px rgba(0,0,0,.35)}.completion-panel h3{margin-top:0}.completion-panel form{display:grid;gap:10px}.completion-panel form>label{display:block;padding:10px;border-radius:10px;background:rgba(245,158,11,.08);line-height:1.4}.completion-panel input[type=checkbox]{width:auto;margin-right:7px}
.field-writing-guide{grid-column:1/-1;padding:13px;border-radius:12px;background:rgba(37,99,235,.09);border:1px solid rgba(96,165,250,.20);line-height:1.5}.field-writing-guide span{display:block;margin-top:5px;opacity:.7}
@media(max-width:700px){.completion-panel{position:fixed;left:5vw;right:5vw;top:12vh;width:90vw;max-height:75vh;overflow:auto}}

/* Phase 16.1 — Manual readability, training examples, and anchor repair */
.manual-top-anchor,.workorder-top-anchor{display:block;position:relative;top:-140px;visibility:hidden}
.manual-card{background:#151d2d!important;border-color:#334155!important;color:#eef3ff!important}
.manual-card h1,.manual-card h2,.manual-card h3,.manual-card h4,.manual-card strong{color:#f8fafc!important}
.manual-card p,.manual-card li,.manual-card span,.manual-card td{color:#cbd5e1}
.manual-card .muted,.manual-step p{color:#a9bad1!important}
.manual-sidebar .manual-card{background:#151d2d!important}.manual-nav{color:#dbe7ff!important}.manual-nav:hover,.manual-nav.active{color:#fff!important;background:rgba(59,130,246,.18)!important}
.training-card{border-left:6px solid #06b6d4!important}.example-compare{padding:16px;margin:12px 0;border-radius:14px}.example-compare blockquote{margin:10px 0;padding:12px 14px;border-left:4px solid currentColor;background:rgba(15,23,42,.45);font-weight:700;line-height:1.55;color:#f8fafc}.bad-example{background:rgba(239,68,68,.10);border:1px solid rgba(239,68,68,.28)}.bad-example>strong{color:#fca5a5!important}.good-example{background:rgba(16,185,129,.10);border:1px solid rgba(16,185,129,.28)}.good-example>strong{color:#6ee7b7!important}
.manual-back-top{display:flex;justify-content:flex-end;margin:4px 0 22px}.manual-top-link{border-bottom:1px solid rgba(148,163,184,.15);margin-bottom:10px!important}
html{scroll-behavior:smooth}#manual-top,#wo-top{scroll-margin-top:150px}
/* Light theme overrides where the application exposes a light body/theme class. */
body.light .manual-card,body.light-theme .manual-card,[data-theme="light"] .manual-card{background:#fff!important;border-color:#dbe3ee!important;color:#172033!important}
body.light .manual-card h1,body.light .manual-card h2,body.light .manual-card h3,body.light .manual-card strong,body.light-theme .manual-card h1,body.light-theme .manual-card h2,body.light-theme .manual-card h3,body.light-theme .manual-card strong,[data-theme="light"] .manual-card h1,[data-theme="light"] .manual-card h2,[data-theme="light"] .manual-card h3,[data-theme="light"] .manual-card strong{color:#172033!important}
body.light .manual-card p,body.light .manual-card li,body.light-theme .manual-card p,body.light-theme .manual-card li,[data-theme="light"] .manual-card p,[data-theme="light"] .manual-card li{color:#475569!important}

/* Phase 17 — waiting/handoff workflow */
.hold-review{position:relative}.hold-review>summary{list-style:none;cursor:pointer}.hold-review>summary::-webkit-details-marker{display:none}
.hold-panel{position:absolute;z-index:25;left:0;top:46px;width:min(600px,88vw);padding:18px;border-radius:16px;background:#111827;border:1px solid rgba(139,92,246,.38);box-shadow:0 18px 50px rgba(0,0,0,.38)}.hold-panel h3{margin-top:0}.hold-panel form{display:grid;gap:10px}
.active-hold-card{margin:0 0 16px;padding:16px;border-radius:15px;background:linear-gradient(135deg,rgba(139,92,246,.14),rgba(245,158,11,.08));border:1px solid rgba(139,92,246,.30);border-left:6px solid #8b5cf6}.active-hold-card p{line-height:1.5}.hold-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.hold-title h3{margin:3px 0}.hold-followup{padding:7px 10px;border-radius:10px;background:rgba(245,158,11,.13);font-size:.82rem}
@media(max-width:700px){.hold-panel{position:fixed;left:5vw;right:5vw;top:8vh;width:90vw;max-height:82vh;overflow:auto}.hold-title{flex-direction:column}}

/* Phase 18 — record lifecycle safety */
.lifecycle-zone{margin-top:18px;border:1px solid rgba(239,68,68,.24);border-left:6px solid #ef4444;background:linear-gradient(135deg,rgba(239,68,68,.06),rgba(245,158,11,.04))}.lifecycle-zone h3{margin:3px 0 7px}.lifecycle-zone p{max-width:900px;line-height:1.5}.lifecycle-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.lifecycle-zone .eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;opacity:.7}

/* Phase 19 — Event notifications + lifecycle alert emphasis */
.event-email-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:14px 0 18px}.event-email-card{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--border,#334155);border-radius:14px;background:rgba(59,130,246,.05);cursor:pointer}.event-email-card input{margin-top:5px;transform:scale(1.2)}.event-email-icon{font-size:24px}.event-email-card strong,.event-email-card small{display:block}.event-email-card small{margin-top:5px;line-height:1.4;opacity:.75}
.alert.warning,.flash.warning{border-left:6px solid #f59e0b!important;font-weight:650}.alert.error,.flash.error{border-left:6px solid #ef4444!important;font-weight:650}.alert.success,.flash.success{border-left:6px solid #22c55e!important}

/* Phase 19.3 — SCP card readability and intentional accent colors */
.admin-card,.admin-card:link,.admin-card:visited,.admin-card:hover,.admin-card:active{color:var(--text,#eef3ff)!important;text-decoration:none!important}
.admin-card h3,.admin-card:link h3,.admin-card:visited h3{color:var(--text,#eef3ff)!important}
.admin-card{position:relative;overflow:hidden;border-top:3px solid var(--scp-accent,#64748b);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.admin-card:hover{transform:translateY(-2px);border-color:var(--scp-accent,#64748b);box-shadow:0 10px 28px rgba(0,0,0,.18)}
.admin-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--scp-accent,#64748b)}
.admin-staff{--scp-accent:#a855f7}.admin-email{--scp-accent:#06b6d4}.admin-events{--scp-accent:#8b5cf6}.admin-status{--scp-accent:#22c55e}.admin-incident{--scp-accent:#ef4444}.admin-audit{--scp-accent:#f59e0b}.admin-operations{--scp-accent:#3b82f6}.admin-schema{--scp-accent:#14b8a6}.admin-cleanup{--scp-accent:#fb7185}
.admin-card p{color:var(--muted,#9fb0ca)!important}

/* Phase 20 — IMS customer identity bridge */
.identity-bridge{margin:14px 0;padding:15px;border-radius:14px;border:1px solid rgba(6,182,212,.28);border-left:6px solid #06b6d4;background:linear-gradient(135deg,rgba(6,182,212,.09),rgba(59,130,246,.05))}.identity-row{display:flex;gap:10px;align-items:center;margin:6px 0}.admin-identity{--scp-accent:#06b6d4}

/* Phase 21 — administrative completion review */
.completion-admin-review{border-left:6px solid #8b5cf6;background:linear-gradient(135deg,rgba(139,92,246,.10),rgba(34,197,94,.04));margin-bottom:16px}.completion-admin-review textarea{min-height:100px}.review-state{padding:10px 12px;border-radius:10px;margin:10px 0}.review-pending{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.3)}.review-approved{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.3)}.review-returned{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.3)}

/* Phase 24 follow-up ownership */
.followup-overdue{background:rgba(239,68,68,.055)}.followup-form{min-width:280px;padding:12px}.followup-form textarea{min-height:90px}.small-link{cursor:pointer;text-decoration:underline;margin-top:5px}.status-warning{border-color:rgba(245,158,11,.4)}

/* Phase 25 — Follow-Up command dashboard */
.followup-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;margin:16px 0 20px}
.followup-stat{display:flex;flex-direction:column;min-height:118px;padding:16px 18px;border:1px solid var(--border);border-radius:14px;background:var(--card);text-decoration:none!important;color:var(--text)!important;box-shadow:0 8px 24px rgba(0,0,0,.06);transition:.18s ease}
.followup-stat:hover,.followup-stat.selected{transform:translateY(-2px);border-color:var(--accent)}
.followup-stat span{font-weight:800}.followup-stat strong{font-size:30px;line-height:1.15;margin:8px 0 4px}.followup-stat small{color:var(--muted)}
.followup-stat.overdue{border-top:4px solid #ef4444}.followup-stat.today{border-top:4px solid #3b82f6}.followup-stat.unassigned{border-top:4px solid #f59e0b}.followup-stat.mine{border-top:4px solid #8b5cf6}.followup-stat.open{border-top:4px solid #10b981}
.followup-history{margin-top:18px}.followup-history td{vertical-align:top}
@media(max-width:1200px){.followup-stat-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}}
@media(max-width:760px){.followup-stat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.followup-stat-grid{grid-template-columns:1fr}}

/* Phase 26.1 — SCP card-grid containment fix */
.admin-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;gap:16px!important;align-items:stretch}
.admin-grid>.admin-card{width:auto!important;min-width:0!important;margin:0!important;height:100%;box-sizing:border-box}
@media(min-width:1500px){.admin-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
@media(max-width:900px){.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){.admin-grid{grid-template-columns:1fr!important}}

/* Phase 27 — follow-up analytics */
.followup-report-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin:16px 0}.report-bars{height:230px;display:flex;align-items:flex-end;gap:7px;padding:18px 6px 4px;overflow-x:auto}.report-bar-col{height:100%;min-width:28px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px}.report-bar{display:block;width:72%;min-height:6px;border-radius:7px 7px 2px 2px;background:var(--accent)}.report-bar-col small{font-size:10px;color:var(--muted);writing-mode:vertical-rl;transform:rotate(180deg);max-height:45px}.text-danger{font-weight:800;color:#ef4444}@media(max-width:800px){.followup-report-grid{grid-template-columns:1fr 1fr}}

/* Phase 28 — customer service timeline */
.timeline-filters{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 22px}.timeline-filters a{padding:8px 12px;border:1px solid var(--border);border-radius:999px;text-decoration:none;color:var(--text);background:var(--card)}.timeline-filters a:hover,.timeline-filters a.selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.customer-timeline{position:relative;margin:10px 0 30px}.customer-timeline:before{content:"";position:absolute;left:22px;top:5px;bottom:5px;width:2px;background:var(--border)}.timeline-event{position:relative;display:grid;grid-template-columns:46px 1fr;gap:14px;margin:0 0 15px}.timeline-icon{z-index:1;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--card);border:2px solid var(--accent);font-size:19px}.timeline-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px 16px}.timeline-card h3{margin:7px 0}.timeline-meta{display:flex;gap:10px;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}

/* Phase 29 — customer command snapshot + printable summary */
.customer-command-strip{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:12px;margin:16px 0}.customer-command-card{display:flex;flex-direction:column;padding:14px 16px;border:1px solid var(--border);border-top:4px solid var(--accent);border-radius:13px;background:var(--card);text-decoration:none!important;color:var(--text)!important}.customer-command-card strong{font-size:27px;margin:5px 0}.customer-command-card small{color:var(--muted)}.customer-command-card.danger{border-top-color:#ef4444}.customer-command-card.timeline{border-top-color:#8b5cf6}.print-summary{max-width:1100px;margin:0 auto}.summary-footer{margin-top:25px;color:var(--muted);font-size:12px}@media(max-width:1000px){.customer-command-strip{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.customer-command-strip{grid-template-columns:1fr 1fr}}@media print{.no-print,.sidebar,.topbar,.app-header{display:none!important}.main-content,.content{margin:0!important;padding:0!important}.print-summary{border:0!important;box-shadow:none!important;max-width:none!important}body{background:#fff!important;color:#000!important}.print-summary table{width:100%;border-collapse:collapse}.print-summary th,.print-summary td{border:1px solid #bbb;padding:7px;color:#000!important}}

/* Phase 33 — follow-up scheduler health */
.scheduler-health{border-left:5px solid var(--border)}.scheduler-health.good{border-left-color:#22c55e}.scheduler-health.warning{border-left-color:#f59e0b}.scheduler-health.danger{border-left-color:#ef4444}.scheduler-health-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;margin:12px 0}.scheduler-health-grid>div{padding:12px;border:1px solid var(--border);border-radius:10px}.scheduler-health-grid span{display:block;color:var(--muted);font-size:12px}.scheduler-health-grid strong{display:block;margin-top:5px}@media(max-width:760px){.scheduler-health-grid{grid-template-columns:1fr 1fr}}

/* Phase 34 — release readiness */
.readiness-banner{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px;border-radius:16px;margin-bottom:16px;border:1px solid var(--border);background:var(--card)}.readiness-banner.ready{border-left:6px solid #22c55e}.readiness-banner.attention{border-left:6px solid #f59e0b}.readiness-banner h2{margin:4px 0}.readiness-score{text-align:center;min-width:120px}.readiness-score strong{display:block;font-size:30px}.readiness-score span{color:var(--muted);font-size:12px}@media(max-width:650px){.readiness-banner{align-items:flex-start;flex-direction:column}.readiness-score{text-align:left}}
\n/* Phase 35 */\n.integrity-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;margin:16px 0}.integrity-grid>div{padding:14px;border:1px solid var(--border);border-radius:12px}.integrity-grid span{display:block;color:var(--muted);font-size:12px}.integrity-grid strong{display:block;margin-top:6px}@media(max-width:900px){.integrity-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.integrity-grid{grid-template-columns:1fr}}\n
/* Phase 35.1 diagnostic readability */
.integrity-grid-readable>div{display:flex!important;flex-direction:column!important;gap:7px!important;min-height:72px!important;background:rgba(127,127,127,.035)!important}.integrity-grid-readable span{line-height:1.35!important}.integrity-grid-readable strong{line-height:1.35!important;word-break:break-word!important}

/* Phase 36 — final diagnostic UI polish */
.db-integrity-cards{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;margin:18px 0}
.db-integrity-card{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0;padding:16px;border:1px solid var(--border);border-radius:14px;background:rgba(127,127,127,.045)}
.db-integrity-card .db-integrity-label{display:block;width:100%;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);line-height:1.35}
.db-integrity-card code{display:block;max-width:100%;padding:5px 7px;border-radius:7px;overflow-wrap:anywhere;word-break:break-word;line-height:1.35}
.db-integrity-card strong{display:block;width:100%;font-size:15px;line-height:1.4;overflow-wrap:anywhere}
@media(max-width:1100px){.db-integrity-cards{grid-template-columns:repeat(3,minmax(160px,1fr))}}
@media(max-width:760px){.db-integrity-cards{grid-template-columns:repeat(2,minmax(140px,1fr))}}
@media(max-width:480px){.db-integrity-cards{grid-template-columns:1fr}}

/* Phase 37 — production validation */
.validation-checklist{display:grid;gap:10px;margin-top:14px}.validation-checklist label{display:block;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:rgba(127,127,127,.035);line-height:1.45}

/* Phase 38 — editable manual + top-right Events polish */
.top-action-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:38px!important;padding:0!important;text-decoration:none!important;color:inherit!important}.top-action-icon:hover{text-decoration:none!important}
.manual-page{margin-bottom:16px}.manual-body{white-space:normal;line-height:1.7;margin:12px 0 16px}.manual-page h2{margin-bottom:8px}

/* Phase 39 — IMS Work visual refresh inspired by approved dashboard concept */
:root{--ims-glow:0 10px 30px rgba(0,0,0,.10)}
.sidebar{box-shadow:8px 0 28px rgba(0,0,0,.08)}
.sidebar .brand{padding-bottom:20px}
.sidebar nav a{border-radius:9px;margin:3px 8px;padding:10px 12px;transition:transform .14s ease,background .14s ease,border-color .14s ease}
.sidebar nav a:hover{transform:translateX(2px)}
.topbar{gap:20px;backdrop-filter:blur(14px)}
.top-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
.icon-button.quick-link,.top-actions>.icon-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:38px!important;min-width:42px!important;padding:0!important;border:1px solid var(--border)!important;border-radius:10px!important;text-decoration:none!important;line-height:1!important}
.icon-button.quick-link:hover{transform:translateY(-1px);text-decoration:none!important}
.card{box-shadow:var(--ims-glow)}
.btn{border-radius:9px;font-weight:700}
.btn-manual{display:inline-flex;align-items:center;gap:7px;background:linear-gradient(135deg,#4f7cff,#6d5dfc);color:#fff!important;border:0}
.manual-edit-btn{display:inline-flex;align-items:center;gap:7px}
.stat-card,.project-stat,.attention-stat{transition:transform .14s ease,border-color .14s ease}
.stat-card:hover,.project-stat:hover,.attention-stat:hover{transform:translateY(-2px)}
.context-help .btn{box-shadow:none}
@media(max-width:900px){.top-actions{gap:5px}.icon-button.quick-link,.top-actions>.icon-button{width:38px!important;min-width:38px!important}}


/* Phase 40 — colorful dashboard operations visual upgrade */
.dashboard-section{position:relative;overflow:hidden}
.dashboard-section:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,#6366f1,#8b5cf6,#06b6d4);opacity:.9}
.dashboard-section-toolbar{padding-bottom:4px}

.attention-grid-polished{grid-template-columns:repeat(5,minmax(150px,1fr))}
.attention-grid-polished .attention-card{
  position:relative;overflow:hidden;min-height:78px;padding:15px 16px!important;
  border:1px solid var(--border);background:var(--card)!important;
  box-shadow:0 7px 18px rgba(0,0,0,.07);transition:.16s ease
}
.attention-grid-polished .attention-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}
.attention-grid-polished .attention-card:hover{transform:translateY(-2px);border-color:var(--attention-accent)}
.attention-grid-polished .attention-card span{font-weight:700}
.attention-grid-polished .attention-card strong{font-size:28px}
.attention-unassigned{--attention-accent:#f59e0b}.attention-unassigned:before{background:#f59e0b}
.attention-overdue{--attention-accent:#ef4444}.attention-overdue:before{background:#ef4444}
.attention-waiting{--attention-accent:#8b5cf6}.attention-waiting:before{background:#8b5cf6}
.attention-review{--attention-accent:#22c55e}.attention-review:before{background:#22c55e}
.attention-followups{--attention-accent:#ec4899}.attention-followups:before{background:#ec4899}

.dashboard-kpi-grid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px}
.dashboard-kpi{
  display:flex;align-items:center;gap:14px;min-height:104px;position:relative;overflow:hidden;
  border-top:3px solid var(--kpi-accent);transition:.16s ease
}
.dashboard-kpi:hover{transform:translateY(-2px);border-color:var(--kpi-accent)}
.dashboard-kpi .kpi-icon{
  display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:14px;
  font-size:23px;background:color-mix(in srgb,var(--kpi-accent) 16%,transparent);
  border:1px solid color-mix(in srgb,var(--kpi-accent) 32%,transparent)
}
.dashboard-kpi .value{font-size:31px;line-height:1;margin-top:5px}
.dashboard-kpi small{display:block;color:var(--muted);margin-top:6px;line-height:1.3}
.kpi-customers{--kpi-accent:#06b6d4}.kpi-requests{--kpi-accent:#8b5cf6}.kpi-orders{--kpi-accent:#f59e0b}.kpi-today{--kpi-accent:#22c55e}

.project-visual-grid{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:13px}
.project-visual-card{
  position:relative;overflow:hidden;min-height:96px;border-left:1px solid var(--border)!important;
  border-top:3px solid var(--project-accent,#64748b)!important;transition:.16s ease
}
.project-visual-card:hover{transform:translateY(-2px);border-color:var(--project-accent,#64748b)!important}
.project-visual-card .value{font-size:29px}
.project-open{--project-accent:#f59e0b}.project-planning{--project-accent:#3b82f6}
.project-active{--project-accent:#22c55e}.project-hold{--project-accent:#8b5cf6}
.project-overdue{--project-accent:#ef4444}.project-due{--project-accent:#f97316}
.project-completed{--project-accent:#10b981}.project-total{--project-accent:#64748b}
.project-milestone-open{--project-accent:#06b6d4}.project-milestone-blocked{--project-accent:#ec4899}
.project-milestone-overdue{--project-accent:#ef4444}

@media(max-width:1200px){
 .attention-grid-polished{grid-template-columns:repeat(3,minmax(150px,1fr))}
 .dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}
}
@media(max-width:700px){
 .attention-grid-polished,.dashboard-kpi-grid{grid-template-columns:1fr}
 .dashboard-kpi{min-height:90px}
}

/* Phase 41 — operations page visual consistency */
.phase41-hero{position:relative;overflow:hidden;border-top:3px solid transparent;border-image:linear-gradient(90deg,#6366f1,#8b5cf6,#06b6d4) 1}
.control-bucket{position:relative;overflow:hidden;border-top:3px solid var(--ops-accent,#64748b)!important;transition:.16s ease}
.control-bucket:hover{transform:translateY(-2px);border-color:var(--ops-accent,#64748b)!important}
.control-bucket.selected{box-shadow:0 0 0 2px color-mix(in srgb,var(--ops-accent,#64748b) 40%,transparent),0 8px 22px rgba(0,0,0,.08)}
.ops-attention{--ops-accent:#f97316}.ops-unassigned{--ops-accent:#f59e0b}.ops-overdue{--ops-accent:#ef4444}.ops-today{--ops-accent:#06b6d4}.ops-waiting{--ops-accent:#8b5cf6}.ops-active{--ops-accent:#3b82f6}.ops-completed{--ops-accent:#22c55e}.ops-closed{--ops-accent:#64748b}

.phase41-kpi-grid{gap:14px}
.phase41-kpi{position:relative;overflow:hidden;min-height:92px;border-top:3px solid var(--phase41-accent,#64748b)!important;transition:.16s ease}
.phase41-kpi:hover{transform:translateY(-2px);border-color:var(--phase41-accent,#64748b)!important}
.phase41-kpi .muted{font-weight:700}.phase41-kpi .value{font-size:30px;margin-top:6px}
.queue-active{--phase41-accent:#22c55e}.queue-today{--phase41-accent:#06b6d4}.queue-unassigned{--phase41-accent:#f59e0b}.queue-urgent{--phase41-accent:#ef4444}.queue-running{--phase41-accent:#8b5cf6}
.projects-total{--phase41-accent:#64748b}.projects-planning{--phase41-accent:#3b82f6}.projects-active{--phase41-accent:#22c55e}.projects-completed{--phase41-accent:#10b981}

.phase41-followup-grid .followup-stat{border-top-width:3px!important;transition:.16s ease}
.phase41-followup-grid .followup-stat:hover{transform:translateY(-2px)}
.phase41-followup-grid .followup-stat.selected{box-shadow:0 8px 22px rgba(0,0,0,.10)}

.table-wrap{border-radius:12px;overflow-x:auto}
.table tbody tr,table tbody tr{transition:background .12s ease}
.table tbody tr:hover,table tbody tr:hover{background:rgba(127,127,127,.045)}


/* Phase 41.1 — Dashboard vertical spacing correction
   Keep the Work Order Attention panel visually separate from the primary KPI row. */
.dashboard-section-attention{margin-bottom:18px!important}
.dashboard-kpi-grid{margin-top:0!important;margin-bottom:22px!important}
@media(max-width:700px){
  .dashboard-section-attention{margin-bottom:14px!important}
}

/* Phase 42 — core business pages visual refresh */
.phase42-kpi-grid{gap:14px;margin-bottom:20px}
.phase42-kpi{position:relative;overflow:hidden;min-height:94px;border-top:3px solid var(--p42-accent,#64748b)!important;transition:.16s ease}
.phase42-kpi:hover{transform:translateY(-2px);border-color:var(--p42-accent,#64748b)!important}
.phase42-kpi .muted{font-weight:700;line-height:1.35}.phase42-kpi .value{font-size:30px;margin-top:7px}
.p42-customers-active{--p42-accent:#22c55e}.p42-customers-inactive{--p42-accent:#f59e0b}.p42-customers-new{--p42-accent:#06b6d4}.p42-customers-work{--p42-accent:#8b5cf6}
.p42-est-draft{--p42-accent:#64748b}.p42-est-sent{--p42-accent:#3b82f6}.p42-est-approved{--p42-accent:#22c55e}.p42-est-value{--p42-accent:#f59e0b}
.p42-inv-draft{--p42-accent:#64748b}.p42-inv-open{--p42-accent:#f59e0b}.p42-inv-paid{--p42-accent:#22c55e}.p42-inv-outstanding{--p42-accent:#ef4444}
.p42-sch-today{--p42-accent:#22c55e}.p42-sch-tomorrow{--p42-accent:#06b6d4}.p42-sch-unscheduled{--p42-accent:#f59e0b}.p42-sch-overdue{--p42-accent:#ef4444}
@media(max-width:700px){.phase42-kpi-grid{grid-template-columns:1fr}}

/* Phase 43 — Schedule & Dispatch readability polish */
.dispatch-heading-card{position:relative;overflow:hidden;border-top:3px solid #06b6d4!important}
.schedule-week{gap:12px}
.schedule-day{position:relative;overflow:hidden;border-top:3px solid #475569!important;transition:.16s ease}
.schedule-day:hover{transform:translateY(-2px)}
.schedule-day-today{border-top-color:#22c55e!important;box-shadow:0 0 0 1px color-mix(in srgb,#22c55e 35%,transparent),0 8px 22px rgba(0,0,0,.08)}
.schedule-day-today .schedule-day-head strong:before{content:"● ";color:#22c55e}
.schedule-day-has-jobs:not(.schedule-day-today){border-top-color:#3b82f6!important}
.schedule-day-empty{opacity:.88}
.schedule-day-head{padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--border)}
.schedule-day-head>div{display:flex;flex-direction:column;gap:3px}
.schedule-job{
 display:flex!important;flex-direction:column;gap:5px;padding:12px!important;margin-bottom:10px;
 border:1px solid var(--border)!important;border-left:4px solid #3b82f6!important;border-radius:10px!important;
 background:color-mix(in srgb,var(--card) 90%,#3b82f6 10%)!important;color:var(--text)!important;
 text-decoration:none!important;transition:.15s ease
}
.schedule-job:hover{transform:translateY(-1px);border-color:#60a5fa!important;background:color-mix(in srgb,var(--card) 84%,#3b82f6 16%)!important;text-decoration:none!important}
.schedule-job strong{color:var(--text)!important;font-size:14px}
.schedule-job>span,.schedule-job>small{color:var(--muted)!important;line-height:1.35}
.schedule-job-time{color:#60a5fa!important;font-weight:800;font-size:12px;letter-spacing:.02em}
.schedule-job-urgent{border-left-color:#ef4444!important;background:color-mix(in srgb,var(--card) 90%,#ef4444 10%)!important}
.schedule-job-urgent .schedule-job-time{color:#f87171!important}
.schedule-empty{padding:16px 6px;text-align:center}
.unscheduled-section{position:relative;overflow:hidden;border-top:3px solid #f59e0b!important}
@media(max-width:900px){.schedule-week{grid-template-columns:repeat(2,minmax(220px,1fr))}}
@media(max-width:560px){.schedule-week{grid-template-columns:1fr}}

/* Phase 44 — Work Orders / Estimates / Billing visual consistency */
.phase44-kpi-grid{gap:14px;margin-bottom:20px}
.phase44-kpi{position:relative;overflow:hidden;min-height:94px;border-top:3px solid var(--p44-accent,#64748b)!important;transition:.16s ease}
.phase44-kpi:hover{transform:translateY(-2px);border-color:var(--p44-accent,#64748b)!important}
.phase44-kpi .muted{font-weight:700}.phase44-kpi .value{font-size:30px;margin-top:7px}
.p44-wo-open{--p44-accent:#22c55e}.p44-wo-today{--p44-accent:#06b6d4}.p44-wo-unassigned{--p44-accent:#f59e0b}.p44-wo-closed{--p44-accent:#8b5cf6}
.phase44-operations-card,.phase44-register-card,.phase44-analytics-card{position:relative;overflow:hidden}
.phase44-operations-card{border-top:3px solid #f59e0b!important}
.phase44-register-card{border-top:3px solid #3b82f6!important}
.phase44-analytics-card{border-top:3px solid #8b5cf6!important}
.phase44-register-card .table-wrap,.phase44-analytics-card .table-wrap{margin-top:8px}
@media(max-width:700px){.phase44-kpi-grid{grid-template-columns:1fr}}

/* Phase 45 — application-wide visual QA and accessibility polish */
:focus-visible{outline:3px solid color-mix(in srgb,#60a5fa 72%,transparent);outline-offset:2px}
.btn,.icon-button,.sidebar nav a,.card a{transition:transform .14s ease,background .14s ease,border-color .14s ease,box-shadow .14s ease}
.btn:hover{transform:translateY(-1px)}
.card h2,.card h3{letter-spacing:-.01em}
.table-wrap{border:1px solid var(--border);border-radius:12px}
table th{font-size:12px;letter-spacing:.025em;text-transform:uppercase}
table td{vertical-align:middle}
.badge{font-weight:700;letter-spacing:.01em}
.page-heading{margin-bottom:18px}
.page-heading h1{letter-spacing:-.025em}
.toolbar{gap:12px}
.toolbar>.actions,.toolbar .actions{display:flex;gap:8px;flex-wrap:wrap}
.form-actions{display:flex;gap:9px;flex-wrap:wrap}
input,select,textarea{border-radius:9px}
textarea{line-height:1.5}
.alert,.notice{border-radius:11px}
@media(max-width:700px){
 .toolbar{align-items:flex-start;flex-direction:column}
 .toolbar>.actions,.toolbar .actions{width:100%}
 .toolbar>.actions .btn,.toolbar .actions .btn{flex:1 1 auto;text-align:center}
 .table-wrap{border-radius:10px}
}

.manual-page-heading{padding-bottom:6px}
.manual-reader-card{position:relative;overflow:hidden;border-top:3px solid #6366f1!important}
.manual-reader-card h2{color:var(--text)}
.manual-reader-card p,.manual-reader-card li{line-height:1.65}

/* Phase 46 — Release QA */
.release-qa-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;border-left:4px solid var(--qa-accent)}
.release-qa-ready{--qa-accent:#22c55e}.release-qa-attention{--qa-accent:#f59e0b}
.release-qa-score{text-align:right;min-width:140px}.release-qa-score strong{display:block;font-size:32px}.release-qa-score span{color:var(--muted);font-size:12px}
.qa-check-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:10px}
.qa-check{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-left:4px solid var(--qa-color);border-radius:10px}
.qa-pass{--qa-color:#22c55e}.qa-fail{--qa-color:#ef4444}
.qa-check small{display:block;color:var(--muted);margin-top:4px}
.qa-manual-list{display:grid;gap:9px;margin-top:14px}.qa-manual-list>div{display:grid;grid-template-columns:160px 1fr;gap:14px;padding:12px;border:1px solid var(--border);border-radius:10px}
@media(max-width:700px){.release-qa-hero{align-items:flex-start;flex-direction:column}.release-qa-score{text-align:left}.qa-check-grid{grid-template-columns:1fr}.qa-manual-list>div{grid-template-columns:1fr;gap:4px}}

/* Phase 48 — Work Order status differentiation + SCP Release QA card consistency */
/* Completed = blue review state; In Progress = green active-work state. */
.wo-status-completed{background:rgba(37,99,235,.18)!important;color:#bfdbfe!important;border-color:rgba(59,130,246,.55)!important}
.wo-status-progress{background:rgba(34,197,94,.17)!important;color:#bbf7d0!important;border-color:rgba(34,197,94,.48)!important}
tr.wo-status-completed td{background:rgba(37,99,235,.085)!important;color:inherit}
tr.wo-status-progress td{background:rgba(34,197,94,.075)!important;color:inherit}
tr.wo-status-completed:hover td{background:rgba(37,99,235,.13)!important}
tr.wo-status-progress:hover td{background:rgba(34,197,94,.12)!important}
.admin-integrity{--scp-accent:#64748b}
.admin-followups{--scp-accent:#f59e0b}
.admin-release-qa{--scp-accent:#3b82f6}


/* Phase 48.1 — NEW Work Orders demand immediate visual attention */
.wo-status-new{background:rgba(239,68,68,.22)!important;color:#fecaca!important;border-color:rgba(248,113,113,.72)!important}
.badge.wo-status-new{background:#dc2626!important;color:#fff!important;border:1px solid #f87171!important;box-shadow:0 0 0 1px rgba(239,68,68,.18),0 0 12px rgba(239,68,68,.24)}
tr.wo-status-new td{background:rgba(127,29,29,.20)!important;color:inherit}
tr.wo-status-new:hover td{background:rgba(153,27,27,.27)!important}

/* Phase 48.2 — stronger Work Order lifecycle color separation */
/* Open Work Orders is an attention KPI: red. */
.p44-wo-open{--p44-accent:#ef4444!important}
.p44-wo-open::before{background:#ef4444!important}

/* In Progress = yellow/gold active work; Closed remains green final history. */
.wo-status-progress{background:rgba(234,179,8,.18)!important;color:#fef08a!important;border-color:rgba(250,204,21,.62)!important}
.badge.wo-status-progress{background:rgba(202,138,4,.34)!important;color:#fef9c3!important;border:1px solid rgba(250,204,21,.58)!important}
tr.wo-status-progress td{background:rgba(161,98,7,.16)!important;color:#fef08a!important}
tr.wo-status-progress:hover td{background:rgba(161,98,7,.22)!important}

/* Closed = green final state, intentionally distinct from active work. */
.wo-status-closed{background:rgba(16,185,129,.20)!important;color:#a7f3d0!important;border-color:rgba(52,211,153,.58)!important}
.badge.wo-status-closed{background:rgba(5,150,105,.30)!important;color:#a7f3d0!important;border:1px solid rgba(52,211,153,.50)!important}
tr.wo-status-closed td{background:rgba(5,150,105,.16)!important;color:#a7f3d0!important}
tr.wo-status-closed:hover td{background:rgba(5,150,105,.22)!important}


/* Phase 49 — Work Order lifecycle visual consistency */
.p44-wo-open{--p44-accent:#ef4444!important;border-top-color:#ef4444!important}
.p44-wo-open::before{background:#ef4444!important}
.attention-blue{border-color:rgba(59,130,246,.55)!important;background:rgba(30,64,175,.22)!important;color:#bfdbfe!important}
.wo-status-legend{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin:12px 0 24px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:rgba(15,23,42,.34)}
.wo-status-legend>div{display:grid;grid-template-columns:16px 1fr;column-gap:8px;align-items:center}
.wo-status-legend small{grid-column:2;color:var(--muted);margin-top:2px}
.legend-dot{width:12px;height:12px;border-radius:50%;display:inline-block;box-shadow:0 0 10px currentColor}
.legend-new{background:#ef4444;color:#ef4444}.legend-progress{background:#eab308;color:#eab308}.legend-completed{background:#3b82f6;color:#3b82f6}.legend-hold{background:#f59e0b;color:#f59e0b}.legend-closed{background:#10b981;color:#10b981}
@media(max-width:900px){.wo-status-legend{grid-template-columns:repeat(2,minmax(150px,1fr))}}
@media(max-width:520px){.wo-status-legend{grid-template-columns:1fr}}

/* Phase 51 — Release QA Command Center */
.release-command-bar{margin:0 0 16px;padding:16px 18px;border-top:3px solid #22d3ee;background:linear-gradient(135deg,rgba(34,211,238,.06),rgba(59,130,246,.04));}
.release-command-progress{display:flex;justify-content:space-between;gap:16px;align-items:center}.release-command-progress div{display:flex;flex-direction:column;gap:3px}.release-command-progress span{font-size:.86rem;color:var(--muted)}.release-command-progress strong{font-size:1.5rem}
.release-progress-track{height:9px;border-radius:999px;background:rgba(148,163,184,.16);overflow:hidden;margin:12px 0}.release-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#22d3ee);transition:width .25s ease}
.release-command-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.qa-filter.active{outline:2px solid rgba(34,211,238,.5);background:rgba(34,211,238,.12)}
.release-test{scroll-margin-top:90px}.release-test:target{box-shadow:0 0 0 2px rgba(34,211,238,.65),0 12px 32px rgba(0,0,0,.18)}
@media(max-width:700px){.release-command-progress{align-items:flex-start}.release-command-actions .btn{flex:1 1 auto;text-align:center}}

/* Phase 52.2 — Release Workflow shared-theme restoration.
   These layout rules were introduced with persistent Release Workflow Sign-Off
   and were accidentally omitted by a later stylesheet build. Keep this page on
   the shared IMS Work card/theme system; only layout/status accents live here. */
.release-signoff-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.release-signoff-stat{border-top:3px solid var(--rs)!important;min-width:0}
.release-signoff-stat span{display:block;color:var(--muted);font-weight:700}
.release-signoff-stat strong{display:block;font-size:30px;margin-top:6px}
.rs-pass{--rs:#22c55e}.rs-fail{--rs:#ef4444}.rs-remain{--rs:#f59e0b}.rs-total{--rs:#06b6d4}
.release-test-list{display:grid;gap:12px;margin-top:16px}
.release-test{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.8fr);gap:20px;border-left:4px solid var(--rt,#64748b)!important}
.release-test.rt-pass{--rt:#22c55e}.release-test.rt-fail{--rt:#ef4444}.release-test.rt-not_tested{--rt:#64748b}
.release-test-copy h3{margin-top:0}.release-test-copy p{margin-bottom:10px}
.release-test-launch{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}
.release-test-form textarea{width:100%;margin-bottom:8px}
.release-test-actions{display:flex;gap:7px;flex-wrap:wrap}
@media(max-width:850px){.release-signoff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.release-test{grid-template-columns:1fr}}
@media(max-width:520px){.release-signoff-grid{grid-template-columns:1fr}}
