@import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;600;700;900&display=swap');

:root{--ink:#173b3a;--muted:#687c7d;--line:#dfe9e7;--surface:#fff;--canvas:#f3f8f7;--primary:#006d6a;--primary-dark:#005653;--soft:#e6f4f2;--accent-blue:#0072bc;--accent-yellow:#ffc20e;--accent-red:#c1272d;--danger:#b9343a;--radius:18px;--shadow:0 8px 28px rgba(13,74,71,.065);font-family:'Source Sans Pro','Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--canvas);color:var(--ink)}
h1,h2,h3{font-family:'Source Sans Pro','Segoe UI',Arial,sans-serif;letter-spacing:-.025em}
h1{font-size:clamp(2rem,3vw,2.75rem);font-weight:900}
h2{font-weight:900}
h3{font-weight:900}
a,button,input,textarea,select{transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,transform .2s}
:focus-visible{outline:3px solid rgba(89,108,236,.35);outline-offset:3px}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* App shell */
.shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:29px 17px 18px;background:linear-gradient(168deg,#043f3d 0%,#075654 58%,#063a48 100%);color:#d1e9e6;border:0;box-shadow:8px 0 32px rgba(4,60,57,.1);z-index:10}
.brand{display:flex;align-items:center;padding:0 10px;color:#fff;line-height:1}
.brand:hover{color:#fff;text-decoration:none}
.brand-logo{display:block;object-fit:contain}
.brand-logo-sidebar{width:100%;height:66px;object-position:left center}
.sidebar-nav{display:flex;flex-direction:column;gap:4px;margin-top:34px}
.sidebar-label{margin:7px 13px 11px;color:#7585ac;font-size:.64rem;letter-spacing:.15em;font-weight:800}
.sidebar-label-secondary{margin-top:24px}
.sidebar .nav-link{position:relative;display:flex;align-items:center;gap:12px;min-height:45px;padding:11px 13px;color:#aebada;border-radius:11px;font-size:.86rem;font-weight:650}
.sidebar .nav-link .icon{width:18px;height:18px;stroke-width:1.7}
.sidebar .nav-link:hover{color:#fff;background:rgba(255,255,255,.075);text-decoration:none}
.sidebar .nav-link.active{color:#fff;background:linear-gradient(100deg,#536bf0,#6764d6);box-shadow:0 8px 18px rgba(71,81,192,.28)}
.sidebar .nav-link.active::after{content:'';position:absolute;right:13px;width:5px;height:5px;border-radius:50%;background:#fff}
.sidebar-footer{display:flex;align-items:center;gap:8px;margin-top:auto;padding:15px 12px 3px;border-top:1px solid rgba(255,255,255,.09);color:#899ac1;font-size:.75rem}
.sidebar-footer-dot,.pulse-dot,.status-dot{width:8px;height:8px;border-radius:50%;background:#42d6ac;box-shadow:0 0 0 4px rgba(66,214,172,.13)}
.app-main{min-width:0}
.topbar{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;height:70px;padding:0 clamp(24px,3vw,50px);background:rgba(255,255,255,.91);color:var(--ink);border-bottom:1px solid #e8edf4;box-shadow:0 3px 12px rgba(31,46,70,.025);backdrop-filter:blur(16px);z-index:5}
.topbar-context{color:#8390a5;font-size:.83rem}.topbar-context span{margin:0 9px;color:#bbc4d2}.topbar-context strong{color:#273851;font-weight:800}
.user-menu{gap:10px;color:#354761;font-size:.82rem}.user-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#e7ebfc;color:#5967c8;font-weight:800}.user-name{font-weight:700}.user-menu form{margin-left:9px}.link-button{padding:8px 12px;border-radius:9px;color:#72819a}.link-button:hover{background:#f0f2fa;color:#344ac2}
.content{max-width:1600px;width:100%;margin:0 auto;padding:clamp(26px,3vw,48px)}
.content>*{animation:rise-in .48s both}.content>*:nth-child(2){animation-delay:.045s}.content>*:nth-child(3){animation-delay:.09s}.content>*:nth-child(4){animation-delay:.135s}
@keyframes rise-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* Shared components */
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.page-heading h1{margin:0 0 7px}.page-heading p{margin:0}.eyebrow{display:block;margin:0 0 8px;color:#6671d3;font-size:.66rem;font-weight:800;letter-spacing:.17em}.muted{color:var(--muted)}.small{font-size:.83rem}.back-link{display:inline-block;margin-bottom:15px;color:#7988a0;font-size:.83rem;font-weight:700}.back-link:hover{color:var(--primary);text-decoration:none}.meta-separator{padding:0 5px;color:#b5c1cd}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 16px;border-radius:10px;font-size:.85rem;font-weight:800;line-height:1.2;text-align:center}.button .icon{width:17px;height:17px}.button.primary{background:linear-gradient(110deg,#5268e8,#6664dc);color:#fff;box-shadow:0 7px 17px rgba(80,99,220,.22)}.button.primary:hover{background:linear-gradient(110deg,#4359d3,#5553c6);transform:translateY(-2px);box-shadow:0 10px 20px rgba(80,99,220,.28)}.button.secondary{border-color:#dce3ed;background:#fff;color:#455671;box-shadow:0 2px 5px rgba(38,55,87,.025)}.button.secondary:hover{background:#f7f8ff;border-color:#bfc9ec;color:#4d5ec5;transform:translateY(-2px)}.button:active{transform:translateY(0)}.button.large{min-height:54px}
.panel,.auth-card,.public-card{background:#fff;border:1px solid #e5eaf1;border-radius:18px;box-shadow:var(--shadow)}.panel{padding:clamp(20px,2vw,29px);margin-bottom:22px}.panel h2{font-size:1.12rem}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:21px}.panel-heading h2{margin:0}.panel-heading p{margin:6px 0 0;font-size:.83rem}.heading-actions{display:flex;align-items:center;gap:10px}.heading-actions form{margin:0}.badge{display:inline-flex;align-items:center;min-height:27px;padding:5px 10px;border-radius:8px;background:#eef1ff;color:#5969c3;font-size:.73rem;font-weight:800;white-space:nowrap}.text-action{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:800}.text-action .icon{width:16px;height:16px}.text-action:hover .icon{transform:translateX(3px)}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.detail-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-grid .panel{min-width:0}.card-heading{display:flex;align-items:center;gap:12px;margin-bottom:22px}.card-heading .eyebrow{margin-bottom:5px}.card-heading h2{margin:0}.card-icon,.metric-icon,.table-icon,.empty-icon{display:grid;place-items:center;flex:none;border-radius:12px;background:#eaf0ff;color:#5b73dc}.card-icon{width:43px;height:43px}.card-icon .icon{width:21px;height:21px}.card-icon-violet,.metric-icon-violet,.table-icon-violet{background:#f0eaff;color:#8264ca}.card-icon-green{background:#e3f8ef;color:#25a177}.card-icon-blue,.metric-icon-blue{background:#e9efff;color:#5970dd}
dl{display:grid;grid-template-columns:minmax(100px,.75fr) minmax(0,1.25fr);gap:13px 16px;margin:0}dt{font-size:.77rem;color:#8896a9}dd{font-size:.85rem;color:#283a53;font-weight:750;overflow-wrap:anywhere}.info-card{min-height:230px}.info-card dl{margin-top:6px}.copy-row{display:flex;gap:8px;margin:7px 0 17px}.copy-row input{min-width:0}.share-card>p{font-size:.82rem;margin:-7px 0 16px}.share-card label{display:block;font-size:.75rem}
.data-panel{padding:0;overflow:hidden}.data-panel>.panel-heading{padding:25px 27px 4px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:620px}th,td{padding:15px 19px;border-bottom:1px solid #eef1f6;text-align:left}th{background:#f9fafe;color:#8b98ad;font-size:.66rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap}td{color:#56677f;font-size:.81rem;vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background-color .18s}tbody tr:hover{background:#fafbff}td small{display:block;margin-top:4px;color:#9aa6b7;font-size:.73rem}.table-primary{display:inline-flex;align-items:center;gap:10px;color:#243650;font-weight:800}.table-primary:hover{text-decoration:none;color:#5065d2}.table-icon{width:34px;height:34px;border-radius:10px}.table-icon .icon{width:17px;height:17px}.row-arrow{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;color:#9ba8be}.row-arrow .icon{width:15px;height:15px}.row-arrow:hover{background:#eef1ff;color:var(--primary)}.score-pill{display:inline-block;padding:5px 8px;border-radius:7px;background:#e7f7f0;color:#18885f;font-weight:800}.empty{text-align:center;padding:62px 22px}.empty-icon{width:54px;height:54px;margin:0 auto 15px;border-radius:16px}.empty-icon .icon{width:26px;height:26px}.empty h2,.empty h3{margin-bottom:6px}.empty p{margin:0 0 16px;color:var(--muted)}
input,textarea,select{width:100%;min-height:43px;border:1px solid #d7e0e9;border-radius:10px;padding:10px 12px;background:#fff;color:var(--ink);font:inherit;font-size:.85rem}input:hover,textarea:hover,select:hover{border-color:#afbdd3}input:focus,textarea:focus,select:focus{outline:3px solid rgba(87,103,224,.12);border-color:#6879db}input[readonly]{background:#f9faff;color:#475872}label{font-size:.8rem;font-weight:800;color:#40536c}.form-panel{max-width:980px}.form-grid{gap:21px}.form-field{gap:7px}.form-field small{font-size:.73rem;color:var(--muted)}.form-actions{gap:10px;margin-top:14px}.stack-form{gap:11px}.stack-form .button{align-self:flex-start}.alert{border:1px solid #c8e9d7;background:#e8f8ef;color:#166a46;box-shadow:0 5px 12px rgba(21,116,75,.05)}.alert.error{border-color:#f0c8ce;background:#fff0f1;color:#ab3c4a}

/* Dashboard */
.dashboard-hero{position:relative;display:flex;justify-content:space-between;min-height:255px;padding:36px 44px;margin-bottom:20px;overflow:hidden;border-radius:22px;background:radial-gradient(circle at 82% 20%,rgba(137,152,255,.47),transparent 27%),linear-gradient(118deg,#2b397e,#4457b9 58%,#6872ce);box-shadow:0 20px 35px rgba(55,72,166,.17);color:#fff}.dashboard-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 40%,rgba(255,255,255,.035));pointer-events:none}.hero-copy{position:relative;z-index:1;max-width:555px}.hero-kicker{display:inline-flex;align-items:center;gap:9px;color:#cdd7ff;font-size:.67rem;font-weight:800;letter-spacing:.16em}.dashboard-hero h2{max-width:480px;margin:16px 0 11px;font-size:clamp(1.5rem,2.5vw,2.25rem);line-height:1.24}.dashboard-hero p{max-width:500px;margin:0 0 17px;color:#d9e1ff;font-size:.85rem;line-height:1.55}.hero-link{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:.84rem;font-weight:800}.hero-link:hover{color:#fff}.hero-link .icon{width:16px;height:16px}.hero-art{position:relative;flex:0 0 32%;min-width:210px}.orbit{position:absolute;right:0;top:50%;border:1px solid rgba(255,255,255,.2);border-radius:50%;transform:translateY(-50%)}.orbit-one{width:230px;height:230px}.orbit-two{width:330px;height:330px;right:-50px}.hero-art-card{position:absolute;right:65px;top:50%;display:grid;place-items:center;width:130px;height:117px;border:1px solid rgba(255,255,255,.35);border-radius:22px;background:rgba(255,255,255,.18);box-shadow:0 18px 32px rgba(12,23,90,.16);backdrop-filter:blur(9px);transform:translateY(-50%) rotate(-8deg)}.hero-art-card>.icon{width:45px;height:45px;stroke-width:1.5}.hero-art-card span{position:absolute;left:20px;bottom:17px;width:54px;height:4px;border-radius:10px;background:rgba(255,255,255,.6)}.hero-art-card span:last-child{bottom:9px;width:33px;opacity:.5}
.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:20px;margin-bottom:22px}.metric{position:relative;display:flex;flex-direction:column;justify-content:flex-start;min-height:151px;padding:23px 26px;border:1px solid #e7ebf3;border-radius:18px;background:#fff;color:var(--ink);box-shadow:var(--shadow)}.metric::after{display:none}.metric:nth-child(2){background:#fff}.metric-icon{position:absolute;top:23px;right:24px;width:42px;height:42px;border-radius:12px}.metric-icon .icon{width:21px;height:21px}.metric-label{color:#75849a;font-size:.8rem;font-weight:700}.metric strong{margin-top:11px;font-family:'Source Sans Pro','Segoe UI',Arial,sans-serif;font-size:2.4rem;font-weight:900;line-height:1.05;color:#1a2b47}.metric-foot{margin-top:7px;color:#9aa7b8;font-size:.72rem}

/* Customer and workstation */
.customer-summary{grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr)}.customer-summary .panel{min-height:291px}.customer-summary dl{margin-top:19px}.share-card .copy-row:last-child{margin-bottom:0}
.status-chip{display:inline-flex;align-items:center;gap:9px;padding:8px 13px;border:1px solid #d2ecdf;border-radius:9px;background:#edfaf3;color:#21916c;font-size:.75rem;font-weight:800}.status-dot{width:7px;height:7px;background:#2ab87f;box-shadow:none}
.equipment-hero{display:flex;align-items:center;gap:20px;margin-bottom:21px;padding:22px 27px;border:1px solid #dde5fa;border-radius:18px;background:linear-gradient(110deg,#f0f3ff,#f8faff 65%,#fff);box-shadow:var(--shadow)}.equipment-hero-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:16px;color:#6273d6;background:#e1e8ff}.equipment-hero-icon .icon{width:31px;height:31px}.equipment-hero .eyebrow{margin-bottom:5px}.equipment-hero h2{margin:0 0 4px;font-size:1.1rem}.equipment-hero p{margin:0;color:#7b89a3;font-size:.78rem}.equipment-hero-meta{display:flex;flex-direction:column;gap:5px;margin-left:auto;padding-left:28px;border-left:1px solid #dbe2f3;white-space:nowrap}.equipment-hero-meta span{font-size:.72rem;color:#94a1b4}.equipment-hero-meta strong{font-size:.82rem}.processor-card{display:flex;flex-direction:column}.processor-card dl{grid-template-columns:minmax(88px,.7fr) minmax(0,1.3fr)}.score-box{margin-top:auto;padding:17px 17px 15px;border:1px solid #e8ebff;border-radius:12px;background:#f7f8ff}.score-box>span{display:block;color:#7784a6;font-size:.72rem;font-weight:800}.score-box>strong{display:block;margin:3px 0;font-family:'Source Sans Pro','Segoe UI',Arial,sans-serif;color:#4055c8;font-size:1.55rem;font-weight:800;overflow-wrap:anywhere}.score-box small{display:block;color:#8490aa;font-size:.7rem;overflow-wrap:anywhere}.score-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.score-actions form{margin:0}.score-actions .button{min-height:35px;padding:7px 10px;font-size:.74rem}.lower-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lower-grid table{min-width:400px}

/* Dialog and auth */
dialog{max-width:calc(100% - 28px);border:1px solid #e1e7f3;border-radius:20px;box-shadow:0 30px 90px rgba(13,24,57,.34)}dialog::backdrop{background:rgba(15,25,52,.6);backdrop-filter:blur(5px)}.benchmark-dialog{width:min(600px,calc(100% - 28px));padding:27px;max-height:calc(100vh - 36px)}.benchmark-dialog form{padding:0}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.dialog-close{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:9px;background:#f3f5fa;color:#67758a;font-size:1.35rem;cursor:pointer}.dialog-close:hover{background:#e8edfa;color:#344ac6}.benchmark-dialog h2{font-size:1.5rem}.benchmark-dialog>p{margin:0 0 18px;font-size:.82rem}.dialog-context{display:grid;grid-template-columns:120px minmax(0,1fr);gap:9px 12px;padding:14px;margin-bottom:19px;border-radius:11px;background:#f8f9fd;font-size:.77rem}.dialog-context span{color:#8a98ab}.dialog-context strong{font-weight:750;overflow-wrap:anywhere}.benchmark-dialog label{display:block;margin-bottom:7px}.benchmark-dialog [role=status]{min-height:19px;margin:8px 0 12px;font-size:.74rem}.benchmark-results{gap:7px;max-height:275px}.benchmark-result{border-color:#e5eaf1;border-radius:9px;font-size:.79rem}.benchmark-result:hover,.benchmark-result:focus-visible{background:#f2f4ff;border-color:#aab6ed}.dialog-actions{align-items:center;gap:9px;margin-top:20px}.dialog-actions form{margin:0}
.standalone,.public-body{background:radial-gradient(circle at 10% 10%,#dce5ff,transparent 31%),radial-gradient(circle at 95% 85%,#d9f2f4,transparent 29%),#f5f7fb}.auth-card{width:min(450px,100%);padding:38px}.auth-card h1{font-size:2rem}.auth-card .stack-form .button{align-self:stretch}.public-card{width:min(610px,100%);padding:clamp(28px,5vw,48px)}.public-card .button{max-width:100%}
.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:36px;color:#253956;font-weight:800;letter-spacing:.04em}.auth-brand .brand-logo{width:46px;height:46px;border:1px solid #e1e6ee;box-shadow:0 7px 18px rgba(34,50,78,.09)}.auth-brand small{display:block;margin-top:4px;color:#8290a9;font-size:.55rem;letter-spacing:.1em}.reference-number{margin:16px 0 0;color:#344bc4;font-family:'Source Sans Pro','Segoe UI',Arial,sans-serif;font-size:3rem;font-weight:800;line-height:1}.reference-number+p{margin:6px 0 20px}.public-card .eyebrow{margin-bottom:13px}.public-card h1{font-size:clamp(1.9rem,4vw,2.5rem)}.public-card>p{color:#64758e}.public-card strong{color:#344bc4}

@media(max-width:1180px){.detail-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid.three>.panel:last-child{grid-column:1/-1}.lower-grid{grid-template-columns:1fr}}
@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:relative;flex-direction:column;height:auto;padding:15px 19px;box-shadow:none}.brand{padding:0}.sidebar-label,.sidebar-footer{display:none}.sidebar-nav{flex-direction:row;gap:7px;overflow:auto;margin-top:15px}.sidebar .nav-link{white-space:nowrap;min-height:38px;padding:8px 11px}.sidebar .nav-link.active::after{display:none}.topbar{position:relative;height:58px}.content{padding:27px 20px}.customer-summary{grid-template-columns:1fr 1fr}.user-menu .user-avatar{display:grid}}
@media(max-width:680px){.topbar{padding:0 20px}.topbar-context{max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-name{display:none!important}.user-menu form{margin-left:0}.page-heading{flex-direction:column;align-items:flex-start}.page-heading>.button{align-self:flex-start}.dashboard-hero{min-height:260px;padding:28px}.hero-art{display:none}.metrics,.detail-grid,.detail-grid.three,.customer-summary,.lower-grid{grid-template-columns:1fr}.detail-grid.three>.panel:last-child{grid-column:auto}.panel-heading{align-items:flex-start;flex-direction:column}.heading-actions{flex-wrap:wrap}.equipment-hero{align-items:flex-start;flex-wrap:wrap}.equipment-hero-meta{width:100%;margin:0;padding:10px 0 0;border-left:0;border-top:1px solid #dbe2f3}.copy-row{flex-direction:column}.copy-row .button{width:100%}.dialog-actions{flex-direction:column}.dialog-actions form,.dialog-actions .button{width:100%}.status-chip{align-self:flex-start}}
@media(max-width:440px){.content{padding:23px 15px}.topbar{padding:0 15px}.brand{font-size:.9rem}.sidebar .nav-link{font-size:.75rem}.sidebar .nav-link .icon{width:15px;height:15px}.dashboard-hero h2{font-size:1.55rem}.equipment-hero{padding:19px}.auth-card{padding:28px}.dialog-context{grid-template-columns:1fr}.dialog-context strong{margin-bottom:5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Analytical dashboard */
.analytics-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.analytics-metrics .metric{min-height:145px;padding:22px}
.analytics-metrics .metric strong{font-size:2.05rem}
.analytics-metrics .metric-label{max-width:calc(100% - 42px)}
.metric-icon-teal{background:#e6f7fa;color:#2499a8}
.metric-icon-green{background:#e4f8ed;color:#24a16d}
.analytics-heading{margin:36px 0 19px}
.analytics-heading h2{margin:0 0 5px;font-size:1.35rem}
.analytics-heading p{margin:0;font-size:.8rem}
.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.chart-card{min-width:0;min-height:355px;padding:25px}
.chart-card .panel-heading,.ranking-panel .panel-heading{margin-bottom:21px}
.chart-card .panel-heading h2,.ranking-panel .panel-heading h2{font-size:1.05rem}
.chart-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:11px;background:#eff1ff;color:#6270cf}
.chart-icon .icon{width:19px;height:19px}
.chart-card-ram .chart-icon{background:#e8f8f8;color:#2797a1}
.chart-list{display:grid;gap:17px}
.chart-row{min-width:0}
.chart-row-top,.chart-row-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}
.chart-row-top{margin-bottom:7px;font-size:.76rem}
.chart-row-top strong{color:#4557bf;font-size:.77rem}
.chart-label{min-width:0;max-width:calc(100% - 55px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#3c4d68;font-weight:750}
.chart-row-bottom span{min-width:18px;text-align:right;color:#9aa6bb;font-size:.71rem}
.chart-progress,.ranking-row progress{display:block;width:100%;height:9px;border:0;border-radius:999px;overflow:hidden;appearance:none;background:#edf0f7}
.chart-progress::-webkit-progress-bar,.ranking-row progress::-webkit-progress-bar{border-radius:999px;background:#edf0f7}
.chart-progress::-webkit-progress-value,.ranking-row progress::-webkit-progress-value{border-radius:999px;background:linear-gradient(90deg,#596eea,#8991ed)}
.chart-progress::-moz-progress-bar,.ranking-row progress::-moz-progress-bar{border-radius:999px;background:linear-gradient(90deg,#596eea,#8991ed)}
.chart-card-ram .chart-progress::-webkit-progress-value{background:linear-gradient(90deg,#29aeb2,#74d0c6)}
.chart-card-ram .chart-progress::-moz-progress-bar{background:linear-gradient(90deg,#29aeb2,#74d0c6)}
.chart-empty{padding:47px 20px;text-align:center;border:1px dashed #dbe2ef;border-radius:12px;color:#98a4b7;font-size:.82rem}
.ranking-panel{padding:25px}
.ranking-list{display:grid;gap:2px}
.ranking-row{display:grid;grid-template-columns:30px minmax(0,1fr) 115px 60px;align-items:center;gap:15px;padding:13px 7px;border-bottom:1px solid #eef1f6}
.ranking-row:last-child{border-bottom:0}
.ranking-position{color:#adb8ca;font-family:'Source Sans Pro','Segoe UI',Arial,sans-serif;font-size:.82rem;font-weight:800}
.ranking-main{min-width:0}.ranking-main a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:8px;color:#354763;font-size:.82rem;font-weight:800}.ranking-main a:hover{color:#5268e8}.ranking-row progress{height:7px}
.ranking-row>strong{text-align:right;color:#33445f;font-size:.78rem}.ranking-row>strong small{display:block;margin-top:2px;color:#9aa7b8;font-size:.68rem;font-weight:600}
.ranking-percent{text-align:right;color:#596ccf;font-size:.76rem;font-weight:800}
@media(max-width:1250px){.analytics-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.analytics-grid{grid-template-columns:1fr}}
@media(max-width:560px){.analytics-metrics{grid-template-columns:1fr}.ranking-row{grid-template-columns:22px minmax(0,1fr) 70px;gap:8px}.ranking-percent{display:none}.ranking-row>strong small{font-size:.61rem}}

/* Shared download page */
.download-card{width:min(590px,100%);text-align:left}
.download-card .auth-brand{margin-bottom:28px}
.download-card>p{margin:11px 0 22px;font-size:.92rem}
.download-card>.button{width:100%;margin:3px 0 25px}
.download-steps{display:grid;gap:0;padding:4px 18px;border:1px solid #e4eaf3;border-radius:14px;background:#f9faff}
.download-steps>div{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid #e7ecf4}
.download-steps>div:last-child{border-bottom:0}
.download-steps span{display:grid;place-items:center;flex:none;width:31px;height:31px;border-radius:9px;background:#e9edff;color:#5568cc;font-size:.72rem;font-weight:800}
.download-steps p{margin:0;color:#697993;font-size:.8rem;line-height:1.45}
.download-steps strong{color:#34465e}
.download-card .download-help{margin:18px 0 0;color:#7d8ba3;font-size:.75rem}

/* Users and access */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.access-summary{display:grid;grid-template-columns:repeat(2,minmax(0,190px)) minmax(0,1fr);gap:16px;margin-bottom:21px}
.access-stat,.access-note{min-height:104px;padding:19px 21px;border:1px solid #e5eaf1;border-radius:16px;background:#fff;box-shadow:var(--shadow)}
.access-stat span,.access-note span{display:block;color:#8290a6;font-size:.76rem}
.access-stat strong{display:block;margin-top:8px;color:#354ac5;font-family:'Source Sans Pro','Segoe UI',Arial,sans-serif;font-size:1.75rem;line-height:1}
.access-note{display:flex;flex-direction:column;justify-content:center;background:linear-gradient(110deg,#eef1ff,#f7f9ff)}
.access-note strong{margin-bottom:5px;color:#3548a6;font-size:.86rem}
.user-list-heading{align-items:flex-end}
.user-search{display:flex;align-items:center;gap:8px;margin:0}
.user-search input{min-width:230px}
.user-cell{display:inline-flex;align-items:center;gap:10px}
.user-cell strong{display:block;color:#34445f;font-size:.8rem}
.user-initial{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:10px;background:#ebefff;color:#5d6bcf;font-weight:800}
.role-badge{display:inline-flex;padding:5px 9px;border-radius:8px;background:#eff2fc;color:#5b69a5;font-size:.72rem;font-weight:800}
.access-status{display:inline-flex;align-items:center;gap:7px;color:#8994a5;font-size:.73rem;font-weight:750}
.access-status span{width:7px;height:7px;border-radius:50%;background:#a6b0bf}
.access-status.active{color:#279666}.access-status.active span{background:#2fbd7d}
.pagination{display:flex;align-items:center;justify-content:center;gap:15px;padding:17px;border-top:1px solid #edf0f6;color:#8a98aa;font-size:.76rem}
.pagination .button{min-height:34px;padding:6px 11px}
.access-form-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;align-items:start;gap:20px;max-width:1150px}
.access-form-panel{padding:29px}.access-form-panel .form-actions{border-top:1px solid #edf0f6;padding-top:20px;margin-top:24px}
.switch-field{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid #e3e9f3;border-radius:11px;background:#fafbff;cursor:pointer}
.switch-field input{width:18px;height:18px;min-height:18px;flex:none;accent-color:#596cdf}
.switch-field strong,.switch-field small{display:block}.switch-field small{margin-top:3px;color:#8592a7;font-size:.73rem;font-weight:500}
.access-help{padding:26px}.access-help h2{margin-bottom:20px}.access-help>div{padding:13px 0;border-top:1px solid #edf0f6}.access-help>div strong{font-size:.8rem;color:#344761}.access-help>div p{margin:4px 0 0;color:#8793a7;font-size:.74rem;line-height:1.5}.access-help>p{margin-bottom:0;line-height:1.5}
@media(max-width:1000px){.access-form-layout{grid-template-columns:1fr}.access-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.access-note{grid-column:1/-1}}
@media(max-width:680px){.access-summary{grid-template-columns:1fr 1fr}.user-search{width:100%}.user-search input{min-width:0}.access-form-panel{padding:21px}}
@media(max-width:440px){.access-summary{grid-template-columns:1fr}.access-note{grid-column:auto}.user-search{flex-direction:column;align-items:stretch}.user-search .button{width:100%}}

/* Confirmed destructive actions */
.button.danger{border:1px solid #efc9d0;background:#fff7f8;color:#b73d51;box-shadow:none}
.button.danger:hover{border-color:#dc9ca8;background:#fff0f2;color:#9e293f;transform:translateY(-1px)}
.button.danger.solid{border-color:#b8364c;background:#c64156;color:#fff;box-shadow:0 6px 15px rgba(198,65,86,.18)}
.button.danger.solid:hover{background:#aa3148;color:#fff}
.delete-dialog{width:min(480px,calc(100% - 28px));padding:27px}
.delete-dialog h2{margin:0 0 12px;font-size:1.27rem}
.delete-dialog p{margin:0;color:#65748c;font-size:.86rem;line-height:1.65}
.delete-dialog p strong{color:#26374e}
.delete-dialog form{padding:0;margin:0}
@media(max-width:560px){.delete-dialog .dialog-actions{align-items:stretch}.delete-dialog .dialog-actions form,.delete-dialog .dialog-actions .button{width:100%}}
.mac-address{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#35476b;font-size:.8rem;font-weight:700;white-space:nowrap}

/* Equipment identity review */
.identity-review-alert{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:21px;padding:17px 20px;border:1px solid #f0d7a5;border-radius:15px;background:#fff9ec;box-shadow:0 7px 20px rgba(134,94,20,.055)}
.identity-review-alert>div{display:flex;align-items:center;gap:13px}.identity-review-alert strong{display:block;color:#735417;font-size:.86rem}.identity-review-alert p{margin:4px 0 0;color:#92763e;font-size:.76rem}.review-alert-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:11px;background:#ffe9b5;color:#946814;font-weight:900}
.identity-review-card{padding:26px}.review-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.review-card-heading h2{margin:0 0 5px;font-size:1.16rem}.review-card-heading p{margin:0;color:#7c899d;font-size:.79rem}.match-count{padding:7px 10px;border-radius:9px;background:#fff3d5;color:#8c671b;font-size:.73rem;font-weight:800;white-space:nowrap}
.identity-comparison{display:grid;grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr);align-items:center;gap:13px;margin:22px 0;padding:17px;border:1px solid #e5eaf2;border-radius:13px;background:#f9faff}.identity-comparison>div:not(.comparison-arrow){min-width:0}.identity-comparison span,.identity-comparison strong,.identity-comparison small{display:block}.identity-comparison span{margin-bottom:6px;color:#8a97aa;font-size:.69rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.identity-comparison strong{overflow:hidden;text-overflow:ellipsis;color:#30425d;font-size:.86rem}.identity-comparison small{margin-top:5px;overflow:hidden;text-overflow:ellipsis;color:#8491a4;font-size:.72rem}.comparison-arrow{text-align:center;color:#6b78d4;font-size:1.3rem}.review-actions{display:flex;justify-content:flex-end;gap:9px}.review-actions form{margin:0}
@media(max-width:680px){.identity-review-alert,.review-card-heading{align-items:flex-start;flex-direction:column}.identity-review-alert>.button{width:100%}.identity-comparison{grid-template-columns:1fr}.comparison-arrow{transform:rotate(90deg)}.review-actions{flex-direction:column}.review-actions form,.review-actions .button{width:100%}}

/* Fluid application layout */
.content{max-width:none;margin:0;padding:clamp(26px,2.6vw,58px)}
.content>*{width:100%;min-width:0}
.panel,.metric,.access-stat,.access-note{min-width:0}
.page-heading{align-items:flex-end}
.page-heading>div{min-width:0}
.page-heading>.button,.page-heading>.heading-actions{flex:none}
.heading-actions{justify-content:flex-end;flex-wrap:wrap}

.dashboard-hero{min-height:clamp(255px,15vw,330px);padding:clamp(32px,2.7vw,56px)}
.hero-copy{max-width:min(760px,58%)}
.dashboard-hero h2{max-width:650px}
.dashboard-hero p{max-width:650px}

.metrics,
.detail-grid,
.analytics-grid,
.customer-summary,
.lower-grid{align-items:stretch;grid-auto-rows:1fr;margin-bottom:22px}
.metrics{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.analytics-metrics{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.detail-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr))}
.detail-grid.three{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.detail-grid.three>.panel:last-child{grid-column:auto}
.analytics-grid{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}
.customer-summary{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}
.lower-grid{grid-template-columns:repeat(auto-fit,minmax(500px,1fr))}
.metrics>.metric,
.detail-grid>.panel,
.analytics-grid>.panel,
.customer-summary>.panel,
.lower-grid>.panel{height:100%;margin-bottom:0}

.form-panel,.access-form-layout{width:100%;max-width:none}
.access-form-layout{grid-template-columns:minmax(0,1fr) minmax(285px,24%)}
.access-summary{grid-template-columns:repeat(2,minmax(170px,220px)) minmax(320px,1fr)}
.data-panel,.table-wrap{width:100%;min-width:0}

@media(max-width:1000px){
  .access-form-layout{grid-template-columns:1fr}
  .access-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .content{padding:27px 20px}
}
@media(max-width:680px){
  .content{padding:24px 18px}
  .page-heading{align-items:flex-start}
  .page-heading>.heading-actions{width:100%;justify-content:flex-start}
  .hero-copy{max-width:100%}
  .metrics,
  .analytics-metrics,
  .detail-grid,
  .detail-grid.three,
  .analytics-grid,
  .customer-summary,
  .lower-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:440px){
  .content{padding:21px 14px}
  .access-summary{grid-template-columns:1fr}
  .access-note{grid-column:auto}
  .page-heading>.button,.page-heading>.heading-actions,.heading-actions>.button{width:100%}
  .heading-actions form,.heading-actions form .button{width:100%}
}

/* Customer creation dialog */
.customer-dialog{width:min(820px,calc(100% - 28px));max-height:calc(100vh - 36px);padding:clamp(24px,3vw,34px);overflow:auto}
.customer-dialog-heading{margin-bottom:24px}
.customer-dialog-heading .eyebrow{margin-bottom:7px}
.customer-dialog-heading h2{margin:0 0 7px;font-size:1.55rem}
.customer-dialog-heading p{margin:0;font-size:.82rem}
.customer-modal-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.customer-modal-form .wide,.customer-modal-form .modal-form-error{grid-column:1/-1}
.customer-modal-form .dialog-actions{display:flex;justify-content:flex-end;padding-top:20px;margin-top:3px;border-top:1px solid #edf0f6}
.customer-modal-form textarea{resize:vertical;min-height:92px}
.customer-modal-form .field-error{display:block;margin-top:2px;color:#b7374c;font-size:.72rem;font-weight:700}
.customer-modal-form .has-error input,.customer-modal-form .has-error textarea,.customer-modal-form .has-error select{border-color:#d86677;background:#fffafa}
.modal-form-error{padding:11px 13px;border:1px solid #efc5cc;border-radius:10px;background:#fff2f4;color:#a92e43;font-size:.78rem}
.customer-modal-form [type="submit"]:disabled{cursor:wait;opacity:.7;transform:none}
@media(max-width:680px){.customer-dialog{padding:22px}.customer-modal-form{grid-template-columns:1fr}.customer-modal-form .wide,.customer-modal-form .modal-form-error{grid-column:auto}.customer-modal-form .dialog-actions{align-items:stretch}.customer-modal-form .dialog-actions .button{width:100%}}

/* Unilab visual identity */
body{background:var(--canvas);font-weight:400}
.button,.eyebrow,.sidebar-label,th{font-weight:900}
.sidebar .nav-link,.topbar-context strong,.user-name,label{font-weight:700}
:focus-visible{outline-color:rgba(0,109,106,.34)}
.sidebar-label{color:#91c0bb}
.sidebar .nav-link{color:#c1ddda}
.sidebar .nav-link:hover{background:rgba(255,255,255,.09);color:#fff}
.sidebar .nav-link.active{background:linear-gradient(105deg,#00847f,#0072bc);box-shadow:0 8px 20px rgba(0,49,72,.25)}
.sidebar-footer{border-top-color:rgba(255,255,255,.13);color:#a9ceca}
.sidebar-footer-dot,.pulse-dot{background:var(--accent-yellow);box-shadow:0 0 0 4px rgba(255,194,14,.15)}
.topbar-context strong{color:#204a49}
.user-avatar{background:#dff1ef;color:#006d6a}
.link-button:hover{background:#e7f4f2;color:#005d5a}
.eyebrow{color:#007975}
.button.primary{background:linear-gradient(110deg,#006d6a,#008a84);box-shadow:0 7px 17px rgba(0,109,106,.22)}
.button.primary:hover{background:linear-gradient(110deg,#005956,#007570);box-shadow:0 10px 20px rgba(0,109,106,.26)}
.button.secondary:hover{background:#f0f9f7;border-color:#9bcac5;color:#006d6a}
.badge{background:#e4f4f2;color:#006d6a}
.text-action:hover{color:#006d6a}
.card-icon,.metric-icon,.table-icon,.empty-icon{background:#e1f3f1;color:#007b76}
.card-icon-violet,.metric-icon-violet,.table-icon-violet{background:#e5f2fa;color:#0072bc}
.card-icon-green{background:#e3f5ef;color:#087b61}
.card-icon-blue,.metric-icon-blue{background:#e3f1fa;color:#0072bc}
.row-arrow:hover{background:#e5f4f2;color:#006d6a}
.score-pill{background:#e3f5ef;color:#087b61}
input:focus,textarea:focus,select:focus{outline-color:rgba(0,109,106,.13);border-color:#168b86}
.alert{border-color:#b9dfd3;background:#e6f7f1;color:#12644f}

.dashboard-hero{background:radial-gradient(circle at 82% 20%,rgba(0,114,188,.34),transparent 28%),linear-gradient(118deg,#04524f,#007b76 58%,#0072bc);box-shadow:0 20px 35px rgba(0,83,80,.18)}
.hero-kicker{color:#d5f3ef}
.dashboard-hero p{color:#dcf2f0}
.metric strong{color:#173b3a}
.metric-icon-teal{background:#e0f4f1;color:#006d6a}
.metric-icon-green{background:#e7f5e9;color:#25804d}
.analytics-heading .eyebrow{color:#007975}
.chart-icon{background:#e2f3f1;color:#007b76}
.chart-card-ram .chart-icon{background:#e4f2fa;color:#0072bc}
.chart-row-top strong{color:#00736f}
.chart-progress::-webkit-progress-value,.ranking-row progress::-webkit-progress-value{background:linear-gradient(90deg,#006d6a,#19a49d)}
.chart-progress::-moz-progress-bar,.ranking-row progress::-moz-progress-bar{background:linear-gradient(90deg,#006d6a,#19a49d)}
.chart-card-ram .chart-progress::-webkit-progress-value{background:linear-gradient(90deg,#0072bc,#43a6d7)}
.chart-card-ram .chart-progress::-moz-progress-bar{background:linear-gradient(90deg,#0072bc,#43a6d7)}
.ranking-main a:hover{color:#006d6a}
.ranking-percent{color:#007975}
.equipment-hero{border-color:#cde5e1;background:linear-gradient(110deg,#e9f6f4,#f7fbfa 65%,#fff)}
.equipment-hero-icon{color:#007975;background:#d8efec}
.score-box{border-color:#d4eae7;background:#f1f9f8}
.score-box>strong{color:#006d6a}
.status-chip{border-color:#bde1d1;background:#e8f8f0;color:#16805e}
.access-stat strong{color:#006d6a}
.access-note{background:linear-gradient(110deg,#e7f5f3,#f7fbfa)}
.access-note strong{color:#006d6a}
.user-initial{background:#e1f2f0;color:#006d6a}
.role-badge{background:#e5f2fa;color:#086da8}
.switch-field input{accent-color:#006d6a}

.standalone,.public-body{background:radial-gradient(circle at 10% 10%,#d8efec,transparent 31%),radial-gradient(circle at 95% 85%,#dceefa,transparent 29%),#f3f8f7}
.auth-brand{display:block;margin-bottom:34px}
.auth-brand .brand-logo-horizontal{width:min(100%,360px);height:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;object-position:left center}
.download-card .auth-brand{margin-bottom:26px}
.powered-by{margin:24px 0 0;padding-top:17px;border-top:1px solid #e1ebe9;color:#829291;font-size:.68rem;line-height:1.45;text-align:center}
.download-card .powered-by{margin-top:20px}
dialog::backdrop{background:rgba(3,46,44,.64)}

@media(max-width:900px){.brand-logo-sidebar{width:190px;height:48px}.sidebar-nav{margin-top:14px}}
@media(max-width:440px){.brand-logo-sidebar{width:160px;height:43px}.auth-brand .brand-logo-horizontal{width:100%}}

/* Deployment requirements */
.requirements-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px;padding:7px;border:1px solid #dce9e7;border-radius:16px;background:#eaf4f2}
.requirements-tab{display:flex;align-items:center;gap:13px;min-width:0;padding:15px 18px;border:1px solid transparent;border-radius:11px;color:#6c7f80}
.requirements-tab:hover{background:rgba(255,255,255,.6);color:#006d6a;text-decoration:none}
.requirements-tab.active{border-color:#d4e5e2;background:#fff;color:#006d6a;box-shadow:0 6px 18px rgba(10,77,73,.08)}
.requirements-tab .icon{width:23px;height:23px}
.requirements-tab span,.requirements-tab small{display:block}
.requirements-tab span{font-size:.88rem;font-weight:900}
.requirements-tab small{margin-top:2px;color:#8a9a9a;font-size:.7rem;font-weight:600}
.requirements-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(290px,.65fr);align-items:start;gap:20px}
.requirements-form-panel,.requirements-help{margin-bottom:0}
.requirements-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px}
.requirement-field{display:flex;flex-direction:column;gap:7px;min-width:0;padding:17px;border:1px solid #e1eae9;border-radius:13px;background:#fafcfc}
.requirement-field:focus-within{border-color:#9bcac5;background:#fff;box-shadow:0 0 0 3px rgba(0,109,106,.07)}
.requirement-field-label{display:flex;align-items:center;justify-content:space-between;gap:12px}
.requirement-field label{color:#284b4a;font-size:.83rem}
.requirement-field small{color:#7a8c8c;font-size:.72rem;line-height:1.45}
.requirement-field.has-error{border-color:#dda6aa;background:#fffafa}
.field-unit{padding:3px 7px;border-radius:6px;background:#e2f2f0;color:#006d6a;font-size:.66rem;font-weight:900}
.requirements-wide{grid-column:1/-1}
.requirements-form .form-actions{padding-top:20px;margin-top:1px;border-top:1px solid #e7eeed}
.requirements-help{position:sticky;top:92px;padding:27px}
.requirements-help h2{margin:20px 0 8px}
.requirements-help>p{margin:0;color:#6c7e7e;font-size:.8rem;line-height:1.58}
.requirements-help ul{display:grid;gap:9px;margin:20px 0 0;padding:0;list-style:none}
.requirements-help li{position:relative;padding-left:20px;color:#476160;font-size:.77rem;font-weight:700}
.requirements-help li::before{content:'✓';position:absolute;left:0;color:#00847f;font-weight:900}
.requirements-updated{margin-top:23px;padding:14px;border-radius:11px;background:#eff7f6}
.requirements-updated span,.requirements-updated strong,.requirements-updated small{display:block}
.requirements-updated span{color:#849594;font-size:.67rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.requirements-updated strong{margin-top:5px;color:#315553;font-size:.8rem}
.requirements-updated small{margin-top:2px;color:#7d8f8e;font-size:.7rem}
.requirements-empty{display:grid;justify-items:center;min-height:330px;padding:55px;text-align:center}
.requirements-empty .empty-icon{margin-bottom:18px}
.requirements-empty .eyebrow{margin-bottom:8px}
.requirements-empty h2{margin-bottom:8px}
.requirements-empty p{max-width:560px;margin:0;color:#718383;font-size:.83rem}
@media(max-width:1050px){.requirements-layout{grid-template-columns:1fr}.requirements-help{position:static}.requirements-help ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.requirements-tabs,.requirements-form{grid-template-columns:1fr}.requirements-wide{grid-column:auto}.requirements-help ul{grid-template-columns:1fr}.requirements-form .form-actions .button{width:100%}.requirements-empty{min-height:280px;padding:38px 22px}}

/* Customer profile and terminal readiness */
.customer-profile-banner{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:20px;padding:24px 27px;border:1px solid #cfe5e2;border-radius:18px;background:linear-gradient(115deg,#e8f5f3,#f7fbfa 62%,#e5f2fa);box-shadow:var(--shadow)}
.customer-profile-main{display:flex;align-items:center;gap:17px;min-width:0}
.customer-profile-avatar{display:grid;place-items:center;flex:none;width:60px;height:60px;border-radius:17px;background:linear-gradient(145deg,#006d6a,#008e88);color:#fff;font-size:1.5rem;font-weight:900;box-shadow:0 9px 21px rgba(0,109,106,.2)}
.customer-profile-main .eyebrow{margin-bottom:3px}
.customer-profile-main h2{margin:0 0 3px;font-size:1.22rem}
.customer-profile-main p{margin:0;color:#718483;font-size:.75rem}
.customer-readiness-summary{display:flex;align-items:stretch;flex:none;border:1px solid #d9e8e6;border-radius:13px;background:rgba(255,255,255,.76);overflow:hidden}
.customer-readiness-summary>div{min-width:105px;padding:13px 17px;border-left:1px solid #e1ecea}
.customer-readiness-summary>div:first-child{border-left:0}
.customer-readiness-summary span,.customer-readiness-summary strong{display:block}
.customer-readiness-summary span{color:#7c8f8e;font-size:.66rem;font-weight:700}
.customer-readiness-summary strong{margin-top:3px;color:#284c4a;font-size:1.28rem;font-weight:900}
.customer-readiness-summary .summary-ready strong{color:#17805e}
.customer-readiness-summary .summary-attention strong{color:#b83a41}
.customer-info-card dl{grid-template-columns:minmax(125px,.75fr) minmax(0,1.25fr)}
.equipment-list-panel>.panel-heading{padding-bottom:10px}
.equipment-table{min-width:1120px}
.equipment-cpu{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.equipment-row.readiness-row-not_ready{background:#fff8f8}
.equipment-row.readiness-row-not_ready:hover{background:#fff1f2}
.equipment-row.readiness-row-not_ready td:first-child{box-shadow:inset 3px 0 0 #c94a50}
.equipment-row.readiness-row-ready td:first-child{box-shadow:inset 3px 0 0 #23956d}
.readiness-pill{display:inline-flex;align-items:center;gap:7px;min-height:28px;padding:5px 10px;border:1px solid transparent;border-radius:8px;font-size:.71rem;font-weight:900;white-space:nowrap}
.readiness-pill>span{width:7px;height:7px;border-radius:50%;background:currentColor}
.readiness-ready{border-color:#bde2d1;background:#eaf8f1;color:#18805c}
.readiness-not_ready{border-color:#efc9cd;background:#fff0f1;color:#b63740}
.readiness-unconfigured{border-color:#dce3e2;background:#f3f6f6;color:#788988}

.terminal-readiness-panel{margin-bottom:20px;padding:23px 26px;border:1px solid;border-radius:18px;box-shadow:var(--shadow)}
.readiness-panel-ready{border-color:#bfe2d2;background:linear-gradient(110deg,#ecf9f2,#fff)}
.readiness-panel-not_ready{border-color:#ebc9cc;background:linear-gradient(110deg,#fff2f3,#fff)}
.readiness-panel-heading,.readiness-panel-heading>div{display:flex;align-items:center;gap:15px}
.readiness-panel-heading{justify-content:space-between}
.readiness-panel-icon{display:grid;place-items:center;flex:none;width:45px;height:45px;border-radius:13px;color:#fff;font-size:1.2rem;font-weight:900}
.readiness-panel-ready .readiness-panel-icon{background:#24936b}
.readiness-panel-not_ready .readiness-panel-icon{background:#c4464d}
.readiness-panel-heading .eyebrow{margin-bottom:3px}
.readiness-panel-heading h2{margin:0 0 3px;font-size:1.1rem}
.readiness-panel-heading p{margin:0;color:#6e8180;font-size:.76rem}
.readiness-count{padding:6px 9px;border-radius:8px;background:rgba(255,255,255,.75);color:#7d8c8b;font-size:.7rem;font-weight:900;white-space:nowrap}
.requirement-check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:19px}
.requirement-check{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:13px;border:1px solid;border-radius:11px;background:rgba(255,255,255,.78)}
.requirement-check.check-pass{border-color:#cce5d9}.requirement-check.check-fail{border-color:#edc5c8;background:#fffafa}
.check-symbol{display:grid;place-items:center;flex:none;width:23px;height:23px;border-radius:7px;color:#fff;font-size:.78rem;font-weight:900}
.check-pass .check-symbol{background:#23936b}.check-fail .check-symbol{background:#c4474e}
.requirement-check strong,.requirement-check small{display:block}
.requirement-check strong{margin-bottom:4px;color:#294c4a;font-size:.76rem}
.requirement-check small{overflow:hidden;text-overflow:ellipsis;color:#718382;font-size:.66rem;line-height:1.4}
.check-fail strong{color:#a53239}
.readiness-unconfigured-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;padding:17px 20px;border:1px solid #dce5e4;border-radius:14px;background:#f6f9f9}
.readiness-unconfigured-panel strong{display:block;color:#536968;font-size:.83rem}.readiness-unconfigured-panel p{margin:3px 0 0;color:#829291;font-size:.73rem}
.requirements-readonly{grid-template-columns:minmax(170px,.8fr) minmax(0,1.2fr);padding:19px;border:1px solid #e0ebe9;border-radius:13px;background:#f8fbfa}

@media(max-width:1200px){.requirement-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-profile-banner{align-items:flex-start;flex-direction:column}.customer-readiness-summary{width:100%}.customer-readiness-summary>div{flex:1}}
@media(max-width:680px){.customer-profile-main{align-items:flex-start}.customer-profile-avatar{width:49px;height:49px}.customer-readiness-summary{display:grid;grid-template-columns:1fr 1fr}.customer-readiness-summary>div{min-width:0;border-left:1px solid #e1ecea}.customer-readiness-summary>div:first-child{grid-column:1/-1;border-left:0;border-bottom:1px solid #e1ecea}.customer-readiness-summary .summary-ready{border-left:0}.readiness-panel-heading,.readiness-unconfigured-panel{align-items:flex-start;flex-direction:column}.requirement-check-grid{grid-template-columns:1fr}.readiness-unconfigured-panel .button{width:100%}.requirements-readonly{grid-template-columns:1fr}}
