:root{--bg:#f5f8f6;--panel:#ffffff;--ink:#152d28;--muted:#5b746e;--line:#d8e3df;--brand:#1e6f5c;--accent:#c7784a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.sidebar{border-right:1px solid var(--line);background:#ffffff;padding:22px 16px}.brand{font-size:18px;font-weight:700;margin-bottom:24px}.nav{display:grid;grid-gap:6px;gap:6px}.nav a{min-height:40px;border-radius:6px;display:flex;align-items:center;gap:10px;padding:0 10px;color:var(--muted);font-size:14px;font-weight:600}.nav a:hover{background:#e8f2ee;color:var(--ink)}.logout-form{margin-top:18px}.nav-action{width:100%;min-height:40px;border:0;border-radius:6px;background:transparent;color:var(--muted);display:flex;align-items:center;gap:10px;padding:0 10px;font:inherit;font-size:14px;font-weight:600;cursor:pointer}.nav-action:hover{background:#e8f2ee;color:var(--ink)}.main{min-width:0;padding:28px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.page-title{font-size:28px;line-height:1.15;margin:0}.page-subtitle{margin:6px 0 0;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px}.metric{color:var(--muted);font-size:13px;margin-bottom:8px}.value{font-size:24px;font-weight:700}.table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}.table-offset{margin-top:16px}.table td,.table th{border-bottom:1px solid var(--line);padding:12px;text-align:left;font-size:14px}.table th{color:var(--muted);font-size:12px;text-transform:uppercase}.status{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:0 10px;font-size:12px;font-weight:700}.status,.status-pass{background:#e8f2ee;color:var(--brand)}.status-warning{background:#fff6df;color:#7a5300}.status-fail{background:#f8e8e8;color:#9d2f2f}.empty{color:var(--muted);text-align:center}.table-note{color:var(--muted);font-size:13px}.code-cell{max-width:260px;overflow-wrap:anywhere;font-family:Courier New,monospace;font-size:12px}.file-list{display:grid;grid-gap:4px;gap:4px;color:var(--muted);font-size:12px}.swatch{display:inline-block;width:14px;height:14px;border-radius:4px;border:1px solid var(--line);margin-right:8px;vertical-align:-2px}.button{min-height:38px;border:1px solid var(--brand);border-radius:6px;color:var(--brand);background:#ffffff;display:inline-flex;align-items:center;gap:8px;padding:0 12px;font-weight:700}.button-primary{color:#ffffff;background:var(--brand)}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-panel{width:min(100%,420px);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:22px}.login-header{margin-bottom:18px}.login-form{display:grid;grid-gap:12px;gap:12px}.login-form label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:13px;font-weight:700}.lab-editor-form select,.login-form input,.login-form select,.settings-form select,.simple-score-form select{min-height:42px;border:1px solid var(--line);border-radius:6px;padding:0 10px;color:var(--ink);font:inherit}.lab-editor-form select,.login-form select,.settings-form select,.simple-score-form select{background:#ffffff}.form-help{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.form-help a{color:var(--brand);font-weight:700}.form-error{margin:0;color:#9d2f2f;font-size:13px;line-height:1.45}.form-success{margin:0;color:var(--brand);font-size:14px;line-height:1.45}.account-shell{min-height:100vh;width:min(100%,900px);margin:0 auto;padding:32px 18px}.account-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.account-nav{display:flex;flex-wrap:wrap;gap:8px}.account-nav a{min-height:36px;border:1px solid var(--line);border-radius:6px;padding:8px 10px;color:var(--muted);font-size:14px;font-weight:700;background:#ffffff}.table-card{margin-bottom:18px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px}.table-card h2{margin:0 0 14px;font-size:18px}.details-list{display:grid;grid-template-columns:minmax(140px,220px) minmax(0,1fr);grid-gap:0;gap:0;margin:0}.details-list dd,.details-list dt{margin:0;padding:10px 0;border-bottom:1px solid var(--line)}.details-list dt{color:var(--muted);font-size:13px;font-weight:700}.details-list dd{min-width:0;overflow-wrap:anywhere}.settings-form{display:grid;grid-gap:12px;gap:12px;max-width:460px}.settings-form label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:13px;font-weight:700}.lab-editor-form input,.lab-editor-form textarea,.settings-form input,.settings-form textarea{min-height:42px;border:1px solid var(--line);border-radius:6px;padding:10px;color:var(--ink);background:#ffffff;font:inherit}.lab-editor-form textarea,.settings-form textarea{resize:vertical;line-height:1.45}.settings-form h3{margin:0;font-size:15px}.lab-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px;align-items:start}.lab-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.lab-action{min-height:118px;border:1px solid var(--line);border-radius:8px;padding:16px;display:grid;align-content:start;grid-gap:8px;gap:8px;background:#f8fbfa}.lab-action strong{color:var(--ink)}.lab-action span{color:var(--muted);font-size:13px;line-height:1.45}.lab-output-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.lab-output-grid h3{margin:0 0 8px;font-size:14px}.run-review-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.review-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:10px;gap:10px}.summary-tile{min-height:76px;border:1px solid var(--line);border-radius:8px;padding:12px;display:grid;grid-gap:6px;gap:6px;align-content:start;background:#ffffff}.summary-tile span{color:var(--muted);font-size:12px;font-weight:700}.summary-tile strong{color:var(--ink);font-size:18px;overflow-wrap:anywhere}.summary-good{border-color:#b9d8cc}.summary-warn{border-color:#e8cf89}.summary-bad{border-color:#e1abab}.comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-grid,.result-panel{display:grid;grid-gap:14px;gap:14px}.result-panel{border:1px solid var(--line);border-radius:8px;padding:14px;background:#ffffff}.result-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.result-panel h3,.result-panel h4{margin:0}.review-section{border-top:1px solid var(--line);padding-top:12px;display:grid;grid-gap:8px;gap:8px}.review-section h4{font-size:13px}.review-section ul{margin:0;padding-left:18px;color:var(--muted);font-size:13px;line-height:1.5}.review-pass h4{color:var(--brand)}.review-warning h4{color:#7a5300}.review-fail h4{color:#9d2f2f}.simple-score-form{display:grid;grid-gap:12px;gap:12px;border-top:1px solid var(--line);padding-top:12px}.simple-score-form label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:13px;font-weight:700}.simple-score-form textarea{min-height:84px;border:1px solid var(--line);border-radius:6px;padding:10px;color:var(--ink);background:#ffffff;font:inherit;resize:vertical}.score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.advanced-details{border-top:1px solid var(--line);padding-top:12px}.advanced-details summary{cursor:pointer;color:var(--brand);font-size:13px;font-weight:700}.checklist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.checklist-panel{border:1px solid var(--line);border-radius:8px;padding:14px;background:#ffffff}.checklist-panel h3{margin:0 0 8px;font-size:15px}.checklist{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.checklist-item{border:1px solid var(--line);border-radius:8px;padding:10px;display:grid;grid-gap:4px;gap:4px}.checklist-item strong{color:var(--ink);font-size:13px}.checklist-item span{color:var(--muted);font-size:13px;line-height:1.4}.checklist-pass{border-color:#b9d8cc}.checklist-warning{border-color:#e8cf89}.checklist-fail{border-color:#e1abab}.readiness-box{border:1px solid var(--line);border-radius:8px;background:#f8fbfa;padding:12px;margin-bottom:16px}.inline-form{display:flex;gap:8px;align-items:center}.inline-form input{min-height:38px;width:170px;border:1px solid var(--line);border-radius:6px;padding:0 10px;font:inherit}.action-stack{display:grid;grid-gap:8px;gap:8px}.table-link{color:var(--brand)}.lab-editor-form{display:grid;grid-gap:14px;gap:14px}.lab-editor-form label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:13px;font-weight:700}.prompt-file-stack{display:grid;grid-gap:14px;gap:14px}.json-panel,.prompt-textarea{width:100%;min-height:260px;font-family:Courier New,monospace;font-size:12px;overflow:auto}.json-panel{margin:0;border:1px solid var(--line);border-radius:6px;padding:12px;background:#f8fbfa;color:var(--ink)}.danger-button{border-color:#9d2f2f;color:#9d2f2f}.checkbox-row{display:flex!important;grid-template-columns:none;flex-direction:row;align-items:center;gap:8px!important}.public-page{min-height:100vh;padding:42px 18px}.public-document{width:min(100%,860px);margin:0 auto;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:34px}.public-document h1{margin:0 0 8px;font-size:36px;line-height:1.1}.public-document h2{margin:30px 0 10px;font-size:20px;line-height:1.25}.public-document li,.public-document p{color:var(--muted);font-size:16px;line-height:1.65}.public-document ul{margin:10px 0 0;padding-left:22px}.public-document a{color:var(--brand);font-weight:700;text-decoration:underline;text-underline-offset:3px}.public-eyebrow{margin:0 0 10px;color:var(--brand);font-size:13px;font-weight:700;letter-spacing:0;text-transform:uppercase}.public-muted{margin:0 0 24px;color:var(--muted)}@media (max-width:840px){.shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.main{padding:18px}.checklist-grid,.comparison-grid,.grid,.lab-action-grid,.lab-form-grid,.lab-output-grid,.review-summary-grid{grid-template-columns:1fr}.result-panel-header,.run-review-header{display:grid}.score-grid{grid-template-columns:1fr}.public-page{padding:18px 12px}.public-document{padding:22px}.public-document h1{font-size:30px}}