:root{--uzp-font:-apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--uzp-font-brand:var(--uzp-font);--uzp-bg:#f7f8fa;--uzp-surface:#fff;--uzp-text:#1f2533;--uzp-muted:#565f7a;--uzp-faint:#8d96b0;--uzp-border:#e3e5ea;--uzp-accent:#2fc6f6;--uzp-accent-hover:#1faecd;--uzp-success:#3fc41a;--uzp-success-hover:#36ab17;--uzp-warning:#f5a623;--uzp-danger:#e74c3c;--uzp-toast-bg:#1f2533;--uzp-toast-text:#fff;--uzp-radius:8px;--uzp-radius-sm:4px;--uzp-shadow:0 1px 3px rgba(0,0,0,.05), 0 1px 2px rgba(0,0,0,.03);--uzp-transition:.2s}[data-theme=dark]{color-scheme:dark;--uzp-bg:#141821;--uzp-surface:#1c222c;--uzp-text:#e8ecf3;--uzp-muted:#a3adc2;--uzp-faint:#7b859c;--uzp-border:#2c3441;--uzp-accent:#2fc6f6;--uzp-accent-hover:#63d7fb;--uzp-success:#4bd626;--uzp-success-hover:#6ce34f;--uzp-warning:#f7b64a;--uzp-danger:#f0655a;--uzp-toast-bg:#e8ecf3;--uzp-toast-text:#141821;--uzp-shadow:0 1px 3px rgba(0,0,0,.5), 0 1px 2px rgba(0,0,0,.35)}html{scrollbar-gutter:stable;background:var(--uzp-bg)}html.in-frame{scrollbar-gutter:auto;scrollbar-width:none}html.in-frame::-webkit-scrollbar{width:0;height:0}body{margin:0;font-family:var(--uzp-font);font-size:14px;line-height:1.55;background:var(--uzp-bg);color:var(--uzp-text)}.shell{max-width:1200px;margin:0 auto;padding:16px}.bx-broken{background:var(--uzp-danger);color:#fff;border-radius:var(--uzp-radius);padding:10px 16px;margin-bottom:14px;font-size:13px;font-weight:600}.topbar{padding:12px 0 6px;border-bottom:1px solid var(--uzp-border);margin-bottom:20px}.app-loading{position:fixed;inset:0;z-index:3000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:color-mix(in srgb,var(--uzp-bg) 70%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.app-loading-spin{width:46px;height:46px;border-radius:50%;border:4px solid color-mix(in srgb,var(--uzp-accent) 22%,transparent);border-top-color:var(--uzp-accent);animation:app-spin .8s linear infinite}@keyframes app-spin{to{transform:rotate(1turn)}}.app-loading p{margin:0;font-size:14px;font-weight:600;color:var(--uzp-text)}.topbar-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:6px}.topbar-nav{display:flex;gap:18px;padding:12px 0 10px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand,.brand:hover{color:var(--uzp-text)!important}.brand-logo{width:34px;height:34px;border-radius:50%}.brand strong{font-family:var(--uzp-font-brand);font-weight:600;font-size:14px}.topbar a{color:var(--uzp-text);text-decoration:none;font-weight:600;transition:color var(--uzp-transition)}.topbar a.router-link-exact-active,.topbar a:hover{color:var(--uzp-accent)}.hdr-btns{margin-left:auto;margin-right:12px;display:flex;gap:8px;align-items:center}.theme-btn{font-size:16px;padding:6px 10px;border-radius:var(--uzp-radius);line-height:1}.open-ext{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;text-decoration:none;color:var(--uzp-text);border:1px solid var(--uzp-border);background:var(--uzp-surface);transition:border-color var(--uzp-transition),color var(--uzp-transition)}.open-ext:hover{color:var(--uzp-accent);border-color:var(--uzp-accent)}.who{font-size:14px;flex-shrink:0}.who .logout{margin-left:10px;color:var(--uzp-muted);font-weight:500;font-size:13px;text-decoration:underline}.who .logout:hover{color:var(--uzp-accent)}h1{font-size:24px}.card{background:var(--uzp-surface);border:1px solid var(--uzp-border);border-radius:var(--uzp-radius);box-shadow:var(--uzp-shadow);padding:20px;margin-bottom:16px;overflow-x:auto}.card.unsaved{outline:1px solid var(--uzp-warning);outline-offset:-1px}.ok{color:var(--uzp-success)}.err{color:var(--uzp-danger)}.muted{color:var(--uzp-faint)}button{font:inherit;padding:8px 14px;border-radius:var(--uzp-radius);border:1px solid var(--uzp-border);background:var(--uzp-surface);color:var(--uzp-text);cursor:pointer;transition:border-color var(--uzp-transition),background var(--uzp-transition),color var(--uzp-transition)}button:hover{border-color:var(--uzp-accent);color:var(--uzp-accent)}button:disabled{opacity:.55;cursor:not-allowed}button:disabled:hover{border-color:var(--uzp-border);color:var(--uzp-text)}button.positive{background:var(--uzp-success);border-color:var(--uzp-success);color:#fff;font-weight:600}button.positive:hover{background:var(--uzp-success-hover);border-color:var(--uzp-success-hover);color:#fff}button.positive:disabled:hover{background:var(--uzp-success);border-color:var(--uzp-success);color:#fff}button.primary{background:var(--uzp-accent);border-color:var(--uzp-accent);color:#fff;font-weight:600}button.primary:hover{background:var(--uzp-accent-hover);border-color:var(--uzp-accent-hover);color:#fff}button.primary:disabled:hover{background:var(--uzp-accent);border-color:var(--uzp-accent);color:#fff}button.ghost-red{background:transparent;border-color:var(--uzp-danger);color:var(--uzp-text);font-weight:600}button.ghost-red:hover:not(:disabled){border-color:var(--uzp-danger);color:var(--uzp-text);background:color-mix(in srgb,var(--uzp-danger) 12%,transparent)}button.ghost-red:active:not(:disabled){border-color:var(--uzp-danger);color:#fff;background:color-mix(in srgb,var(--uzp-danger) 50%,transparent)}button.ghost-green{background:transparent;border-color:var(--uzp-success);color:var(--uzp-text);font-weight:600}button.ghost-green:hover:not(:disabled){border-color:var(--uzp-success);color:var(--uzp-text);background:color-mix(in srgb,var(--uzp-success) 12%,transparent)}button.ghost-green:active:not(:disabled){border-color:var(--uzp-success);color:#fff;background:color-mix(in srgb,var(--uzp-success) 50%,transparent)}button.ghost-accent{background:transparent;border-color:var(--uzp-accent);color:var(--uzp-text);font-weight:600}button.ghost-accent:hover:not(:disabled){border-color:var(--uzp-accent);color:var(--uzp-text);background:color-mix(in srgb,var(--uzp-accent) 12%,transparent)}button.ghost-accent:active:not(:disabled){border-color:var(--uzp-accent);color:#fff;background:color-mix(in srgb,var(--uzp-accent) 50%,transparent)}button.ghost-accent:disabled,button.ghost-green:disabled,button.ghost-red:disabled{border-color:var(--uzp-border);color:var(--uzp-muted);background:transparent}input,select,textarea{font:inherit;padding:8px 10px;border:1px solid var(--uzp-border);border-radius:var(--uzp-radius);background:var(--uzp-surface);color:var(--uzp-text)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--uzp-accent)}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--uzp-border)}th{font-size:12px;text-transform:uppercase;color:var(--uzp-muted)}fieldset>legend{background:var(--uzp-surface);border:1px solid var(--uzp-border);border-radius:var(--uzp-radius);padding:2px 10px}#toast{position:fixed;top:220px;left:50%;transform:translate(-50%);background:var(--uzp-toast-bg);color:var(--uzp-toast-text);padding:10px 18px;border-radius:var(--uzp-radius-sm);font-size:13px;box-shadow:0 4px 16px #0003;opacity:0;pointer-events:none;transition:opacity var(--uzp-transition);max-width:80vw;text-align:center;z-index:1000}#toast.show{opacity:1}#toast.err{background:var(--uzp-danger);color:#fff}.denied,.guest{text-align:center;padding:48px 24px}.uid{font-size:22px;font-weight:700;padding:4px 14px;border:1px solid var(--uzp-border);border-radius:var(--uzp-radius-sm);background:var(--uzp-bg);-webkit-user-select:all;-moz-user-select:all;user-select:all}.logout-link,.uid{display:inline-block}.logout-link{margin-top:12px;color:var(--uzp-muted);font-size:13px}.login-big{display:inline-block;margin-top:10px;background:var(--uzp-accent);color:#fff;padding:12px 22px;border-radius:var(--uzp-radius);text-decoration:none;font-weight:600}.login-big:hover{background:var(--uzp-accent-hover)}@media(max-width:640px){.shell{padding:10px}h1{font-size:20px}.card{padding:14px}.m-hide{display:none}.topbar-row{flex-wrap:wrap;gap:10px}.brand strong{font-size:13px}.hdr-btns{margin-right:0}.who{flex-basis:100%;order:3;font-size:13px}.topbar-nav{flex-wrap:nowrap;overflow-x:auto;gap:14px;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:10px 0 8px}.topbar-nav::-webkit-scrollbar{display:none}.topbar-nav a,td,th{white-space:nowrap}td,th{padding:8px}.theme-btn,button,input,select,textarea{min-height:40px}}
