:root{color-scheme:light;--bg: #f8fafc;--surface: #ffffff;--surface-2: #f1f5f9;--text: #0f172a;--muted: #64748b;--border: #e2e8f0;--primary: #1f6feb;--primary-text: #ffffff;--danger: #ef4444;--danger-text: #b42318;--danger-bg: #fef3f2;--notice-bg: #eff8ff;--accent: #0f172a;--accent-text: #ffffff;--sidebar: #ffffff;--sidebar-hover: #f1f5f9;--shadow: 0 10px 30px rgba(15, 23, 42, .14);--scrim: rgba(15, 23, 42, .5)}:root[data-theme=dark]{color-scheme:dark;--bg: #0b1220;--surface: #111a2c;--surface-2: #1a2438;--text: #e6edf6;--muted: #94a3b8;--border: #243049;--primary: #4c8dff;--danger: #ef4444;--danger-text: #ff8a80;--danger-bg: #3a1a18;--notice-bg: #14263d;--accent: #e6edf6;--accent-text: #0b1220;--sidebar: #0e1626;--sidebar-hover: #1a2438;--shadow: 0 10px 30px rgba(0, 0, 0, .5);--scrim: rgba(0, 0, 0, .6)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{font-size:1.5rem;margin:0 0 .75rem}h2{font-size:1.1rem;margin:0 0 .5rem}code{font-family:ui-monospace,Consolas,monospace;font-size:.9em}.muted{color:var(--muted)}.small{font-size:.85rem}.center{min-height:100vh;display:grid;place-items:center;padding:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:16px}.card.narrow{width:min(380px,100%);display:grid;gap:12px}.notice{background:var(--notice-bg)}.secret{display:block;font-size:1.1rem;margin:8px 0;-webkit-user-select:all;user-select:all}label{display:grid;gap:4px;font-size:.9rem}label.inline{display:inline-flex;gap:6px;margin-right:14px;align-items:center}input,select,button{font:inherit;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}input[type=checkbox]{padding:0}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}button.link{border:0;background:none;color:inherit;padding:0;text-decoration:underline}button.danger{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:600}.error{background:var(--danger-bg);color:var(--danger-text);padding:8px 12px;border-radius:8px;margin-bottom:12px}.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:8px}fieldset{border:0;padding:0;margin:0 0 12px}table{width:100%;border-collapse:collapse;margin-top:12px;display:block;overflow-x:auto}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--border);white-space:nowrap}th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.actions{display:flex;gap:6px}.actions button{padding:4px 8px;font-size:.85rem}.pager{display:flex;gap:12px;align-items:center;margin-top:12px}.shell{display:grid;grid-template-columns:272px 1fr;min-height:100vh;border-top:3px solid var(--accent);transition:grid-template-columns .2s ease}.shell.is-collapsed{grid-template-columns:72px 1fr}.main{display:flex;flex-direction:column;min-width:0}.content{padding:24px 30px;min-width:0;flex:1}.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border:0;background:none;color:var(--muted);border-radius:8px}.icon-btn:hover:not(:disabled){background:var(--sidebar-hover);color:var(--text)}button:focus-visible,a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.avatar{display:inline-grid;place-items:center;flex:none;border-radius:50%;background:var(--accent);color:var(--accent-text);font-weight:700}.avatar-md{width:46px;height:46px;font-size:.95rem}.avatar-lg{width:44px;height:44px;font-size:.9rem}.who-name{font-weight:600;text-transform:uppercase;line-height:1.2}.who-role{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0;height:calc(100vh - 3px);position:sticky;top:0;overflow:hidden}.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:22px 16px 14px 24px;gap:8px}.brand{font-size:1.35rem;font-weight:600;white-space:nowrap}.sidebar nav{flex:1;overflow-y:auto;padding:0 12px;scrollbar-width:thin}.nav-section{padding-bottom:8px}.nav-section hr{border:0;border-top:1px solid var(--border);margin:8px 4px 14px}.nav-title{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:10px 12px 6px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:var(--text);text-decoration:none;font-weight:500}.sidebar nav a svg{color:var(--muted);flex:none}.sidebar nav a:hover{background:var(--sidebar-hover)}.sidebar nav a.active{background:var(--accent);color:var(--accent-text)}.sidebar nav a.active svg{color:inherit}.sidebar-foot{display:flex;align-items:center;gap:12px;padding:14px 16px;margin:0 4px;border-top:1px solid var(--border)}.who{flex:1;min-width:0}.who>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar.collapsed .brand,.sidebar.collapsed .label,.sidebar.collapsed .nav-title,.sidebar.collapsed .who{display:none}.sidebar.collapsed .sidebar-head{justify-content:center;padding:22px 0 14px}.sidebar.collapsed nav a{justify-content:center}.sidebar.collapsed .sidebar-foot{flex-direction:column;padding:14px 0}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:14px}.topbar .divider{width:1px;height:24px;background:var(--border)}.menu-toggle{display:none}.theme-switch,.switch{position:relative;padding:0;cursor:pointer}.theme-switch{width:80px;height:40px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border)}.theme-switch .knob{position:absolute;top:4px;left:4px;width:30px;height:30px;border-radius:50%;background:var(--surface);color:var(--text);display:grid;place-items:center;box-shadow:0 1px 3px #00000040;transition:transform .2s ease}.theme-switch.on .knob{transform:translate(40px)}.switch{width:44px;height:26px;border-radius:999px;background:var(--border);border:0;transition:background .2s}.switch .knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s}.switch.on{background:var(--accent)}.switch.on .knob{transform:translate(18px);background:var(--accent-text)}.user-menu{position:relative}.avatar-btn{padding:0;border:0;background:none;border-radius:50%;cursor:pointer;display:grid}.menu{position:absolute;right:0;top:calc(100% + 10px);width:280px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);overflow:hidden;z-index:20}.menu-head{display:flex;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border)}.menu-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}.menu-row span{flex:1}.menu-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;border-radius:0;background:none;padding:12px 16px;border-bottom:1px solid var(--border)}.menu-item:last-child{border-bottom:0}.menu-item:hover{background:var(--sidebar-hover)}.danger-text{color:var(--danger-text)}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);display:grid;place-items:center;padding:16px;z-index:50}.dialog{position:relative;width:min(480px,100%);background:var(--surface);border-radius:12px;padding:24px;box-shadow:var(--shadow)}.dialog h2{font-size:1.15rem;margin:0 0 10px}.dialog p{margin:0 0 24px}.dialog-close{position:absolute;top:14px;right:14px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.dialog-actions button{padding:9px 18px;font-weight:600}.page-head{display:flex;align-items:center;gap:18px}.page-head h1{margin:0}.page-head p{margin:2px 0 0}.page-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:12px;background:var(--surface-2);color:var(--text)}.page-icon svg{width:26px;height:26px}.scrim{display:none}@media (max-width: 760px){.shell,.shell.is-collapsed{grid-template-columns:1fr}.sidebar{position:fixed;z-index:40;left:0;top:0;height:100vh;width:272px;transform:translate(-100%);transition:transform .2s ease}.sidebar.open{transform:none;box-shadow:var(--shadow)}.sidebar.collapsed .brand,.sidebar.collapsed .label,.sidebar.collapsed .nav-title,.sidebar.collapsed .who{display:revert}.scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:30}.menu-toggle{display:inline-grid}.topbar{padding:0 16px}.content{padding:16px}}.sidebar.collapsed nav{padding:0 14px}.sidebar.collapsed .nav-section{padding-bottom:4px}.sidebar.collapsed .nav-section hr{margin:6px 6px 12px}.sidebar.collapsed nav a{position:relative;padding:10px 0}.sidebar.collapsed nav a.active{background:var(--surface-2);color:var(--text)}.sidebar.collapsed nav a.active:before{content:"";position:absolute;left:-14px;top:6px;bottom:6px;width:4px;border-radius:0 4px 4px 0;background:var(--accent)}.sidebar.collapsed .sidebar-foot{border-top:0}.sidebar.collapsed .sidebar-foot .icon-btn{display:none}@media (max-width: 760px){.sidebar.collapsed nav a.active{background:var(--accent);color:var(--accent-text)}.sidebar.collapsed nav a.active:before{display:none}.sidebar.collapsed .sidebar-foot .icon-btn{display:inline-grid}}.field{display:grid;gap:4px;font-size:.9rem}.pw-wrap{position:relative;display:grid}.pw-wrap input{padding-right:42px}.pw-wrap .icon-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%)}
