:root{--ink: #1f2937;--muted: #5b6472;--line: #dde3ec;--bg: #f3f5f9;--card: #ffffff;--navy: #1f3a5f;--navy-2: #2c5282;--pass: #0f7b3b;--fail: #b3261e;--nd: #8a6d00;--na: #5b6472;--accent-bg: #f4f7fb}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,system-ui,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}.brand{font-family:Georgia,Times New Roman,serif;font-weight:700;letter-spacing:-.3px;color:var(--navy)}.brand-sub{color:var(--muted);font-size:13px}.container{max-width:980px;margin:0 auto;padding:0 18px 72px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:18px 2px 16px;margin-bottom:8px;border-bottom:1px solid var(--line)}.topbar .brand{font-size:22px}.panel{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:18px;box-shadow:0 1px 2px #1018280a}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}button{background:var(--navy);color:#fff;border:0;border-radius:8px;padding:9px 16px;cursor:pointer;font-size:14px;font-weight:600;transition:background .15s}button:hover{background:var(--navy-2)}button:disabled{background:#9aa4b2;cursor:default}button.ghost{background:transparent;color:var(--navy);border:1px solid var(--line)}button.ghost:hover{background:var(--accent-bg)}input,select{border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-size:14px;font-family:inherit;color:var(--ink);background:#fff;width:100%}input:focus{outline:2px solid #bcd0ea;border-color:var(--navy-2)}.fld{display:block;margin:10px 0}.fld>span{display:block;font-size:13px;color:var(--muted);margin-bottom:5px}label.file{display:block;margin:8px 0;font-size:14px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 500px at 50% -10%,#e8eef7,var(--bg))}.login-card{width:360px;max-width:92vw;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:30px 26px;box-shadow:0 12px 40px #1018281a}.login-card .brand{font-size:30px;display:block}.login-card .brand-sub{margin:4px 0 18px}.login-card button{width:100%;margin-top:8px;padding:11px}.headline{font-size:16px;font-weight:700;padding:12px 14px;border-radius:10px;margin-bottom:12px}.headline.ok{background:#e7f4ec;color:var(--pass);border:1px solid #b6dcc4}.headline.warn{background:#fbf3da;color:#7a5d00;border:1px solid #ecd998}.summary{display:flex;gap:16px;flex-wrap:wrap}.summary span{font-weight:600}.meta{font-size:12.5px;color:var(--muted);line-height:1.55}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 4px}.filters button{background:var(--accent-bg);color:var(--ink);border:1px solid var(--line);font-weight:500}.filters button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.cat{margin-top:24px;font-family:Georgia,serif;font-size:16px;color:var(--navy);border-bottom:1px solid var(--line);padding-bottom:6px}.item{border:1px solid var(--line);border-radius:10px;padding:13px 15px;margin:10px 0;background:#fff}.item .meta{font-size:12px}.item .crit{font-weight:600;margin:5px 0}.item .rat{font-size:13.5px;margin:3px 0;color:#374151}.item blockquote{border-left:3px solid var(--line);margin:7px 0;padding:3px 12px;color:var(--muted);font-size:12.5px;font-style:italic}.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:700;color:#fff;letter-spacing:.2px}.pill.pass{background:var(--pass)}.pill.fail{background:var(--fail)}.pill.not_determined{background:var(--nd)}.pill.not_applicable{background:var(--na)}.sev{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.sev-high{background:#fdeceb;color:var(--fail);border:1px solid #f3c2bd}.sev-medium{background:#fbf3da;color:#7a5d00;border:1px solid #ecd998}.sev-low{background:#eef1f5;color:var(--muted)}.actions{display:flex;gap:10px;margin:14px 0 6px;flex-wrap:wrap}.mailbox{margin-top:10px;padding-top:14px;border-top:1px dashed var(--line)}.mailbox .row{align-items:stretch}.mailbox .row input{flex:1;min-width:220px}.bar{height:8px;background:#eaeef4;border-radius:4px;overflow:hidden}.bar>div{height:100%;background:var(--navy);transition:width .2s}.err{color:var(--fail);font-size:13.5px;margin:6px 0}h1{font-family:Georgia,serif;font-size:22px;color:var(--navy)}.meta.hint{margin:2px 0 6px;font-size:12px}.email-input{margin-top:5px}.email-banner{font-size:13.5px}.email-banner.ok{background:#e7f4ec;color:var(--pass);border-color:#b6dcc4}.email-banner.err{background:#fbe9e7;color:var(--fail);border-color:#f0b8b2}.history{display:flex;flex-direction:column;gap:6px;margin-top:8px}.history-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;width:100%;text-align:left;background:var(--accent-bg);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-size:13.5px;font-weight:500}.history-row:hover:not(:disabled){background:#eef3fb;border-color:var(--navy-2)}.history-row:disabled{opacity:.6;cursor:default}.history-row.active{border-color:var(--navy);box-shadow:inset 3px 0 0 var(--navy)}.history-row .h-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-row .h-meta{color:var(--muted);font-size:12px;font-weight:400}.history-row .h-stat{white-space:nowrap;font-size:12.5px}.report-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.view-toggle{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.view-toggle button{background:#fff;color:var(--ink);border:0;border-radius:0;padding:7px 14px;font-weight:500}.view-toggle button.active{background:var(--navy);color:#fff}.view-toggle button:not(.active):hover{background:var(--accent-bg)}.table-wrap{overflow-x:auto;margin-top:10px}.report-table{width:100%;border-collapse:collapse;font-size:13px}.report-table th,.report-table td{border:1px solid var(--line);padding:6px 9px;text-align:left;vertical-align:top}.report-table thead th{background:var(--accent-bg);color:var(--navy);font-weight:600;white-space:nowrap;position:sticky;top:0}.report-table tbody tr:nth-child(2n){background:#fafbfd}.report-table .num{color:var(--muted);text-align:right;width:32px}.report-table .ti-id{font-weight:600;white-space:nowrap}.report-table .ti-crit{color:var(--ink);min-width:240px}
