@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";
:root{--tg-bg:var(--tg-theme-bg-color,#f8fafc);--tg-secondary-bg:var(--tg-theme-secondary-bg-color,#f1f5f9);--tg-text:var(--tg-theme-text-color,#0f172a);--tg-hint:var(--tg-theme-hint-color,#64748b);--tg-link:var(--tg-theme-link-color,#2481cc);--tg-button:var(--tg-theme-button-color,#2481cc);--tg-button-text:var(--tg-theme-button-text-color,#fff);--brand-primary:#2481cc;--brand-primary-hover:#1c72b8;--brand-primary-light:#eff6ff;--brand-accent:#0ea5e9;--brand-dark:#0f172a;--surface-card:#fff;--surface-subtle:#f8fafc;--surface-border:#e2e8f0;--surface-border-hover:#cbd5e1;--status-pending-bg:#fef3c7;--status-pending-text:#92400e;--status-pending-border:#fde68a;--status-review-bg:#e0f2fe;--status-review-text:#0369a1;--status-review-border:#bae6fd;--status-success-bg:#dcfce7;--status-success-text:#15803d;--status-success-border:#bbf7d0;--status-error-bg:#fee2e2;--status-error-text:#b91c1c;--status-error-border:#fecaca;--shadow-sm:0 1px 3px 0 #0000000f, 0 1px 2px -1px #0000000a;--shadow-md:0 4px 14px -2px #0f172a14, 0 2px 6px -2px #0f172a0a;--shadow-lg:0 10px 25px -3px #0f172a1a, 0 4px 10px -4px #0f172a0f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--font-main:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--action-color:#087db5;--admin-panel:#f6faff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--tg-bg:var(--tg-theme-bg-color,#0f172a);--tg-secondary-bg:var(--tg-theme-secondary-bg-color,#1e293b);--tg-text:var(--tg-theme-text-color,#f8fafc);--tg-hint:var(--tg-theme-hint-color,#94a3b8);--surface-card:#1e293b;--surface-subtle:#0f172a;--surface-border:#334155;--surface-border-hover:#475569;--brand-primary-light:#2481cc26}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background-color:var(--tg-bg);color:var(--tg-text);font-family:var(--font-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}.miniapp-shell{flex-direction:column;gap:20px;width:min(100%,540px);min-height:100vh;margin:0 auto;padding:16px 16px 40px;display:flex}.miniapp-topbar{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.miniapp-brand{align-items:center;gap:12px;display:flex}.miniapp-mark{color:#fff;letter-spacing:.5px;background:linear-gradient(135deg,#2481cc 0%,#0ea5e9 100%);border-radius:12px;justify-content:center;align-items:center;width:38px;height:38px;font-size:13px;font-weight:800;display:flex;box-shadow:0 4px 10px #2481cc4d}.miniapp-brand-text{flex-direction:column;display:flex}.miniapp-title{color:var(--tg-text);font-size:16px;font-weight:700;line-height:1.2}.miniapp-subtitle{color:#10b981;align-items:center;gap:5px;font-size:12px;font-weight:600;display:flex}.miniapp-subtitle:before{content:"";background-color:#10b981;border-radius:50%;width:6px;height:6px;display:inline-block;box-shadow:0 0 0 2px #10b98133}.miniapp-tabs{background:var(--surface-subtle);border:1px solid var(--surface-border);border-radius:var(--radius-lg);grid-template-columns:1fr 1fr;gap:6px;padding:4px;display:grid}.miniapp-tab{border-radius:var(--radius-md);color:var(--tg-hint);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.miniapp-tab.active{background:var(--surface-card);color:var(--tg-text);box-shadow:var(--shadow-sm)}.miniapp-tab-badge{background:var(--brand-primary);color:#fff;border-radius:var(--radius-full);justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.miniapp-section-header{margin-bottom:12px}.miniapp-section-header h1,.miniapp-section-header h2{color:var(--tg-text);letter-spacing:-.3px;margin:0 0 4px;font-size:19px;font-weight:700}.miniapp-section-header p{color:var(--tg-hint);font-size:13px}.features-pills{scrollbar-width:none;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.features-pills::-webkit-scrollbar{display:none}.feature-pill{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-full);color:var(--tg-hint);white-space:nowrap;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;display:flex}.product-showcase{flex-direction:column;align-items:center;margin-bottom:18px;display:flex}.product-showcase-poster{aspect-ratio:2/3;border:2px solid var(--surface-border);background:var(--surface-card);border-radius:20px;width:100%;max-width:260px;transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;box-shadow:0 12px 30px -5px #2481cc40,0 4px 12px #00000014}.product-showcase-poster img{object-fit:cover;width:100%;height:100%;display:block}.product-list{flex-direction:column;gap:10px;display:flex}.product-card{background:var(--surface-card);border:1.5px solid var(--surface-border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;width:100%;box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.product-card:hover{border-color:var(--surface-border-hover);transform:translateY(-1px)}.product-card.selected{border-color:var(--brand-primary);background:var(--brand-primary-light);box-shadow:0 0 0 1px var(--brand-primary), var(--shadow-md)}.product-row-content{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.product-thumbnail{object-fit:cover;border:1px solid var(--surface-border);width:48px;height:68px;box-shadow:var(--shadow-sm);border-radius:8px;flex-shrink:0}.product-card-info{flex-direction:column;gap:3px;min-width:0;display:flex}.product-card-badge-row{align-items:center;gap:6px;display:flex}.product-badge{border-radius:var(--radius-full);background:var(--surface-subtle);border:1px solid var(--surface-border);color:var(--tg-hint);padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.product-badge.popular{color:#9a3412;background:linear-gradient(135deg,#fef3c7 0%,#fed7aa 100%);border-color:#fde68a}.product-title{color:var(--tg-text);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.product-duration{color:var(--tg-hint);font-size:12px;font-weight:500}.product-card-pricing{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.product-price{color:var(--brand-primary);letter-spacing:-.2px;font-size:18px;font-weight:800}.product-radio-indicator{border:2px solid var(--surface-border);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s;display:flex}.product-card.selected .product-radio-indicator{border-color:var(--brand-primary);background:var(--brand-primary)}.product-card.selected .product-radio-indicator:after{content:"";background:#fff;border-radius:50%;width:8px;height:8px}.primary-action{border-radius:var(--radius-lg);color:#fff;cursor:pointer;background:linear-gradient(135deg,#2481cc 0%,#1c72b8 100%);border:0;justify-content:center;align-items:center;gap:8px;width:100%;min-height:52px;padding:14px 24px;font-size:16px;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 4px 14px #2481cc59}.primary-action:hover:not(:disabled){opacity:.95;transform:translateY(-1px);box-shadow:0 6px 18px #2481cc73}.primary-action:active:not(:disabled){transform:translateY(1px);box-shadow:0 2px 8px #2481cc4d}.primary-action:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.payment-flow-card{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);flex-direction:column;gap:16px;padding:20px;display:flex}.payment-flow-header{border-bottom:1px solid var(--surface-border);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.payment-flow-header h2{color:var(--tg-text);font-size:17px;font-weight:700}.payment-amount-pill{color:var(--brand-primary);background:var(--brand-primary-light);border-radius:var(--radius-full);padding:4px 12px;font-size:16px;font-weight:800}.requisites-box{background:var(--surface-subtle);border:1px solid var(--surface-border);border-radius:var(--radius-md);flex-direction:column;gap:10px;padding:14px;display:flex}.requisite-item{justify-content:space-between;align-items:center;gap:8px;display:flex}.requisite-label{color:var(--tg-hint);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.requisite-val-group{align-items:center;gap:8px;display:flex}.requisite-value{color:var(--tg-text);-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;font-size:14px;font-weight:700}.copy-btn{border-radius:var(--radius-sm);border:1px solid var(--surface-border);background:var(--surface-card);color:var(--brand-primary);cursor:pointer;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.copy-btn:hover{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.copy-btn.copied{color:#fff;background:#10b981;border-color:#10b981}.upload-dropzone{border:2px dashed var(--surface-border);border-radius:var(--radius-lg);text-align:center;background:var(--surface-subtle);cursor:pointer;flex-direction:column;align-items:center;gap:8px;padding:20px 16px;transition:all .2s;display:flex;position:relative}.upload-dropzone:hover{border-color:var(--brand-primary);background:var(--brand-primary-light)}.upload-dropzone input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.upload-icon{font-size:28px}.upload-main-text{color:var(--tg-text);font-size:14px;font-weight:700}.upload-hint{color:var(--tg-hint);font-size:12px}.selected-file-preview{background:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid #10b981;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.file-info{align-items:center;gap:10px;display:flex;overflow:hidden}.file-icon{font-size:20px}.file-name{color:var(--tg-text);white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:13px;font-weight:600;overflow:hidden}.file-size{color:var(--tg-hint);font-size:11px}.file-remove-btn{color:#ef4444;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:2px 6px;font-size:18px}.file-remove-btn:hover{background:#fee2e2}.order-list{flex-direction:column;gap:12px;list-style:none;display:flex}.order-card{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:16px;transition:all .2s;display:flex}.order-card:hover{border-color:var(--surface-border-hover);box-shadow:var(--shadow-md)}.order-card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.order-product-name{color:var(--tg-text);font-size:15px;font-weight:700}.order-amount{color:var(--tg-hint);margin-top:2px;font-size:13px}.order-status-badge{border-radius:var(--radius-full);white-space:nowrap;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.order-status-badge.AWAITING_PAYMENT{background:var(--status-pending-bg);color:var(--status-pending-text);border:1px solid var(--status-pending-border)}.order-status-badge.PAYMENT_SUBMITTED{background:var(--status-review-bg);color:var(--status-review-text);border:1px solid var(--status-review-border)}.order-status-badge.PAYMENT_CONFIRMED,.order-status-badge.FULFILLED{background:var(--status-success-bg);color:var(--status-success-text);border:1px solid var(--status-success-border)}.order-status-badge.PAYMENT_REJECTED{background:var(--status-error-bg);color:var(--status-error-text);border:1px solid var(--status-error-border)}.order-card-actions{border-top:1px solid var(--surface-border);gap:8px;padding-top:8px;display:flex}.order-action-btn{border-radius:var(--radius-md);border:1px solid var(--brand-primary);background:var(--brand-primary-light);color:var(--brand-primary);cursor:pointer;text-align:center;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:700;text-decoration:none;transition:all .15s;display:flex}.order-action-btn:hover{background:var(--brand-primary);color:#fff}.order-voucher-btn{border-radius:var(--radius-md);color:#fff;cursor:pointer;text-align:center;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:700;text-decoration:none;display:flex;box-shadow:0 4px 12px #10b9814d}.order-voucher-btn:hover{opacity:.95}.miniapp-notice{border-radius:var(--radius-md);color:#991b1b;background:#fef2f2;border:1px solid #fee2e2;border-left:4px solid #ef4444;align-items:center;gap:8px;padding:14px 16px;font-size:13px;font-weight:600;display:flex}.miniapp-notice.success{color:#065f46;background:#ecfdf5;border-color:#d1fae5 #d1fae5 #d1fae5 #10b981}.miniapp-state{text-align:center;background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-xl);color:var(--tg-hint);padding:32px 16px;font-size:14px}.miniapp-muted{color:var(--tg-hint);font-size:12px;line-height:1.4}.skeleton-box{border-radius:var(--radius-lg);background:linear-gradient(90deg, var(--surface-subtle) 25%, var(--surface-border) 50%, var(--surface-subtle) 75%);background-size:200% 100%;height:64px;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.admin-login{background:var(--admin-panel);place-items:center;min-height:100vh;padding:24px;display:grid}.admin-login form{background:#fff;border:1px solid #d4e1e9;border-radius:16px;gap:16px;width:100%;max-width:440px;padding:28px;display:grid;box-shadow:0 10px 30px #0b1f3a14}.admin-login label{color:#0f172a;gap:6px;font-weight:600;display:grid}.admin-login input,.admin-login button,.admin-shell input,.admin-shell select,.admin-shell button{border-radius:8px;min-height:44px}.admin-login input,.admin-shell input,.admin-shell select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;width:100%;padding:8px 12px}.admin-login button,.admin-shell button{background:var(--action-color);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:10px 16px;font-weight:700}.admin-shell{background:var(--admin-panel);color:#0f172a;grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.admin-shell nav{background:#0f172a;align-content:start;gap:4px;padding:24px 16px;display:grid}.admin-shell nav a{color:#94a3b8;border-radius:8px;padding:10px 14px;font-weight:600;text-decoration:none;transition:all .15s}.admin-shell nav a:hover,.admin-shell nav a:focus-visible{color:#fff;background:#1e293b}.admin-shell>section{color:#0f172a;min-width:0;padding:36px;overflow-x:auto}.admin-shell h1,.admin-shell h2,.admin-shell h3{color:#0f172a;letter-spacing:-.02em;margin:0 0 18px;font-weight:800}.admin-shell p{color:#334155;margin:0 0 16px;font-size:14px;line-height:1.6}.admin-shell a{color:var(--action-color);font-weight:600;text-decoration:none}.admin-shell a:hover{text-decoration:underline}.admin-shell form{color:#0f172a;flex-wrap:wrap;align-items:end;gap:12px;margin:0 0 24px;display:flex}.admin-shell form label{color:#0f172a;gap:6px;font-size:14px;font-weight:600;display:grid}.admin-shell dl{background:#fff;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:160px minmax(0,1fr);gap:12px 16px;margin:20px 0 24px;padding:24px;display:grid;box-shadow:0 1px 3px #0000000d}.admin-shell dt{color:#64748b;font-size:14px;font-weight:600}.admin-shell dd{color:#0f172a;margin:0;font-size:14px;font-weight:600}.admin-shell table{border-collapse:collapse;color:#0f172a;background:#fff;border-radius:12px;width:100%;overflow:hidden;box-shadow:0 1px 3px #0000000d}.admin-shell th,.admin-shell td{text-align:left;vertical-align:top;border-bottom:1px solid #e2e8f0;padding:14px 16px}.admin-shell td{color:#0f172a;font-size:14px}.admin-shell td a{color:var(--action-color);font-weight:600;text-decoration:underline}.admin-shell th{color:#475569;text-transform:uppercase;background:#f8fafc;font-size:13px;font-weight:700}.admin-counters{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:24px;display:grid}.admin-counters div{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px;box-shadow:0 1px 3px #0000000d}.admin-counters dt{color:#64748b;font-size:13px;font-weight:600}.admin-counters dd{color:#0f172a;margin:8px 0 0;font-size:32px;font-weight:800}@media (max-width:720px){.admin-shell{grid-template-columns:1fr}.admin-shell nav{grid-template-columns:repeat(3,1fr);padding:12px}.admin-shell>section{padding:20px}.admin-shell dl{grid-template-columns:1fr;gap:6px}.admin-shell th,.admin-shell td{padding:10px}}
