:root{--bg: #f6f7f9;--panel: #ffffff;--border: #e5e7eb;--text: #111827;--muted: #6b7280;--primary: #1f6feb;--ok: #16794c;--err: #b91c1c;--subtle: #fafafa;--danger: #b91c1c;--backdrop: rgba(15, 23, 42, .45)}:root[data-theme=dark]{--bg: #0f172a;--panel: #1e293b;--border: #334155;--text: #e5e7eb;--muted: #94a3b8;--primary: #60a5fa;--ok: #34d399;--err: #f87171;--subtle: #0b1220;--danger: #dc2626;--backdrop: rgba(0, 0, 0, .6)}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}a{color:var(--primary);text-decoration:none}.app{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:var(--panel);border-right:1px solid var(--border);padding:1.25rem 1rem;display:flex;flex-direction:column;gap:.5rem}.brand{font-weight:700;font-size:1.1rem}.sidebar nav{display:flex;flex-direction:column;gap:.15rem;margin-top:1rem}.sidebar nav a{padding:.5rem .6rem;border-radius:8px;color:var(--text)}.sidebar nav a:hover{background:var(--bg)}.sidebar nav a.active{background:#eef4ff;color:var(--primary);font-weight:600}.content{padding:1.5rem 2rem;min-width:0}.topbar{display:flex;justify-content:flex-end;align-items:center;gap:1rem;padding:0 0 1rem;border-bottom:1px solid var(--border);margin-bottom:1.25rem}.topbar-right{display:flex;align-items:center;gap:.9rem}.org-chip{font-weight:600}.user-chip{color:var(--muted);font-size:.9rem}h2{margin-top:0}.muted{color:var(--muted);font-size:.9rem}.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.error{background:#fef2f2;color:var(--err);border:1px solid #fecaca;padding:.6rem .8rem;border-radius:8px;margin:.5rem 0}.ok{background:#f0fdf4;color:var(--ok);border:1px solid #bbf7d0;padding:.6rem .8rem;border-radius:8px;margin:.5rem 0}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem;margin:.75rem 0}label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--muted)}label.check{flex-direction:row;align-items:center;gap:.4rem}input,select{padding:.5rem .6rem;border:1px solid var(--border);border-radius:8px;font-size:.95rem;background:var(--panel);color:var(--text)}button{padding:.5rem .9rem;border:1px solid var(--primary);background:var(--primary);color:#fff;border-radius:8px;cursor:pointer;font-size:.9rem}button:hover{filter:brightness(1.05)}button.ghost,button.link{background:transparent;color:var(--primary);border-color:var(--border)}button.link{border:none;text-decoration:underline;padding:.25rem}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button:disabled{opacity:.6;cursor:default}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--backdrop);display:grid;place-items:center;padding:16px;overflow-y:auto}.modal{width:100%;max-width:480px;margin:0;box-shadow:0 20px 45px #00000040}.modal form{display:flex;flex-direction:column;gap:.75rem}.modal h3{margin:0;font-size:1.1rem}.modal-body{display:flex;flex-direction:column;gap:.5rem;font-size:.95rem;line-height:1.45}.modal-body p{margin:0}.modal-input input{width:100%}.modal-choice{border:1px solid var(--border);border-radius:8px;margin:0;padding:.5rem .75rem .65rem;display:flex;flex-direction:column;gap:.35rem}.modal-choice legend{font-size:.85rem;color:var(--muted);padding:0 .25rem}.modal-choice label.check{color:var(--text);font-size:.95rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap;margin-top:.25rem}.dialog-nudge{animation:dialog-nudge .3s ease-in-out}@keyframes dialog-nudge{0%,to{translate:0 0}25%{translate:-6px 0}50%{translate:5px 0}75%{translate:-3px 0}}@media (prefers-reduced-motion: reduce){.dialog-nudge{animation:none}}.table{width:100%;border-collapse:collapse;margin-top:1rem;background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden}.table th,.table td{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--border);font-size:.92rem}.table th{background:var(--subtle);color:var(--muted);font-weight:600}.table th.right,.table td.right{text-align:right}.actions{display:flex;gap:.5rem;justify-content:flex-end;align-items:center;flex-wrap:nowrap;white-space:nowrap}.actions button{white-space:nowrap}.store-link{word-break:break-all}table.kv th{text-align:left;padding-right:1.5rem;white-space:nowrap;font-weight:600}.store-name{font-weight:600;font-size:1rem;padding:0}.badge{padding:.1rem .5rem;border-radius:999px;font-size:.75rem;background:#eef2ff;color:#3730a3}.badge.live,.badge.active{background:#ecfdf5;color:#047857}.badge.dev,.badge.suspended{background:#fff7ed;color:#c2410c}.badge.owner{background:#eef2ff;color:#3730a3}.badge.admin{background:#eff6ff;color:#1d4ed8}.badge.staff{background:#f3f4f6;color:#374151}.list-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.6rem .75rem;margin:1rem 0 .4rem;padding:.7rem .8rem;background:var(--panel);border:1px solid var(--border);border-radius:12px}.list-toolbar-search{flex:1 1 240px;min-width:0}.list-toolbar-field{flex:0 1 auto;min-width:0}.list-toolbar-field span{font-size:.78rem}.list-toolbar-field select,.list-toolbar-field input{max-width:100%}.list-toolbar-count{margin-left:auto;align-self:center;color:var(--muted);font-size:.85rem;white-space:nowrap}.list-toolbar+.table{margin-top:.25rem}.password-field{position:relative;display:flex;align-items:center}.password-field input{width:100%;padding-right:2.4rem}.password-eye{position:absolute;right:.3rem;padding:.3rem;line-height:0;background:transparent;border:none;color:var(--muted)}.password-eye:hover{color:var(--text);filter:none}.checklist{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.55rem}.checklist li{display:grid;grid-template-columns:auto auto auto 1fr;gap:.5rem;align-items:center}.checklist li .muted{grid-column:1 / -1;margin:0}.auth{min-height:100vh;display:grid;place-items:center}.auth-card{width:380px;display:flex;flex-direction:column;gap:.6rem}.auth-card h1{margin:0}.user-pick{display:flex;flex-direction:column;gap:.4rem}.user-pick button{text-align:left;background:var(--panel);color:var(--text);border:1px solid var(--border)}.user-pick button:hover{border-color:var(--primary)}
