:root{--bg-page:#f4f5fb;--surface-1:#eceefa;--surface-2:#fff;--border:#e3e6f2;--border-strong:#cbd1e6;--text-primary:#14162b;--text-secondary:#6b7089;--text-muted:#9a9fb8;--accent:#5b4fe0;--accent-strong:#4a3fce;--bg-accent:#eeecfd;--text-accent:#4a3fce;--bg-success:#e6f7ee;--text-success:#128558;--bg-danger:#fdecec;--text-danger:#b3261e;--bg-warning:#fdf1d9;--text-warning:#9a6300;--radius:10px;--radius-lg:16px;--font-sans:"Segoe UI", "Inter", Arial, sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--shadow-card:0 4px 18px #1414320f}*{box-sizing:border-box}html{background:var(--bg-page);min-width:320px}body{min-width:320px;font-family:var(--font-sans);background:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.mono,.endpoint,.policyPattern{font-family:var(--font-mono)}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}.auth{background:radial-gradient(circle at top left, #5b4fe014, transparent 32%), var(--bg-page);place-items:center;min-height:100vh;padding:32px;display:grid}.authCard{background:var(--surface-2);border:1px solid var(--border);border-radius:20px;width:min(420px,100%);padding:32px;box-shadow:0 20px 60px #0f172a1a}.logo{background:var(--bg-accent);width:48px;height:48px;color:var(--text-accent);border-radius:14px;place-items:center;margin-bottom:18px;display:grid}.logo svg{width:25px;height:25px}.eyebrow{letter-spacing:.12em;color:var(--text-accent);margin-bottom:8px;font-size:11px;font-weight:700;display:block}.authCard h1{color:var(--text-primary);margin:0 0 8px;font-size:27px;font-weight:700;line-height:1.2}.authSubtitle{color:var(--text-secondary);margin:0 0 22px;font-size:13px;line-height:1.6}.field{margin:0 0 15px}.field label{color:var(--text-secondary);margin:0 0 7px;font-size:13px;font-weight:600;display:block}.authCard input,.field input,.field select{border:1.5px solid var(--border-strong);background:var(--surface-2);width:100%;height:44px;color:var(--text-primary);border-radius:10px;padding:10px 14px;font-size:14px;display:block}.authCard input::placeholder{color:var(--text-muted);opacity:1}.authCard input:focus,.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--bg-accent);outline:none}.primary{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:6px;width:100%;height:46px;margin:18px 0 10px;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex}.primary:hover{background:var(--accent-strong)}.primary:disabled{opacity:.6;cursor:not-allowed}.link{width:100%;color:var(--accent);cursor:pointer;background:0 0;border:0;margin:0;padding:10px 0;font-size:13px;font-weight:600;display:block}.link:hover{text-decoration:underline}.error{background:var(--bg-danger);color:var(--text-danger);border:1px solid #f6c6c6;border-radius:9px;margin:0 0 12px;padding:10px 12px;font-size:12px;line-height:1.5}.shell{width:min(1180px,100%);margin:0 auto;padding:32px 24px 60px}.shell header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;display:flex}.shell header h1{color:var(--text-primary);margin:0 0 8px;font-size:30px;font-weight:700;line-height:1.2}.shell header p{max-width:620px;color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}button.ghost{border:1px solid var(--border);background:var(--surface-2);height:40px;color:var(--text-secondary);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:0 16px;font-size:13px;font-weight:600;display:inline-flex}button.ghost:hover{border-color:var(--accent);color:var(--accent)}nav.tabs{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.tabsWrap{background:var(--surface-1);border:1px solid var(--border);border-radius:999px;flex-wrap:wrap;gap:3px;padding:4px;display:flex}.tabsWrap button{height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.tabsWrap button:hover{color:var(--text-primary)}.tabsWrap button.active{background:var(--surface-2);color:var(--text-primary);box-shadow:0 1px 5px #1414321a}.tabsWrap button span{background:var(--bg-danger);min-width:18px;height:18px;color:var(--text-danger);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}nav.tabs button.logout{border:1px solid var(--border);background:var(--surface-2);height:34px;color:var(--text-danger);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}nav.tabs button.logout:hover{background:var(--bg-danger)}section.grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:28px;display:grid}article.card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-card);flex-direction:column;gap:8px;padding:18px 20px;display:flex}.cardHead{align-items:center;gap:8px;display:flex}.cardIcon{background:var(--bg-accent);width:30px;height:30px;color:var(--text-accent);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.cardIcon svg{width:16px;height:16px}article.card strong{color:var(--text-secondary);font-size:13px;font-weight:600}article.card b{color:var(--text-primary);font-size:26px;font-weight:700}article.card small{color:var(--text-muted);font-size:12px}section.two{grid-template-columns:1.4fr 1fr;align-items:start;gap:20px;display:grid}.panel{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-card);padding:20px 22px}.panel h2{color:var(--text-primary);margin:0 0 14px;font-size:16px;font-weight:700}.panelHead{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.panelHead>div>span{color:var(--text-secondary);font-size:13px}.panelHead>span{background:var(--bg-accent);color:var(--text-accent);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge.tone-success{background:var(--bg-success);color:var(--text-success)}.badge.tone-danger{background:var(--bg-danger);color:var(--text-danger)}.badge.tone-warning{background:var(--bg-warning);color:var(--text-warning)}.meterRow{align-items:center;gap:8px;display:inline-flex}.meter,.riskbar{background:var(--border);border-radius:999px;flex-shrink:0;width:70px;height:5px;display:inline-block;overflow:hidden}.meterFill,.riskfill{border-radius:inherit;height:100%;display:block}.meterFill.tone-success,.riskfill.tone-success{background:#1fa971}.meterFill.tone-warning,.riskfill.tone-warning{background:#d99a1b}.meterFill.tone-danger,.riskfill.tone-danger{background:#e5484d}.riskvalue{width:52px;color:var(--text-muted);flex-shrink:0;font-size:12px}.events{flex-direction:column;gap:10px;max-height:420px;padding-right:2px;display:flex;overflow-y:auto}.event{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.event .decision{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.event .decision.allow{background:var(--bg-success);color:var(--text-success)}.event .decision.block{background:var(--bg-danger);color:var(--text-danger)}.event .decision.approval{background:var(--bg-warning);color:var(--text-warning)}.eventBody{flex:1;min-width:0}.eventBody strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;display:block;overflow:hidden}.eventBody small{color:var(--text-muted);margin-top:2px;font-size:12px;display:block}.flow{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;display:flex}.flow span,.flow strong{border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.flow span{background:var(--surface-1);color:var(--text-secondary)}.flow strong{background:var(--accent);color:#fff;font-weight:700}.flow i{color:var(--border-strong);font-style:normal}.principle{background:var(--surface-1);border-radius:12px;gap:12px;padding:16px;display:flex}.principle svg{width:20px;height:20px;color:var(--accent);flex-shrink:0;margin-top:2px}.principle strong{color:var(--text-primary);margin-bottom:4px;font-size:13px;display:block}.principle p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.6}.agentGrid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}article.agent{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;gap:12px;padding:16px;display:flex}.agentIcon{background:var(--bg-accent);width:38px;height:38px;color:var(--text-accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}article.agent h3{color:var(--text-primary);margin:0 0 4px;font-size:14px}article.agent p{color:var(--text-secondary);margin:0 0 10px;font-size:12px}.badges{flex-wrap:wrap;gap:6px;display:flex}.badges span{background:var(--surface-1);color:var(--text-secondary);text-transform:capitalize;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600}.badges span.ok{background:var(--bg-success);color:var(--text-success)}.badges span.danger{background:var(--bg-danger);color:var(--text-danger)}.resourceGrid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}article.resourceCard{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;gap:12px;padding:16px;display:flex}.resourceIcon{background:var(--bg-accent);width:38px;height:38px;color:var(--text-accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.resourceBody{flex:1;min-width:0}.resourceTitle{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.resourceTitle h3{color:var(--text-primary);text-overflow:ellipsis;margin:0;font-size:14px;overflow:hidden}.resourceTitle span.ok,.resourceTitle span.danger{white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600}.resourceTitle span.ok{background:var(--bg-success);color:var(--text-success)}.resourceTitle span.danger{background:var(--bg-danger);color:var(--text-danger)}.resourceBody>p{color:var(--text-secondary);margin:0 0 10px;font-size:12px;line-height:1.5}.resourceMeta{border-top:1px solid var(--border);color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:14px;padding-top:10px;font-size:12px;display:flex}.endpoint{overflow-wrap:anywhere;color:var(--text-muted);margin-top:8px;font-size:11px;display:block}.policyPattern{background:var(--surface-1);color:var(--text-primary);border-radius:6px;margin-bottom:10px;padding:3px 8px;font-size:12px;display:inline-block}.policyFooter{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding-top:10px;display:flex}.policyFooter small{color:var(--text-muted);font-size:11px}.resourceForm{border:1px solid var(--border);background:var(--surface-1);border-radius:14px;margin-bottom:16px;padding:16px}.formGrid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.formActions{justify-content:flex-end;margin-top:12px;display:flex}.smallButton{width:auto;height:38px;margin:0;padding:0 14px;font-size:13px}.checkField{cursor:pointer;align-items:flex-start;gap:10px;padding-top:6px;display:flex}.checkField input{width:auto;height:auto;margin-top:3px}.checkField strong{color:var(--text-primary);font-size:13px;display:block}.checkField small{color:var(--text-secondary);font-size:12px;display:block}.bindingBox{border:1px solid var(--border);background:var(--surface-1);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:14px 16px;display:flex}.bindingBox strong{color:var(--text-primary);font-size:13px;display:block}.bindingBox small{color:var(--text-secondary);font-size:12px;display:block}.bindingControls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bindingControls select{min-width:160px;height:38px}.secondary{border:1px solid var(--border-strong);background:var(--surface-2);height:38px;color:var(--text-primary);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.secondary:hover{border-color:var(--accent);color:var(--accent)}.secondary:disabled{opacity:.6;cursor:not-allowed}.empty{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:40px 20px;display:flex}.empty svg{width:26px;height:26px}.empty p{max-width:280px;margin:0;font-size:13px}.sectionTitle{color:var(--text-secondary);margin:22px 0 12px;font-size:13px;font-weight:700}.approvalList{flex-direction:column;gap:12px;display:flex}article.approval{background:var(--bg-warning);border:1px solid #f5dfa0;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;display:flex}article.approval.executed{border-color:var(--border);background:var(--surface-1)}article.approval strong{color:var(--text-primary);font-size:14px;display:block}article.approval small{color:var(--text-warning);margin:2px 0 6px;font-size:12px;display:block}article.approval.executed small{color:var(--text-muted)}article.approval p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.5}.approvalActions{flex-shrink:0;gap:8px;display:flex}.approvalActions button{cursor:pointer;border:0;border-radius:8px;height:34px;padding:0 14px;font-size:12px;font-weight:600}.approvalActions button:first-child{background:var(--text-success);color:#fff}.approvalActions button:first-child:hover{opacity:.9}.approvalActions button:last-child{border:1px solid var(--text-danger);background:var(--surface-2);color:var(--text-danger)}.approvalActions button:last-child:hover{background:var(--bg-danger)}.shell footer{border-top:1px solid var(--border);color:var(--text-muted);align-items:center;gap:8px;margin-top:32px;padding-top:20px;font-size:12px;display:flex}.shell footer svg{width:16px;height:16px;color:var(--text-accent)}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=860px){section.two{grid-template-columns:1fr}.shell{padding:24px 18px 48px}}@media (width<=640px){.auth{padding:18px}.authCard{padding:24px}.shell{padding:20px 14px 40px}.shell header h1{font-size:25px}nav.tabs{align-items:stretch}.tabsWrap{border-radius:16px;width:100%}.tabsWrap button{flex:auto}nav.tabs button.logout{width:100%}.panel{padding:17px}article.approval{flex-direction:column}.approvalActions{width:100%}.approvalActions button{flex:1}.event{align-items:flex-start}.meterRow{margin-left:44px}}
