@font-face{font-family:Inter;src:url('/static/Inter-Regular.otf') format('opentype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('/static/Inter-SemiBold.otf') format('opentype');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Inter;src:url('/static/Inter-Bold.otf') format('opentype');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:Inter;src:url('/static/Inter-ExtraBold.otf') format('opentype');font-style:normal;font-weight:800;font-display:swap}
:root{font-family:Inter,sans-serif;color-scheme:light;--bg:#EDF4F8;--card:#fff;--text:#173A53;--secondary:#49677B;--muted:#6F899A;--accent:#1F6696;--accent-soft:#7EACC7;--border:#C9DAE4;--hover:#E5EFF5;--field:#fff;--danger:#A34448;--ok:#28735A}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#132F40;--card:#203F53;--field:#23465D;--text:#E0E9EF;--secondary:#AEC1CE;--muted:#87A5B7;--accent:#A7D9F6;--accent-soft:#9BD8F8;--border:#35586C;--hover:#2B5066;--danger:#FFB4B7;--ok:#9BE0BE}}
:root[data-theme=dark]{color-scheme:dark;--bg:#132F40;--card:#203F53;--field:#23465D;--text:#E0E9EF;--secondary:#AEC1CE;--muted:#87A5B7;--accent:#A7D9F6;--accent-soft:#9BD8F8;--border:#35586C;--hover:#2B5066;--danger:#FFB4B7;--ok:#9BE0BE}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--accent)}:focus-visible{outline:3px solid var(--accent-soft);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.8rem,4vw,2.5rem);letter-spacing:-.04em;line-height:1.12}h2{font-size:1.3rem;letter-spacing:-.02em}h3{font-size:1rem}p{color:var(--secondary);line-height:1.55}.small{font-size:.85rem;color:var(--muted)}.muted{color:var(--muted)}.eyebrow{font-size:.75rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.brand{display:flex;align-items:center;gap:.7rem;font-weight:800;font-size:1.35rem;color:var(--text);text-decoration:none;letter-spacing:-.035em}.brand img{width:42px;height:42px;object-fit:contain}.shell{max-width:1200px;margin:auto;padding:28px clamp(18px,4vw,46px) 70px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:32px}.topbar .right{display:flex;gap:.65rem;align-items:center}.nav{display:flex;gap:.35rem;overflow:auto;border-bottom:1px solid var(--border);margin-bottom:28px}.nav button{border:0;background:none;color:var(--secondary);padding:13px 16px;white-space:nowrap;font-weight:650;border-bottom:3px solid transparent}.nav button.active{color:var(--accent);border-color:var(--accent)}.nav button:hover{background:var(--hover)}.hero{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:26px}.hero p{margin:8px 0 0}.actions{display:flex;gap:.6rem;flex-wrap:wrap}.btn{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:10px;padding:11px 16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;text-decoration:none;min-height:44px}.btn:hover{background:var(--hover)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--card)}:root[data-theme=dark] .btn.primary{color:#132F40}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .btn.primary{color:#132F40}}.btn.danger{color:var(--danger)}.btn.ghost{border-color:transparent;background:transparent}.btn.small-btn{padding:7px 10px;min-height:36px;font-size:.85rem}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{background:var(--card);border:1px solid var(--border);border-radius:17px;padding:23px;box-shadow:0 8px 24px rgba(20,63,83,.025)}.card h2,.card h3{margin-bottom:12px}.stat{font-size:2rem;font-weight:800;letter-spacing:-.04em;margin:9px 0}.stack{display:grid;gap:16px}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:28px 0 14px}.section-head h2{margin:0}.list{display:grid;gap:10px}.row{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--card);border:1px solid var(--border);border-radius:13px;padding:16px 18px}.row h3{margin:0 0 4px}.row p{margin:0}.row-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.badge{display:inline-block;font-size:.75rem;font-weight:750;border-radius:6px;padding:4px 7px;color:var(--accent);background:var(--hover);text-transform:capitalize}.badge.active{color:var(--ok)}.badge.disabled,.badge.expired,.badge.limit{color:var(--danger)}.empty{padding:42px;text-align:center;background:var(--card);border:1px dashed var(--border);border-radius:16px}.empty h3{margin-bottom:6px}.empty p{margin-bottom:0}.field{display:grid;gap:7px;margin-bottom:17px}.field label,.field>span{font-weight:700;font-size:.9rem}.field small{color:var(--muted)}input,textarea,select{min-height:44px;border:1px solid var(--border);border-radius:9px;padding:10px 12px;color:var(--text);background:var(--field);width:100%}textarea{min-height:100px;resize:vertical}.check{display:flex;align-items:center;gap:10px;margin:15px 0;color:var(--secondary)}.check input{width:18px;height:18px;min-height:18px}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}.drop{border:2px dashed var(--accent-soft);border-radius:14px;padding:30px;text-align:center;background:var(--hover);cursor:pointer}.drop.drag{background:var(--card);border-color:var(--accent)}.drop input{width:auto;max-width:100%;border:0;background:none}.upload-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}progress{width:100%;height:9px;accent-color:var(--accent)}.dialog-back{position:fixed;inset:0;background:rgba(6,25,38,.55);display:grid;place-items:center;padding:14px;z-index:10}.dialog{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:26px;width:min(680px,100%);max-height:92vh;overflow:auto;box-shadow:0 24px 70px rgba(0,0,0,.2)}.dialog header{display:flex;justify-content:space-between;align-items:start;gap:1rem;margin-bottom:20px}.dialog header h2{margin:0}.dialog footer{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.single{min-height:100vh;display:grid;place-items:center;padding:20px}.single main{width:min(680px,100%)}.single .brand{justify-content:center;margin-bottom:26px}.public-card{padding:clamp(22px,5vw,42px)}.public-card h1{margin:6px 0 12px}.public-footer{text-align:center;margin-top:25px;color:var(--muted);font-size:.85rem}.file-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--border);padding:13px 0}.file-item:first-child{border-top:0}.file-name{overflow-wrap:anywhere;font-weight:700}.url-box{display:flex;gap:8px;align-items:center;margin:15px 0}.url-box input{font-size:.87rem}.browse{max-height:280px;overflow:auto;border:1px solid var(--border);border-radius:10px}.browse .row{border:0;border-bottom:1px solid var(--border);border-radius:0;padding:10px}.browse .row:last-child{border:0}#toast{position:fixed;bottom:24px;right:24px;z-index:30;background:var(--text);color:var(--card);border-radius:10px;padding:13px 18px;max-width:min(420px,calc(100vw - 40px));display:none}#toast.show{display:block}.mono{font-family:Inter,sans-serif;font-size:.85rem}.timeline{border-left:2px solid var(--border);margin-left:6px;padding-left:20px}.timeline div{padding:0 0 18px}.timeline strong{display:block}.qr{display:block;width:min(300px,100%);margin:20px auto;border-radius:8px}.steps{display:flex;gap:10px;margin:20px 0}.steps span{height:6px;background:var(--border);flex:1;border-radius:5px}.steps span.on{background:var(--accent)}@media(max-width:800px){.grid,.two{grid-template-columns:1fr}.hero{align-items:start;flex-direction:column}.row{align-items:start;flex-direction:column}.row-actions{justify-content:flex-start}.topbar{align-items:start}.shell{padding-top:18px}.nav button{padding:12px}.card{padding:18px}}@media(max-width:480px){.topbar .right .small{display:none}.actions,.form-actions{width:100%}.actions .btn{flex:1}.public-card .btn.primary{width:100%}.dialog{padding:20px}.url-box{flex-direction:column}.url-box .btn{width:100%}}@media(prefers-reduced-motion:no-preference){.btn,.card{transition:background .15s,border-color .15s,transform .15s}.btn:active{transform:scale(.98)}}
