:root{--bg: #07111a;--surface: rgba(12, 26, 40, .86);--surface-2: rgba(8, 19, 31, .96);--surface-3: rgba(88, 132, 196, .09);--line: rgba(83, 126, 175, .18);--line-strong: rgba(109, 151, 198, .32);--text: #e6edf7;--muted: #9bafc8;--accent: #73b6ff;--accent-2: #9bd1ff;--green: #22c55e;--red: #ef4444;--amber: #f59e0b;--shadow: 0 24px 70px rgba(0, 0, 0, .34);--radius-xl: 24px;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--font-body: Georgia, "Times New Roman", serif;--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SF Mono", "Fira Code", monospace}[data-theme=light]{--bg: #f8fafc;--surface: rgba(255, 255, 255, .84);--surface-2: rgba(255, 255, 255, .95);--surface-3: rgba(0, 0, 0, .03);--line: #e2e8f0;--line-strong: #cbd5e1;--text: #0f172a;--muted: #64748b;--accent: #4f46e5;--accent-2: #4338ca;--shadow: 0 10px 40px rgba(0, 0, 0, .08)}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100vh}body{margin:0;background:radial-gradient(circle at top left,rgba(56,189,248,.12),transparent 26%),radial-gradient(circle at top right,rgba(245,158,11,.08),transparent 22%),linear-gradient(180deg,#07111a,#09131c);color:var(--text);font-family:var(--font-body);font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit}a{color:var(--accent);text-decoration:none}.loading-shell,.login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.login-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:2.5rem;box-shadow:var(--shadow)}.logo,.nav-logo{font-family:var(--font-body);font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.logo span,.nav-logo span{color:var(--accent)}.login-card p,.page-subtitle,.muted,.muted-text{color:var(--muted)}label{display:block;font-size:.8rem;font-weight:500;color:var(--muted);margin-bottom:.4rem;letter-spacing:.02em}input[type=text],input[type=password],input[type=search],select{width:100%;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--text);padding:.8rem .95rem;outline:none;transition:border-color .15s,box-shadow .15s,background .15s;font-family:var(--font-ui)}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a;background:var(--surface)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.65rem 1.2rem;border-radius:var(--radius-md);border:none;cursor:pointer;transition:opacity .15s,transform .15s,border-color .15s,background .15s;font-family:var(--font-body)}.btn:hover{opacity:.92;transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{width:100%;margin-top:1.25rem;background:var(--accent);color:#fff}.btn-ghost{background:var(--surface-2);border:1px solid var(--line);color:var(--text)}.btn-danger{background:#ef44441f;border:1px solid rgba(239,68,68,.25);color:var(--red)}.btn-sm{padding:.35rem .75rem;font-size:.8rem}.btn-text{display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;line-height:1.15;text-align:left}.btn-text small,.toolbar-label,.search-input-label,.results-divider,.stat-label,.detail-item .label,.verification-check .label,.result-item .label{color:var(--muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--font-ui)}.btn-toolbar-primary,.btn-toolbar-secondary,.btn-toolbar-tertiary{min-width:166px;min-height:56px;margin-top:0}.btn-toolbar-primary{background:#6366f11f;border:1px solid rgba(99,102,241,.28);color:var(--text)}.btn-toolbar-secondary{background:var(--surface-3);border:1px solid var(--line);color:var(--text)}.btn-toolbar-tertiary{background:var(--surface-2);border:1px solid var(--line);color:var(--text)}.btn-mark{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border-radius:999px;background:var(--surface-3);font-size:.9rem;flex-shrink:0}.error-msg{display:none;color:var(--red);font-size:.8rem;margin-top:.75rem}.error-msg.shown{display:block}.top-nav{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;height:56px;border-bottom:1px solid var(--line);background:#07111ad6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.nav-right{display:flex;align-items:center;gap:1rem}.org-chip{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:.25rem .75rem;font-size:.8rem;color:var(--muted);font-family:var(--font-ui)}.org-chip strong{color:var(--text)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--muted);cursor:pointer;padding:.42rem}.layout{display:flex;min-height:calc(100vh - 56px)}.sidebar{width:200px;flex-shrink:0;border-right:1px solid var(--line);padding:1.25rem 0}.sidebar-item{width:100%;display:flex;align-items:center;gap:.75rem;background:transparent;border:none;color:var(--muted);padding:.8rem 1.5rem;font-size:.95rem;cursor:pointer;text-align:left;font-family:var(--font-body)}.sidebar-item:hover{color:var(--text);background:var(--surface-3)}.sidebar-item.active{color:var(--text);background:#6366f11a;border-right:2px solid var(--accent)}.content{flex:1;padding:1.5rem}.page-title{font-size:clamp(2rem,4vw,2.7rem);font-weight:700;letter-spacing:-.04em;margin-bottom:.4rem;line-height:1}.page-subtitle{max-width:72ch;margin-bottom:1.35rem}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.card,.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.card{padding:1.25rem;margin-bottom:1rem}.stat-card{padding:1.25rem}.card-title{font-size:.88rem;font-weight:700;margin-bottom:.9rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-family:var(--font-ui)}.stat-value{font-size:1.65rem;font-weight:700;letter-spacing:-.03em}.stat-value.green{color:var(--green)}.stat-value.mono-inline,.stat-value.date,.mono{font-family:var(--font-mono);font-size:.85rem}.key-row,.quick-actions,.toolbar-actions,.verification-action-row{display:flex;flex-wrap:wrap;gap:.75rem}.key-display{flex:1;min-width:0;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-md);padding:.6rem .9rem;font-family:var(--font-mono);font-size:.8rem;overflow:hidden;text-overflow:ellipsis}.search-row{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:1rem;align-items:end}.search-input-shell,.toolbar-field{display:grid;gap:.5rem}.audit-results{margin-top:1rem}.empty{padding:1.5rem;border:1px dashed var(--line);border-radius:var(--radius-lg);color:var(--muted);text-align:center}.audit-stack{display:grid;gap:1rem}.results-divider{display:flex;align-items:center;gap:.75rem;margin-bottom:.8rem}.results-divider:after{content:"";flex:1;height:1px;background:var(--line)}.evidence-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.evidence-summary-card{background:var(--surface-3);border:1px solid var(--line);border-radius:var(--radius-lg);padding:.8rem 1rem}.evidence-summary-card .value{margin-top:.35rem;font-size:1rem;font-weight:600}.result-pill,.scope-chip,.event-badge,.verification-status{display:inline-flex;align-items:center;gap:.42rem;border-radius:999px}.result-pill{border:1px solid transparent;padding:.34rem .7rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.result-active{color:var(--green);background:#34d3991f;border-color:#34d39933}.result-revoked{color:var(--red);background:#f871711f;border-color:#f8717133}.result-expired{color:var(--amber);background:#fbbf241f;border-color:#fbbf2433}.evidence-detail-card{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:1rem;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:1rem}.detail-section-title,.verification-title,.timeline-title{font-size:1rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.75rem}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.side-detail-grid,.verification-meta,.verification-grid,.result-grid{display:grid;gap:.75rem}.side-detail-grid,.verification-meta{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.85rem}.verification-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-item,.verification-check,.result-item,.verification-snippet{background:var(--surface-3);border:1px solid var(--line);border-radius:14px}.detail-item,.verification-check,.result-item{padding:.8rem .9rem}.detail-item .value,.verification-check .value,.result-item .value{margin-top:.25rem}.scope-list{display:flex;flex-wrap:wrap;gap:.55rem}.scope-chip{padding:.28rem .65rem;background:#6366f114;border:1px solid rgba(99,102,241,.18);font-size:.74rem;font-family:var(--font-mono)}.preview-note,.verification-copy{color:var(--muted);margin-top:.85rem}.verification-panel{display:grid;gap:.8rem;background:var(--surface-3);border:1px solid var(--line);border-radius:16px;padding:.9rem 1rem}.verification-header,.timeline-header,.verification-snippet-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.verification-status{padding:.36rem .72rem;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;border:1px solid transparent}.verification-status.idle{color:var(--muted);background:var(--surface-3);border-color:var(--line)}.verification-status.success{color:var(--green);background:#34d3991f;border-color:#34d39933}.verification-status.error{color:var(--red);background:#f871711f;border-color:#f8717133}.verification-check.success .value{color:var(--green)}.verification-check.error .value{color:var(--red)}.verification-action-btn,.verification-copy-btn{border:1px solid var(--line);background:var(--surface-3);color:var(--text);border-radius:999px;padding:.35rem .7rem;cursor:pointer}.verification-snippet pre{margin:0;padding:.85rem;overflow-x:auto;font-family:var(--font-mono);font-size:.74rem;line-height:1.55}.verification-warning-list{display:grid;gap:.45rem;margin:0;padding-left:1rem;color:var(--amber)}.timeline-shell{border:1px solid var(--line);border-radius:18px;overflow:hidden}.timeline-header{padding:.95rem 1rem;border-bottom:1px solid var(--line);background:var(--surface-3)}.timeline-meta{color:var(--muted);font-size:.8rem}.audit-table{width:100%;border-collapse:collapse}.audit-table th{text-align:left;padding:.5rem .75rem;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line)}.audit-table td{padding:.65rem .75rem;border-bottom:1px solid var(--line)}.event-badge{padding:.28rem .6rem;font-size:.74rem;text-transform:capitalize}.badge-issued{background:#22c55e26;color:var(--green)}.badge-delegated{background:#6366f126;color:var(--accent)}.badge-revoked{background:#ef444426;color:var(--red)}.badge-action{background:#6366f11f;color:var(--accent)}.badge-lifecycle{background:#fbbf241f;color:var(--amber)}.revoke-form{display:flex;gap:1rem;flex-wrap:wrap;align-items:end}.field{flex:1;min-width:260px}.field.compact{max-width:200px}.settings-table{width:100%;border-collapse:collapse}.settings-table td{padding:.4rem 0}.settings-table td:first-child{color:var(--muted);font-size:.8rem;width:140px;font-family:var(--font-ui)}.toast{position:fixed;right:1.5rem;bottom:1.5rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:.75rem 1.25rem;box-shadow:var(--shadow);z-index:100}.toast.success{color:var(--green)}.toast.error{color:var(--red)}@media(max-width:1100px){.evidence-summary-grid,.stats-grid,.verification-grid,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.layout{flex-direction:column}.sidebar{width:100%;display:flex;overflow-x:auto;border-right:none;border-bottom:1px solid var(--line);padding:.5rem}.sidebar-item{width:auto;border-radius:999px;padding:.6rem .9rem;white-space:nowrap}.content{padding:1rem}.search-row,.evidence-detail-card,.stats-grid,.evidence-summary-grid,.verification-grid,.detail-grid,.side-detail-grid,.verification-meta{grid-template-columns:1fr}}@media(max-width:720px){.top-nav{height:auto;min-height:56px;padding:.75rem 1rem;align-items:flex-start}.nav-right{gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.card,.stat-card,.login-card{padding:1rem}}
