:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}.shell{grid-template-columns:220px minmax(0,1fr);min-height:100vh;display:grid}.nav-sidebar{color:#fff;background:#101828;flex-direction:column;padding:28px 20px;display:flex}.brand p,.eyebrow{color:#7dd3fc;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:700}.brand h1,.topbar h2{margin:0}.brand h1{font-size:20px}.nav-links{flex-direction:column;gap:4px;margin-top:32px;display:flex}.nav-item{color:#cbd5e1;border-radius:6px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:block}.nav-item:hover{color:#fff;background:#1e293b}.nav-item.active{color:#fff;background:#1e3a5f;font-weight:600}.nav-user{border-top:1px solid #1e293b;flex-direction:column;gap:8px;margin-top:auto;padding-top:20px;display:flex}.nav-user-name{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.nav-signout{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #334155;border-radius:6px;padding:6px 12px;font-size:13px;transition:background .15s,color .15s}.nav-signout:hover{color:#fff;background:#1e293b}.content{padding:32px}.topbar{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.pill{color:#3730a3;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700}.topbar-actions{align-items:center;gap:12px;display:flex}.btn-freemium{color:#fff;cursor:pointer;background:#0ea5e9;border:1px solid #0ea5e9;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:background .15s}.btn-freemium:hover{background:#0284c7}.btn-freemium:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{color:#344054;cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:background .15s}.btn-secondary:hover{background:#f9fafb}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-danger{color:#fff;cursor:pointer;background:#d92d20;border:1px solid #d92d20;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:background .15s}.btn-danger:hover{background:#b42318}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.btn-link{text-align:center;text-decoration:none;display:inline-block}.modal-overlay{z-index:50;background:#10182880;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:10px;width:100%;max-width:520px;box-shadow:0 20px 40px #10182833}.modal-header{border-bottom:1px solid #eaecf0;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.modal-header h3{margin:0;font-size:16px}.modal-close{color:#667085;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:22px;line-height:1}.modal-close:hover{color:#101828}.modal-body{padding:18px 24px}.modal-body p{margin:0 0 12px}.modal-footer{justify-content:flex-end;gap:10px;padding:14px 24px 20px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-field{flex-direction:column;gap:6px;display:flex}.form-field span{color:#344054;font-size:13px;font-weight:600}.form-field input{border:1px solid #d0d5dd;border-radius:8px;outline:none;padding:9px 12px;font-size:14px}.form-field input:focus{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf826}.form-field-wide{grid-column:1/-1}.signin-link-box{word-break:break-all;background:#f9fafb;border:1px solid #e4e7ec;border-radius:8px;padding:12px 14px;font-size:13px}.banner{border-radius:8px;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;padding:12px 14px;font-size:14px;display:flex}.banner-success{color:#067647;background:#ecfdf3;border:1px solid #abefc6}.banner-error{color:#b42318;background:#fef3f2;border:1px solid #fecdca}.banner-dismiss{color:inherit;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:18px;line-height:1}.actions-cell{text-align:right;width:44px;position:relative}.kebab{color:#667085;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:4px 8px;font-size:18px;line-height:1}.kebab:hover{color:#101828;background:#eef2f6}.actions-menu{z-index:20;background:#fff;border:1px solid #e4e7ec;border-radius:8px;flex-direction:column;min-width:230px;padding:6px;display:flex;position:absolute;top:calc(100% - 6px);right:8px;box-shadow:0 8px 24px #10182824}.actions-menu button{text-align:left;color:#344054;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:9px 10px;font-size:13px}.actions-menu button:hover{background:#f0f7ff}.actions-menu .menu-danger{color:#b42318}.actions-menu .menu-danger:hover{background:#fef3f2}.breadcrumb{color:#7dd3fc;text-decoration:none}.breadcrumb:hover{text-decoration:underline}.sessions-toolbar{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.sessions-search{border:1px solid #d0d5dd;border-radius:8px;outline:none;width:340px;padding:10px 14px;font-size:14px}.sessions-search:focus{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf826}.clickable-row{cursor:pointer;transition:background .1s}.clickable-row:hover{background:#f0f7ff}.summary-grid{grid-template-columns:1.2fr 1fr 1fr;gap:18px;margin-bottom:18px;display:grid}.main-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.panel{background:#fff;border:1px solid #e4e7ec;border-radius:8px;padding:20px;box-shadow:0 1px 2px #1018280a}.panel h3{margin:0 0 16px;font-size:16px}.wide{grid-column:1/-1}dl{gap:12px;margin:0;display:grid}dt{color:#667085;text-transform:uppercase;font-size:12px;font-weight:700}dd{margin:3px 0 0}.scores{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.score-card{border:1px solid #e4e7ec;border-radius:8px;padding:12px}.score-card span{color:#667085;font-size:12px;display:block}.score-card strong{margin-top:6px;font-size:24px;display:block}.muted{color:#667085}.timeline{gap:14px;margin:0;padding-left:18px;display:grid}.timeline li span,.timeline li small{color:#667085;font-size:12px;display:block}.timeline li strong{margin:2px 0;display:block}.bar-list{gap:14px;display:grid}.bar-row{grid-template-columns:180px 1fr 52px;align-items:center;gap:12px;font-size:13px;display:grid}.bar-row div{background:#eef2f6;border-radius:999px;height:8px;overflow:hidden}.bar-row i{border-radius:inherit;background:#0ea5e9;height:100%;display:block}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #eaecf0;padding:12px 8px}th{color:#667085;text-transform:uppercase;font-size:12px}.quadrant-row{margin-top:10px}.quadrant-pill{border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600;display:inline-block}.plan-score-hero{justify-content:center;padding:12px 0 4px;display:flex}.plan-score-ring{border:4px solid;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:96px;height:96px;display:flex}.plan-score-ring strong{font-size:28px;line-height:1}.plan-score-ring small{color:#667085;font-size:11px}.score-circle{border:2.5px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.rubric-panel{overflow:hidden;padding:0!important}.rubric-header{background:linear-gradient(135deg,#f5f3ff 0%,#ede9fe 100%);border-bottom:1px solid #e4e7ec;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.rubric-header h3{margin:0!important}.rubric-total{text-align:right}.rubric-total strong{font-size:36px;line-height:1;display:block}.rubric-total small{color:#667085;font-size:12px}.dimensions-list{flex-direction:column;gap:16px;padding:16px 24px 24px;display:flex}.dimension-card{border:1px solid #e4e7ec;border-radius:8px;overflow:hidden}.dimension-header{background:#fafafa;border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.dimension-header strong{font-size:14px}.dim-code{color:#94a3b8;margin-top:2px;font-family:monospace;font-size:11px;display:block}.dimension-score-block{text-align:right}.dimension-score{font-size:24px;font-weight:700}.dim-weight{color:#94a3b8;font-size:11px;display:block}.feature-list{flex-direction:column;display:flex}.feature-row{border-bottom:1px solid #f5f5f5;align-items:center;gap:12px;padding:10px 16px 10px 24px;display:flex}.feature-row:last-child{border-bottom:none}.feature-info{flex:1;min-width:0}.feature-info span{font-size:13px;font-weight:500;display:block}.feature-weight{color:#94a3b8;white-space:nowrap;font-size:12px}.question-bar-row{grid-template-columns:1fr 140px 32px;align-items:center;gap:10px;padding:6px 0;display:grid}.question-label{font-size:13px;line-height:1.3}.question-bar-track{background:#f1f5f9;border-radius:999px;height:8px;overflow:hidden}.question-bar-fill{border-radius:inherit;height:100%;transition:width .3s}.question-score{text-align:right;font-size:13px}.quadrant-chart-wrapper{flex-direction:column;align-items:center;display:flex}.quadrant-chart-wrapper canvas{display:block}.quadrant-legend{color:#667085;gap:16px;margin-top:8px;font-size:12px;display:flex}.legend-dot{vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-right:4px;display:inline-block}.legend-user{background:#f97316}.legend-peer{background:#60a5fa99;border:1px solid #3b82f699}@media (width<=960px){.shell,.summary-grid,.main-grid{grid-template-columns:1fr}.nav-sidebar{min-height:auto}}.spm-tabs{border-bottom:1px solid #e5e7eb;gap:8px;margin-bottom:16px;display:flex}.spm-tab{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 16px;font-size:14px;font-weight:600}.spm-tab:hover{color:#111827}.spm-tab.active{color:#4338ca;border-bottom-color:#4338ca}.spm-search{box-sizing:border-box;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:10px 14px;font-size:14px}.spm-search:focus{border-color:#818cf8;outline:none;box-shadow:0 0 0 3px #818cf840}.spm-table{border-collapse:collapse;width:100%;font-size:14px}.spm-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;border-bottom:1px solid #e5e7eb;padding:8px 12px;font-size:12px}.spm-table td{vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:10px 12px}.spm-table tr:hover td{background:#fafafa}.spm-link{color:#4338ca;font-weight:600;text-decoration:none}.spm-link:hover{text-decoration:underline}.pill-warn{color:#92400e;background:#fef3c7;border-color:#fcd34d;padding:3px 8px;font-size:11px}.spm-pager{justify-content:flex-end;align-items:center;gap:14px;margin-top:14px;display:flex}.spm-pager button{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:600}.spm-pager button:disabled{opacity:.5;cursor:not-allowed}.spm-run-list{flex-wrap:wrap;gap:10px;display:flex}.spm-run{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:2px;min-width:140px;padding:10px 14px;display:flex}.spm-run.active{border-color:#4338ca;box-shadow:0 0 0 2px #4338ca26}.spm-run span{font-size:13px;font-weight:600}.spm-run strong{font-size:18px}.extracted-text-body{flex-direction:column;min-height:0;display:flex}.extracted-text{white-space:pre-wrap;word-break:break-word;color:#374151;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;max-height:60vh;margin:0;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.55;overflow:auto}.plan-upload-list{flex-direction:column;gap:10px;margin:0 0 16px;padding:0;list-style:none;display:flex}.plan-upload{border:1px solid #e5e7eb;border-left:3px solid #d1d5db;border-radius:8px;padding:10px 12px}.plan-upload-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.plan-upload-head strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.plan-upload-status{color:#667085;flex-shrink:0;font-size:12px;font-weight:600}.plan-upload-completed{border-left-color:#12b76a}.plan-upload-scoring,.plan-upload-processing,.plan-upload-pending{border-left-color:#f79009}.plan-upload-failed{border-left-color:#f04438}.plan-upload-completed .plan-upload-status{color:#067647}.plan-upload-scoring .plan-upload-status,.plan-upload-processing .plan-upload-status,.plan-upload-pending .plan-upload-status{color:#b54708}.plan-upload-failed .plan-upload-status{color:#b42318}.plan-upload-failure{color:#b42318;margin:8px 0 0;font-size:13px}.plan-upload-actions{margin-bottom:10px}
