:root{--ink:#172033;--muted:#6c768a;--line:#dfe5ee;--panel:#fff;--bg:#f4f6fa;--nav:#11192a;--accent:#3d6df2;--accent2:#6a8cff;--danger:#e5484d;--warning:#e59b22;--ok:#24a06b;--shadow:0 12px 35px rgba(24,35,55,.08);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);font-size:14px}
.app-shell{min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:var(--nav);color:#fff;padding:25px 18px;display:flex;flex-direction:column;z-index:4}
.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-weight:800;font-size:17px;line-height:1}
.brand small{font-size:13px;color:#8ba2d9;font-weight:600}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#7397ff,#315fe3);box-shadow:0 8px 20px rgba(56,100,230,.35);font-size:14px;letter-spacing:.04em}
.sidebar nav{display:grid;gap:6px;margin-top:42px}
.nav-link{display:flex;gap:12px;align-items:center;padding:12px 13px;border-radius:10px;color:#aeb9cf;text-decoration:none;font-weight:650}
.nav-link:hover{color:#fff;background:#1b2740}
.nav-link span{width:18px;text-align:center}
.sidebar-footer{margin-top:auto;border-top:1px solid #27334b;padding-top:18px}
.user-chip{display:flex;align-items:center;gap:10px}
.user-chip>span,.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#2d3a58;color:#cdd9f6;font-weight:800}
.user-chip div{font-size:13px;font-weight:700}
.user-chip small{display:block;margin-top:4px;color:#7f8ca7;font-weight:500}
.link-button{border:0;background:none;color:#8f9bb2;padding:12px 0 0;cursor:pointer}
.link-button:hover{color:#fff}
.content{margin-left:232px;padding:38px 42px 70px;max-width:1580px}
.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;margin-bottom:24px}
.page-header h1{font-size:30px;margin:5px 0 8px;letter-spacing:-.035em}
.page-header p,.card-heading p{color:var(--muted);margin:0;line-height:1.5}
.eyebrow{font-size:10px;font-weight:850;letter-spacing:.16em;color:#6480be}
.card{background:var(--panel);border:1px solid #e6eaf0;border-radius:16px;box-shadow:0 4px 18px rgba(25,36,56,.035);padding:23px}
.analysis-form-card{padding:24px;margin-bottom:35px}
.analysis-form{display:grid;grid-template-columns:minmax(220px,1.7fr) minmax(160px,.8fr) minmax(160px,.8fr) auto auto;align-items:end;gap:14px}
.analysis-form label,.stack-form label,.form-grid label{display:grid;gap:8px;font-weight:700;font-size:12px;color:#465168}
.analysis-form input,.stack-form input,.form-grid input,.form-grid select,.user-row input,.user-row select{width:100%;height:44px;border:1px solid #d8deea;border-radius:9px;background:#fff;padding:0 12px;color:var(--ink);font:inherit;outline:none}
.analysis-form input:focus,.stack-form input:focus,.form-grid input:focus,.form-grid select:focus{border-color:#6c8df0;box-shadow:0 0 0 3px rgba(61,109,242,.1)}
.button{height:42px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:9px;padding:0 17px;border:1px solid transparent;text-decoration:none;font-weight:750;font-size:13px;cursor:pointer;white-space:nowrap}
.button.primary{background:linear-gradient(135deg,var(--accent),#557cf0);color:#fff;box-shadow:0 7px 16px rgba(61,109,242,.18)}
.button.primary:hover{filter:brightness(.96)}
.button.secondary{background:#fff;border-color:#d7ddea;color:#344057}
.button:disabled{opacity:.55;cursor:not-allowed}
.checkbox{display:flex!important;align-items:center;gap:8px!important;height:44px;white-space:nowrap}
.checkbox input{width:17px!important;height:17px!important;accent-color:var(--accent)}
.form-hint{margin:16px 0 0;color:#8a94a6;font-size:12px}
.section-heading{display:flex;justify-content:space-between;margin:30px 0 16px}
.section-heading h2,.card-heading h2{font-size:18px;margin:4px 0 4px}
.section-heading p{margin:0;color:var(--muted);font-size:13px}
.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.report-card{background:#fff;border:1px solid #e3e7ee;border-radius:13px;padding:16px;display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none;transition:.18s}
.report-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#ccd5e5}
.report-card>div:nth-child(2){display:grid;gap:3px;min-width:0}
.report-card strong{font-size:14px}
.report-card span,.report-card small{color:var(--muted);font-size:12px}
.report-card .arrow{margin-left:auto;font-size:18px}
.risk-orb{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:16px;font-weight:850;flex:none}
.risk-low{background:#eaf8f2;color:#13805a}
.risk-medium{background:#fff4df;color:#aa6c0a}
.risk-high{background:#ffeaeb;color:#bd3037}
.empty-state{text-align:center;padding:50px;background:#fff;border:1px dashed #d7deea;border-radius:15px;color:var(--muted)}
.empty-state div{font-size:32px}
.empty-state h3{color:var(--ink);margin:10px 0 5px}
.notice{border-radius:10px;padding:12px 15px;margin:0 0 18px;line-height:1.45}
.notice.error{background:#ffedef;color:#a82f37;border:1px solid #f5ced1}
.notice.success{background:#eaf8f2;color:#16744f;border:1px solid #c7ebdd}
.notice.info{background:#edf3ff;color:#315aaf;border:1px solid #d4e1fb;margin-top:20px}
.notice a{color:inherit;font-weight:750}
.back-link{display:block;margin-bottom:16px;color:#63708a;text-decoration:none;font-size:12px}
.header-actions{display:flex;gap:8px;flex-wrap:wrap}
.disclaimer{background:#fff9ea;border:1px solid #f1ddb0;border-radius:11px;color:#765619;padding:11px 15px;margin-bottom:15px;font-size:12px}
.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.metric-card{background:#fff;border:1px solid #e3e8ef;border-radius:14px;padding:18px;display:grid;gap:7px}
.metric-card span{color:#758096;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}
.metric-card strong{font-size:29px;letter-spacing:-.04em}
.metric-card strong small{font-size:12px;color:#8d96a8}
.metric-card em{font-size:11px;color:#8892a5;font-style:normal}
.risk-bg-high{background:linear-gradient(145deg,#fff,#fff0f1);border-color:#f1c9cc}
.risk-bg-medium{background:linear-gradient(145deg,#fff,#fff7e7);border-color:#eedbad}
.risk-bg-low{background:linear-gradient(145deg,#fff,#edfaf5);border-color:#cbe9dc}
.two-column{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px}
.status-pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#edf1f7;color:#67738a;font-size:10px;font-weight:800}
.status-pill.pending{background:#fff1d7;color:#9b650d}
.status-pill.danger{background:#ffeaeb;color:#b3353b}
.chart{position:relative;height:245px}
.chart canvas{width:100%;height:100%}
.chart-empty{display:none;place-items:center;position:absolute;inset:0;color:#919aab}
.finding-list{display:grid;gap:3px}
.finding{display:flex;gap:13px;padding:14px 5px;border-top:1px solid #edf0f5}
.finding:first-child{border-top:0}
.severity-dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex:none;background:#8ca0c7}
.severity-high .severity-dot{background:var(--danger);box-shadow:0 0 0 4px #ffeaeb}
.severity-medium .severity-dot{background:var(--warning);box-shadow:0 0 0 4px #fff4df}
.severity-low .severity-dot,.severity-info .severity-dot{background:#4e78df;box-shadow:0 0 0 4px #eaf0ff}
.finding h3{font-size:14px;margin:0 0 5px}
.finding p{margin:0 0 6px;line-height:1.5;color:#49556c}
.finding small{color:#7a8598}
.findings-card,.ai-card,.table-card{margin-bottom:14px}
.ai-card{border-left:3px solid #5b7ff0}
.ai-text{white-space:pre-wrap;line-height:1.65;color:#354159}
.muted{color:var(--muted)}
.table-wrap{overflow:auto;margin:0 -6px}
.table-wrap table{width:100%;border-collapse:collapse;font-size:12px}
.table-wrap th{text-align:left;padding:10px 9px;color:#738097;font-size:10px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #dce2eb;white-space:nowrap}
.table-wrap td{padding:11px 9px;border-bottom:1px solid #edf0f4;vertical-align:top}
.table-wrap td small{display:block;color:#929aab;margin-top:3px}
.table-wrap tr:last-child td{border-bottom:0}
.settings-section{margin-bottom:14px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.span-2{grid-column:span 2}
.field-checkbox{align-self:end}
.form-actions{display:flex;justify-content:flex-end;margin:16px 0 28px}
.operation-buttons{display:flex;gap:9px;flex-wrap:wrap}
.sync-message{color:#546179;margin:15px 0 0}
.compact{margin-top:17px}
.user-list{display:grid}
.user-row{display:grid;grid-template-columns:auto minmax(150px,.8fr) minmax(180px,1fr) 150px auto auto;align-items:center;gap:12px;padding:13px 0;border-top:1px solid #e9edf3}
.user-row:first-child{border-top:0}
.user-row>div:nth-child(2){display:grid;gap:4px}
.user-row small{color:#8b95a7}
.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 15% 10%,#263862 0,transparent 32%),linear-gradient(145deg,#101828,#162239);padding:20px}
.login-card{width:min(430px,100%);background:#fff;border-radius:20px;padding:34px;box-shadow:0 25px 70px rgba(0,0,0,.3);display:grid;gap:26px}
.login-brand{color:var(--ink)}
.login-card h1{font-size:28px;letter-spacing:-.035em;margin:5px 0 8px}
.stack-form{display:grid;gap:15px}
.stack-form .button{margin-top:3px}
.login-card .notice{margin:0}
@media(max-width:1150px){.analysis-form{grid-template-columns:1fr 1fr}.machine-field{grid-column:span 2}.report-grid{grid-template-columns:1fr 1fr}.metrics-grid{grid-template-columns:1fr 1fr}.user-row{grid-template-columns:auto 1fr 1fr}.user-row>*:nth-child(n+4){grid-column:auto}}
@media(max-width:760px){.sidebar{position:static;width:auto;min-height:auto;padding:14px 16px;display:flex;flex-direction:row;align-items:center}.sidebar nav{display:flex;margin:0 0 0 auto}.sidebar-footer{display:none}.nav-link{font-size:0;padding:10px}.nav-link span{font-size:17px}.content{margin:0;padding:25px 16px 50px}.page-header{display:block}.header-actions{margin-top:15px}.analysis-form{grid-template-columns:1fr}.machine-field{grid-column:auto}.report-grid,.metrics-grid,.two-column,.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.report-grid{grid-template-columns:1fr}.user-row{grid-template-columns:auto 1fr}.user-row>*:nth-child(n+3){grid-column:span 2}.page-header h1{font-size:26px}}
.chart-legend{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:#7c879b;font-size:10px;margin-top:6px}.chart-legend span{width:9px;height:9px;border-radius:2px;margin-left:8px}.legend-blue{background:#4f75e8}.legend-red{background:#e05259}.legend-amber{background:#e5a12b}
.operator-groups{display:grid;gap:10px}.operator-group{border:1px solid #e5eaf1;border-radius:11px;overflow:hidden}.operator-group summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:13px 15px;background:#f8fafc;cursor:pointer}.operator-group summary span{color:#7b8699;font-size:12px}.operator-group .table-wrap{margin:0;padding:0 8px}.reference-card{background:#fafbfe;border-color:#dfe5ef}.reference-card .eyebrow{color:#7b879d}.reference-row{background:#fafbfe}
.product-timeline-wrap{overflow-x:auto;margin:0 -6px}.product-grid{display:grid;grid-template-columns:minmax(240px,2fr) 55px repeat(2,minmax(110px,1fr)) minmax(120px,1fr) repeat(2,minmax(100px,1fr)) minmax(135px,1fr) minmax(135px,1fr) minmax(115px,1fr);min-width:1320px;align-items:center}.product-grid-head{border-bottom:1px solid #dce2eb;color:#738097;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.product-grid-head span{padding:10px 9px}.product-detail{min-width:1320px;border-bottom:1px solid #e9edf3}.product-detail:last-child{border-bottom:0}.product-detail summary{cursor:pointer;list-style:none;color:#354159}.product-detail summary::-webkit-details-marker{display:none}.product-detail summary:hover{background:#f8faff}.product-detail summary>span{padding:12px 9px;font-size:12px}.product-title{position:relative;padding-left:29px!important}.product-title i{position:absolute;left:10px;top:50%;font-size:21px;font-style:normal;color:#70809e;transform:translateY(-50%);transition:transform .15s}.product-detail[open] .product-title i{transform:translateY(-50%) rotate(90deg)}.product-title strong,.product-title small{display:block}.product-title small{color:#929aab;margin-top:3px}.product-timeline{background:#f7f9fc;border-top:1px solid #e1e7f0;padding:18px 28px 20px 38px}.product-timeline ol{list-style:none;margin:0;padding:0}.product-timeline li{position:relative;display:grid;grid-template-columns:115px 1fr;gap:20px;padding:0 0 20px 18px}.product-timeline li:last-child{padding-bottom:0}.product-timeline li:before{content:"";position:absolute;left:0;top:5px;width:9px;height:9px;border-radius:50%;background:#4f75e8;box-shadow:0 0 0 4px #e7edff}.product-timeline li:not(:last-child):after{content:"";position:absolute;left:4px;top:17px;bottom:-4px;width:1px;background:#d8e0ed}.product-timeline time{font-size:12px;font-weight:800;color:#344057}.timeline-events{display:grid;gap:7px}.timeline-events p{margin:0;border:1px solid #e1e6ee;border-radius:9px;background:#fff;padding:10px 12px}.timeline-events p strong,.timeline-events p span{display:block}.timeline-events p strong{font-size:12px}.timeline-events p span{margin-top:4px;color:#7a869a;font-size:11px}.timeline-sale{border-left:3px solid #4f75e8!important}.action-filled{border-left:3px solid #24a06b!important}.action-corrected{border-left:3px solid #e59b22!important}.action-expired,.action-removed{border-left:3px solid #8b96aa!important}.timeline-empty{margin:0;color:#7c879b;font-size:12px}
.risk-processing{background:#edf2ff;color:#4166d8;font-size:13px;line-height:1}.risk-processing small{font-size:9px}.risk-failed{background:#ffeaeb;color:#bd3037}.mini-progress{height:4px!important;background:#e8edf5;border-radius:99px;overflow:hidden;margin-top:4px;width:150px}.mini-progress i{display:block;height:100%;background:linear-gradient(90deg,#496fe4,#7a98f5);border-radius:99px;transition:width .35s}.progress-card{min-height:310px;display:flex;align-items:center;justify-content:center;gap:34px;padding:48px;margin-top:20px}.progress-visual{position:relative;width:112px;height:112px;display:grid;place-items:center;flex:none}.progress-visual strong{font-size:22px}.progress-spinner{position:absolute;inset:0;border-radius:50%;border:7px solid #e7ecf5;border-top-color:#4c73e8;animation:spin 1.05s linear infinite}.progress-copy{width:min(520px,100%)}.progress-copy h2{font-size:22px;margin:7px 0 8px}.progress-copy p{color:#6f7a8f;line-height:1.55}.progress-copy>small{display:block;color:#929bad;margin-top:10px}.progress-track{height:10px;background:#e8edf5;border-radius:999px;overflow:hidden;margin-top:22px}.progress-track i{display:block;height:100%;background:linear-gradient(90deg,#3d6df2,#7898f4);border-radius:999px;transition:width .4s;position:relative}.progress-track i:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:shimmer 1.6s infinite}.failed-card .progress-visual{border-radius:50%;background:#ffeaeb;color:#bd3037;font-size:34px;font-weight:850}.failed-card .progress-copy p{color:#a03a41}.failed-card .button{margin-top:12px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}@media(max-width:760px){.progress-card{flex-direction:column;text-align:center;padding:32px 20px}.mini-progress{width:100%}}
.button.danger{background:#fff;border-color:#efc6c9;color:#b52f37}.button.danger:hover{background:#fff1f2}.inline-action{display:inline-flex;margin:0}
.confirm-overlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:rgba(12,20,34,.56);backdrop-filter:blur(3px)}.confirm-overlay[hidden]{display:none}.confirm-dialog{width:min(440px,100%);background:#fff;border-radius:17px;padding:26px;box-shadow:0 26px 70px rgba(0,0,0,.28)}.confirm-dialog h2{margin:7px 0 9px;font-size:21px}.confirm-dialog p{margin:0;color:#69758a;line-height:1.55}.confirm-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}
.timeline-entry-sales:before{background:#fff!important;border:2px solid #4f75e8;width:9px!important;height:9px!important;box-shadow:0 0 0 4px #e7edff!important}.timeline-entry-sales time{color:#63708a}

/* Readability and high-contrast typography */
:root{--ink:#0b0f17;--muted:#111827}
body{font-size:16px;line-height:1.5;color:var(--ink)}
.content{line-height:1.5}
.page-header h1{font-size:34px;line-height:1.15}
.page-header p,.card-heading p,.section-heading p,.form-hint,.report-card span,.report-card small,.metric-card span,.metric-card strong small,.metric-card em,.finding p,.finding small,.muted,.table-wrap th,.table-wrap td small,.product-grid-head,.product-title small,.timeline-events p span,.timeline-empty,.operator-group summary span,.sync-message,.progress-copy p,.progress-copy>small,.chart-legend,.back-link,.empty-state,.chart-empty,.user-row small,.confirm-dialog p,.timeline-entry-sales time{color:#111827}
.eyebrow{font-size:12px}
.section-heading h2,.card-heading h2{font-size:21px;line-height:1.25}
.section-heading p,.card-heading p,.page-header p{font-size:15px}
.analysis-form label,.stack-form label,.form-grid label{font-size:14px;color:#111827}
.analysis-form input,.stack-form input,.form-grid input,.form-grid select,.user-row input,.user-row select{font-size:16px}
.button{font-size:15px}
.form-hint,.back-link{font-size:14px}
.notice,.disclaimer{font-size:14px}
.report-card strong{font-size:16px}
.report-card span,.report-card small{font-size:14px}
.metric-card span{font-size:13px}
.metric-card strong{font-size:32px}
.metric-card strong small,.metric-card em{font-size:13px}
.status-pill{font-size:12px;color:#111827}
.chart-legend{font-size:13px}
.finding h3{font-size:17px}
.finding p,.ai-text{font-size:15px}
.finding small{font-size:14px}
.table-wrap table{font-size:14px;line-height:1.45}
.table-wrap th{font-size:12px}
.table-wrap td small{font-size:13px}
.operator-group summary strong{font-size:16px}
.operator-group summary span{font-size:14px}
.product-grid{min-width:1450px}
.product-detail{min-width:1450px}
.product-grid-head{font-size:12px}
.product-detail summary>span{font-size:14px}
.product-title small{font-size:13px}
.product-timeline time{font-size:14px;color:#111827}
.timeline-events p strong{font-size:14px}
.timeline-events p span,.timeline-empty{font-size:13px}
.progress-copy p,.progress-copy>small{font-size:14px}
.confirm-dialog p{font-size:15px}
.sidebar,.sidebar a,.sidebar button,.brand small,.nav-link,.sidebar-footer,.user-chip small,.link-button{color:#fff}
.nav-link{font-size:15px}
.user-chip div,.user-chip small,.link-button{font-size:14px}
.user-chip>span,.avatar{color:#fff}
.reference-card .eyebrow{color:#111827}
@media(max-width:760px){.page-header h1{font-size:30px}}

/* Fluid workspace and wrapping labels */
.content{width:calc(100% - 232px);max-width:none}
.card,.two-column>*{min-width:0}
.report-grid{grid-template-columns:repeat(auto-fit,minmax(min(310px,100%),1fr))}
.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}
.two-column{grid-template-columns:repeat(auto-fit,minmax(min(520px,100%),1fr))}
.page-header>*,.card-heading>*{min-width:0}
.page-header p,.card-heading p,.section-heading p,.report-card,.metric-card,.finding,.operator-group summary,.table-wrap th,.table-wrap td,.product-grid-head span,.product-detail summary>span{overflow-wrap:break-word;word-break:normal}
.chart-legend{align-items:flex-start;column-gap:18px;row-gap:8px;line-height:1.4;white-space:normal}
.chart-legend .legend-item{display:inline-flex;align-items:flex-start;gap:7px;min-width:0;max-width:100%;width:auto;height:auto;margin:0;border-radius:0}
.chart-legend .legend-item i{width:10px;height:10px;border-radius:2px;flex:none;margin-top:4px}
.chart-legend .legend-item span{display:inline;width:auto;height:auto;margin:0;overflow-wrap:break-word;word-break:normal}
@media(max-width:760px){.content{width:100%}.page-header,.card-heading{gap:16px}.header-actions{max-width:100%}}

/* Zebra tables */
.table-wrap thead th,.product-grid-head{background:#e8eef7}
.table-wrap tbody tr{background:#fff;transition:background-color .15s ease}
.table-wrap tbody tr:nth-child(even){background:#f1f5fa}
.table-wrap tbody tr:hover{background:#e4edfb}
.table-wrap tbody tr.reference-row{background:#edf5ff}
.table-wrap tbody tr.reference-row:hover{background:#dfeeff}
.product-detail>summary{background:#fff;transition:background-color .15s ease}
.product-detail:nth-of-type(even)>summary{background:#f1f5fa}
.product-detail>summary:hover,.product-detail[open]>summary{background:#e4edfb}
.table-wrap td,.product-detail summary>span{border-color:#dce3ed}
.role-badge{display:inline-flex;margin-left:7px;padding:3px 7px;border-radius:999px;background:#e8edf5;color:#111827;font-size:11px;line-height:1;font-weight:800;vertical-align:middle}
.role-badge.auditor{background:#dceaff;color:#174a9c}
.ai-text{white-space:normal}
.ai-text p{margin:0 0 12px;line-height:1.65}
.ai-text p:last-child{margin-bottom:0}
.ai-text strong{font-weight:850;color:#0b0f17}
.ai-text ul,.ai-text ol{margin:0 0 14px;padding-left:25px}
.ai-text li{margin:5px 0;line-height:1.55}
.ai-text h3,.ai-text h4{margin:18px 0 8px;color:#0b0f17}
.product-detail summary>span:not(.product-title)>small{display:block;margin-top:5px;font-size:12px;line-height:1.3;color:#174a9c}
.ai-model-used{display:block;margin:-3px 0 18px;padding:9px 12px;border-radius:8px;background:#eef3ff;color:#111827;font-size:13px;line-height:1.4}
.ai-model-used strong{font-weight:850;color:#174a9c;overflow-wrap:anywhere}

/* Strict text contrast on light surfaces */
:root{--ink:#000;--muted:#000}
body{color:#000}
.content,.content *,.login-card,.login-card *{color:#000!important}
.analysis-form input::placeholder,.stack-form input::placeholder,.form-grid input::placeholder,.user-row input::placeholder{color:#000;opacity:1}
.content .button.primary,.login-card .button.primary,.login-card .brand-mark,.content .avatar{color:#fff!important}
.sidebar,.sidebar *{color:#fff!important}

/* Confirmed machine selection */
.machine-input-wrap{position:relative;display:block}
.machine-input-wrap input{padding-right:50px}
.machine-selected-check{position:absolute;top:50%;right:11px;width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#168a55;font-size:18px;font-weight:900;line-height:1;opacity:0;transform:translateY(-50%) scale(.72);transition:opacity .16s ease,transform .16s ease;pointer-events:none}
.machine-field.is-confirmed .machine-selected-check{opacity:1;transform:translateY(-50%) scale(1)}
.machine-field.is-confirmed input{border-color:#168a55;box-shadow:0 0 0 3px rgba(22,138,85,.16)}
.content .machine-selected-check{color:#fff!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Comfortable reading for analytical content */
.content{padding:42px 48px 80px}
.card{padding:28px}
.page-header{margin-bottom:30px}
.page-header p,.card-heading p,.section-heading p{font-size:17px;line-height:1.65}
.section-heading h2,.card-heading h2{font-size:24px;line-height:1.25}
.card-heading{margin-bottom:22px}
.disclaimer{font-size:16px;line-height:1.65;padding:15px 18px;margin-bottom:18px}
.metric-card{padding:22px;gap:9px}
.metric-card span{font-size:14px;line-height:1.45}
.metric-card strong{font-size:36px}
.metric-card strong small,.metric-card em{font-size:15px;line-height:1.45}
.two-column{gap:18px;margin-bottom:18px}
.chart{height:270px}
.chart-legend{font-size:15px;line-height:1.55;margin-top:12px}

.findings-card,.ai-card{padding:30px}
.finding-list{gap:14px}
.finding{gap:16px;padding:20px 22px;border:1px solid #dce3ed;border-radius:13px;background:#fff}
.finding:first-child{border-top:1px solid #dce3ed}
.finding>div{min-width:0;width:100%}
.severity-dot{width:10px;height:10px;margin-top:8px}
.finding h3{font-size:20px;line-height:1.35;margin:0 0 10px}
.finding p{max-width:105ch;margin:0;font-size:17px;line-height:1.72}
.finding-recommendation{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:14px;margin-top:14px;padding:13px 15px;border-radius:10px;background:#eef3fb;font-size:16px;line-height:1.6}
.finding-recommendation strong{font-size:14px;text-transform:uppercase;letter-spacing:.04em}

.ai-model-used{max-width:105ch;margin:-2px 0 22px;padding:11px 14px;font-size:14px;line-height:1.5}
.ai-text{max-width:95ch;font-size:18px;line-height:1.75}
.ai-text p{margin:0 0 17px;line-height:1.75}
.ai-text ul,.ai-text ol{margin:0 0 18px;padding-left:30px}
.ai-text li{margin:9px 0;line-height:1.7}
.ai-text h3,.ai-text h4{margin:24px 0 11px;font-size:20px;line-height:1.4}

.table-card{padding:28px}
.table-wrap table{font-size:15px;line-height:1.6}
.table-wrap th{padding:13px 12px;font-size:13px;line-height:1.45}
.table-wrap td{padding:15px 12px}
.table-wrap td small{font-size:14px;line-height:1.5;margin-top:5px}
.operator-groups{gap:14px}
.operator-group{border-radius:13px}
.operator-group summary{padding:17px 19px}
.operator-group summary strong{font-size:18px;line-height:1.45}
.operator-group summary span{font-size:15px;line-height:1.5;text-align:right}
.role-badge{font-size:12px;padding:4px 8px}

.product-grid{min-width:1580px;grid-template-columns:minmax(280px,2fr) 65px repeat(2,minmax(130px,1fr)) minmax(145px,1fr) repeat(2,minmax(120px,1fr)) repeat(2,minmax(155px,1fr)) minmax(140px,1fr)}
.product-detail{min-width:1580px}
.product-grid-head{font-size:13px;line-height:1.45}
.product-grid-head span{padding:13px 12px}
.product-detail summary>span{padding:15px 12px;font-size:15px;line-height:1.55}
.product-title{padding-left:34px!important}
.product-title i{left:11px;font-size:25px}
.product-title strong{font-size:17px;line-height:1.4}
.product-title small,.product-detail summary>span:not(.product-title)>small{font-size:14px;line-height:1.45;margin-top:5px}
.product-timeline{padding:24px 32px 26px 42px}
.product-timeline li{grid-template-columns:135px minmax(0,1fr);gap:24px;padding:0 0 25px 20px}
.product-timeline time{font-size:15px;line-height:1.5}
.timeline-events{gap:10px}
.timeline-events p{padding:14px 16px;border-radius:11px}
.timeline-events p strong{font-size:16px;line-height:1.5}
.timeline-events p span,.timeline-empty{font-size:15px;line-height:1.6;margin-top:6px}

@media(max-width:760px){
  .content{padding:28px 16px 56px}
  .card,.findings-card,.ai-card,.table-card{padding:21px 18px}
  .page-header p,.card-heading p,.section-heading p{font-size:16px}
  .section-heading h2,.card-heading h2{font-size:22px}
  .finding{padding:18px 16px}
  .finding-recommendation{grid-template-columns:1fr;gap:4px}
  .ai-text{font-size:17px;line-height:1.7}
  .operator-group summary{align-items:flex-start;flex-direction:column;gap:7px}
  .operator-group summary span{text-align:left}
  .product-timeline{padding:21px 18px 23px 27px}
  .product-timeline li{grid-template-columns:1fr;gap:8px;padding-left:18px}
}
