:root { color-scheme: light; --navy:#123b67; --blue:#1e88e5; --ink:#172033; --muted:#64748b; --line:#dbe3ec; --bg:#f4f7fb; }
* { box-sizing:border-box; } body { margin:0; font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif; color:var(--ink); background:var(--bg); }
a { color:#075ea8; } .topbar { min-height:64px; padding:0 5vw; display:flex; align-items:center; gap:16px; background:var(--navy); color:white; box-shadow:0 2px 10px #0002; }
.brand { color:white; text-decoration:none; font-size:1.3rem; font-weight:800; }.environment { background:#ffb300; color:#2b1b00; border-radius:999px; padding:3px 10px; font-size:.78rem; font-weight:800; }.build-indicator { display:inline-flex; align-items:baseline; gap:6px; padding:4px 9px; border:1px solid #ffffff4d; border-radius:7px; color:#eaf3fc; font-size:.78rem; white-space:nowrap; }.build-indicator strong { color:white; }.topbar nav { margin-left:auto; display:flex; align-items:center; flex-wrap:wrap; gap:14px; }.topbar nav a { color:white; text-decoration:none; }.topbar nav .nav-shortcut { min-height:38px; display:inline-flex; align-items:center; padding:6px 11px; border-radius:6px; font-weight:750; }.topbar nav .nav-overview { color:var(--navy); background:white; }.topbar nav .nav-create { background:var(--blue); }
.container { width:min(1180px,92vw); margin:32px auto; }.page-head { display:flex; justify-content:space-between; align-items:center; gap:16px; }.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px; }.card { display:flex; flex-direction:column; gap:6px; color:var(--ink); text-decoration:none; background:white; border:1px solid var(--line); border-radius:12px; padding:22px; box-shadow:0 8px 24px #123b6710; }.card strong { color:var(--navy); font-size:1.2rem; }.card span { color:var(--muted); }
.dashboard-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:24px; }.dashboard-actions { justify-content:flex-end; margin:0; }.dashboard-head h1,.page-head h1 { margin:.15rem 0; }.eyebrow { margin:0; color:#42637f; font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0 0 22px; }.stat { display:flex; flex-direction:column; padding:18px 20px; background:var(--navy); border-radius:12px; color:#dcecff; }.stat strong { color:white; font-size:2rem; line-height:1.15; }.dashboard-section { margin-top:32px; }.recent-list { overflow:hidden; background:white; border:1px solid var(--line); border-radius:12px; }.recent-list>a { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 18px; color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line); }.recent-list>a:last-child { border-bottom:0; }.recent-list span:first-child { display:flex; flex-direction:column; }.recent-list small,.assignment-list small { color:var(--muted); }.status { display:inline-block; border-radius:999px; padding:3px 9px; font-size:.78rem; font-weight:800; white-space:nowrap; }.status.active { color:#12552e; background:#dff4e7; }.status.inactive { color:#6f2330; background:#f8e3e6; }
.module-section { margin:28px 0 32px; }.module-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,230px)); gap:18px; }.module-card { aspect-ratio:1/1; display:flex; flex-direction:column; justify-content:flex-end; gap:9px; padding:24px; color:white; text-decoration:none; background:linear-gradient(145deg,var(--navy),#256aa1); border:1px solid #ffffff24; border-radius:16px; box-shadow:0 12px 30px #123b6729; transition:transform .15s ease,box-shadow .15s ease; }.module-card:hover,.module-card:focus-visible { transform:translateY(-3px); box-shadow:0 16px 34px #123b673d; }.module-card strong { font-size:1.45rem; }.module-card span { color:#e3f1fc; line-height:1.4; }.module-card small { margin-top:auto; color:#bcd9ef; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.stat .stat-text { font-size:1.35rem; margin-top:.35rem; }
.company-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.8fr); gap:20px; align-items:start; }.panel { padding:22px; background:white; border:1px solid var(--line); border-radius:12px; }.panel h2 { margin-top:0; }.assignment-list>div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 0; border-bottom:1px solid var(--line); }.assignment-list>div>span { display:flex; flex-direction:column; }.assignment-create { margin-top:22px; }.assignment-create form { padding:16px; background:#f8fafc; }.inline-form { width:auto; margin:0; padding:0!important; border:0!important; background:transparent!important; }.danger { background:#a52b3d; }
.filter-form { max-width:none!important; margin:20px 0; }.filter-grid { display:grid; grid-template-columns:2fr 1fr 1.4fr; gap:14px; }.filter-grid .form-field { margin:0; }.result-count { color:var(--muted); }
.stats-five { grid-template-columns:repeat(5,minmax(0,1fr)); }.filter-grid-two { grid-template-columns:repeat(2,minmax(0,1fr)); }.status.queue-queued { color:#674800; background:#fff0bf; }.status.queue-sending { color:#124d70; background:#dceffb; }.status.queue-sent { color:#12552e; background:#dff4e7; }.status.queue-failed { color:#6f2330; background:#f8e3e6; }
.stats-four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.settings-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px; margin:24px 0; }.settings-readiness { margin-top:24px; }
.document-filter-grid { grid-template-columns:2fr 1fr 1fr 1.4fr; }.status.document-queued { color:#674800; background:#fff0bf; }.status.document-rendering { color:#124d70; background:#dceffb; }.status.document-ready { color:#12552e; background:#dff4e7; }.status.document-failed { color:#6f2330; background:#f8e3e6; }.checksum { word-break:break-all; }
.account-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; margin:22px 0; }.plain-form { max-width:none!important; margin:0; padding:0!important; border:0!important; background:transparent!important; }.notice { margin:18px 0 0; padding:13px 15px; border-left:4px solid var(--blue); background:#edf6ff; }.account-security { margin-top:20px; }.temporary-password { margin:20px 0; padding:18px; border:2px dashed var(--navy); border-radius:10px; background:#f8fbff; text-align:center; }.temporary-password code { font-size:1.35rem; font-weight:800; letter-spacing:.06em; user-select:all; }
.audit-metadata-panel { margin-top:22px; }.audit-metadata { max-height:480px; overflow:auto; margin:0; padding:16px; border-radius:8px; background:#101827; color:#e5edf7; white-space:pre-wrap; overflow-wrap:anywhere; }
.status.work-order-draft { color:#674800; background:#fff0bf; }.status.work-order-ready { color:#124d70; background:#dceffb; }.status.work-order-completed,.status.work-order-report_issued { color:#12552e; background:#dff4e7; }.device-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; }.work-order-summary { margin:22px 0; }
.checklist-sections { display:grid; gap:12px; }.checklist-section { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:15px 18px; }.checklist-section>div:first-child { display:flex; flex-direction:column; gap:4px; }.checklist-section .actions { margin:0; }.checklist-documents { margin:22px 0; }.checklist-record { margin-top:26px; }.risk-badge { display:inline-block; padding:3px 9px; border-radius:999px; font-size:.82rem; font-weight:800; white-space:nowrap; }.risk-badge.risk-high { background:#ffd8cc; color:#7a2012; }.risk-badge.risk-medium { background:#fff0b3; color:#654b00; }.risk-badge.risk-low { background:#dff0d8; color:#245a2d; }.checklist-filter-form { display:flex; align-items:flex-end; flex-wrap:wrap; gap:12px; padding:14px 16px!important; }.checklist-filter-fields { flex:1 1 680px; display:grid; grid-template-columns:minmax(220px,2fr) minmax(170px,1fr) minmax(170px,1fr); gap:12px; }.checklist-filter-fields p { margin:0; }.checklist-filter-form .actions { margin:0; }.checklist-form { padding:0!important; border:0!important; background:transparent!important; }.assessment-table-wrap { overflow-x:auto; border:1px solid #c3ced9; border-radius:8px; background:white; }.assessment-table { min-width:980px; table-layout:fixed; border:0; }.assessment-table th { padding:9px 10px; background:#e9eef4; color:#17365d; font-size:.78rem; line-height:1.25; }.assessment-table td { padding:8px 10px; font-size:.88rem; line-height:1.35; }.assessment-table tbody+tbody .assessment-main-row td { border-top:2px solid #c7d2dd; }.assessment-table .assessment-code-column { width:7%; }.assessment-table .assessment-result-column { width:14%; }.assessment-table .assessment-risk-column { width:10%; }.assessment-table .assessment-finding-column { width:25%; }.assessment-row-group.risk-high .assessment-code { border-left:5px solid #c94a35; }.assessment-row-group.risk-medium .assessment-code { border-left:5px solid #c99512; }.assessment-row-group.risk-low .assessment-code { border-left:5px solid #4b8d4b; }.assessment-main-row select,.assessment-main-row textarea { padding:6px 7px; font-size:.86rem; }.assessment-main-row textarea { min-height:58px; resize:vertical; }.assessment-description { hyphens:auto; }.assessment-details-row td { padding:0 10px 8px; border-bottom:1px solid var(--line); }.assessment-disclosure { border:1px solid #d69e2e; border-radius:6px; background:#fffaf0; overflow:hidden; }.assessment-disclosure summary { padding:8px 10px; color:#7c2d12; font-size:.82rem; font-weight:800; cursor:pointer; }.assessment-disclosure[open] summary { border-bottom:1px solid #e3c27a; background:#fff4d6; }.assessment-disclosure-content { padding:12px; background:white; }.assessment-disclosure-help { margin:0 0 12px; color:#526273; font-size:.82rem; }.assessment-measures { padding:10px 12px; border:1px solid var(--line); border-radius:6px; background:#f8fafc; }.assessment-measures ul { margin:8px 0 0; padding:0; list-style:none; }.assessment-measures li+li { margin-top:8px; }.assessment-measures label { display:flex; align-items:flex-start; gap:8px; font-size:.86rem; font-weight:500; }.assessment-measures input { margin-top:.2rem; }.assessment-reassessment { display:grid; grid-template-columns:minmax(180px,.55fr) minmax(320px,1.45fr); gap:14px; margin-top:12px; }.assessment-reassessment .form-field { margin:0; }.assessment-reassessment textarea { min-height:76px; }.assessment-original-risk { display:block; margin:2px 0 5px; color:var(--muted); font-size:.78rem; font-weight:500; }.table-section th { background:#dce8f3; }.document-assessment-form { max-width:none; padding:0; background:transparent; }.document-assessment-form select,.document-assessment-form input { min-width:180px; }.sticky-actions { position:sticky; bottom:10px; z-index:2; padding:12px; background:rgba(255,255,255,.96); border:1px solid var(--line); border-radius:9px; box-shadow:0 4px 18px rgba(14,38,61,.14); }.ready-form { margin-top:22px; }.ready-form button:disabled { opacity:.5; cursor:not-allowed; }
.assessment-details-row { display:none; }
.assessment-row-group:has(.assessment-result option[value="compliant"]:checked) .assessment-main-row td { background:#f7fcf5; }
.assessment-row-group:has(.assessment-result option[value="noncompliant"]:checked) .assessment-main-row td { background:#fff8f5; }
.assessment-row-group:has(.assessment-result option[value="noncompliant"]:checked) .assessment-details-row { display:table-row; }
table { width:100%; border-collapse:collapse; background:white; border:1px solid var(--line); } th,td { padding:11px 13px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; } th { background:#edf3f9; color:var(--navy); } dl { display:grid; grid-template-columns:max-content 1fr; gap:8px 18px; } dt { font-weight:700; }
form:not(.actions form) { max-width:none; background:white; padding:22px; border:1px solid var(--line); border-radius:10px; } .form-field { margin-bottom:16px; } label { display:block; font-weight:650; } .required-marker { color:#a40016; font-weight:800; } .visually-hidden { 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; } input,select,textarea { width:100%; max-width:none; padding:9px 10px; border:1px solid #aab8c7; border-radius:6px; font:inherit; } input[type=checkbox] { width:auto; } textarea { min-height:140px; }.helptext { color:var(--muted); font-size:.9rem; }.errorlist { color:#a40016; }.field-with-action { display:flex; align-items:center; gap:10px; }.field-with-action select { flex:1 1 auto; }.field-with-action .button { flex:0 0 auto; white-space:nowrap; }
button,.button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; border:0; border-radius:6px; padding:10px 16px; background:var(--blue); color:white; font:inherit; font-weight:700; line-height:1.5; text-align:center; text-decoration:none; cursor:pointer; }.secondary { background:#52677d; }.actions { display:flex; align-items:stretch; flex-wrap:wrap; gap:10px; margin:18px 0; }.actions form { display:flex; padding:0; background:none; border:0; }.actions form>button { height:100%; }.message { padding:12px 15px; margin-bottom:16px; border-radius:6px; background:#e8f2ff; }.message.error { background:#ffe8eb; }.message.success { background:#e7f8ed; }.auth-card { max-width:520px; margin:40px auto; } code { overflow-wrap:anywhere; }
.auth-card .plain-form { margin-top:12px; padding:0; border:0; background:transparent; }
.password-rules,.setup-steps { padding-left:1.4rem; }.password-rules li,.setup-steps li { margin:.3rem 0; }.totp-qr { width:min(280px,100%); margin:20px auto; padding:14px; border:1px solid var(--line); border-radius:12px; background:white; }.totp-qr img { display:block; width:100%; height:auto; }.mfa-panel { max-width:760px; margin-top:24px; }.notice.warning { border-left-color:#d97706; background:#fff7e6; }
@media (max-width:720px) { .topbar { align-items:flex-start; padding-top:14px; padding-bottom:14px; }.topbar nav { gap:10px; } table { display:block; overflow-x:auto; } dl { grid-template-columns:1fr; }.page-head,.dashboard-head,.checklist-section,.field-with-action { align-items:flex-start; flex-direction:column; }.field-with-action,.field-with-action .button { width:100%; }.stats,.company-grid,.filter-grid,.stats-four,.stats-five,.account-grid,.document-filter-grid,.device-form-grid,.checklist-filter-fields,.assessment-reassessment { grid-template-columns:1fr; }.assignment-list>div { align-items:flex-start; flex-direction:column; } }
