:root{--ink:#162653;--muted:#6d7b9b;--line:#e4eaf4;--wash:#f5f8fc;--paper:#fff;--teal:#0b9f8b;--blue:#2b63d9;--red:#d94b5b}*{box-sizing:border-box}body{margin:0;background:var(--wash);color:var(--ink);font:14px Arial,sans-serif}button{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{background:var(--paper);border-right:1px solid var(--line);padding:24px 16px;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;margin:0 8px 35px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-bottom:4px solid var(--blue);color:var(--teal);font:700 22px Georgia,serif}.brand strong{font:700 18px Georgia,serif;display:block}.brand small{color:var(--muted);font-size:10px}nav{display:grid;gap:5px}.nav-item{border:0;background:transparent;color:var(--ink);padding:11px 12px;border-radius:7px;text-align:left;cursor:pointer;font-weight:600}.nav-item:hover,.nav-item.active{background:#e4f5f2;color:var(--teal)}.sidebar-status{margin-top:auto;padding:10px 12px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;display:flex;gap:8px;align-items:center}.status-dot{width:8px;height:8px;border-radius:50%;background:#c4cfdf;display:inline-block}.status-dot.ready{background:var(--teal)}.status-dot.error{background:var(--red)}.main-content{padding:26px 36px 50px;max-width:1500px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;gap:15px;align-items:center}.scope-chips{display:flex;gap:8px;flex-wrap:wrap}.scope-chips span{background:var(--paper);border:1px solid var(--line);padding:8px 11px;border-radius:6px;color:var(--muted);font-size:11px;font-weight:600}.profile-wrap{position:relative}.profile{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:50%;width:38px;height:38px;font-weight:700;cursor:pointer}.profile-menu{position:absolute;z-index:5;right:0;top:48px;width:230px;display:grid;gap:8px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 16px 32px #1626531f}.profile-menu strong{font-size:14px}.profile-menu span{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis}.profile-menu .role-label{color:var(--teal);font-size:10px;font-weight:700;letter-spacing:1px}.profile-menu button,.password-head button{border:0;background:transparent;color:var(--blue);text-align:left;cursor:pointer;padding:5px 0;font-weight:600}.password-panel{position:relative;margin:20px 0;padding:22px;background:#fff;border:1px solid var(--line);border-radius:8px;max-width:600px}.password-head{display:flex;justify-content:space-between;align-items:flex-start}.password-head h2{font:700 24px Georgia,serif;margin:0}.password-form{display:grid;gap:14px;margin-top:15px}.password-form label{display:grid;gap:6px;font-size:12px;font-weight:700}.password-form input{border:1px solid #d7e1f0;border-radius:6px;padding:10px;font:inherit}.auth-success{color:var(--teal);font-size:12px}.auth-loading{min-height:100vh;display:grid;place-items:center;color:var(--muted);background:var(--wash)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:32px;background:linear-gradient(145deg,#edf4f2,#f7f9fc 48%,#edf2fa)}.auth-layout{width:min(920px,100%);min-height:590px;display:grid;grid-template-columns:minmax(300px,.85fr) minmax(400px,1.15fr);overflow:hidden;background:var(--paper);border:1px solid #dce4ee;border-radius:8px;box-shadow:0 28px 70px #14224124}.auth-context{display:flex;flex-direction:column;padding:42px;color:#fff;background:#14234b}.auth-context .brand{margin:0}.auth-context .brand-mark{color:#34c4aa;border-color:#4f7deb}.auth-context .brand small{color:#b8c5e1}.auth-context-copy{margin:auto 0;max-width:290px}.auth-context-copy .eyebrow{color:#65dbc6}.auth-context-copy h2{margin:12px 0 16px;color:#fff;font:700 36px/1.12 Georgia,serif}.auth-context-copy p{margin:0;color:#c8d2e8;font-size:15px;line-height:1.7}.auth-context-meta{margin:0;color:#8fa3cc;font-size:10px;font-weight:700;letter-spacing:1.4px}.auth-card{align-self:center;width:100%;padding:52px 56px}.auth-card h1{font:700 36px/1.15 Georgia,serif;margin:10px 0 12px}.auth-card .subtitle{font-size:15px;line-height:1.55}.auth-form{display:grid;gap:18px;margin-top:28px}.auth-form label{display:grid;gap:8px;color:var(--ink);font-size:12px;font-weight:700}.auth-form input{width:100%;min-height:46px;border:1px solid #cfd9e7;border-radius:6px;padding:11px 13px;color:var(--ink);background:#fff;font:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.auth-form input::placeholder{color:#9aa8bf}.auth-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2b63d91f}.field-hint{margin:-8px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.auth-submit{min-height:46px;border:0;border-radius:6px;padding:12px 18px;background:var(--teal);color:#fff;font-weight:700;cursor:pointer;transition:background .15s,transform .15s}.auth-submit:hover:not(:disabled){background:#087f70}.auth-submit:active:not(:disabled){transform:translateY(1px)}.auth-submit:disabled{cursor:not-allowed;opacity:.62}.auth-links{display:flex;justify-content:space-between;gap:18px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.auth-switch{border:0;background:none;color:var(--blue);padding:0;cursor:pointer;font-size:12px;font-weight:600;text-align:left}.auth-switch:hover{text-decoration:underline}.auth-notice{margin:20px 0 0;padding:11px 13px;border-radius:6px;font-size:12px;line-height:1.5}.auth-notice.success{border:1px solid #b8e4d9;background:#edf8f5;color:#087565}.auth-notice.error{margin:0;border:1px solid #f0c7cd;background:#fff2f3;color:#b72f42}.auth-notice.info{margin-top:24px;border:1px solid #d5dfed;background:#f4f7fb;color:var(--ink)}.auth-error{margin:0;color:var(--red);font-size:12px}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:56px 0 22px}.eyebrow{color:var(--blue);font-size:11px;letter-spacing:1.5px;font-weight:700;margin:0 0 10px}.page-header h1{font:700 38px Georgia,serif;margin:0 0 8px}.subtitle{color:var(--muted);margin:0}.data-state{color:var(--teal);font-size:12px;font-weight:700;display:flex;gap:8px;align-items:center}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric,.workspace-panel,.foundation{background:var(--paper);border:1px solid var(--line);border-radius:8px}.metric{padding:18px}.metric small,.metric span{display:block;color:var(--muted);font-size:11px}.metric strong{display:block;font-size:30px;margin:11px 0}.workspace-panel{margin-top:18px;padding:26px}.workspace-panel h2{font:700 25px Georgia,serif;margin:0 0 10px}.workspace-panel p{color:var(--muted);line-height:1.6}.foundation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.foundation{padding:16px}.foundation strong,.foundation span{display:block}.foundation span{color:var(--muted);margin-top:8px;line-height:1.5}.zone-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.zone-toolbar h2{margin:0}.zone-filters{display:flex;gap:8px}.zone-filters select{border:1px solid var(--line);border-radius:6px;padding:9px;color:var(--ink);background:#fff}.table-wrap{overflow:auto;margin-top:20px}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-size:11px}td{color:var(--ink)}.table-status{font-weight:700}.table-status.pass{color:var(--teal)}.table-status.fail{color:var(--red)}.table-status.open{color:var(--blue)}.table-action{border:1px solid #d7e1f0;border-radius:5px;background:#fff;color:var(--blue);padding:6px 9px;cursor:pointer;font-weight:700}.empty-state{padding:28px;border:1px dashed #cbd6e7;border-radius:7px;text-align:center}.admin-actions{display:flex;gap:6px;flex-wrap:wrap}.table-status.pending{color:var(--muted)}.table-status.approved{color:var(--teal)}.table-status.rejected,.table-status.disabled{color:var(--red)}.table-status.suspended{color:var(--blue)}.admin-service{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0 0;padding:13px 15px;border-left:3px solid var(--teal);background:#edf8f5;color:#087565}.admin-service.warning{border-left-color:#c47a16;background:#fff8eb;color:#77501b}.admin-service div{display:grid;gap:3px}.admin-service span{font-size:12px}.role-control{display:flex;align-items:center;gap:6px}.role-control select{border:1px solid #d7e1f0;border-radius:5px;padding:6px 8px;background:#fff;color:var(--ink);font:inherit}.operations-panel{max-width:1000px}.operations-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}.operations-form label{display:grid;gap:7px;color:var(--ink);font-size:12px;font-weight:700}.operations-form input,.operations-form select{border:1px solid #d7e1f0;border-radius:6px;padding:11px;background:#fff;color:var(--ink);font:inherit}.operations-form small{color:var(--muted);font-weight:400}.operations-form .wide{grid-column:1 / -1}.run-success{display:grid;gap:7px;margin-top:20px;padding:15px;border:1px solid #b9e5dd;border-radius:7px;background:#eef8f6;color:var(--teal);font-size:12px}@media(max-width:860px){.auth-page{display:block;padding:0;background:#fff}.auth-layout{min-height:100vh;grid-template-columns:1fr;border:0;border-radius:0;box-shadow:none}.auth-context{min-height:190px;padding:26px 28px}.auth-context-copy{margin:28px 0 0;max-width:none}.auth-context-copy h2{margin:8px 0;font-size:26px}.auth-context-copy p,.auth-context-meta{display:none}.auth-card{align-self:start;padding:34px 28px 44px}.auth-card h1{font-size:32px}.auth-links{flex-wrap:wrap}}@media(max-width:800px){.app-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);padding:14px}.brand{margin-bottom:14px}nav{display:flex;overflow:auto}.nav-item{white-space:nowrap}.main-content{padding:20px 14px 35px}.page-header{align-items:flex-start;flex-direction:column;padding-top:35px}.metric-grid,.foundation-grid{grid-template-columns:1fr 1fr}.scope-chips{overflow:auto;flex-wrap:nowrap}.scope-chips span{white-space:nowrap}}@media(max-width:480px){.auth-context{min-height:150px;padding:22px 20px}.auth-context-copy{margin-top:20px}.auth-context-copy h2{font-size:22px}.auth-card{padding:30px 20px 40px}.auth-card h1{font-size:29px}.auth-links{display:grid}}
