:root{--bg:#f6f7f4;--surface:#fff;--surface-soft:#f1f5f2;--ink:#15201c;--muted:#66736d;--line:#dfe7e1;--primary:#146b5c;--primary-strong:#0b4f44;--primary-soft:#e0f4ed;--blue:#356d9f;--yellow:#a46f08;--red:#b73535;--shadow:0 18px 50px #1d2b261f;color:var(--ink);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(180deg, #146b5c14, transparent 340px), var(--bg);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}.app-shell{min-height:100vh}.auth-page{place-items:center;min-height:100vh;padding:28px;display:grid}.auth-card{border:1px solid var(--line);width:min(520px,100%);box-shadow:var(--shadow);background:#ffffffe6;border-radius:8px;padding:26px}.auth-brand{margin-bottom:20px}.developer-link{min-height:32px;color:var(--muted);background:0 0;border:0;align-items:center;gap:7px;margin:-8px 0 16px;padding:0;font-size:13px;font-weight:850;display:inline-flex}.developer-link:hover{color:var(--primary-strong)}.danger-button,.danger-icon{color:var(--red)}.danger-button{background:#fff4f4;border-color:#f2c5c5}.loading-card{justify-content:center;align-items:center;gap:10px;min-height:160px;display:flex}.segmented{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.segmented button{min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;font-weight:850;display:inline-flex}.segmented button.active{color:var(--ink);background:#fff;box-shadow:0 8px 20px #1d2b2614}.auth-form,.developer-login{gap:14px;margin-top:18px;display:grid}.auth-form label,.developer-login label{color:var(--muted);gap:6px;font-size:13px;font-weight:800;display:grid}.auth-form input,.developer-login input{width:100%}.topbar{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f6f7f4e0;border-bottom:1px solid #dfe7e1bf;justify-content:space-between;align-items:center;gap:18px;padding:18px 28px;display:flex;position:sticky;top:0}.brand,.top-actions,.range-controls,.run-controls,.button-row,.job-main,.section-title,.dimension-top,.detail-score-row{align-items:center;display:flex}.brand{gap:12px;min-width:235px}.brand-mark{color:#fff;background:var(--primary);border-radius:8px;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 12px 26px #146b5c38}.brand h1,.brand p,.panel-heading h2,.panel-heading p,.detail-header h2,.detail-header p,.stat-tile span,.stat-tile strong,.dimension h3,.dimension p{margin:0}.brand h1{font-size:18px;line-height:1.1}.brand p,.muted,.stat-tile span,.note-link small,.job-main p{color:var(--muted)}.brand p,.stat-tile span,.job-main p,.note-link small{font-size:13px}.top-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.tenant-select-wrap,.tenant-chip,.range-controls label{border:1px solid var(--line);background:var(--surface);min-height:42px;color:var(--muted);border-radius:8px;align-items:center;gap:8px;display:flex}.tenant-select-wrap{padding:0 12px}.tenant-chip{max-width:320px;color:var(--muted);padding:0 12px}.tenant-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}select,input,textarea{color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:8px;outline:none}select:focus,input:focus,textarea:focus{border-color:#146b5c80;box-shadow:0 0 0 3px #146b5c1f}select{background:0 0;border:0;min-width:160px}input{min-height:42px;padding:0 12px}textarea{resize:vertical;width:100%;min-height:420px;padding:14px;line-height:1.5}.workspace{width:min(1500px,100% - 40px);margin:0 auto;padding:24px 0 48px}.command-band{border:1px solid var(--line);background:#ffffffc7;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex;box-shadow:0 12px 35px #1d2b2614}.limit-copy{color:var(--muted);margin:10px 0 0;font-size:12px;font-weight:700}.range-controls,.run-controls,.button-row{flex-wrap:wrap;gap:10px}.range-controls label{padding-left:12px}.range-controls span{color:var(--ink);font-size:13px;font-weight:700}.range-controls input{border:0;border-left:1px solid var(--line);border-radius:0 8px 8px 0}.billing-filter-control{padding-left:12px}.billing-filter-control select{border-left:1px solid var(--line);border-radius:0 8px 8px 0;min-width:250px;min-height:42px;padding:0 12px}.primary-button,.secondary-button,.icon-button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;font-weight:800;display:inline-flex}.primary-button{color:#fff;background:var(--primary);border-color:var(--primary);padding:0 16px}.primary-button:hover{background:var(--primary-strong)}.secondary-button{color:var(--ink);background:var(--surface);border-color:var(--line);padding:0 14px}.secondary-button:hover,.icon-button:hover{background:var(--primary-soft);border-color:#146b5c59}.icon-button{width:42px;color:var(--ink);background:var(--surface);border-color:var(--line);padding:0;text-decoration:none}.hidden-input{display:none}.menu-wrap{position:relative}.popover{z-index:30;border:1px solid var(--line);background:var(--surface);width:min(340px,100vw - 40px);box-shadow:var(--shadow);border-radius:8px;padding:14px;position:absolute;top:calc(100% + 8px);right:0}.popover input{width:100%;margin:8px 0}.full-width{width:100%}.notice,.job-strip{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:12px;margin-top:16px;display:flex}.notice{color:var(--red);align-items:center;padding:12px}.notice span{flex:1}.job-strip{justify-content:space-between;align-items:flex-start;padding:14px 16px}.job-main{gap:10px}.job-log{max-width:560px;color:var(--muted);text-align:right;gap:4px;font-size:12px;display:grid}.job-meta{color:var(--primary-strong);text-align:right;gap:6px;font-size:12px;font-weight:850;display:grid}.stats-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.stat-tile{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:16px}.stat-tile strong{margin-top:8px;font-size:28px;line-height:1;display:block}.accent-stat{background:linear-gradient(180deg, #fff, var(--primary-soft))}.content-grid{grid-template-columns:minmax(0,1.6fr) minmax(360px,.85fr);align-items:start;gap:16px;display:grid}.panel{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-width:0;box-shadow:0 10px 30px #1d2b260f}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:18px;display:flex}.panel-heading h2{font-size:20px}.panel-meta{color:var(--primary-strong);align-items:center;gap:6px;font-size:13px;font-weight:850;display:inline-flex}.eyebrow{color:var(--primary);letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:900}.prompt-panel{position:sticky;top:96px}.prompt-panel textarea{border:0;border-radius:0;min-height:380px}.checklist-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px;display:flex}.checklist-heading h2{margin:0;font-size:21px;line-height:1.18}.checklist-heading span{color:var(--muted);margin-top:6px;font-size:12px;font-weight:850;display:inline-flex}.checklist-panel textarea{border:1px solid var(--line);border-radius:8px;min-height:92px;font-size:13px}.scope-control-row{border-bottom:1px solid var(--line);color:var(--muted);background:#fbfcfa;align-items:center;gap:8px;padding:12px 14px;display:flex}.scope-select{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-width:0;min-height:38px;padding:0 10px}.checklist-body{gap:12px;padding:14px;display:grid}.check-item-list{gap:10px;display:grid}.check-item-row,.add-check-form,.deleted-list{border:1px solid var(--line);background:#fbfcfa;border-radius:8px}.check-item-row{gap:8px;padding:10px;display:grid}.check-item-main{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.compact-icon{width:36px;min-height:36px}.chevron-open{transform:rotate(180deg)}.check-title-input,.check-item-main .check-title-input,.add-check-form .check-title-input{width:100%;min-height:54px;color:var(--ink);resize:none;background:#fff;border-color:#0000;padding:10px 12px;font-weight:750;line-height:1.35}.check-title-input:focus{border-color:#146b5c80}.check-item-details,.add-check-form details{gap:10px;display:grid}.check-item-details label,.add-check-form label{color:var(--muted);gap:6px;font-size:12px;font-weight:650;display:grid}.check-item-details textarea,.add-check-form details textarea{color:var(--ink);font-weight:450}.check-item-actions{justify-content:flex-end;align-items:center;gap:8px;min-height:34px;display:flex}.check-item-actions span{color:var(--muted);font-size:12px;font-weight:800}.add-check-form{gap:10px;padding:10px;display:grid}.add-check-form input,.add-check-form textarea{width:100%}.add-check-form summary{cursor:pointer;color:var(--muted);align-items:center;gap:6px;font-size:13px;font-weight:850;list-style:none;display:inline-flex}.add-check-form summary::-webkit-details-marker{display:none}.add-check-form details[open] summary{margin-bottom:10px}.deleted-checks{gap:8px;display:grid}.deleted-list{gap:0;padding:4px 10px;display:grid}.deleted-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0;display:grid}.deleted-row:first-child{border-top:0}.deleted-row span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:750;overflow:hidden}.prompt-history{border-top:1px solid var(--line);padding:16px}.history-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.history-row:first-of-type{border-top:0}.history-row div{gap:3px;display:grid}.history-row strong{font-size:13px}.history-row span,.history-empty{color:var(--muted);font-size:12px}.compact-button{min-height:34px;padding:0 10px;font-size:12px}.table-shell{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:1080px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:14px 16px}th{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}tr:last-child td{border-bottom:0}tbody tr:hover,.selected-row{background:#f5faf7}.link-button{color:inherit;text-align:left;background:0 0;border:0;padding:0}.note-link{gap:4px;max-width:330px;display:grid}.note-link span{text-overflow:ellipsis;white-space:nowrap;font-weight:850;overflow:hidden}.note-link small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.source-chip,.status-pill,.billing-code-chip{white-space:nowrap;border-radius:999px;align-items:center;min-height:28px;padding:0 9px;font-size:12px;font-weight:850;display:inline-flex}.billing-code-chip{color:#5a4b19;background:#f5edce}.source-office_puzzle{color:var(--primary-strong);background:var(--primary-soft)}.source-manual_pdf{color:#8f4e18;background:#ffefd9}.source-one_off{color:#264f7a;background:#e4eefb}.status-complete{color:var(--primary-strong);background:var(--primary-soft)}.status-needs_review{color:var(--yellow);background:#fff3cb}.status-failed{color:var(--red);background:#ffe5e5}.score-badge{border-radius:50%;place-items:center;width:46px;height:46px;font-size:14px;font-weight:950;display:grid}.score-good{color:var(--primary-strong);background:conic-gradient(var(--primary) 85%, #d8e7e1 0)}.score-warn{color:var(--yellow);background:conic-gradient(#d59119 70%, #f3e5c5 0)}.score-bad{color:var(--red);background:conic-gradient(#cf4646 45%, #f4d2d2 0)}.score-badge span{background:#fff;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.empty-state{min-height:360px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:10px;padding:32px;display:grid}.empty-state h2,.empty-state p{margin:0}.detail-panel{z-index:40;border-left:1px solid var(--line);background:var(--surface);width:min(720px,100vw);height:100vh;position:fixed;top:0;right:0;overflow-y:auto;box-shadow:-20px 0 50px #1d2b2629}.detail-header{z-index:2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;justify-content:space-between;gap:14px;padding:22px;display:flex;position:sticky;top:0}.detail-header h2{font-size:24px;line-height:1.15}.detail-actions,.table-actions{align-items:center;gap:6px;display:inline-flex}.detail-chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.detail-chips span{border:1px solid var(--line);min-height:26px;color:var(--muted);background:#fbfcfa;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:800}.detail-score-row{background:var(--surface-soft);border-radius:8px;gap:16px;margin:20px;padding:16px}.score-summary{min-width:0}.detail-score-row p{color:var(--muted);margin:4px 0 0}.score-summary p{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.cost-line{font-size:13px;font-weight:850;color:var(--primary-strong)!important}.scan-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 20px 18px;display:grid}.scan-stats div{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;padding:12px}.scan-stats span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:850;display:block}.scan-stats strong{margin-top:5px;font-size:18px;display:block}.issue-section,.analysis-check-section,.compact-checks{padding:0 20px 20px}.compact-section-title{margin-bottom:12px}.compact-section-title h3{font-size:16px}.issue-list{gap:10px;display:grid}.analysis-check-list{gap:8px;display:grid}.analysis-check-row{border:1px solid var(--line);background:#fff;border-radius:8px}.analysis-check-row.fail{border-left:4px solid var(--red)}.analysis-check-row.pass{border-left:4px solid var(--primary)}.analysis-check-row summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:60px;padding:12px 14px;list-style:none;display:grid}.analysis-check-row summary::-webkit-details-marker{display:none}.analysis-check-title{gap:4px;min-width:0;display:grid}.analysis-check-title strong{color:var(--ink);white-space:normal;font-size:15px;line-height:1.3}.analysis-check-title span{color:var(--muted);font-size:12px;font-weight:800}.analysis-check-row[open] summary>svg{transform:rotate(180deg)}.analysis-check-details{gap:10px;padding:0 14px 14px 52px;display:grid}.analysis-check-details p{color:var(--ink);margin:0;line-height:1.45}.analysis-check-details div{gap:4px;display:grid}.analysis-check-details div span{color:var(--primary-strong);text-transform:uppercase;font-size:12px;font-weight:900}.issue-card{border:1px solid var(--line);border-left:4px solid var(--red);background:#fff;border-radius:8px;padding:14px}.issue-top{align-items:center;gap:10px;margin-bottom:8px;display:flex}.issue-top h3,.issue-top p,.issue-card p{margin:0}.issue-top h3{font-size:15px}.issue-copy,.compact-fix,.compact-evidence{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.compact-fix,.compact-evidence{margin-top:8px!important}.clear-card{background:var(--primary-soft);color:var(--primary-strong);border:1px solid #146b5c40;border-radius:8px;align-items:center;gap:10px;padding:14px;font-weight:850;display:flex}.check-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.check-chip{border:1px solid var(--line);min-height:36px;color:var(--ink);text-align:left;background:#fff;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 9px;display:grid}.check-chip span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.check-chip strong{color:var(--muted);font-size:12px}.check-chip.pass svg{color:var(--primary-strong)}.check-chip.fail{background:#fff8f8;border-color:#f1caca}.check-chip.fail svg{color:var(--red)}.dimension-list{gap:12px;padding:0 20px 20px;display:grid}.compact-dimensions{padding:14px 0 0}.dimension{border:1px solid var(--line);border-radius:8px;padding:15px}.dimension-top{gap:10px;margin-bottom:10px}.dimension-mark{border-radius:50%;flex:none;place-items:center;width:28px;height:28px;display:grid}.dimension-mark.pass{color:var(--primary-strong);background:var(--primary-soft)}.dimension-mark.fail{color:var(--red);background:#ffe5e5}.dimension h3{font-size:15px}.dimension p{line-height:1.5}.evidence{color:var(--blue);font-size:13px;margin-top:10px!important}.fix-text{color:var(--primary-strong);font-weight:750;margin-top:10px!important}.note-text{padding:20px}details.note-text{border-top:1px solid var(--line)}details.note-text summary{cursor:pointer;color:var(--ink);align-items:center;gap:8px;font-weight:850;list-style:none;display:inline-flex}details.note-text summary::-webkit-details-marker{display:none}details.note-text pre{margin-top:12px}.section-title{gap:8px;margin-bottom:10px}.section-title h3{margin:0}pre{white-space:pre-wrap;border:1px solid var(--line);color:#26312e;background:#fbfcfa;border-radius:8px;margin:0;padding:16px;line-height:1.5;overflow-x:auto}.modal-backdrop{z-index:60;background:#0d171452;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--line);background:var(--surface);width:min(720px,100%);box-shadow:var(--shadow);border-radius:8px}.developer-modal{width:min(980px,100%);max-height:min(880px,100vh - 40px);overflow-y:auto}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:20px;display:flex}.modal-header h2{margin:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px;display:grid}.form-grid label{color:var(--muted);gap:6px;font-size:13px;font-weight:800;display:grid}.form-grid input{width:100%}.wide-field{grid-column:1/-1}.inline-note{border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);border-radius:8px;gap:10px;padding:10px 12px;font-size:13px;font-weight:700;display:grid}.inline-note strong{color:var(--ink)}.inline-note input{width:100%}.inline-note .secondary-button{width:max-content}.modal-actions{justify-content:flex-end;gap:10px;padding:0 20px 20px;display:flex}.error-line,.success-line{margin:0;padding:0 20px 16px;font-size:13px;font-weight:750}.error-line{color:var(--red)}.success-line{color:var(--primary-strong)}.compact-line{padding:0}.developer-body{padding:20px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.settings-grid label,.toggle-row{color:var(--muted);gap:6px;font-size:13px;font-weight:800;display:grid}.toggle-row{border:1px solid var(--line);background:var(--surface-soft);min-height:42px;color:var(--ink);border-radius:8px;align-items:center;padding:0 12px;display:flex}.toggle-row input{width:16px;min-height:16px;padding:0}.settings-grid textarea{min-height:120px}.developer-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin:16px 0;display:flex}.lifecycle-note{margin:0 0 16px}.developer-table table{min-width:820px}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1080px){.content-grid{grid-template-columns:1fr}.prompt-panel{position:static}}@media (width<=760px){.topbar,.command-band{flex-direction:column;align-items:stretch}.top-actions,.run-controls,.range-controls{justify-content:stretch}.top-actions>*,.run-controls>*,.range-controls label{flex:auto}.workspace{width:min(100% - 24px,1500px);padding-top:14px}.stats-row,.scan-stats,.check-chip-grid,.settings-grid{grid-template-columns:1fr}.job-strip{flex-direction:column}.job-meta,.job-log{text-align:left;max-width:none}.form-grid{grid-template-columns:1fr}.detail-panel{width:100vw}}
