@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{--bg: #f7f9fc;--panel: rgba(255, 255, 255, .96);--panel-strong: #ffffff;--border: #d9e2ec;--border-strong: #bac7d5;--text: #172033;--muted: #4b5563;--accent: #2563eb;--accent-soft: rgba(37, 99, 235, .11);--accent-strong: #1e40af;--cta: #ea580c;--cta-strong: #c2410c;--warning: #b45309;--warning-soft: rgba(180, 83, 9, .12);--danger: #b91c1c;--danger-soft: rgba(185, 28, 28, .12);--success: #15803d;--success-soft: rgba(21, 128, 61, .12);--blue: #1d4ed8;--blue-soft: rgba(29, 78, 216, .12);--slate: #334155;--slate-soft: rgba(51, 65, 85, .12);--shadow: 0 1px 2px rgba(15, 23, 42, .07), 0 10px 28px rgba(15, 23, 42, .05);--radius: 8px;--z-sticky: 10;--z-skip-link: 100;--z-modal: 1000;--z-toast: 2000}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Plus Jakarta Sans,Helvetica Neue,Arial,sans-serif;line-height:1.5;color:var(--text);background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:2px}button{border:0;background:none;color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{width:100%;min-height:44px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-strong);color:var(--text);padding:.72rem .85rem;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:#2563eb8c;box-shadow:0 0 0 3px #2563eb1f}textarea{min-height:110px;resize:vertical}.muted{color:var(--muted)}.spin{animation:spin .8s linear infinite}.skip-link{position:fixed;top:12px;left:12px;z-index:var(--z-skip-link);padding:.65rem .9rem;border-radius:var(--radius);background:var(--text);color:#fff;font-weight:700;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}@keyframes spin{to{transform:rotate(360deg)}}.app-loading,.auth-shell{min-height:100%;display:grid;place-items:center;padding:24px}.auth-shell{background:linear-gradient(135deg,rgba(37,99,235,.1),transparent 38%),linear-gradient(315deg,rgba(234,88,12,.08),transparent 34%),var(--bg)}.auth-card{width:min(100%,460px);border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-strong);box-shadow:var(--shadow);padding:28px;display:grid;gap:18px}.auth-copy{display:grid;gap:6px}.auth-copy h1{margin:0;font-size:1.7rem;letter-spacing:0}.auth-copy p{margin:0;color:var(--muted)}.auth-brand,.brand{display:flex;align-items:center;gap:12px}.auth-brand strong,.brand strong{display:block;font-size:1rem}.auth-brand span,.brand span{color:var(--muted);font-size:.88rem}.brand-mark{width:38px;height:38px;border-radius:var(--radius);display:inline-grid;place-items:center;background:linear-gradient(180deg,var(--accent),var(--accent-strong));color:#fff;font-weight:700;box-shadow:0 8px 18px #2563eb2e}.shell{min-height:100%;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{position:sticky;top:0;align-self:start;min-height:100vh;padding:18px;border-right:1px solid var(--border);background:#ffffffe6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:grid;grid-template-rows:auto 1fr auto;gap:18px}.nav{display:grid;align-content:start;gap:16px}.nav-group{display:grid;gap:6px}.nav-group-label{display:flex;align-items:center;gap:6px;width:100%;padding:2px 12px;border:none;background:transparent;cursor:pointer;font:inherit;text-align:left;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.nav-group-label:hover{color:var(--accent)}.nav-group-chevron{flex:none;opacity:.7}.nav-group-items{display:grid;gap:6px}.nav-link{display:flex;align-items:center;gap:10px;min-height:40px;padding:9px 12px;border-radius:var(--radius);color:var(--muted);transition:background .15s ease,color .15s ease,box-shadow .15s ease}.nav-link:hover{background:#2563eb14;color:var(--accent)}.nav-link.active{color:var(--accent);background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.nav-parent{display:grid;gap:4px}.nav-parent-toggle{width:100%;border:none;background:transparent;cursor:pointer;font:inherit;text-align:left}.nav-parent-chevron{margin-left:auto;transition:transform .15s ease}.nav-parent-chevron.open{transform:rotate(180deg)}.nav-submenu{display:grid;gap:4px;margin-left:18px;padding-left:8px;border-left:1px solid var(--border)}.nav-sublink{min-height:34px;padding:6px 12px;font-size:.86rem}.sidebar-status{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:#f8fafc;color:var(--slate);font-size:.82rem;font-weight:700}.shell-main{min-width:0}.topbar{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:12px 22px;border-bottom:1px solid var(--border);background:#ffffffd6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.topbar-breadcrumb{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.88rem}.topbar-back{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;border-radius:var(--radius);background:transparent;color:var(--accent);cursor:pointer;transition:background .15s ease}.topbar-back:hover{background:var(--accent-soft)}.topbar-back:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topbar-account{display:flex;align-items:center;gap:14px}.system-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.system-strip span{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:.28rem .55rem;border:1px solid var(--border);border-radius:var(--radius);background:#f8fafc;color:var(--slate);font-size:.78rem;font-weight:700}.account-meta{display:grid;gap:2px;text-align:right}.account-meta strong{font-size:.95rem}.account-meta span{color:var(--muted);font-size:.86rem}.content{max-width:1680px;width:100%;padding:22px 24px 32px;display:grid;gap:18px}.content:focus{outline:none}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-header h1{margin:0;font-size:1.35rem;letter-spacing:0}.page-header p{margin:.2rem 0 0;color:var(--muted)}.page-actions,.section-actions,.form-actions,.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.section{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);padding:16px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.section-head h2{margin:0;font-size:1rem;letter-spacing:0}.section-head p{margin:.2rem 0 0;color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.metric-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-strong);padding:14px;min-height:104px;display:flex;flex-direction:column;justify-content:space-between}.metric-card--button{width:100%;color:inherit;text-align:left;cursor:pointer}.metric-card--button:hover{border-color:#2563eb6b;box-shadow:var(--shadow)}.metric-card span{color:var(--muted);font-size:.86rem}.metric-card strong{font-size:1.4rem;letter-spacing:0}.metric-card__value{text-decoration:underline;text-underline-offset:3px}.metric-card small{color:var(--muted);font-size:.8rem}.metric-card.tone-primary{border-color:#1d4ed83d;background:linear-gradient(180deg,#1d4ed80f,#fff)}.metric-card.tone-warning{border-color:#b453093d;background:linear-gradient(180deg,#b453090f,#fff)}.metric-card.tone-danger{border-color:#b91c1c3d;background:linear-gradient(180deg,#b91c1c0f,#fff)}.metric-card.tone-accent{border-color:#ea580c3d;background:linear-gradient(180deg,#ea580c0f,#fff)}.metric-card.tone-success{border-color:#15803d3d;background:linear-gradient(180deg,#15803d0f,#fff)}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:.34rem .6rem;border-radius:999px;border:1px solid transparent;font-size:.78rem;font-weight:600;white-space:nowrap}.status-pill i{width:.45rem;height:.45rem;border-radius:999px;background:currentColor}.status-pill.tone-green{color:var(--success);background:var(--success-soft);border-color:#15803d3d}.status-pill.tone-amber{color:var(--warning);background:var(--warning-soft);border-color:#b453093d}.status-pill.tone-red{color:var(--danger);background:var(--danger-soft);border-color:#b91c1c3d}.status-pill.tone-blue{color:var(--blue);background:var(--blue-soft);border-color:#1d4ed83d}.status-pill.tone-slate{color:var(--slate);background:var(--slate-soft);border-color:#3341553d}.button{display:inline-flex;align-items:center;gap:8px;justify-content:center;min-height:44px;padding:.72rem .95rem;border-radius:var(--radius);border:1px solid transparent;font-weight:600;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;white-space:nowrap}.button:hover{box-shadow:0 4px 14px #0f172a1a}.button--small{min-height:40px;padding:.48rem .7rem;font-size:.86rem}.button--ghost{background:var(--panel-strong);border-color:var(--border);color:var(--text)}.button--accent{background:linear-gradient(180deg,var(--cta),var(--cta-strong));color:#fff}.button--danger{background:linear-gradient(180deg,#dc2626,#991b1b);color:#fff}.button--ghost-danger{background:var(--panel-strong);border-color:#dc262666;color:#b91c1c}.button--ghost-danger:hover{background:#dc262612;border-color:#dc26268c}.button:disabled,.button[aria-disabled=true]{cursor:not-allowed;opacity:.5;box-shadow:none;filter:grayscale(.4)}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-strong);scrollbar-gutter:stable}.pagination{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-strong);color:var(--muted);font-size:.9rem}.pagination-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pagination-pages{display:flex;gap:4px}.pagination-ellipsis{padding:0 4px;color:var(--muted)}.pagination-size{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--muted)}.pagination-size select{padding:2px 6px}.filter-daterange{display:flex;align-items:center;gap:6px}.filter-daterange-sep{color:var(--muted)}.filter-multiselect{display:flex;flex-wrap:wrap;gap:8px 12px}.filter-checkbox{display:inline-flex;align-items:center;gap:4px;font-size:.85rem}.data-table{width:100%;min-width:820px;border-collapse:collapse}.data-table th,.data-table td{padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:top;text-align:left}.data-table th{position:sticky;top:0;z-index:1;background:#f8fafc;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:0}.data-table tbody tr:hover{background:#2563eb0a}.data-table tbody tr.is-selected{background:#2563eb14}.data-table tbody tr{transition:background .15s ease}.data-table tbody tr[role=button],.data-table tbody tr{cursor:default}.data-table tbody tr[role=button]{cursor:pointer}.data-table .align-right{text-align:right}.data-table tbody tr.row-expiry-soon{background:var(--warning-soft);box-shadow:inset 3px 0 0 var(--warning)}.data-table tbody tr.row-expiry-soon:hover{background:#b453092e}.data-table tbody tr.row-expiry-expired{background:var(--danger-soft);box-shadow:inset 3px 0 0 var(--danger)}.data-table tbody tr.row-expiry-expired:hover{background:#b91c1c2e}.expiry-flag{font-weight:600}.expiry-flag--soon{color:var(--warning)}.expiry-flag--expired{color:var(--danger)}.cell-stack{display:grid;gap:3px}.cell-stack strong{font-weight:600}.field{display:grid;gap:6px}.field>span{font-size:.86rem;font-weight:600;color:var(--slate)}.field small{color:var(--muted)}.field--actions{display:flex;flex-direction:column;justify-content:end}.filter-bar-actions{display:flex;gap:8px;align-items:stretch}.filter-bar-actions .button{flex:1}.filter-bar{margin-bottom:12px}.form-grid{display:grid;gap:12px}.form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.detail-grid>div{border:1px solid var(--border);border-radius:var(--radius);background:#f8fafc;padding:12px}.detail-grid dt{color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:0}.detail-grid dd{margin:4px 0 0;font-weight:600;word-break:break-word}.detail-layout{display:grid;gap:14px;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);margin-top:14px}.detail-layout--split{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-pane{border:1px solid var(--border);border-radius:var(--radius);background:#f8fafc;padding:12px;min-width:0}.detail-pane--compact{display:grid;gap:12px}.timeline{list-style:none;padding:0;margin:0;display:grid;gap:10px}.timeline li{border-left:2px solid rgba(37,99,235,.32);padding-left:12px;display:grid;gap:3px}.timeline li span{color:var(--muted);font-size:.8rem}.timeline li strong{font-weight:600}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.link-chip{display:inline-flex;align-items:center;gap:6px;padding:.34rem .55rem;border-radius:999px;background:#2563eb14;border:1px solid rgba(37,99,235,.16);color:var(--accent);font-size:.78rem;font-weight:600}.inline-link{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:600}.inline-link:hover{text-decoration:underline}.empty-state,.loading-state,.error-banner{border:1px dashed var(--border);border-radius:var(--radius);background:#fffc;padding:14px;color:var(--muted)}.empty-state--large{padding:22px;text-align:center}.empty-state{display:grid;gap:6px}.empty-state>svg{color:var(--muted)}.error-banner{border-style:solid;border-color:#b91c1c3d;color:var(--danger);background:#b91c1c0f}.info-banner{border:1px solid rgba(37,99,235,.24);border-radius:var(--radius);background:#2563eb0f;padding:14px;color:var(--text);margin-bottom:16px}.info-banner code{font-family:var(--font-mono, monospace)}.loading-state{display:inline-flex;align-items:center;gap:8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:#020e2359;display:grid;place-items:center;padding:20px}.modal{width:min(100%,540px);background:var(--panel-strong);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px;display:grid;gap:10px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal h3{margin:0;font-size:1.05rem}.modal-message{margin:0;color:var(--muted)}.confirm-summary{margin:0;display:grid;gap:8px;padding:.75rem .9rem;border-radius:10px;background:var(--slate-soft);border:1px solid rgba(51,65,85,.18)}.confirm-summary>div{display:grid;grid-template-columns:minmax(140px,auto) 1fr;gap:10px;align-items:baseline}.confirm-summary dt{margin:0;color:var(--muted);font-size:.78rem}.confirm-summary dd{margin:0;font-size:.85rem;word-break:break-word}.modal .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cell-id{font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;color:var(--accent);cursor:pointer}.modal textarea,.modal input{min-height:44px}.modal textarea{min-height:110px}.modal-actions{display:flex;justify-content:end;gap:10px}.secret-row{display:flex;gap:8px;align-items:stretch;margin:.4rem 0}.secret-field{flex:1;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.9rem;letter-spacing:.02em}.modal-message--warn{color:var(--danger, #b91c1c);font-size:.8rem}.modal-message--error{color:var(--danger, #b91c1c);white-space:pre-wrap;word-break:break-word}.trend-chart{display:grid;gap:.55rem}.trend-chart svg{width:100%;height:96px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,#2563eb14,#ffffffbf)}.trend-value{fill:none;stroke:var(--blue);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.trend-threshold{stroke:var(--danger);stroke-width:2;stroke-dasharray:5 5}.trend-chart-meta{display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.78rem}.input-with-action{position:relative}.input-with-action input{padding-right:3rem}.input-with-action button{position:absolute;right:6px;top:50%;width:34px;height:34px;border-radius:var(--radius);color:var(--muted);transform:translateY(-50%)}.input-with-action button:hover{background:var(--accent-soft);color:var(--accent)}.date-input{font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;letter-spacing:0}.stack{display:grid;gap:14px}.message-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-strong);padding:14px;display:grid;gap:10px}.message-card--internal{background:#2563eb0d}.message-card header{display:flex;align-items:center;justify-content:space-between;gap:10px}.message-card p{margin:0;line-height:1.5}.message-card span{color:var(--muted);font-size:.82rem}.muted.inline{display:inline}.row-actions{justify-content:flex-end}.app-loading .loading-state{min-width:220px;justify-content:center}.role-chip{display:inline-flex;align-items:center;padding:.3rem .55rem;border-radius:999px;background:#0f172a0d;color:var(--slate);font-size:.8rem;font-weight:600}@media (max-width: 1180px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-layout{grid-template-columns:1fr}}@media (max-width: 920px){.shell{grid-template-columns:1fr}.sidebar{position:static;min-height:auto;border-right:0;border-bottom:1px solid var(--border)}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-status{align-self:start}}@media (max-width: 780px){.content{padding:16px}.metric-grid,.detail-grid,.form-grid--2,.form-grid--3,.form-grid--4,.detail-layout--split{grid-template-columns:1fr}.page-header,.section-head,.topbar{align-items:stretch;flex-direction:column}.topbar-account{justify-content:space-between}.system-strip{justify-content:flex-start}.topbar{padding:14px 16px}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.nav,.metric-grid{grid-template-columns:1fr}}.toast-stack{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:var(--z-toast);display:flex;flex-direction:column;align-items:center;gap:.5rem;max-width:26rem;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel-strong);box-shadow:var(--shadow);font-size:.875rem;line-height:1.4;pointer-events:all;animation:toast-in .2s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}.toast span{flex:1}.toast-close{background:none;border:none;padding:0;cursor:pointer;color:var(--muted);display:flex;align-items:center;flex-shrink:0}.toast--info{border-left:4px solid var(--blue)}.toast--success{border-left:4px solid var(--success)}.toast--warning{border-left:4px solid var(--warning)}.toast--error{border-left:4px solid var(--danger)}@media (pointer: coarse){.button--small,.nav-link,.input-with-action button{min-height:44px}.input-with-action button{width:44px;height:44px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}.link-chip--static{cursor:default;text-decoration:none;color:var(--text);pointer-events:none}.json-viewer{margin:0;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-strong);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word;overflow-x:auto}.text-danger{color:var(--danger)}.chip-input{display:flex;flex-direction:column;gap:8px}.link-chip--static.chip-removable{pointer-events:auto}.chip-remove{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:inherit;cursor:pointer;opacity:.7}.chip-remove:hover{opacity:1}.searchable-select{position:relative}.searchable-select__menu{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;margin:0;padding:4px;list-style:none;max-height:260px;overflow-y:auto;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--panel-strong);box-shadow:0 12px 28px #0f172a29}.searchable-select__option{padding:.5rem .6rem;border-radius:6px;cursor:pointer;color:var(--text)}.searchable-select__option.is-active{background:var(--accent-soft)}.searchable-select__option.is-selected{font-weight:600;color:var(--accent-strong)}.searchable-select__empty{padding:.5rem .6rem;color:var(--muted)}
