@font-face{font-family:Vazirmatn;src:url('/static/fonts/Vazirmatn-Regular.ttf')}@font-face{font-family:Vazirmatn;src:url('/static/fonts/Vazirmatn-Bold.ttf');font-weight:700}@font-face{font-family:Vazirmatn;src:url('/static/fonts/Vazirmatn-ExtraBold.ttf');font-weight:900}:root{--p:#6c3ff2;--pd:#4f25cf;--bg:#f7f5fb;--card:#fff;--text:#252234;--muted:#7b7687;--line:#ebe7f2;--ok:#259b67;--shadow:0 14px 36px rgba(63,43,104,.11)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;font-family:Vazirmatn,Tahoma,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}button,input,select{font:inherit}.app-shell{width:min(100%,480px);min-height:100vh;margin:auto;padding:14px 15px 40px;background:radial-gradient(circle at top right,rgba(108,63,242,.12),transparent 32%),var(--bg)}.topbar{height:62px;display:flex;align-items:center;justify-content:space-between}.public-topbar{justify-content:center}.brand{display:flex;align-items:center;gap:10px}.brand.compact{justify-content:center}.brand b,.brand small{display:block}.brand b{font-size:17px}.brand small{font-size:10px;color:var(--muted)}.logo{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--p),#996bff);color:white;font-weight:900;box-shadow:0 8px 20px rgba(108,63,242,.25)}.back{padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:11px}.hero{padding:28px 4px 18px;text-align:center}.hero span{display:inline-block;padding:7px 12px;border-radius:999px;background:#eee8ff;color:var(--pd);font-size:11px;font-weight:700}.hero h1{font-size:28px;margin:14px 0 8px;line-height:1.5}.hero p{font-size:12px;color:var(--muted);margin:0}.category-section{margin-top:24px}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:12px}.section-head h2{font-size:19px;margin:0 0 3px}.section-head p{font-size:10px;color:var(--muted);margin:0}.section-head a{font-size:11px;color:var(--p);font-weight:700}.template-row{display:grid;grid-auto-flow:column;grid-auto-columns:44%;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:5px}.template-row::-webkit-scrollbar{display:none}.template-card{display:block;border-radius:21px;background:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(60,40,90,.08);scroll-snap-align:start;border:1px solid rgba(255,255,255,.8)}.card-media{position:relative;aspect-ratio:1/1;overflow:hidden}.card-media img{width:100%;height:100%;object-fit:cover;display:block}.type-pill,.featured-pill,.preview-label{position:absolute;top:10px;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:700}.type-pill{right:10px;background:rgba(255,255,255,.9)}.featured-pill{left:10px;background:var(--p);color:white}.card-body{padding:9px}.card-body h3{font-size:12px;margin:0 0 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta{display:flex;flex-direction:column;align-items:flex-start;gap:3px;font-size:8px;color:var(--muted)}.meta b{font-size:10px;color:var(--pd)}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding-top:18px}.category-grid .card-media{aspect-ratio:1/1}.category-grid .card-body h3{font-size:13px}.detail-page{padding-bottom:50px}.preview-box{position:relative;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);background:#ddd}.preview-box img,.preview-box video{width:100%;max-height:420px;display:block;object-fit:cover}.preview-label{right:12px;background:rgba(0,0,0,.55);color:#fff}.detail-card,.upload-card,.result-panel{margin-top:15px;padding:17px;border-radius:21px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(60,40,90,.06)}.detail-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.detail-head h1{font-size:21px;margin:0 0 7px}.detail-head p{font-size:11px;line-height:1.9;color:var(--muted);margin:0}.type-badge{white-space:nowrap;padding:6px 9px;border-radius:999px;background:#eee8ff;color:var(--pd);font-size:9px}.facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.facts div{padding:12px;border-radius:14px;background:#f7f5fb}.facts small,.facts b{display:block}.facts small{font-size:9px;color:var(--muted);margin-bottom:4px}.facts b{font-size:12px}.upload-card h2{font-size:17px;margin:0 0 5px}.upload-card>p{font-size:10px;color:var(--muted);margin:0 0 13px}.upload-preview{height:240px;border:2px dashed #ddd5ef;border-radius:17px;background:#faf9fd;display:grid;place-items:center;overflow:hidden}.upload-preview #placeholder{font-size:42px;text-align:center}.upload-preview #placeholder span{display:block;font-size:11px;color:var(--muted);margin-top:7px}.upload-preview img{width:100%;height:100%;object-fit:cover}.primary-btn,.secondary-btn{display:block;width:100%;border:0;border-radius:15px;padding:14px;text-align:center;margin-top:10px;font-weight:800}.primary-btn{background:linear-gradient(135deg,var(--p),#8f5cff);color:white}.primary-btn:disabled{opacity:.45}.secondary-btn{background:#272432;color:white}.result-panel{text-align:center}.loader{width:38px;height:38px;margin:0 auto 12px;border:4px solid #eee8ff;border-top-color:var(--p);border-radius:50%;animation:spin .8s linear infinite}.result-panel h2{font-size:18px;margin:0 0 5px}.result-panel p{font-size:11px;color:var(--muted)}#resultMedia img,#resultMedia video{width:100%;border-radius:16px;margin-top:12px}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;right:16px;left:16px;bottom:20px;max-width:448px;margin:auto;padding:12px;background:#252234;color:#fff;text-align:center;border-radius:13px;font-size:11px;opacity:0;transform:translateY(15px);transition:.25s;pointer-events:none}.toast.show{opacity:1;transform:none}@media(min-width:700px){.app-shell{border-left:1px solid var(--line);border-right:1px solid var(--line)}}

/* Public mini-app navigation and account pages */
.with-bottom-nav{padding-bottom:92px}.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:50;display:grid;grid-template-columns:repeat(3,1fr);width:min(100%,480px);margin:auto;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,255,255,.96);box-shadow:0 -8px 24px rgba(50,35,80,.08);backdrop-filter:blur(12px)}.bottom-nav-item{display:flex;min-height:52px;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);border-radius:14px}.bottom-nav-item span{font-size:20px;line-height:1}.bottom-nav-item small{font-size:9px}.bottom-nav-item.active{color:var(--p);background:#f2edff;font-weight:700}.orders-page{padding-top:16px}.page-loader,.error-card{padding:22px;text-align:center;color:var(--muted);font-size:12px;border:1px solid var(--line);border-radius:18px;background:#fff}.orders-list{display:flex;flex-direction:column;gap:11px}.order-card{display:grid;grid-template-columns:74px 1fr;gap:12px;padding:11px;border:1px solid var(--line);border-radius:19px;background:#fff;box-shadow:0 7px 20px rgba(60,40,90,.06)}.order-thumb{width:74px;height:74px;overflow:hidden;display:grid;place-items:center;border-radius:15px;background:#eee8ff;font-size:25px}.order-thumb img{width:100%;height:100%;object-fit:cover}.order-content{min-width:0}.order-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.order-head h2{margin:0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-status{flex:0 0 auto;padding:4px 7px;border-radius:999px;font-size:8px;background:#eee;color:#666}.order-status.pending{background:#fff1d8;color:#9b6514}.order-status.processing{background:#eee8ff;color:var(--pd)}.order-status.completed{background:#e6f7ef;color:var(--ok)}.order-status.failed{background:#ffe8e8;color:#b63838}.order-content>p{margin:5px 0;color:var(--muted);font-size:9px}.order-meta{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:var(--muted)}.order-meta b{color:var(--pd);font-size:10px}.order-result-link{display:inline-block;margin-top:7px;color:var(--p);font-size:10px;font-weight:700}.empty-state{padding:34px 18px;text-align:center;border:1px solid var(--line);border-radius:22px;background:#fff}.empty-state>span{font-size:43px}.empty-state h2{margin:10px 0 4px;font-size:18px}.empty-state p{margin:0 0 14px;color:var(--muted);font-size:11px}.profile-card{margin-top:24px;padding:28px 20px;text-align:center;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}.profile-avatar{width:88px;height:88px;display:grid;place-items:center;margin:0 auto 15px;overflow:hidden;border-radius:29px;background:linear-gradient(135deg,var(--p),#9b6cff);color:#fff;font-size:34px;font-weight:900}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-card h1{margin:0 0 5px;font-size:21px}.profile-card>p{margin:0;color:var(--muted);font-size:11px}.profile-note{margin-top:20px;padding:13px;border-radius:15px;background:#f7f5fb;color:var(--muted);font-size:10px;line-height:1.8}

/* Wallet */
.bottom-nav{grid-template-columns:repeat(4,1fr)}
.wallet-balance-card{margin-top:20px;padding:25px 20px;text-align:center;border-radius:24px;color:#fff;background:linear-gradient(135deg,var(--p),#8f5cff);box-shadow:0 14px 30px rgba(108,63,242,.25)}
.wallet-balance-card small,.wallet-balance-card strong,.wallet-balance-card span{display:block}.wallet-balance-card small{font-size:10px;opacity:.8}.wallet-balance-card strong{margin-top:8px;font-size:34px;line-height:1.2}.wallet-balance-card span{font-size:11px}.wallet-balance-card p{margin:15px 0 0;padding-top:12px;border-top:1px solid rgba(255,255,255,.18);font-size:9px;line-height:1.8;opacity:.78}
.wallet-transactions-section{padding-top:22px}.wallet-transactions{display:flex;flex-direction:column;gap:10px}.wallet-transaction{display:grid;grid-template-columns:42px 1fr;gap:10px;padding:13px;border:1px solid var(--line);border-radius:18px;background:#fff}.transaction-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;font-size:20px;font-weight:900}.transaction-icon.positive{color:var(--ok);background:#e6f7ef}.transaction-icon.negative{color:#b63838;background:#ffe8e8}.transaction-body>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.transaction-body strong{font-size:11px}.transaction-body b{font-size:10px;white-space:nowrap}.transaction-body p{margin:5px 0;color:var(--muted);font-size:9px}.transaction-body small{color:var(--muted);font-size:8px}.positive-text{color:var(--ok)}.negative-text{color:#b63838}
.insufficient-balance-note{margin-top:10px;padding:11px;border-radius:14px;background:#fff1d8;color:#8d601c;font-size:10px;line-height:1.8}
.template-wallet-row{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding:11px 12px;border-radius:14px;background:#f7f5fb}.template-wallet-row span{font-size:9px;color:var(--muted)}.template-wallet-row b{font-size:11px;color:var(--pd)}
.profile-wallet-link{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding:14px;border-radius:16px;background:#f2edff;color:var(--pd)}.profile-wallet-link span{font-size:10px}.profile-wallet-link b{font-size:12px}

/* Wallet recharge */
.wallet-charge-card{margin-top:14px;padding:17px;border:1px solid var(--line);border-radius:21px;background:#fff;box-shadow:0 8px 24px rgba(60,40,90,.06)}
.wallet-charge-card .section-head{margin-bottom:13px}.charge-presets{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.charge-presets button{padding:12px 8px;border:1px solid var(--line);border-radius:14px;background:#f8f6fc;color:var(--text);font-size:11px;font-weight:700}.charge-presets button.selected{border-color:var(--p);background:#eee8ff;color:var(--pd)}
.charge-custom-label{display:block;margin-top:14px;color:var(--muted);font-size:10px}.charge-custom-row{display:grid;grid-template-columns:1fr;gap:8px;margin-top:7px}.charge-custom-row input{width:100%;padding:13px;border:1px solid var(--line);border-radius:14px;background:#faf9fd;direction:ltr;text-align:right;font-family:inherit}.charge-button{margin:0}.charge-help{margin:8px 0 0;color:var(--muted);font-size:9px;line-height:1.8}.payment-progress{margin-top:13px;padding:16px;text-align:center;border-radius:16px;background:#f7f5fb}.payment-progress .loader{width:30px;height:30px;margin-bottom:8px}.payment-progress strong,.payment-progress span{display:block}.payment-progress strong{font-size:12px}.payment-progress span{margin-top:5px;color:var(--muted);font-size:9px}
