@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";:root{--bg:#f6f7f4;--paper:#fff;--ink:#202927;--muted:#66716e;--line:#d9dfdc;--line-strong:#b9c3bf;--accent:#0e6868;--accent-dark:#0a4f4f;--warn:#8a5a12;--bad:#8f2f2f;--good:#2f6f4e;--radius:5px;color:var(--ink);background:var(--bg);font-synthesis:none;font-family:IBM Plex Sans,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(90deg, #20292709 1px, transparent 1px), linear-gradient(180deg, #20292709 1px, transparent 1px), var(--bg);background-size:32px 32px;min-width:320px;margin:0}a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius);width:100%;color:var(--ink);background:#fbfcfa;outline:none;padding:10px 11px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0e68681f}label{color:var(--muted);gap:7px;font-size:.82rem;font-weight:600;display:grid}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:13px 10px}th{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;font-weight:700}td{color:#303b38}.button{border:1px solid var(--line-strong);border-radius:var(--radius);min-height:36px;color:var(--ink);background:#fff;justify-content:center;align-items:center;padding:0 13px;font-size:.84rem;font-weight:700;text-decoration:none;transition:transform .14s,border-color .14s,background .14s;display:inline-flex}.button:hover{border-color:var(--accent)}.button:active{transform:translateY(1px)}.button.primary{border-color:var(--accent);background:var(--accent);color:#fff}.button.primary:hover{background:var(--accent-dark)}.button.ghost{background:0 0}.button.subtle{background:#edf2ef}.button.micro{min-height:30px;padding-inline:10px;font-size:.78rem}.button.danger{color:var(--bad);border-color:#8f2f2f61}.eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 7px;font-size:.72rem;font-weight:700}.login-screen{grid-template-columns:minmax(0,1.1fr) minmax(360px,440px);align-items:center;gap:clamp(36px,7vw,96px);min-height:100dvh;padding:clamp(24px,6vw,80px);display:grid}.login-copy{max-width:720px}.login-copy h1{max-width:680px;color:var(--ink);letter-spacing:0;margin:0;font-size:clamp(2.3rem,5vw,5rem);line-height:.96}.login-copy p:not(.eyebrow){max-width:540px;color:var(--muted);margin:22px 0 0;font-size:1.05rem;line-height:1.65}.credential-list{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(3,1fr);gap:1px;max-width:620px;margin:42px 0 0;display:grid}.credential-list div{background:#ffffffbd;padding:16px}.credential-list dt{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:700}.credential-list dd{margin:7px 0 0;font-family:IBM Plex Mono,monospace;font-size:.84rem}.login-form{border:1px solid var(--line);border-top:4px solid var(--accent);background:#ffffffdb;gap:18px;padding:28px;display:grid;box-shadow:0 22px 70px #20292714}.login-form h2{margin:0;font-size:1.45rem}.form-error{color:var(--bad);margin:0;font-size:.86rem;font-weight:600}.form-success{color:var(--good);margin:0;font-size:.86rem;font-weight:600}.auth-links{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:.86rem;display:flex}.app-shell{grid-template-columns:270px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{border-right:1px solid var(--line);background:#ffffffb8;grid-template-rows:auto 1fr auto;gap:36px;height:100dvh;padding:28px 22px;display:grid;position:sticky;top:0}.sidebar h1{margin:0;font-size:1.24rem;line-height:1.12}.sidebar nav{align-content:start;gap:6px;display:grid}.sidebar nav a{color:var(--muted);border-left:2px solid #0000;padding:10px 12px;text-decoration:none}.sidebar nav a.active{border-left-color:var(--accent);color:var(--ink);background:#0e686812;font-weight:700}.session-panel{border-top:1px solid var(--line);gap:8px;padding-top:18px;display:grid}.session-panel span{font-weight:700}.session-panel small,.section-title span,.count-label{color:var(--muted);font-size:.82rem}.workspace{min-width:0;padding:clamp(22px,4vw,54px)}.page-flow{gap:24px;min-width:0;max-width:1400px;display:grid}.page-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:20px;padding-bottom:20px;display:flex}.page-header h2{margin:0;font-size:clamp(1.75rem,3vw,3rem);line-height:1}.metric-grid{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.metric{background:#ffffffd1;gap:14px;padding:18px;display:grid}.metric span{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:700}.metric strong{font-family:IBM Plex Mono,monospace;font-size:clamp(2rem,4vw,3.6rem);line-height:.9}.data-section{border:1px solid var(--line);background:#ffffffc7;min-width:0;padding:18px}.section-title{justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px;display:flex}.section-title h3{margin:0;font-size:1rem}.table-wrap{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.table-wrap table{min-width:760px}.status-badge{border:1px solid var(--line);text-transform:uppercase;border-radius:999px;align-items:center;width:max-content;padding:4px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.status-good{color:var(--good);background:#2f6f4e14;border-color:#2f6f4e52}.status-warn{color:var(--warn);background:#8a5a1214;border-color:#8a5a1252}.status-bad{color:var(--bad);background:#8f2f2f14;border-color:#8f2f2f52}.status-neutral{color:var(--muted);background:#66716e12}.state-block{border:1px dashed var(--line-strong);background:#ffffff8c;gap:10px;padding:22px;display:grid}.state-block p{color:var(--muted);margin:0}.state-error{color:var(--bad);border-color:#8f2f2f73}.skeleton-line{background:linear-gradient(90deg,#e5ebe8,#f8faf8,#e5ebe8) 0 0/200% 100%;width:44%;height:9px;animation:1.2s ease-in-out infinite shimmer;display:block}.skeleton-line.wide{width:72%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.filter-bar{border:1px solid var(--line);background:#ffffffb3;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:12px;padding:14px;display:grid}.pagination-bar{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;font-size:.86rem;display:flex}.split-layout{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);align-items:start;gap:18px;display:grid}.detail-text{color:#384641;margin:0 0 18px;line-height:1.65}.detail-grid{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0 0 18px;display:grid}.detail-grid div{background:#fff;min-width:0;padding:13px}.detail-grid dt{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:700}.detail-grid dd{overflow-wrap:anywhere;margin:7px 0 0}.stack-form{gap:12px;margin-bottom:18px;display:grid}.timeline,.review-list,.log-list{gap:10px;display:grid}.timeline-item,.review-item,.log-list article{border-top:1px solid var(--line);gap:9px;padding-top:12px;display:grid}.timeline-item div,.log-list article div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.timeline-item p,.review-item p,.log-list p{color:#394541;margin:0;line-height:1.55}.timeline-item small,.review-item small,.log-list time{color:var(--muted)}.row-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.inline-edit{grid-template-columns:repeat(3,minmax(90px,1fr));gap:6px;min-width:300px;display:grid}.inline-edit select{min-width:0;padding:7px;font-size:.78rem}.reason-field{margin-bottom:12px}.review-item{background:#fbfcfa;padding:14px}.review-item div:first-child{justify-content:space-between;gap:12px;display:flex}.log-list code{color:#34413d;white-space:pre-wrap;font-family:IBM Plex Mono,monospace;font-size:.76rem;overflow-x:auto}.report-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.reports-room{gap:18px}.reports-hero{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(220px,300px);align-items:end;gap:20px;padding-bottom:22px;display:grid}.reports-hero h2{margin:0;font-size:clamp(2rem,4vw,4rem);line-height:.96}.reports-hero p{max-width:620px;color:var(--muted);margin:12px 0 0;line-height:1.55}.reports-hero-status{border-left:3px solid var(--accent);background:#ffffffb3;gap:7px;padding:18px;display:grid}.reports-hero-status span,.reports-hero-status small,.reports-kpi span,.reports-kpi small,.bar-group h4,.empty-inline{color:var(--muted);text-transform:uppercase;font-size:.74rem;font-weight:700}.reports-hero-status strong{font-family:IBM Plex Mono,monospace;font-size:2.35rem;line-height:1}.reports-kpi-grid{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.reports-kpi{background:#ffffffd1;align-content:space-between;gap:12px;min-height:128px;padding:18px;display:grid}.reports-kpi strong{font-family:IBM Plex Mono,monospace;font-size:clamp(2rem,4vw,3.3rem);line-height:.9}.reports-kpi-bad{box-shadow:inset 0 3px #8f2f2fc2}.reports-kpi-warn{box-shadow:inset 0 3px #8a5a12c2}.reports-kpi-neutral{box-shadow:inset 0 3px #0e6868ad}.reports-priority-band{border:1px solid var(--line);background:#ffffffb8;padding:18px}.priority-list{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;display:grid}.priority-item{background:#fff;gap:10px;min-height:154px;padding:14px;display:grid}.priority-item div{justify-content:space-between;align-items:center;gap:10px;display:flex}.priority-item span{font-family:IBM Plex Mono,monospace;font-size:2rem;line-height:1}.priority-item p{color:var(--muted);margin:0;line-height:1.45}.priority-error{box-shadow:inset 0 3px #8f2f2fb3}.priority-warning{box-shadow:inset 0 3px #8a5a12b3}.priority-ok{box-shadow:inset 0 3px #2f6f4e9e}.reports-main-grid,.reports-bottom-grid{grid-template-columns:minmax(0,1.45fr) minmax(330px,.95fr);align-items:start;gap:18px;display:grid}.reports-bottom-grid{grid-template-columns:minmax(330px,.95fr) minmax(0,1.25fr)}.reports-panel{height:100%}.reports-panel-wide{min-width:0}.distribution-grid{grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(180px,.8fr));gap:18px;display:grid}.ranking-stack{gap:18px;display:grid}.bar-group{gap:12px;display:grid}.bar-group h4{letter-spacing:.05em;margin:0}.bar-list{gap:12px;display:grid}.bar-row{gap:6px;display:grid}.bar-row-label{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:10px;display:grid}.bar-row-label span{color:#303b38;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar-row-label strong{font-family:IBM Plex Mono,monospace}.bar-track{background:#e7ece9;height:9px;overflow:hidden}.bar-track span{background:linear-gradient(90deg, var(--accent), #5f8f7f);height:100%;display:block}.bar-group-compact .bar-list{gap:10px}.bar-group-compact .bar-track{height:7px}.diagnostic-list{border:1px solid var(--line);background:var(--line);gap:1px;display:grid}.diagnostic-row{background:#fff;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:13px;display:grid}.diagnostic-row p{color:var(--muted);margin:5px 0 0;line-height:1.4}.diagnostic-row>span{font-family:IBM Plex Mono,monospace;font-size:1.25rem}.reports-timeline{gap:0;display:grid}.reports-timeline article{grid-template-columns:18px minmax(0,1fr);gap:12px;padding-bottom:18px;display:grid;position:relative}.reports-timeline article:not(:last-child):before{background:var(--line);content:"";width:1px;position:absolute;top:16px;bottom:0;left:5px}.timeline-marker{z-index:1;border:2px solid var(--accent);background:#fff;width:11px;height:11px;margin-top:5px;position:relative}.reports-timeline header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.reports-timeline time{color:var(--muted);font-size:.8rem}.reports-timeline p{color:#394541;margin:7px 0 0;line-height:1.5}.reports-timeline code{max-height:76px;color:var(--muted);white-space:pre-wrap;margin-top:8px;font-family:IBM Plex Mono,monospace;font-size:.72rem;display:block;overflow:auto}.summary-list,.diagnostic-grid{gap:10px;display:grid}.summary-list div,.diagnostic-item{border-top:1px solid var(--line);gap:8px;padding-top:10px;display:grid}.summary-list div{grid-template-columns:minmax(0,1fr) auto;align-items:center}.summary-list span,.diagnostic-item p{color:var(--muted)}.summary-list strong,.diagnostic-item>span{font-family:IBM Plex Mono,monospace;font-size:1.2rem}.diagnostic-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.diagnostic-item div{justify-content:space-between;align-items:center;gap:8px;display:flex}.diagnostic-item p{margin:0;line-height:1.45}@media (width<=980px){.login-screen,.app-shell,.split-layout,.reports-hero,.reports-main-grid,.reports-bottom-grid,.distribution-grid{grid-template-columns:1fr}.sidebar{gap:18px;height:auto;position:static}.sidebar nav,.metric-grid,.reports-kpi-grid,.filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.workspace,.login-screen{padding:18px}.page-header,.section-title{flex-direction:column;align-items:start}.credential-list,.metric-grid,.reports-kpi-grid,.filter-bar,.detail-grid,.diagnostic-row{grid-template-columns:1fr}th,td{padding:11px 8px}}
