@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;700;800&family=Sora:wght@600;700&display=swap');
:root{--bg:#eef2fb;--bg2:#e3ebff;--card:#fff;--card2:#f5f8ff;--bd:#d9e2f3;--t:#0f1a33;--m:#5b6b8c;--a:#4f6bff;--a2:#8a5cff;--ok:#12b886;--sh:0 8px 24px rgba(30,50,110,.10);--in:#f4f7fd}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0a0f1f;--bg2:#101a3a;--card:#131b33;--card2:#18224280;--bd:#25315a;--t:#eef2ff;--m:#8fa0cc;--sh:0 10px 30px rgba(0,0,0,.45);--in:#0f1730}}
:root[data-theme=dark]{--bg:#0a0f1f;--bg2:#101a3a;--card:#131b33;--card2:#18224280;--bd:#25315a;--t:#eef2ff;--m:#8fa0cc;--sh:0 10px 30px rgba(0,0,0,.45);--in:#0f1730}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;font-family:'Plus Jakarta Sans',system-ui,sans-serif;color:var(--t);
 background:radial-gradient(900px 500px at 0% 0%,var(--bg2),transparent 60%),radial-gradient(800px 500px at 100% 100%,var(--bg2),transparent 60%),var(--bg)}
.wrap{max-width:960px;margin:0 auto;padding:16px}
header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 22px;margin:14px auto;max-width:960px;border-radius:18px;
 background:linear-gradient(180deg,#ffffff18,transparent),var(--card);border:1px solid var(--bd);box-shadow:var(--sh)}
.logo{font-family:Sora,sans-serif;font-size:26px;font-weight:700;letter-spacing:-.5px}
.logo span{background:linear-gradient(90deg,var(--a),var(--ok));-webkit-background-clip:text;background-clip:text;color:transparent}
.card{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--bd);border-radius:20px;padding:22px;margin:16px 0;box-shadow:var(--sh)}
.card:before{content:"";position:absolute;inset:0 0 auto 0;height:46%;background:linear-gradient(180deg,rgba(255,255,255,.16),transparent);pointer-events:none}
.card>*{position:relative}
h1,h2,h3{font-family:Sora,sans-serif;margin:.2em 0 .5em}
input,select,textarea{width:100%;padding:12px 14px;margin:6px 0 12px;background:var(--in);color:var(--t);border:1px solid var(--bd);border-radius:12px;font:inherit;outline:0}
input:focus,select:focus,textarea:focus{border-color:var(--a);box-shadow:0 0 0 3px rgba(79,107,255,.25)}
input::placeholder,textarea::placeholder{color:var(--m)}
button{background:linear-gradient(180deg,#ffffff40,transparent 55%),linear-gradient(135deg,var(--a),var(--a2));color:#fff;border:0;padding:11px 20px;border-radius:12px;cursor:pointer;
 font:700 15px 'Plus Jakarta Sans';box-shadow:inset 0 1px 0 #ffffff70,0 6px 14px rgba(79,107,255,.35);transition:.15s}
button:hover{transform:translateY(-1px);filter:brightness(1.07)}
button.alt{background:linear-gradient(180deg,#ffffff30,transparent),var(--card);color:var(--t);border:1px solid var(--bd);box-shadow:none}
button.danger{background:linear-gradient(180deg,#ffffff40,transparent 55%),linear-gradient(135deg,#ff5d7a,#d3304f)}
.tabs{display:flex;gap:6px;background:var(--in);padding:5px;border-radius:14px;border:1px solid var(--bd);margin-bottom:16px}
.tabs button{flex:1;background:transparent;color:var(--m);box-shadow:none}.tabs button.on{background:linear-gradient(135deg,var(--a),var(--a2));color:#fff;box-shadow:inset 0 1px 0 #fff6}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media(max-width:640px){.stats{grid-template-columns:1fr 1fr}}
.stat{background:var(--card);border:1px solid var(--bd);border-radius:16px;padding:16px;box-shadow:var(--sh)}
.stat b{display:block;font:700 28px Sora}.stat span{color:var(--m);font-size:13px}
.badge{padding:4px 12px;border-radius:99px;font-size:11px;font-weight:800;text-transform:uppercase;background:var(--in);border:1px solid var(--bd)}
.pending{background:#ffe9a8;color:#6b4e00}.submitted{background:#cfe2ff;color:#0b3a8a}.confirmed{background:#c4f2df;color:#0a5a3d}.expired{background:#ffd0d8;color:#8a1a2e}
.row{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:600px){.grid{grid-template-columns:1fr}}
.hide{display:none!important}.err{color:#e5484d}.note{font-size:13px;color:var(--m)}
.lnk{display:flex;gap:8px}.lnk input{margin:0}.big{font:700 40px Sora}
.gbtn{display:flex;justify-content:center;min-height:44px;margin:6px 0}
.sep{text-align:center;color:var(--m);font-size:13px;margin:12px 0}
.icon{padding:8px 12px}
table{width:100%;border-collapse:collapse;font-size:14px}td,th{padding:8px;border-bottom:1px solid var(--bd);text-align:left}
.guide{background:var(--in);border:1px solid var(--bd);border-radius:14px;padding:12px 16px;margin:12px 0}
.guide summary{cursor:pointer;font-weight:800}.guide ol{padding-left:20px;line-height:1.7}.guide li{margin:6px 0}
code{background:var(--card);border:1px solid var(--bd);padding:1px 6px;border-radius:6px;font-size:13px;word-break:break-all}
