:root{
  --bg:#f5f7fb;
  --panel:#ffffff;
  --text:#172033;
  --muted:#6f7a8f;
  --line:#e3e8f0;
  --accent:#1f5eff;
  --accent-dark:#1748c9;
  --ok:#18794e;
  --warn:#9a6700;
  --danger:#b42318;
  --sidebar:#111827;
  --sidebar-muted:#93a0b5;
  --radius:14px;
  --shadow:0 8px 26px rgba(23,32,51,.06);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;background:var(--sidebar);color:#fff;padding:22px 18px;display:flex;flex-direction:column}
.brand{display:flex;gap:12px;align-items:center;padding:4px 6px 24px;border-bottom:1px solid rgba(255,255,255,.08)}
.brand strong,.brand span{display:block}.brand span{font-size:12px;color:var(--sidebar-muted);margin-top:1px}
.brand-mark{width:38px;height:38px;border-radius:10px;background:#fff;color:#111827;display:grid;place-items:center;font-weight:800;letter-spacing:-.4px}
.sidebar nav{display:grid;gap:5px;margin-top:22px}.nav-item{color:#cbd5e1;text-decoration:none;padding:10px 12px;border-radius:9px}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.08);color:#fff}.logout-link{margin-top:auto;color:#cbd5e1;text-decoration:none;padding:10px 12px}
.content{padding:34px clamp(20px,4vw,54px) 60px;max-width:1500px;width:100%}
.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px}.topbar h1{margin:2px 0 0;font-size:30px;letter-spacing:-.7px}.eyebrow{margin:0;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.09em}
.status-badge{padding:8px 11px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid var(--line);background:#fff}.status-badge.ok{color:var(--ok);border-color:#b7e3cd;background:#effbf5}.status-badge.error{color:var(--danger);border-color:#f2b8b5;background:#fff4f3}.status-badge.neutral{color:var(--muted)}
.section-block{margin-top:24px;scroll-margin-top:20px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.section-heading h2{margin:0;font-size:19px;letter-spacing:-.2px}.section-heading p{margin:5px 0 0;color:var(--muted)}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat-card{min-height:108px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.stat-card .label{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.stat-card .value{font-size:30px;font-weight:750;margin-top:8px;letter-spacing:-.7px}.skeleton{background:linear-gradient(90deg,#f0f2f6 25%,#fafbfc 37%,#f0f2f6 63%);background-size:400% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{0%{background-position:100% 0}100%{background-position:0 0}}
.button{border:0;border-radius:9px;padding:10px 14px;font:inherit;font-weight:700;cursor:pointer;transition:.15s}.button:disabled{opacity:.55;cursor:not-allowed}.button-primary{background:var(--accent);color:#fff}.button-primary:hover:not(:disabled){background:var(--accent-dark)}.button-secondary{background:#fff;color:var(--text);border:1px solid var(--line)}
.import-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.import-controls label{font-weight:700}.import-controls input{width:90px;border:1px solid var(--line);border-radius:9px;padding:9px 10px;font:inherit;background:#fff}.field-help{color:var(--muted);margin-right:auto}.progress-panel{margin-top:22px;border-top:1px solid var(--line);padding-top:20px}.hidden{display:none!important}.progress-topline{display:flex;justify-content:space-between;gap:12px}.progress-track{height:9px;background:#eef1f6;border-radius:999px;margin:10px 0 14px;overflow:hidden}.progress-bar{height:100%;width:0;background:var(--accent);transition:width .25s ease}.progress-metrics{display:flex;gap:22px;flex-wrap:wrap;color:var(--muted)}.progress-metrics strong{color:var(--text)}.import-log{margin:16px 0 0;max-height:190px;overflow:auto;background:#101827;color:#d9e2f1;border-radius:10px;padding:13px;font-size:12px;white-space:pre-wrap}
.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:790px}th,td{text-align:left;padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}td{font-size:13px}.run-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700}.run-status.success{background:#edf9f2;color:var(--ok)}.run-status.partial{background:#fff8e8;color:var(--warn)}.run-status.failed{background:#fff0ef;color:var(--danger)}.run-status.running{background:#eef4ff;color:#2456c8}
.check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.check-item{display:flex;align-items:flex-start;gap:11px;border:1px solid var(--line);border-radius:10px;padding:12px}.check-icon{width:22px;height:22px;flex:0 0 22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800}.check-icon.ok{background:#e9f8f0;color:var(--ok)}.check-icon.error{background:#fff0ef;color:var(--danger)}.check-label{font-weight:700}.check-detail{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.muted{color:var(--muted)}
.alert{border-radius:9px;padding:11px 12px;margin:14px 0}.alert-error{background:#fff0ef;color:var(--danger);border:1px solid #ffd1cd}.alert-warning{background:#fff9e9;color:#805400;border:1px solid #f4dfa5}
.login-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:#eef2f7}.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 50px rgba(23,32,51,.1);padding:30px}.login-card .brand-mark{background:#111827;color:#fff;margin-bottom:20px}.login-card h1{margin:4px 0;font-size:27px}.login-form{display:grid;gap:9px;margin-top:20px}.login-form label{font-weight:700}.login-form input{border:1px solid var(--line);border-radius:9px;padding:11px 12px;font:inherit}.login-form .button{margin-top:6px}
@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;display:block}.sidebar nav{grid-template-columns:repeat(4,1fr);overflow:auto}.logout-link{display:inline-block;margin-top:10px}.content{padding-top:24px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.check-list{grid-template-columns:1fr}}
@media(max-width:620px){.stats-grid{grid-template-columns:1fr}.topbar,.section-heading{display:block}.topbar .status-badge,.section-heading .button{margin-top:12px}.sidebar nav{grid-template-columns:1fr 1fr}.progress-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}}
.sidebar-version{margin-top:auto;color:var(--sidebar-muted);font-size:11px;padding:14px 12px 0;border-top:1px solid rgba(255,255,255,.08)}.logout-link{margin-top:4px}.page-subtitle{margin:8px 0 0;color:var(--muted);max-width:900px}.page-actions{display:flex;gap:10px;flex-wrap:wrap}.search-bar{display:flex;gap:10px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.search-bar input{min-width:320px;flex:1;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font:inherit;background:#fff}.wide-cell{min-width:380px;max-width:650px}.cell-secondary{color:var(--muted);font-size:12px;margin-top:3px}.text-link{color:#1748c9;text-decoration:none;font-weight:700}.text-link:hover{text-decoration:underline}.button-small{padding:6px 9px;font-size:12px}.pill{display:inline-flex;align-items:center;padding:3px 7px;border:1px solid var(--line);border-radius:999px;background:#f8fafc;font-size:11px;font-weight:700;color:#4b5563;white-space:nowrap}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:18px;color:var(--muted)}.pagination a{color:#1748c9;text-decoration:none;font-weight:700}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.detail-grid .panel{margin:0}.detail-list{margin:0}.detail-list>div{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:10px 0;border-bottom:1px solid var(--line)}.detail-list>div:last-child{border-bottom:0}.detail-list dt{color:var(--muted);font-weight:700}.detail-list dd{margin:0}.panel h2{margin-top:0}.panel h3{font-size:14px;margin:18px 0 9px}.tag-list{display:flex;gap:7px;flex-wrap:wrap}.tag{padding:5px 8px;border-radius:7px;background:#eef4ff;color:#2456c8;font-size:12px;font-weight:700}.lot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.lot-card{border:1px solid var(--line);border-radius:12px;padding:15px;background:#fbfcfe}.lot-card-head{display:flex;justify-content:space-between;gap:16px}.lot-card h3{margin:4px 0 0;font-size:15px}.lot-number{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase}.lot-meta{display:flex;gap:18px;flex-wrap:wrap;margin:12px 0 8px;color:var(--muted);font-size:12px}.lot-meta strong{color:var(--text)}.empty-state{padding:16px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);background:#fafbfc}.quality-ok{color:var(--ok);font-weight:700}.quality-bad{color:var(--danger);font-weight:700}.document-list{display:grid;gap:8px}.document-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.document-row:last-child{border-bottom:0}.table-note{margin:13px 0 0;color:var(--muted);font-size:12px}@media(max-width:900px){.detail-grid,.lot-grid{grid-template-columns:1fr}.search-bar input{min-width:0;width:100%}.page-actions{margin-top:12px}}
.history-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.history-controls label{font-weight:700}.history-controls select{border:1px solid var(--line);border-radius:9px;padding:9px 10px;font:inherit;background:#fff;min-width:120px}.history-controls .button{margin-left:auto}.history-table-wrap{margin-top:20px}.history-action{margin-top:14px}.history-action:empty{display:none}
@media(max-width:720px){.history-controls{align-items:stretch}.history-controls label{width:100%}.history-controls select{width:100%}.history-controls .button{margin-left:0;width:100%}}

/* V1.3.1 historical import fallback */
.history-fallback {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--line, #dfe5ef);
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
}
.history-fallback strong { width: 100%; }
.history-fallback .field-help { flex: 1 1 320px; }
.history-fallback input[type="file"] {
  max-width: 430px;
  padding: 8px 10px;
  border: 1px solid var(--line, #dfe5ef);
  border-radius: 10px;
  background: #fff;
}

/* V1.4.1 Procurement Analytics */
.inline-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inline-filter label{font-size:12px;font-weight:700;color:var(--muted)}
.filter-select,.analytics-filter select,.analytics-filter input{border:1px solid var(--line);border-radius:9px;padding:10px 11px;font:inherit;background:#fff}
.analytics-filter{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:20px}.analytics-filter>div{display:grid;gap:6px}.analytics-filter label{font-size:12px;font-weight:700;color:var(--muted)}.analytics-filter .grow{flex:1 1 340px}.analytics-filter input{width:100%}
.analytics-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 22px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);min-height:118px}.metric-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.metric-value{font-size:27px;font-weight:780;letter-spacing:-.55px;margin-top:8px}.metric-note{font-size:12px;color:var(--muted);margin-top:5px}
.analytics-grid{display:grid;gap:16px;margin:16px 0}.analytics-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid .panel{margin:0}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.month-grid{display:grid;grid-template-columns:repeat(12,minmax(76px,1fr));gap:9px}.month-card{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fbfcfe;display:grid;gap:6px;min-width:0}.month-card strong{font-size:12px}.month-card span{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-track{height:5px;border-radius:999px;background:#e9edf4;overflow:hidden}.mini-track i{display:block;height:100%;background:var(--accent);border-radius:999px}
.quality-summary{display:grid;gap:0}.quality-summary>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.quality-summary>div:last-child{border-bottom:0}.quality-summary span{color:var(--muted)}
.quality-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:20px}.quality-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:17px;box-shadow:var(--shadow);border-top-width:3px}.quality-card.ok{border-top-color:#4dbb83}.quality-card.bad{border-top-color:#ef6a62}.quality-card.info{border-top-color:#9aa6bb}.quality-card .metric-value{font-size:25px}.quality-explain{display:grid;gap:18px}.quality-explain>div{display:flex;gap:12px;align-items:flex-start}.quality-explain p{margin:3px 0 0;color:var(--muted)}.quality-dot{width:11px;height:11px;border-radius:50%;margin-top:5px;flex:0 0 11px}.quality-dot.ok{background:#4dbb83}.quality-dot.info{background:#9aa6bb}
@media(max-width:1180px){.analytics-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.month-grid{grid-template-columns:repeat(6,minmax(80px,1fr))}}
@media(max-width:880px){.analytics-grid.two{grid-template-columns:1fr}.month-grid{grid-template-columns:repeat(4,minmax(80px,1fr))}}
@media(max-width:620px){.analytics-metrics,.quality-grid{grid-template-columns:1fr}.month-grid{grid-template-columns:repeat(2,minmax(100px,1fr))}.inline-filter{margin-top:12px}}
/* V1.4.3 contracting-system refresh controls */
.history-controls .history-force{display:flex;align-items:center;gap:7px;font-weight:600;color:var(--muted);font-size:12px;background:#f8fafc;border:1px solid var(--line);padding:8px 10px;border-radius:9px}.history-controls .history-force input{margin:0}.history-controls .history-force+ .button{margin-left:0}

/* V1.4.3 storage optimization + database migration */
.button-danger{background:#b42318;color:#fff;border-color:#b42318}.button-danger:hover{background:#922018;border-color:#922018}.button-danger:disabled{opacity:.55;cursor:not-allowed}
.storage-critical{border-top:3px solid #efb55e}.storage-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-top:16px}.storage-controls label{display:grid;gap:6px;font-size:12px;font-weight:700;color:var(--muted)}.storage-controls input{border:1px solid var(--line);border-radius:9px;padding:10px 11px;font:inherit;background:#fff;color:var(--text)}.storage-controls input[type="text"]{min-width:250px}.storage-controls input[type="number"]{width:120px}.migration-config{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 16px}.migration-config>div{border:1px solid var(--line);border-radius:10px;padding:13px;background:#fbfcfe;display:grid;gap:5px}.migration-env pre{margin:10px 0 8px;padding:12px;background:#101827;color:#d9e2f1;border-radius:9px;overflow:auto;font-size:12px}.migration-env p{margin:8px 0 0}.migration-progress-table{margin-top:18px;max-height:390px;overflow:auto}.migration-switch-note{margin-top:18px}.storage-size-hot{font-weight:800;color:#8a4b00}@media(max-width:720px){.storage-controls{align-items:stretch}.storage-controls label,.storage-controls input,.storage-controls .button{width:100%}.migration-config{grid-template-columns:1fr}}
.emergency-reclaim{margin-top:18px;border-top:1px solid var(--line);padding-top:15px}.emergency-reclaim summary{cursor:pointer;font-weight:800;color:#805400}.emergency-reclaim p{color:var(--muted);max-width:980px}

/* V1.5 Sales Intelligence */
.alert{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:0 0 18px;font-weight:650}.alert-success{background:#eefbf4;border-color:#b7e4ca;color:#17623c}.alert-error{background:#fff1f0;border-color:#f2b7b2;color:#8e261d}
.row-actions{display:flex;gap:7px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.single{grid-template-columns:1fr}.form-grid label,.stacked-field{display:grid;gap:6px}.form-grid label>span,.stacked-field>span{font-size:12px;font-weight:800;color:var(--muted)}.form-grid input,.form-grid textarea,.stacked-field textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 11px;font:inherit;background:#fff;color:var(--text);box-sizing:border-box}.form-grid textarea,.stacked-field textarea{resize:vertical}.form-grid small,.stacked-field small{color:var(--muted);line-height:1.45}.form-wide{grid-column:1/-1}.checkbox-row{display:flex!important;align-items:center;gap:8px!important}.checkbox-row input{width:auto!important}.form-actions{display:flex;gap:10px;flex-wrap:wrap}.profile-tags{margin-top:12px}
.intelligence-profile{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.intelligence-profile h2{margin:8px 0 6px}.intelligence-profile p{max-width:820px;color:var(--muted);margin:0 0 12px}.intelligence-profile-actions{display:grid;gap:9px;justify-items:end;min-width:220px}.intelligence-profile-actions form{margin:0}.score-pill{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:30px;padding:0 8px;border-radius:999px;font-weight:850;font-size:13px;border:1px solid transparent}.score-excellent{background:#e8f8ef;color:#12663b;border-color:#b6e6ca}.score-strong{background:#edf4ff;color:#1e55b3;border-color:#c9daf7}.score-moderate{background:#fff7df;color:#805a00;border-color:#efd99a}.score-low{background:#f5f6f8;color:#6b7280;border-color:#dfe3e8}.score-breakdown{display:flex;gap:5px;flex-wrap:wrap;min-width:245px}.score-breakdown span{font-size:10px;font-weight:750;color:#526071;background:#f4f6f9;border:1px solid #e2e7ee;border-radius:6px;padding:3px 5px;white-space:nowrap}.scoring-note p{color:var(--muted);line-height:1.6;max-width:1100px}.intelligence-profile .tag-list{max-width:900px}
@media(max-width:900px){.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}.intelligence-profile{display:block}.intelligence-profile-actions{justify-items:start;margin-top:16px}}

/* V1.5.3 Product Taxonomy & CPV Intelligence */
.taxonomy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.taxonomy-card{border:1px solid var(--border,#dfe5ef);border-radius:14px;padding:16px;background:#fff}.taxonomy-card.attached{border-color:#9ad8bc;box-shadow:inset 0 3px 0 #73c7a1}.taxonomy-card h3{margin:4px 0}.taxonomy-card p{color:var(--muted,#6c7890);line-height:1.45}.taxonomy-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.taxonomy-select{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.taxonomy-select input{margin-top:4px}.taxonomy-select span{display:flex;flex-direction:column;gap:2px}.taxonomy-select small{color:var(--muted,#6c7890)}.taxonomy-subsection{margin-top:14px;padding-top:12px;border-top:1px solid var(--border,#e3e8f0)}.taxonomy-subsection>strong{display:block;margin-bottom:8px}.taxonomy-list{display:grid;gap:6px;font-size:.9rem}.taxonomy-list .pill{margin-left:5px}.taxonomy-card-actions{margin-top:12px}.signal-list{display:grid;gap:8px}.signal-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--border,#e3e8f0)}.signal-row:last-child{border-bottom:0}@media(max-width:950px){.taxonomy-grid{grid-template-columns:1fr}}

/* V1.5.4 Explainable Intelligence */
.evidence-link{display:inline-block;margin-top:4px;font-size:10px;font-weight:800;color:var(--accent);text-decoration:none}.evidence-link:hover{text-decoration:underline}
.explain-hero{display:flex;justify-content:space-between;gap:28px;align-items:flex-start}.explain-hero h2{margin:9px 0 5px}.explain-hero p{margin:0;color:var(--muted)}.explain-summary{display:grid;gap:6px;min-width:260px;text-align:right}.explain-summary span{color:var(--muted);font-size:12px}.explain-components{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.explain-component{border:1px solid var(--line);border-radius:11px;padding:13px;background:#fbfcfe}.explain-component-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.explain-component-head span{font-weight:850}.explain-component p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.evidence-track{height:6px;border-radius:999px;background:#e8edf4;overflow:hidden;margin-top:9px}.evidence-track i{display:block;height:100%;border-radius:999px;background:var(--accent)}.evidence-positive{border-color:#b7e4ca;background:#f3fbf6}.evidence-list{display:grid;gap:10px}.evidence-list.compact{gap:7px;margin-top:10px}.evidence-item{border:1px solid var(--line);border-radius:11px;padding:13px;background:#fff}.evidence-item-head{display:flex;justify-content:space-between;gap:16px}.evidence-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.evidence-tag{font-size:10px;font-weight:800;border-radius:999px;padding:4px 7px;border:1px solid #dce4ef;background:#f5f7fa;color:#44536a}.evidence-tag.keyword{background:#eef6ff;border-color:#cfe1fb;color:#285c9f}.evidence-tag.cpv{background:#f2f8f5;border-color:#cae4d6;color:#28654a}.evidence-cpv-row{display:grid;grid-template-columns:100px minmax(180px,1fr) auto;gap:9px;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}.evidence-cpv-row small{grid-column:2/-1;color:var(--muted)}.evidence-cpv-row:last-child{border-bottom:0}
@media(max-width:850px){.explain-hero{display:block}.explain-summary{text-align:left;margin-top:16px;min-width:0}.explain-components{grid-template-columns:1fr}.evidence-item-head{display:block}.evidence-cpv-row{grid-template-columns:1fr}.evidence-cpv-row small{grid-column:auto}}

/* V1.6.1b Customer Access UX clarification */
.customer-access-guide{margin-bottom:16px;border-top:3px solid #8aa4d6}.customer-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.customer-action-card{display:flex;align-items:flex-start;gap:13px;border:1px solid var(--line);border-radius:12px;padding:16px;background:#fbfcfe}.customer-action-card strong{font-size:15px}.customer-action-card p{margin:5px 0 7px;color:var(--muted);line-height:1.5}.customer-action-card small{color:var(--muted)}.customer-action-existing{border-color:#b9ddca;background:#f5fbf7}.customer-step{display:inline-flex;align-items:center;justify-content:center;flex:0 0 31px;width:31px;height:31px;border-radius:999px;background:#182237;color:#fff;font-weight:850}.customer-step.mini{width:26px;height:26px;flex-basis:26px}.customer-section-label{font-size:10px;font-weight:850;letter-spacing:.09em;color:var(--muted);margin-bottom:6px}.customer-new-panel{border-top:3px solid #aab4c5}.customer-warning-copy{padding:11px 12px;border:1px solid #eed6a0;border-radius:9px;background:#fff9ea;color:#74520c}.customer-auth0-flow{display:grid;gap:7px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.customer-auth0-flow b{color:#94a0b1}.customer-account-card{margin:16px 0;border:1px solid var(--line);border-radius:13px;padding:18px;background:#fff}.customer-account-heading h3{font-size:18px;margin:0}.customer-add-user-box{margin-top:18px;padding:16px;border:1px solid #b9ddca;border-radius:12px;background:#f5fbf7}.customer-add-user-box>div:first-child{display:flex;align-items:flex-start;gap:11px;margin-bottom:13px}.customer-add-user-box h4{margin:1px 0 4px;font-size:15px}.customer-add-user-box p{margin:0;color:var(--muted);line-height:1.45}.customer-pending{background:#fff7df;border-color:#efd99a;color:#805a00}.customer-linked{background:#e8f8ef;border-color:#b6e6ca;color:#12663b}@media(max-width:900px){.customer-action-grid{grid-template-columns:1fr}}

/* V1.6.2a Backup & Purge Manager */
.backup-plan-grid{display:grid;grid-template-columns:minmax(280px,1.5fr) minmax(220px,.8fr) auto;gap:18px;align-items:end}.backup-plan-grid label{display:flex;flex-direction:column;gap:7px}.backup-download-actions,.backup-verify-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0}.backup-chunks-details{margin-top:18px}.backup-chunks-details summary{cursor:pointer;font-weight:700;margin-bottom:12px}.backup-file{max-width:360px;word-break:break-all}.backup-hash{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.button-small{padding:6px 10px;font-size:12px}.alert-info{background:#eef6ff;border:1px solid #cfe4ff;color:#294766}.migration-env{white-space:pre-wrap;overflow:auto}@media(max-width:900px){.backup-plan-grid{grid-template-columns:1fr}}

/* V1.6.3 secure invitations */
.customer-account-card td{vertical-align:top}.customer-account-card .row-actions{margin-bottom:7px}.customer-account-card td .pill{white-space:nowrap}.customer-account-card td select{max-width:160px}.customer-account-card button:disabled,.customer-new-panel button:disabled,.customer-add-user-box button:disabled{opacity:.45;cursor:not-allowed}.customer-account-card .cell-secondary{line-height:1.5}.customer-create-grid .form-grid select,.customer-add-user-box .form-grid select{width:100%;min-height:40px;border:1px solid var(--line);border-radius:9px;padding:8px;background:#fff;color:var(--text)}

/* PSSI V1.6.5 tenant user management / HTTP clipboard fallback */
.pssi-team-intro{border-top:3px solid #8aa4d6}.pssi-team-add{margin-top:12px;align-items:end}.pssi-team-submit{display:flex;align-items:end;padding-bottom:2px}.pssi-muted{color:var(--muted);font-size:13px}.pssi-team-table td{vertical-align:top;min-width:110px}.pssi-team-table td:first-child{min-width:190px}.pssi-team-table td:last-child{min-width:270px}.pssi-team-control{margin-top:9px;display:flex;gap:8px;align-items:end;flex-wrap:wrap}.pssi-team-edit{padding-top:9px;border-top:1px solid var(--line)}.pssi-team-control label{display:grid;gap:5px;font-size:11px;color:var(--muted);font-weight:700}.pssi-team-control select{max-width:155px;padding:7px;border:1px solid var(--line);border-radius:8px;background:#fff}.pssi-copy-fallback{margin-top:8px;max-width:360px}.pssi-copy-fallback small{display:block;margin-bottom:5px;color:var(--muted)}.pssi-copy-fallback input{display:block;width:100%;box-sizing:border-box;padding:8px;border:1px solid var(--line);border-radius:6px;font:12px monospace}.pssi-copy-error{display:block;color:#992f2f;max-width:280px}.pssi-team-table button:disabled{opacity:.6}
