:root{--paper: #efebf4;--board: #e7e1f0;--surface: #ffffff;--ink: #1c1420;--ink2: #3a2f44;--muted: #7a6e86;--faint: #a79fb2;--line: #e6dfee;--push: #c5e4b0;--on-push: #1c1420;--chip: #f0d86a;--on-chip: #1c1420;--brand: #5a3fe0;--brand-soft: #ece7ff;--danger: #f0432f;--ok: #3e9e7a;--rail: #1c1420;--rail-ink: #f4f0f7;--font-display: "Unbounded", "Trebuchet MS", sans-serif;--font-body: "Golos Text", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 400px at 10% -10%,#5a3fe033,transparent 50%),var(--paper)}.login-card{width:min(420px,100%);background:var(--surface);border:1px solid var(--line);padding:32px 28px 28px;box-shadow:12px 16px 0 var(--ink)}.login-card .brand{font-family:var(--font-display);font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--brand);margin:0 0 8px}.login-card h1{font-family:var(--font-display);font-size:28px;line-height:1.1;margin:0 0 8px}.login-card p{margin:0 0 20px;color:var(--muted)}.shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.rail{background:var(--rail);color:var(--rail-ink);padding:28px 18px;display:flex;flex-direction:column;gap:8px}.rail .mark{font-family:var(--font-display);font-size:18px;margin:0 0 4px}.rail .mark span{color:var(--chip)}.rail .sub{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#9a90a8;margin:0 0 18px}.rail nav{display:flex;flex-direction:column;gap:2px;flex:1}.rail a{padding:8px 10px;border-left:3px solid transparent;color:#d8d0e0}.rail a.active{border-left-color:var(--chip);background:#2a2334;color:#fff}.rail button.ghost{margin-top:auto;background:transparent;border:1px solid #3a3344;color:#d8d0e0;padding:8px 10px;text-align:left}.main{padding:28px 32px 48px;min-width:0}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px}.page-head h1{font-family:var(--font-display);font-size:28px;margin:0}.page-head p{margin:6px 0 0;color:var(--muted)}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field span,.label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}input[type=text],input[type=search],input[type=url],input[type=tel],select,textarea{background:var(--surface);border:1px solid var(--line);padding:10px 12px;min-height:42px}textarea{min-height:80px;resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.btn{border:0;background:var(--push);color:var(--on-push);padding:10px 14px;font-weight:600}.btn.brand{background:var(--brand);color:#fff}.btn.ghost{background:transparent;border:1px solid var(--line)}.btn.danger{background:var(--danger);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.err{background:#fde8e4;color:#8a1c12;padding:10px 12px;margin:0 0 12px}.ok{background:#e4f3ec;color:#1d5c45;padding:10px 12px;margin:0 0 12px}.sheet{background:var(--surface);border:1px solid var(--line)}.split{display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,1.1fr);gap:16px;align-items:start}.list{display:flex;flex-direction:column}.list-item{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line);background:transparent;text-align:left;width:100%}.list-item:hover,.list-item.on{background:var(--brand-soft)}.list-item small{color:var(--muted)}.form{padding:18px;display:flex;flex-direction:column;gap:12px}.form h2{font-family:var(--font-display);font-size:18px;margin:0}.chip{display:inline-block;background:var(--chip);color:var(--on-chip);font-family:var(--font-display);font-size:11px;letter-spacing:.08em;padding:3px 8px}.chips{display:flex;flex-wrap:wrap;gap:6px}.pick{border:1px solid var(--line);background:var(--surface);padding:6px 10px}.pick.on{background:var(--brand);color:#fff;border-color:var(--brand)}.pick.sec{background:var(--chip);border-color:var(--chip);color:var(--on-chip)}.tree{display:flex;flex-direction:column;gap:10px}.group{background:var(--surface);border:1px solid var(--line);padding:12px}.group h3{margin:0 0 8px;font-size:16px}.kids{display:flex;flex-direction:column;gap:6px;padding-left:12px;border-left:3px solid var(--chip)}.thumb{width:96px;height:96px;object-fit:cover;background:var(--board);border:1px solid var(--line)}table.data{width:100%;border-collapse:collapse;background:var(--surface)}table.data th,table.data td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}table.data th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}table.data input{width:100%;min-height:36px;padding:6px 8px}.empty{padding:24px;color:var(--muted)}@media(max-width:860px){.shell{grid-template-columns:1fr}.rail{flex-direction:row;flex-wrap:wrap;align-items:center;padding:16px}.rail nav{flex-direction:row;flex-wrap:wrap;flex:1 1 100%}.rail button.ghost{margin-top:0}.split{grid-template-columns:1fr}.main{padding:16px}}
