:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f7f9;--bg-elevated:#fff;--bg-hover:#f1f4f8;--border:#e3e6eb;--text:#14171f;--text-dim:#667085;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-soft:#eaf0fe;--green:#16a34a;--green-soft:#16a34a1a;--red:#dc2626;--red-soft:#dc26261a;--amber:#d97706;--shadow-sm:0 1px 2px #14171f0a, 0 1px 3px #14171f0f;--shadow-md:0 4px 10px #14171f0f, 0 2px 4px #14171f0d;--shadow-lg:0 12px 32px #14171f1f, 0 4px 10px #14171f0f;-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);min-height:100vh;margin:0;line-height:1.5}a{color:var(--accent)}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--bg-elevated);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:.2rem;width:224px;padding:1.5rem 1rem;display:flex}.sidebar h1{letter-spacing:-.01em;color:var(--text);margin:0 0 1.5rem .5rem;font-size:1.05rem;font-weight:700}.sidebar a{color:var(--text-dim);border-radius:8px;padding:.5rem .75rem;font-size:.92rem;font-weight:500;text-decoration:none;transition:background-color .12s,color .12s;display:block}.sidebar a:hover{background:var(--bg-hover);color:var(--text)}.sidebar a.active{background:var(--accent-soft);color:var(--accent-hover)}.sidebar .spacer{flex:1}.sidebar .logout-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;text-align:left;background:0 0;border-radius:8px;padding:.5rem .75rem;font-family:inherit;font-size:.85rem}.sidebar .logout-btn:hover{background:var(--bg-hover);color:var(--text)}.main-content{flex:1;max-width:1180px;padding:2rem 2.5rem;overflow-x:auto}.page-title{letter-spacing:-.015em;color:var(--text);margin:0 0 1.5rem;font-size:1.5rem;font-weight:700}.card{background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;margin-bottom:1.25rem;padding:1.25rem 1.5rem}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat-tile{background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;padding:1rem 1.1rem}.stat-tile .label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.stat-tile .value{letter-spacing:-.01em;overflow-wrap:anywhere;color:var(--text);margin-top:.3rem;font-size:1.5rem;font-weight:700}.stat-tile .value.text{font-size:1rem;font-weight:600}.value.positive{color:var(--green)}.value.negative{color:var(--red)}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.6rem .65rem}th{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:.74rem;font-weight:600}tr:hover td{background:var(--bg-hover)}.badge{letter-spacing:.01em;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:700;display:inline-block}.badge.pass{background:var(--green-soft);color:var(--green)}.badge.fail{background:var(--red-soft);color:var(--red)}.login-page{background:linear-gradient(#f6f7f9 0%,#eef1f6 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--bg-elevated);border:1px solid var(--border);width:340px;box-shadow:var(--shadow-lg);border-radius:16px;padding:2.25rem 2rem}.login-card h1{letter-spacing:-.01em;text-align:center;color:var(--text);margin:0 0 1.5rem;font-size:1.3rem;font-weight:700}.login-toggle{text-align:center;color:var(--text-dim);margin-top:1.1rem;font-size:.85rem}.login-toggle button{color:var(--accent);cursor:pointer;font-weight:600;font-size:inherit;background:0 0;border:none;padding:0;font-family:inherit}.field{margin-bottom:1rem}.field label{color:var(--text-dim);margin-bottom:.35rem;font-size:.82rem;font-weight:500;display:block}input[type=email],input[type=password],input[type=text],input[type=number],select{background:var(--bg-elevated);border:1px solid var(--border);width:100%;color:var(--text);border-radius:8px;padding:.6rem .7rem;font-family:inherit;font-size:.9rem;transition:border-color .12s,box-shadow .12s}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}button.primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:.65rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:background-color .12s}button.primary:hover:not(:disabled){background:var(--accent-hover)}button.primary:disabled{opacity:.55;cursor:default}button.secondary{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:.55rem 1rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:background-color .12s}button.secondary:hover:not(:disabled){background:var(--bg-hover)}button.secondary:disabled{opacity:.55;cursor:default}.form-error{color:var(--red);background:var(--red-soft);border-radius:8px;margin-bottom:1rem;padding:.5rem .7rem;font-size:.85rem}.form-success{color:var(--green);background:var(--green-soft);border-radius:8px;margin-bottom:1rem;padding:.5rem .7rem;font-size:.85rem}.muted{color:var(--text-dim)}.explanation-box{background:var(--bg);border:1px solid var(--border);white-space:pre-wrap;color:var(--text-dim);border-radius:10px;padding:.85rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.8rem;overflow-x:auto}.empty-state{text-align:center;color:var(--text-dim);padding:2.5rem 1.5rem}.locked-state{text-align:center;color:var(--text-dim);padding:3rem 1.5rem}.locked-state .icon{margin-bottom:.5rem;font-size:2rem}.permission-checklist{flex-direction:column;gap:.5rem;margin:.75rem 0;display:flex}.permission-checklist label{color:var(--text);align-items:center;gap:.5rem;font-size:.88rem;font-weight:400;display:flex}.permission-checklist input[type=checkbox]{width:auto;accent-color:var(--accent)}.chat-toggle{background:var(--accent);color:#fff;cursor:pointer;width:52px;height:52px;box-shadow:var(--shadow-lg);border:none;border-radius:50%;font-size:1.3rem;position:fixed;bottom:1.5rem;right:1.5rem}.chat-toggle:hover{background:var(--accent-hover)}.chat-panel{background:var(--bg-elevated);border:1px solid var(--border);width:340px;height:460px;box-shadow:var(--shadow-lg);border-radius:14px;flex-direction:column;display:flex;position:fixed;bottom:5.5rem;right:1.5rem;overflow:hidden}.chat-header{border-bottom:1px solid var(--border);color:var(--text);padding:.75rem 1rem;font-size:.9rem;font-weight:700}.chat-messages{flex-direction:column;flex:1;gap:.5rem;padding:.75rem;display:flex;overflow-y:auto}.chat-message{white-space:pre-wrap;border-radius:10px;max-width:85%;padding:.55rem .75rem;font-size:.85rem;line-height:1.4}.chat-message.user{background:var(--accent);color:#fff;align-self:flex-end}.chat-message.assistant{background:var(--bg);border:1px solid var(--border);color:var(--text);align-self:flex-start}.chat-input-row{border-top:1px solid var(--border);display:flex}.chat-input-row input{color:var(--text);background:0 0;border:none;border-radius:0;flex:1;padding:.7rem;font-size:.85rem}.chat-input-row input:focus{box-shadow:none;outline:none}.chat-input-row button{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0 1rem;font-family:inherit;font-weight:600}
