@import url("https://fonts.googleapis.com/css2?family=Readex+Pro:wght@300;400;500;600&display=swap");
:root{--ink:#161C2D;--mut:#667085;--line:rgba(120,130,160,.24);--acc:#1F3F73;--ok:#1E6E4A;--bad:#A3352B;--warn:#8A6410}
*{box-sizing:border-box}
html{font-family:"Readex Pro",system-ui,"Segoe UI",Tahoma,sans-serif;color:var(--ink);font-size:15px;line-height:1.6}
body{margin:0;min-height:100vh;background:radial-gradient(900px 520px at 88% -8%,#CFE3FF 0,rgba(207,227,255,0) 62%),radial-gradient(760px 520px at 6% 18%,#F6DDF0 0,rgba(246,221,240,0) 60%),radial-gradient(900px 620px at 60% 108%,#FFE9C9 0,rgba(255,233,201,0) 60%),#F3F5FA;background-attachment:fixed}
body.center{display:grid;place-items:center;padding:20px}
h1{font-size:26px;font-weight:600;margin:0 0 4px;letter-spacing:-.01em}
h2{font-size:18px;font-weight:600;margin:0}
.hint{color:var(--mut);margin:0;font-size:14px}
.card,.panel{background:rgba(255,255,255,.66);-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);border:1px solid rgba(255,255,255,.9);border-radius:22px;box-shadow:0 20px 44px -26px rgba(40,52,90,.38)}
.card{width:min(400px,100%);padding:30px 28px;display:grid;gap:16px}
label{display:grid;gap:6px;font-size:13px;color:var(--mut);font-weight:500}
input,select{font:inherit;color:var(--ink);padding:11px 13px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.85);min-width:0;width:100%}
input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
button,.btn{font:inherit;font-weight:500;cursor:pointer;padding:9px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.8);color:var(--ink);text-decoration:none;white-space:nowrap}
button:hover,.btn:hover{background:#fff}
button.pri{background:var(--acc);color:#fff;border-color:transparent;padding:12px 18px}
button.pri:hover{background:#17315B}
button.danger{color:var(--bad)}
button.sm{padding:6px 10px;font-size:13px;border-radius:10px}
.err{color:var(--bad);margin:0;font-size:14px}
/* admin */
.wrap{max-width:1080px;margin:0 auto;padding:28px 18px 60px;display:grid;gap:22px}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.top nav{display:flex;gap:8px}
.panel{padding:22px 22px 10px}
.panel>header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;align-items:end;padding-bottom:16px;border-bottom:1px solid var(--line)}
.form .chk{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:14px;padding-bottom:10px}
.form .chk input{width:auto}
.rows{display:grid}
.row{display:grid;grid-template-columns:minmax(150px,1.3fr) minmax(130px,1fr) minmax(130px,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.row:last-child{border-bottom:0}
.row b{font-weight:600;display:block}
.row small{color:var(--mut);display:block;font-size:13px}
.acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.st{display:inline-block;font-size:12.5px;font-weight:600;padding:3px 10px;border-radius:999px;background:rgba(30,110,74,.12);color:var(--ok)}
.st.off{background:rgba(163,53,43,.1);color:var(--bad)}
.st.wait{background:rgba(138,100,16,.12);color:var(--warn)}
.empty{color:var(--mut);padding:18px 0;margin:0}
#toast{position:fixed;bottom:22px;inset-inline:0;margin-inline:auto;width:max-content;max-width:calc(100vw - 32px);background:rgba(22,28,45,.92);color:#fff;padding:11px 18px;border-radius:14px;font-size:14px;opacity:0;transform:translateY(8px);transition:opacity .18s,transform .18s;pointer-events:none}
#toast.show{opacity:1;transform:none}
@media (max-width:760px){.row{grid-template-columns:1fr 1fr}.acts{grid-column:1/-1;justify-content:flex-start}}
@media (prefers-reduced-motion:reduce){#toast{transition:none}}
