:root{--bg: #f7f7f5;--panel: #ffffff;--panel2: #f1f0ec;--line: #e2e0d8;--text: #1b1a17;--muted: #6b6a63;--accent: #a8871a;--accent2: #c9a227;--accent-fg: #fffdf5;--danger: #b23b3b;--ok: #2f7d5b;--hover: #f3f1ea;--shadow: 0 10px 30px rgba(20, 18, 12, .12);--radius: 10px;color-scheme:light}[data-theme=dark]{--bg: #0d0f14;--panel: #151922;--panel2: #1b2130;--line: #262d3d;--text: #e8ecf5;--muted: #8b93a7;--accent: #c9a227;--accent2: #e5c14a;--accent-fg: #16130a;--danger: #e05656;--ok: #3fb37f;--hover: #171d29;--shadow: 0 18px 50px rgba(0, 0, 0, .55);color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg)}body{margin:0;color:var(--text);font:14px/1.45 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent2)}button,input,select,textarea{font:inherit;color:inherit;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 10px}button{cursor:pointer}button:hover{border-color:var(--accent)}button.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);font-weight:600}button.primary:hover{background:var(--accent2);border-color:var(--accent2)}button.ghost{background:transparent}button.danger{color:var(--danger)}button.danger:hover{border-color:var(--danger)}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}tbody tr:hover{background:var(--hover)}.wrap{display:grid;grid-template-columns:232px 1fr;min-height:100vh}aside{background:var(--panel);border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column}.brand{font-weight:700;letter-spacing:.02em;font-size:15px}.brand small{display:block;color:var(--muted);font-weight:500;font-size:11px;letter-spacing:.08em;text-transform:uppercase}nav{margin-top:18px;display:flex;flex-direction:column;gap:2px;flex:1}nav a{padding:9px 10px;border-radius:8px;color:var(--text);opacity:.85}nav a.active,nav a:hover{background:var(--panel2);opacity:1}main{padding:22px 26px 60px;max-width:1200px}.top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.top h1{font-size:19px;margin:0}.muted{color:var(--muted)}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.grid{display:grid;gap:12px}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.pill{display:inline-block;padding:2px 8px;border-radius:99px;font-size:11px;border:1px solid var(--line);color:var(--muted)}.pill.ok{color:var(--ok);border-color:currentColor}.pill.low{color:var(--danger);border-color:currentColor}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login form{width:360px;display:grid;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:var(--shadow)}.err{color:var(--danger);font-size:13px}.note{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:13px}code{background:var(--panel2);padding:2px 6px;border-radius:6px;font-size:12.5px}.num{text-align:right;font-variant-numeric:tabular-nums}.themeswitch{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}.themeswitch button{border:0;border-radius:0;background:transparent;padding:5px 9px;font-size:12px;color:var(--muted)}.themeswitch button.on{background:var(--panel2);color:var(--text)}.tabs{display:inline-flex;gap:4px;background:var(--panel2);padding:4px;border-radius:10px;border:1px solid var(--line)}.tabs button{border:0;background:transparent;padding:6px 12px;border-radius:7px;color:var(--muted);font-size:13px}.tabs button.on{background:var(--panel);color:var(--text);box-shadow:0 1px 2px #00000014}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a0c73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;z-index:40;padding:20px}.modal{width:min(560px,100%);background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:18px}.modal h2{font-size:16px;margin:0 0 4px}.modal .sub{color:var(--muted);font-size:12.5px;margin-bottom:14px}.modal .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.palette{position:fixed;top:0;right:0;bottom:0;left:0;background:#08080a80;display:flex;justify-content:center;align-items:flex-start;padding-top:12vh;z-index:60}.palette .box{width:min(620px,92vw);background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.palette input{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:15px 16px;font-size:15px;background:transparent}.palette input:focus{outline:none}.palette .list{max-height:52vh;overflow:auto;padding:6px}.palette .item{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:8px;cursor:pointer}.palette .item.on{background:var(--panel2)}.palette .item small{color:var(--muted)}.palette .empty{padding:18px;color:var(--muted);font-size:13px}.palette .foot{border-top:1px solid var(--line);padding:8px 14px;font-size:11.5px;color:var(--muted);display:flex;gap:14px}.cmd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;justify-content:center;align-items:flex-start;padding-top:12vh;background:color-mix(in srgb,var(--bg) 55%,transparent);-webkit-backdrop-filter:blur(7px) saturate(120%);backdrop-filter:blur(7px) saturate(120%)}.cmd-box{width:min(680px,94vw);background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px #00000073;overflow:hidden;animation:cmdIn .14s ease-out}@keyframes cmdIn{0%{opacity:0;transform:translateY(-6px) scale(.985)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.cmd-box{animation:none}}.cmd-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}.cmd-glyph{color:var(--muted);font-size:17px;line-height:1}.cmd-head input{flex:1;border:0;background:transparent;font-size:15.5px;padding:4px 0}.cmd-head input:focus{outline:none;box-shadow:none}.cmd-clear{border:0;background:transparent;color:var(--muted);font-size:19px;line-height:1;cursor:pointer;padding:0 2px}.cmd-clear:hover{color:var(--fg)}.cmd-kbd,.cmd-keys kbd,.cmd-foot kbd{font:inherit;font-size:10.5px;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:1px 5px;background:var(--panel2)}.cmd-list{max-height:min(56vh,420px);overflow:auto;padding:8px}.cmd-group+.cmd-group{border-top:1px solid var(--line);margin-top:4px}.cmd-group-head{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:9px 10px 4px}.cmd-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:0;padding:9px 10px;border-radius:9px;cursor:pointer;color:inherit;font:inherit}.cmd-item.on{background:var(--panel2);box-shadow:inset 2px 0 0 var(--accent)}.cmd-icon{width:18px;text-align:center;color:var(--muted);flex:none}.cmd-label{flex:1;font-size:14px;min-width:0}.cmd-label mark,.cmd-hint mark{background:transparent;color:var(--accent);font-weight:650}.cmd-hint{font-size:11.5px;color:var(--muted);max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-keys{display:flex;gap:3px;flex:none}.cmd-empty{display:flex;flex-direction:column;align-items:center;gap:5px;padding:30px 16px;color:var(--muted);text-align:center;font-size:12.5px}.cmd-empty b{color:var(--fg);font-size:13.5px}.cmd-empty-icon{font-size:24px;opacity:.55}.cmd-loading{padding:6px 12px 10px;font-size:11.5px;color:var(--muted)}.cmd-foot{display:flex;gap:16px;align-items:center;border-top:1px solid var(--line);padding:8px 14px;font-size:11px;color:var(--muted)}.cmd-foot span{display:flex;gap:4px;align-items:center}.cmd-count{margin-left:auto}kbd{background:var(--panel2);border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:1px 5px;font-size:11px;font-family:inherit}.drawer{position:fixed;top:0;right:0;height:100vh;width:min(520px,96vw);background:var(--panel);border-left:1px solid var(--line);box-shadow:var(--shadow);z-index:50;overflow:auto;padding:20px}.kv{display:grid;grid-template-columns:150px 1fr;gap:8px 12px;font-size:13px}.kv dt{color:var(--muted)}.kv dd{margin:0}@media(max-width:820px){.wrap{grid-template-columns:1fr}aside{flex-direction:row;align-items:center;overflow-x:auto;padding:10px}nav{flex-direction:row;margin:0}main{padding:14px}.kv{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.dt{display:flex;flex-direction:column;gap:10px}.dt-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.dt-search{display:flex;align-items:center;gap:8px;flex:1 1 260px;max-width:420px;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:0 10px}.dt-search:focus-within{outline:2px solid var(--accent);outline-offset:1px}.dt-search-icon{color:var(--muted);flex:none}.dt-search input{flex:1;min-width:0;border:0;background:transparent;padding:8px 0;border-radius:0}.dt-search input:focus{outline:none}.dt-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.dt-filter{display:flex;align-items:center;gap:6px}.dt-filter>span{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.dt-filter input,.dt-filter select{padding:6px 8px;font-size:12.5px;border-radius:7px}.dt-filter input{width:140px}.dt-scroll{overflow:auto;max-height:68vh;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.dt-table{width:100%;border-collapse:separate;border-spacing:0}.dt-table thead th{position:sticky;top:0;z-index:2;background:var(--panel2);padding:0;border-bottom:1px solid var(--line)}.dt-table tbody td{padding:8px 10px;vertical-align:middle}.dt-sort{display:flex;align-items:center;gap:6px;width:100%;padding:8px 10px;background:transparent;border:0;border-radius:0;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);text-align:left;cursor:pointer}.dt-sort:hover{border:0;background:var(--hover);color:var(--text)}.dt-sort.on{color:var(--text)}.dt-plain{display:block;padding:8px 10px}.dt-right{text-align:right}.dt-right .dt-sort,.dt-right .dt-plain{justify-content:flex-end;text-align:right}.dt-caret{font-size:10px;line-height:1;opacity:.45}.dt-sort.on .dt-caret{color:var(--accent);opacity:1}.dt-empty-cell{padding:0!important}.dt-empty{display:flex;flex-direction:column;align-items:center;gap:7px;padding:36px 16px;color:var(--muted);white-space:normal;text-align:center}.dt-empty b{color:var(--text);font-size:13.5px;font-weight:600}.dt-empty-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--panel2);border:1px solid var(--line);color:var(--muted);font-size:19px}.dt-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.dt-pagesize{display:flex;align-items:center;gap:6px}.dt-pagesize select{padding:4px 7px;font-size:12px;border-radius:7px}.dt-range{font-variant-numeric:tabular-nums}.dt-pager{display:flex;gap:6px;margin-left:auto}.dt-pager button{padding:4px 10px;font-size:12px}.dt-pager button:disabled{opacity:.45;cursor:not-allowed;border-color:var(--line)}.dt-qty{width:110px;padding:5px 8px;font-size:13px;text-align:right;font-variant-numeric:tabular-nums}.dt-hint{font-size:12px;color:var(--muted)}@media(max-width:720px){.dt-search{max-width:none}.dt-filter input{width:110px}.dt-pager{margin-left:0}}.pickrow{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:8px;cursor:pointer}.pickrow:hover{background:var(--panel2)}.pickrow small{color:var(--muted)}.tip{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;margin-left:7px;border-radius:50%;border:1px solid var(--line);font-size:11px;line-height:1;color:var(--muted);cursor:help;position:relative;vertical-align:middle}.tip:hover,.tip:focus{color:var(--ink);border-color:var(--ink);outline:none}.tip:after{content:attr(data-tip);position:absolute;left:50%;top:135%;transform:translate(-50%);background:var(--card, #fff);color:var(--ink, #111);border:1px solid var(--line);border-radius:9px;padding:7px 10px;font-size:12px;font-weight:400;white-space:nowrap;box-shadow:0 8px 24px #00000024;opacity:0;pointer-events:none;transition:opacity .12s ease;z-index:60}.tip:hover:after,.tip:focus:after{opacity:1}@media(max-width:820px){html,body{max-width:100%;overflow-x:hidden}.wrap{min-width:0}aside,main,.top,.row,.dt,.dt-toolbar,.card{min-width:0;max-width:100%}aside{gap:10px}nav{flex-direction:row;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;white-space:nowrap}nav::-webkit-scrollbar{display:none}main{padding:12px 12px 48px;width:100%;box-sizing:border-box}.top{gap:10px}.dt-search{width:100%}.dt-table{min-width:560px}.dt-scroll{max-height:none}.row{gap:8px}}@media(max-width:820px){nav{flex-wrap:wrap;overflow:visible;white-space:normal}nav a{min-height:44px;display:flex;align-items:center;padding:10px 12px;font-size:14px}button,.btn,input,select{min-height:44px}.dt-sort{min-height:40px}aside{flex-wrap:wrap}}
