:root{--bg: #ececec;--panel: #ffffff;--border: #d8d8d8;--text: #333333;--muted: #8d8d8d;--accent: #2196f3;--accent-2: #1e88e5;--danger: #e53935;--font: "Roboto", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid #c8c8c8;background:#fff;border-radius:2px;padding:.45rem .85rem}button:hover{background:#f5f5f5}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover{background:var(--accent-2)}button.primary:disabled{opacity:.65;cursor:default}button.danger{border-color:#ef9a9a;color:var(--danger);background:#fff}button.ghost{border:none;background:transparent;color:var(--accent);padding:0}input,select{background:#fff;border:1px solid #cfcfcf;border-radius:2px;padding:.55rem .7rem;width:100%}input:focus,select:focus{outline:none;border-color:var(--accent)}label.field{display:block;font-size:12px;color:#777;margin-bottom:.7rem}label.field span{display:block;margin-bottom:.25rem}.login-page{min-height:100%;display:flex;flex-direction:column;align-items:center;padding:12vh 1rem 2rem;background:#e6e6e6}.login-mark{text-align:center;margin-bottom:1.2rem}.login-mark strong{display:block;font-size:1.2rem}.login-mark span{color:#777;font-size:.85rem}.login-card{width:min(380px,92vw)}.login-card input{margin-bottom:.7rem;height:42px}.login-card .error{color:var(--danger);margin:0 0 .7rem}.login-card button{width:100%;height:42px}.shell{height:100%;display:grid;grid-template-rows:52px 1fr;min-height:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1rem;background:#fff;border-bottom:1px solid #e0e0e0}.brand{font-weight:700}.brand span{color:var(--muted);font-weight:400;margin-left:.45rem}.who{display:flex;align-items:center;gap:.75rem;color:#555}.admin{min-height:0;display:grid;grid-template-columns:320px 1fr}.list,.editor{min-height:0;overflow:auto}.list{background:#fff;border-right:1px solid var(--border)}.list-head,.editor-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem .9rem;border-bottom:1px solid #eee;background:#fafafa}.list-head h1,.editor-head h2{margin:0;font-size:1rem;font-weight:500}.user-row{width:100%;text-align:left;border:none;border-bottom:1px solid #eee;border-radius:0;background:#fff;padding:.7rem .9rem}.user-row strong{display:block}.user-row small{color:var(--muted)}.user-row.active{background:#e8f4fd}.user-row .tag{display:inline-block;margin-top:.25rem;font-size:11px;color:#1565c0;background:#e3f2fd;padding:.1rem .35rem}.editor{padding:0 0 1.5rem}.editor form{max-width:760px;padding:.9rem}.section{background:#fff;border:1px solid var(--border);padding:.9rem;margin-bottom:.75rem}.section h3{margin:0 0 .75rem;font-size:.95rem;font-weight:500}.grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.checks{display:grid;grid-template-columns:1fr 1fr;gap:.35rem 1rem}.check{display:flex;align-items:center;gap:.45rem;color:#333;font-size:14px}.check input{width:auto}.hint{color:#666;font-size:12px;margin:0 0 .7rem}.actions{display:flex;gap:.5rem;align-items:center}.error{color:var(--danger)}.ok{color:#2e7d32}.note{margin:.9rem;background:#fff;border:1px solid var(--border);padding:.9rem;max-width:640px}.empty{color:var(--muted);padding:.8rem .9rem}@media(max-width:800px){.admin{grid-template-columns:1fr}.list{border-right:none;border-bottom:1px solid var(--border);max-height:40vh}.grid,.checks{grid-template-columns:1fr}}
