@charset "UTF-8";
:root{color-scheme:dark;--font:"Bahnschrift","Segoe UI",Arial,sans-serif;--bg:#101713;--panel:#19251e;--panel2:#233125;--border:#4b5a46;--line:#344332;--text:#eeeada;--muted:#b4bfad;--cyan:#d9be7c;--orange:#e5b27e;--green:#b7d69b;--red:#f0afa8}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 var(--font)}h1,h2,h3,h4,p,figure{margin:0}button,input,select,textarea{font:inherit}a{color:var(--cyan);text-decoration:none}a:hover{color:#fff}button,a{transition:background .15s,color .15s,border-color .15s}button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--border);background:var(--panel2);color:var(--text);padding:9px 14px;border-radius:4px}button:hover{background:#34462b;border-color:#7b835b}button:disabled{cursor:default;opacity:.65}button.primary{color:#172015;background:var(--cyan);border-color:var(--cyan);font-weight:600}button.primary:hover{background:#ead296}button.subtle{background:transparent}.small,button.small{font-size:12px;padding:7px 11px}.icon-button{display:inline-grid;place-items:center;background:transparent;border:1px solid transparent;padding:6px;min-width:36px;min-height:36px;line-height:1}.icon-button:hover{border-color:var(--border)}button.danger,.danger{color:var(--red)}button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}input,select,textarea{border:1px solid var(--border);border-radius:4px;background:#111c15;color:var(--text);padding:10px 12px;max-width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--cyan);outline-offset:2px}input[type=checkbox],input[type=radio]{accent-color:var(--cyan)}input[type=range]{accent-color:var(--cyan);padding:0;cursor:pointer}textarea{resize:vertical;min-height:80px}input::placeholder,textarea::placeholder{color:var(--muted)}[hidden],.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
main{margin:0 auto;max-width:1600px;padding:28px}.shell{min-height:100vh}.panel{border:1px solid var(--border);background:var(--panel);border-radius:4px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--border)}.panel-head h2,.panel-head h3{font-size:17px;font-weight:550}.panel-body{padding:18px 20px}.eyebrow{font-size:11px;letter-spacing:.075em;color:var(--cyan);margin-bottom:8px}.muted{color:var(--muted)}.mono{font-family:Consolas,monospace}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spacer{margin-left:auto}.badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;line-height:1.5;padding:4px 7px;border:1px solid #656b46;border-radius:3px;background:#6e73321a;color:#d8ce9b;white-space:nowrap}.badge.good{color:var(--green);border-color:#627b4e;background:#48633a22}.badge.warn{color:var(--orange);border-color:#95734b}.badge.bad{color:var(--red);border-color:#9a6257}.notice{padding:14px 16px;border:1px solid var(--border);background:#a9c58a08;color:var(--text);font-size:13px;line-height:1.7;margin-bottom:20px}.notice.warn{border-color:#93734f;color:var(--orange);background:#e5b27e08}.help-text{color:var(--muted);font-size:12px;line-height:1.75;margin:15px 0}.section-space{margin-top:24px}.page-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:24px}.page-heading h1{font-size:30px;margin-bottom:8px}.page-heading p{font-size:14px;color:var(--muted)}.heading-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.empty{text-align:center;padding:40px 22px;display:flex;align-items:center;flex-direction:column;gap:12px}.empty-icon{width:44px;height:44px;border:1px solid var(--border);display:grid;place-items:center;color:var(--cyan);font-size:25px;margin-bottom:6px}.empty h3{font-size:18px}.empty p{font-size:13px;color:var(--muted);max-width:520px;line-height:1.7}
.table-wrap{overflow:auto;max-width:100%}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:11px;font-weight:500;letter-spacing:.025em;color:var(--muted);background:#1e2b20;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}td{border-bottom:1px solid var(--line);padding:12px 16px;font-size:13px;vertical-align:middle}td strong{font-weight:550}td small{display:block;font-size:12px;color:var(--muted);margin-top:3px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#b7d69b05}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field{display:flex;flex-direction:column;gap:7px;font-size:12px}.form-field.full{grid-column:1/-1}.form-field small{color:var(--muted);font-size:12px}.form-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:20px;margin-top:24px}.form-actions .danger{margin-right:auto}.form-error{display:none;padding:12px 14px;margin:0 0 18px;background:#f0afa810;border:1px solid #9a6257;color:var(--red);font-size:14px}.form-error:not(:empty){display:block}.inline-link,.text-button{border:0;background:transparent;color:var(--cyan);font-size:inherit;padding:4px 0}.text-button:hover,.inline-link:hover{background:transparent;color:#fff}
dialog{border:1px solid #77744c;border-radius:4px;background:#18241b;color:var(--text);padding:0;max-height:90vh;width:min(700px,94vw);max-width:94vw;box-shadow:0 25px 100px #0009}dialog.wide{width:min(1050px,94vw)}dialog::backdrop{background:#050a06cc;backdrop-filter:blur(4px)}.modal-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;border-bottom:1px solid var(--border);position:sticky;top:0;background:#1d2a20;z-index:3}.modal-top h2{font-size:23px;line-height:1.3}.modal-top .eyebrow{margin-bottom:5px}#modal-body{padding:24px}.loading{padding:48px 20px;text-align:center;color:var(--muted);font-size:14px;min-height:120px}.loading>span{display:block;margin:0 auto 20px;width:28px;height:28px;border:2px solid var(--border);border-top-color:var(--cyan);border-radius:50%;animation:ui-spin 1s linear infinite}@keyframes ui-spin{to{transform:rotate(360deg)}}#toasts{position:fixed;bottom:24px;right:24px;z-index:200;display:flex;flex-direction:column;gap:10px}.toast{background:#2c402b;border:1px solid #8b9561;color:var(--text);padding:12px 18px;max-width:min(450px,calc(100vw - 32px));font-size:14px;box-shadow:0 5px 25px #0005}.toast.error{background:#412b2b;border-color:#9a6257;color:var(--red)}.auth-brand{display:flex;align-items:center;gap:16px}.auth-brand img{width:80px;height:80px;object-fit:contain}.auth-brand span{font-size:28px;letter-spacing:.2em}.auth-brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:.06em}.avatar{border:1px solid #8d8556;background:#3a482e;color:#f3e6b9;font-size:12px;min-width:38px;min-height:38px;border-radius:4px;padding:6px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border)}.stat{padding:14px;background:var(--surface-inset,#111c15)}.stat small{display:block;color:var(--muted);font-size:11px}.stat b{display:block;font-size:16px;margin-top:5px}.text-wrap{white-space:pre-wrap;overflow-wrap:anywhere}footer{border-top:1px solid var(--border);color:var(--muted);font-size:12px}
@media(max-width:720px){main{padding:24px 18px}.page-heading{align-items:flex-start;flex-direction:column;gap:16px}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:1}.modal-top{padding:16px 18px}#modal-body{padding:18px}.stat-grid{grid-template-columns:1fr 1fr}#toasts{right:16px;bottom:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
