:root{color-scheme:light;--accent:#004b74;--accent-hover:#003d5f;--accent-active:#002e48;--accent-soft:#e3f1f9;--brand-light:#0090d4;--brand-soft:rgba(0,144,212,.1);--ink:#313b5e;--ink-muted:#5d7186;--ink-subtle:#8486a7;--body-bg:#f8f7fa;--canvas:#fff;--surface-1:#fff;--surface-2:#f8f9fa;--hover:#f4f3f6;--hairline:#eaedf1;--field-rule:#d8dfe7;--field-focus:#b0b0bb;--inverse:#21252e;--inverse-2:#393f4a;--inverse-3:#4a5260;--inverse-ink:#fff;--inverse-muted:#afb9cf;--success:#17c553;--warning:#f0934e;--error:#f42557;--info:#1a80f8;--font:"Roboto","Helvetica Neue",Arial,sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;--radius:.35rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow:0 3px 4px 0 rgba(0,0,0,.03);--shadow-lg:0 5px 10px rgba(30,32,37,.12);--header-h:70px;--nav-w:250px;--ease:ease-in-out;--ease-out:cubic-bezier(.22,1,.36,1);--nav-ink:#6e708c;--info-ink:#0f4d95;--error-ink:#921634;--warning-ink:#90582f;--success-ink:#0e7632;--red-ink:#c41d46;--blue-ink:#1366c6;--skeleton-hi:#f6f7f9;--logo-bg:transparent;--logo-pad:0;--select-arrow:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%235d7186' d='M8 11 3 6l.7-.7L8 9.6l4.3-4.3.7.7z'/%3E%3C/svg%3E")}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--accent:#1b86bf;--accent-hover:#2596d1;--accent-active:#0f5f8a;--accent-soft:rgba(0,144,212,.16);--brand-light:#34aee6;--brand-soft:rgba(0,144,212,.18);--ink:#e2e8ef;--ink-muted:#aab8c5;--ink-subtle:#8391a2;--body-bg:#22282e;--canvas:#282f36;--surface-1:#282f36;--surface-2:#2f3943;--hover:#303943;--hairline:#2f3944;--field-rule:#3a4551;--field-focus:#4a5663;--shadow:0 3px 4px 0 rgba(0,0,0,.15);--shadow-lg:0 5px 14px rgba(0,0,0,.4);--nav-ink:#afb9cf;--info-ink:#8cbcf9;--error-ink:#ff8fa8;--warning-ink:#f5b98c;--success-ink:#6fe39a;--red-ink:#ff8fa8;--blue-ink:#8cbcf9;--skeleton-hi:#3a4551;--logo-bg:#f8f7fa;--logo-pad:3px 8px;--select-arrow:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23aab8c5' d='M8 11 3 6l.7-.7L8 9.6l4.3-4.3.7.7z'/%3E%3C/svg%3E")}}:root[data-theme=dark]{color-scheme:dark;--accent:#1b86bf;--accent-hover:#2596d1;--accent-active:#0f5f8a;--accent-soft:rgba(0,144,212,.16);--brand-light:#34aee6;--brand-soft:rgba(0,144,212,.18);--ink:#e2e8ef;--ink-muted:#aab8c5;--ink-subtle:#8391a2;--body-bg:#22282e;--canvas:#282f36;--surface-1:#282f36;--surface-2:#2f3943;--hover:#303943;--hairline:#2f3944;--field-rule:#3a4551;--field-focus:#4a5663;--shadow:0 3px 4px 0 rgba(0,0,0,.15);--shadow-lg:0 5px 14px rgba(0,0,0,.4);--nav-ink:#afb9cf;--info-ink:#8cbcf9;--error-ink:#ff8fa8;--warning-ink:#f5b98c;--success-ink:#6fe39a;--red-ink:#ff8fa8;--blue-ink:#8cbcf9;--skeleton-hi:#3a4551;--logo-bg:#f8f7fa;--logo-pad:3px 8px;--select-arrow:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23aab8c5' d='M8 11 3 6l.7-.7L8 9.6l4.3-4.3.7.7z'/%3E%3C/svg%3E")}html.theme-switching *,html.theme-switching :after,html.theme-switching :before{transition:background-color .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease)!important}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}@media(pointer:fine){html{overscroll-behavior:none}}body{background:var(--body-bg);color:var(--ink-muted);font:400 14px/1.5 var(--font);margin:0;-webkit-font-smoothing:antialiased;touch-action:manipulation}h1,h2,h3{color:var(--ink);font-weight:500;margin:0;text-wrap:balance}p{margin:0;text-wrap:pretty}a{color:var(--accent);transition:color .15s var(--ease)}a:hover{color:var(--brand-light)}button,input,select,textarea{color:inherit;font:inherit;letter-spacing:inherit}:focus-visible{outline:2px solid var(--brand-light);outline-offset:2px}.num{font-variant-numeric:tabular-nums}.mono{font-family:var(--mono);font-size:13px;letter-spacing:0}.muted{color:var(--ink-muted)}.subtle{color:var(--ink-subtle)}.truncate{min-width:0;text-overflow:ellipsis}.sr-only,.truncate{overflow:hidden;white-space:nowrap}.sr-only{height:1px;position:absolute;width:1px;clip:rect(0 0 0 0)}.skip-link{background:var(--accent);border-radius:0 0 var(--radius) 0;color:#fff;left:0;padding:12px 16px;position:fixed;top:0;transform:translateY(-100%);z-index:100}.skip-link:focus{color:#fff;transform:none}.eyebrow{color:var(--ink-subtle);font-size:13px}.page-title{color:var(--ink);font-size:22px;font-weight:600;line-height:1.3}.section-title{font-size:16px;font-weight:600;line-height:1.4}.lead{color:var(--ink-muted);max-width:72ch}.btn,.lead{font-size:14px}.btn{align-items:center;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-weight:500;gap:8px;justify-content:center;line-height:1.29;min-height:38px;padding:0 16px;text-decoration:none;transition:background-color .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease),box-shadow .15s var(--ease),transform .15s var(--ease);white-space:nowrap}.btn:active:not([disabled]){transform:translateY(1px)}.btn:focus-visible{box-shadow:0 0 0 3px #0090d459;outline:0}.btn[disabled]{cursor:not-allowed;opacity:.65}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover:not([disabled]){background:var(--accent-hover);box-shadow:0 4px 12px #004b7440;color:#fff}.btn--secondary{background:var(--hairline);color:var(--ink)}.btn--secondary:hover:not([disabled]){background:var(--field-rule);color:var(--ink)}.btn--tertiary{background:var(--accent-soft);color:var(--accent)}.btn--tertiary:hover:not([disabled]){background:var(--accent);color:#fff}.btn--ghost{background:transparent;color:var(--ink-muted)}.btn--ghost:hover:not([disabled]){background:var(--hover);color:var(--accent)}.btn--danger{background:var(--error);color:#fff}.btn--danger:hover:not([disabled]){background:#d81c4a;box-shadow:0 4px 12px #f4255740;color:#fff}.btn--sm{font-size:13px;gap:6px;min-height:30px;padding:0 10px}.btn--icon{gap:0;padding:0;width:38px}.btn--icon.btn--sm{width:30px}.btn--block{width:100%}.btn .spinner{height:16px;width:16px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label,.field>label{color:var(--ink);font-size:13px;font-weight:500}.input,.select,.textarea{background:var(--canvas);border:1px solid var(--field-rule);border-radius:var(--radius);color:var(--ink);font-size:14px;min-height:38px;padding:0 12px;transition:border-color .15s var(--ease),box-shadow .15s var(--ease);width:100%}.textarea{min-height:80px;padding:9px 12px;resize:vertical}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:var(--select-arrow);background-position:right 10px center;background-repeat:no-repeat;padding-right:36px}.input--lg{font-size:15px;min-height:46px}.input::-moz-placeholder,.textarea::-moz-placeholder{color:var(--ink-subtle)}.input::placeholder,.textarea::placeholder{color:var(--ink-subtle)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{border-color:var(--brand-light);box-shadow:0 0 0 3px var(--brand-soft);outline:0}.input[aria-invalid=true]{border-color:var(--error);box-shadow:0 0 0 3px #f425571f}.helper{color:var(--ink-subtle);font-size:12px}.field-error{color:var(--error);font-size:12px}.check{align-items:center;cursor:pointer;display:inline-flex;font-size:14px;gap:8px;min-height:32px}.check input{accent-color:var(--accent);cursor:pointer;height:16px;margin:0;width:16px}.form-grid{display:grid;gap:20px 16px;grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .span-2{grid-column:span 2}@media(max-width:671px){.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}}.notice{align-items:flex-start;animation:fade-up .3s var(--ease-out);background:#1a80f81a;border:1px solid rgba(26,128,248,.2);border-radius:var(--radius);color:var(--info-ink);display:flex;font-size:14px;gap:12px;line-height:1.43;padding:12px 16px}.notice--error{background:#f425571a;border-color:#f4255733;color:var(--error-ink)}.notice--warning{background:#f0934e1f;border-color:#f0934e40;color:var(--warning-ink)}.notice--success{background:#17c5531a;border-color:#17c55333;color:var(--success-ink)}.notice strong{font-weight:600}.tag{align-items:center;background:var(--hairline);border-radius:var(--radius);color:var(--ink-muted);display:inline-flex;font-size:12px;font-weight:500;height:22px;padding:0 8px;white-space:nowrap}.tag--teal{background:var(--brand-soft);color:var(--accent)}.tag--green{background:#17c5531f;color:var(--success-ink)}.tag--red{background:#f425571f;color:var(--red-ink)}.tag--blue{background:#1a80f81f;color:var(--blue-ink)}.tag--gray{background:var(--hairline);color:var(--ink-muted)}.card{border:1px solid var(--hairline);border-radius:var(--radius-lg);transition:box-shadow .35s var(--ease),transform .35s var(--ease)}.card,.pager,.table-wrap,.toolbar{background:var(--canvas);box-shadow:var(--shadow)}.pager,.table-wrap,.toolbar{border:1px solid var(--hairline)}.table-wrap{animation:fade-up .4s var(--ease-out) both;border-radius:var(--radius-lg);overflow-x:auto}.toolbar{align-items:center;border-bottom:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;flex-wrap:wrap;gap:8px;min-height:60px;padding:10px 12px}.toolbar+.table-wrap{border-top-left-radius:0;border-top-right-radius:0}.table-wrap:has(+.pager){border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.toolbar .search{align-items:center;display:flex;flex:1 1 240px;position:relative}.toolbar .search svg{color:var(--ink-subtle);left:12px;pointer-events:none;position:absolute}.toolbar .search .input{background:var(--body-bg);border-color:transparent;padding-left:38px}.toolbar .search .input:focus-visible{background:var(--canvas);border-color:var(--brand-light)}.toolbar .select{min-width:180px;width:auto}.toolbar .input[type=date]{width:auto}table.data{border-collapse:collapse;font-size:14px;line-height:1.29;width:100%}table.data th{background:var(--surface-2);border-bottom:1px solid var(--hairline);color:var(--ink);font-weight:500;height:46px;padding:0 16px;text-align:left;white-space:nowrap}table.data td{background:var(--canvas);border-top:1px solid var(--hairline);color:var(--ink-muted);height:52px;padding:8px 16px;transition:background-color .15s var(--ease);vertical-align:middle}table.data tbody tr:first-child td{border-top:0}table.data tbody tr:hover td{background:var(--hover);color:var(--ink)}table.data td.strong{color:var(--ink);font-weight:500}table.data .right{text-align:right}table.data .actions{text-align:right;white-space:nowrap;width:1%}.cell-stack{display:flex;flex-direction:column;gap:2px;min-width:0}.cell-stack small{color:var(--ink-subtle);font-size:12px}.pager{align-items:center;border-radius:0 0 var(--radius-lg) var(--radius-lg);display:flex;font-size:13px;gap:16px;justify-content:space-between;min-height:52px;padding:0 8px 0 16px}.pager,.tile{color:var(--ink-muted)}.tile{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow);display:block;padding:20px;text-decoration:none}a.tile,button.tile{cursor:pointer;text-align:left;transition:box-shadow .35s var(--ease),transform .35s var(--ease),border-color .35s var(--ease)}a.tile:hover,button.tile:hover{border-color:transparent;box-shadow:var(--shadow-lg);color:var(--ink-muted);transform:translateY(-3px)}.empty{background:var(--canvas);border-radius:var(--radius-lg);color:var(--ink-muted);padding:48px 16px;text-align:center}.empty h3{color:var(--ink);font-size:16px;font-weight:600;margin-bottom:4px}.skeleton{animation:shimmer 1.4s linear infinite;background:linear-gradient(90deg,var(--hairline) 0,var(--skeleton-hi) 50%,var(--hairline) 100%);background-size:200% 100%;border-radius:var(--radius);display:block}@keyframes shimmer{to{background-position:-200% 0}}.spinner{animation:spin .75s linear infinite;border:2px solid;border-radius:50%;border-right:2px solid transparent;flex:none;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}}@keyframes drop-slide{0%{opacity:0;transform:translateY(-4px)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.stagger>*{animation:fade-up .45s var(--ease-out) both;animation-delay:calc(var(--i, 0)*60ms)}.page{animation:fade-up .35s var(--ease-out) both;max-width:1584px;padding:24px}.page-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px 24px;justify-content:space-between;margin-bottom:24px}.page-head>div{display:flex;flex-direction:column;gap:4px;min-width:0}@media(max-width:671px){.page{padding:16px}.page-title{font-size:20px}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.cap:first-letter{text-transform:uppercase}.brand-logo,.login-logo{background:var(--logo-bg);border-radius:var(--radius);box-sizing:content-box;padding:var(--logo-pad)}.credit{color:var(--ink-subtle);font-size:12px;margin:0 auto 16px;padding-top:12px;text-align:center}.credit a{color:var(--accent);font-weight:500}.dlg{background:var(--canvas);border:0;border-radius:var(--radius-xl);box-shadow:0 20px 50px #1e202533;color:var(--ink-muted);max-height:min(100dvh - 64px,860px);overscroll-behavior:contain;padding:0;width:min(100% - 32px,640px)}.dlg[open]{animation:dlg-in .3s var(--ease-out);display:flex;flex-direction:column}.dlg[open]::backdrop{animation:fade .3s var(--ease)}@keyframes fade{0%{opacity:0}}.dlg--sm{width:min(100% - 32px,480px)}.dlg--lg{width:min(100% - 32px,900px)}.dlg::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#21252e73}@keyframes dlg-in{0%{opacity:0;transform:translateY(-24px) scale(.98)}}.dlg-head{align-items:center;border-bottom:1px solid var(--hairline);display:flex;gap:16px;justify-content:space-between;padding:16px 16px 16px 24px}.dlg-titles{display:flex;flex-direction:column;gap:2px;min-width:0}.dlg-titles h2{font-size:18px;font-weight:600;line-height:1.4}.dlg-body{font-size:14px;overflow-y:auto;overscroll-behavior:contain;padding:24px}.dlg-foot{background:var(--surface-2);border-top:1px solid var(--hairline);display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:auto;padding:16px 24px}.toasts{bottom:16px;display:flex;flex-direction:column;gap:8px;pointer-events:none;position:fixed;right:16px;width:min(100% - 32px,400px);z-index:90}.toast{align-items:flex-start;animation:toast-in .35s var(--ease-out);background:var(--canvas);border-left:4px solid var(--info);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);color:var(--ink);display:flex;font-size:14px;gap:12px;line-height:1.43;padding:14px 8px 14px 16px;pointer-events:auto}@keyframes toast-in{0%{opacity:0;transform:translate(24px)}}.toast--success{border-color:var(--success)}.toast--success .toast-icon{color:var(--success)}.toast--error{border-color:var(--error)}.toast--error .toast-icon{color:var(--error)}.toast--info .toast-icon{color:var(--info)}.toast-icon{flex:none}.toast-text{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere}.toast-text strong{color:var(--ink);font-weight:600}.toast-text span{color:var(--ink-muted)}.toast-close{background:none;border:0;border-radius:50%;color:var(--ink-subtle);cursor:pointer;display:grid;flex:none;height:32px;margin-top:-6px;place-items:center;width:32px}.toast-close:hover{background:var(--hover);color:var(--ink)}.confirm-text{font-size:16px;line-height:1.5;max-width:52ch}
