@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-Thin-DdUiS1cj.woff2)format("woff2");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-ExtraLight-DNfybfsL.woff2)format("woff2");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-Light-Byrs-DlH.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-Regular-CtGL0YI-.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-Medium-D86t5Axy.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-SemiBold-26ZP1ILp.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-Bold-_OhAJEdh.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-ExtraBold-DCjt2qDm.woff2)format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn;src:url(/assets/Vazirmatn-Black-DA1YqYMq.woff2)format("woff2");font-weight:900;font-style:normal;font-display:swap}:root{--ink:#0f172a;--ink-soft:#475569;--muted:#94a3b8;--bg:#f6f7f9;--surface:#fff;--line:#e8eaee;--danger:#dc2626;--success:#16a34a;--radius-card:20px;--radius-pill:999px;--shadow-card:0 1px 2px #0f172a0a, 0 8px 24px #0f172a0f;--shadow-pop:0 12px 40px #0f172a24}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;min-height:100dvh;margin:0;font-family:Vazirmatn,system-ui,-apple-system,sans-serif}body:before{content:"";z-index:-1;background:radial-gradient(480px 320px at 8% 4%,#7d91eb24,#0000 70%),radial-gradient(520px 360px at 94% 90%,#f096781f,#0000 70%),radial-gradient(400px 300px at 90% 8%,#8cc8b41a,#0000 70%);position:fixed;inset:0}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:800}a{color:inherit}button,input{font-family:inherit}.page{max-width:1040px;padding:1.25rem 1rem calc(2rem + env(safe-area-inset-bottom));margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 0 1.5rem;display:flex}.brand{align-items:center;gap:.6rem;text-decoration:none;display:flex}.brand-mark{background:var(--ink);color:#fff;border-radius:12px;place-items:center;width:36px;height:36px;font-size:1rem;font-weight:800;display:grid}.brand-text strong{font-size:.95rem;line-height:1.2;display:block}.brand-text span{color:var(--muted);font-size:.7rem}.eyebrow{text-transform:uppercase;letter-spacing:.35em;color:var(--muted);text-align:center;font-size:.65rem;font-weight:600}.hero-title{text-align:center;margin:.4rem 0 1.5rem;font-size:clamp(1.5rem,4vw,2.2rem)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.chip{border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);cursor:pointer;align-items:center;gap:.35rem;padding:.45rem .95rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.chip:hover{border-color:var(--ink);color:var(--ink)}.chip.active{background:var(--ink);border-color:var(--ink);color:#fff}.btn{border-radius:var(--radius-pill);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.4rem;font-size:.9rem;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--ink);color:#fff}.btn-primary:not(:disabled):hover{box-shadow:var(--shadow-pop);background:#1e293b;transform:translateY(-1px)}.btn-ghost{border:1px solid var(--line);color:var(--ink);background:0 0}.btn-ghost:not(:disabled):hover{border-color:var(--ink)}.btn-danger{border:1px solid var(--line);color:var(--danger);background:0 0}.btn-danger:not(:disabled):hover{border-color:var(--danger);background:#dc26260d}.btn-block{width:100%}.field{color:var(--ink-soft);flex-direction:column;gap:.4rem;font-size:.82rem;font-weight:600;display:flex}.field input{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:14px;padding:.7rem 1rem;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.field input:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px #0f172a14}.field input::placeholder{color:var(--muted)}.checkbox-row{color:var(--ink-soft);cursor:pointer;align-items:center;gap:.5rem;font-size:.82rem;display:flex}.checkbox-row input{accent-color:var(--ink);width:16px;height:16px}.error{color:var(--danger);margin:0;font-size:.82rem}.success{color:var(--success);margin:0;font-size:.82rem}.muted{color:var(--muted);font-size:.85rem}.auth-page{place-items:center;min-height:100dvh;padding:1.5rem 1rem;display:grid}.auth-card{flex-direction:column;gap:1rem;width:100%;max-width:400px;padding:2rem 1.75rem;display:flex}.auth-head{text-align:center;margin-bottom:.5rem}.auth-head .brand-mark{border-radius:16px;width:48px;height:48px;margin:0 auto .9rem;font-size:1.3rem}.auth-head h1{font-size:1.35rem}.auth-head p{color:var(--muted);margin:.35rem 0 0;font-size:.85rem}.auth-form{flex-direction:column;gap:.9rem;display:flex}.auth-row{justify-content:space-between;align-items:center;font-size:.82rem;display:flex}.link{color:var(--ink);font-weight:600;text-decoration:none}.link:hover{text-decoration:underline}.divider{color:var(--muted);align-items:center;gap:.75rem;font-size:.75rem;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.auth-foot{text-align:center;color:var(--ink-soft);font-size:.82rem}.create-card{flex-wrap:wrap;gap:.6rem;margin-bottom:1.5rem;padding:1.1rem;display:flex}.create-card input{border:1px solid var(--line);border-radius:var(--radius-pill);flex:1;min-width:180px;padding:.65rem 1rem;font-size:.9rem}.create-card input:focus{border-color:var(--ink);outline:none}.qr-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.qr-card{flex-direction:column;gap:.7rem;padding:1.1rem;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex}.qr-card:hover{box-shadow:var(--shadow-pop);transform:translateY(-2px)}.qr-card-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.qr-card-head h3{font-size:1rem}.qr-thumb{border:1px solid var(--line);border-radius:14px;width:72px;height:72px}.qr-card-body{align-items:center;gap:.9rem;display:flex}.qr-url{color:var(--muted);text-align:left;text-overflow:ellipsis;white-space:nowrap;direction:ltr;max-width:100%;font-size:.78rem;overflow:hidden}.badge{border-radius:var(--radius-pill);padding:.2rem .6rem;font-size:.68rem;font-weight:700}.badge.on{color:var(--success);background:#16a34a1a}.badge.off{color:var(--muted);background:#94a3b826}.empty-state{text-align:center;color:var(--muted);padding:3rem 1rem}.detail-grid{grid-template-columns:320px 1fr;align-items:start;gap:1.25rem;margin-top:1.25rem;display:grid}.panel{flex-direction:column;gap:1rem;padding:1.4rem;display:flex}.panel h2{font-size:1.05rem}.qr-preview{border:1px solid var(--line);border-radius:16px;width:100%;max-width:256px;margin:0 auto}.short-url{text-align:center;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-pill);text-overflow:ellipsis;white-space:nowrap;direction:ltr;padding:.5rem 1rem;font-size:.82rem;overflow:hidden}.stat-row{flex-wrap:wrap;gap:.75rem;display:flex}.stat{background:var(--bg);text-align:center;border-radius:14px;flex:1;min-width:120px;padding:.9rem 1rem}.stat strong{font-size:1.4rem;display:block}.stat span{color:var(--muted);font-size:.72rem}table{border-collapse:collapse;width:100%;font-size:.85rem}th,td{text-align:right;border-bottom:1px solid var(--line);padding:.55rem .6rem}th{color:var(--muted);font-size:.72rem;font-weight:600}td.ltr{text-align:left;direction:ltr}.truncate{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.chart-title{color:var(--muted);margin-bottom:.5rem;font-size:.78rem;font-weight:600}.bar-chart{background:var(--bg);border-radius:12px;align-items:flex-end;gap:3px;height:90px;padding:.6rem;display:flex}.bar-chart .bar{background:var(--ink);opacity:.85;border-radius:3px 3px 0 0;flex:1;min-height:3px;transition:opacity .15s}.bar-chart .bar:hover{opacity:1}.bar-chart.hours .bar{background:#6478c8}.breakdown-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.25rem;display:grid}.breakdown-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.breakdown-list li{grid-template-columns:minmax(64px,auto) 1fr auto;align-items:center;gap:.6rem;font-size:.8rem;display:grid}.breakdown-name{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.breakdown-name.ltr{text-align:left;direction:ltr}.breakdown-track{background:var(--bg);border-radius:var(--radius-pill);height:8px;overflow:hidden}.breakdown-fill{background:var(--ink);border-radius:var(--radius-pill);height:100%;display:block}.breakdown-total{font-variant-numeric:tabular-nums;font-weight:700}.generator-layout{grid-template-columns:1fr 1fr;align-items:start;gap:1.25rem;max-width:880px;margin:0 auto;display:grid}.mode-switch{flex-wrap:wrap;gap:.5rem;display:flex}.generator-result{justify-content:center;min-height:320px}@media (width<=720px){.detail-grid,.generator-layout{grid-template-columns:1fr}.create-card{flex-direction:column}.create-card input{min-width:0}.btn{padding:.75rem 1.4rem}}
