*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5;color:#333}.container{max-width:480px;margin:0 auto;padding:20px;background:#fff;min-height:100vh}.header{text-align:center;margin-bottom:24px}.header h1{font-size:22px;margin-bottom:6px}.header p{color:#666;font-size:14px}.step{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #eee}.step h2{font-size:16px;margin-bottom:12px}.step-num{display:inline-block;width:24px;height:24px;background:#333;color:#fff;border-radius:50%;text-align:center;line-height:24px;font-size:13px;margin-right:8px}.upload-zone{border:2px dashed #90cdf4;border-radius:12px;padding:32px;text-align:center;cursor:pointer;transition:background .2s}.upload-zone:hover,.upload-zone.drag-over{background:#ebf8ff}.upload-icon{font-size:40px;margin-bottom:8px}.upload-formats,.upload-limit{color:#3182ce;font-size:13px}.video-preview,.media-preview{width:100%;max-height:300px;object-fit:contain;border-radius:8px;background:#000}.trim-controls{margin-top:16px}.range-group{margin-bottom:12px}.range-group label{font-size:13px;color:#555}.range-group input[type=range]{width:100%}.clip-info{font-size:13px;color:#555;margin-bottom:12px}.trim-actions{display:flex;gap:10px}.progress-bar{width:100%;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin:12px 0}.progress-fill{height:100%;background:#3182ce;transition:width .2s}label{display:block;font-size:14px;color:#555;margin-bottom:4px;margin-top:10px}input[type=text],input[type=email],input[type=number],input[type=date],select{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:15px}.price-input{display:flex;align-items:center}.currency{font-size:18px;margin-right:8px}.price-input input{flex:1}.radio-group{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.radio-label{font-size:14px;cursor:pointer}.radio-label input{margin-right:6px}.duration-display{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:12px}.duration-value,.duration-price{font-size:28px;font-weight:700;text-align:center}.duration-equals{font-size:24px}.range-hint{font-size:12px;color:#888;text-align:center}.optional{font-weight:400;color:#999;font-size:13px}.preview-container{margin-bottom:10px}.btn-primary,.btn-submit{width:100%;padding:14px;background:#38a169;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer}.btn-primary:hover,.btn-submit:hover{background:#2f855a}.btn-primary:disabled,.btn-submit:disabled{background:#a0aec0;cursor:not-allowed}.btn-secondary,.btn-cancel{width:100%;padding:14px;background:#fff;color:#333;border:2px solid #ddd;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;margin-top:8px}.form-actions{margin-top:20px}.error{color:#e53e3e;font-size:13px;margin-top:6px}.success-message{text-align:center;padding:40px 20px}.success-message h2{color:#38a169;margin-bottom:10px}.app-nav{display:flex;gap:8px;margin-top:12px}.nav-btn{flex:1;padding:10px 16px;border:2px solid #e53935;border-radius:6px;background:#fff;color:#e53935;font-size:14px;font-weight:600;cursor:pointer}.nav-btn.active{background:#e53935;color:#fff}.my-ads h2{margin-bottom:16px;font-size:18px}.ads-list{display:flex;flex-direction:column;gap:12px}.ad-card{background:#fff;border-radius:8px;padding:16px;box-shadow:0 1px 4px #0000001a}.ad-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ad-card-header h3{font-size:15px;font-weight:600}.status-badge{font-size:11px;font-weight:700;padding:3px 8px;border-radius:4px;text-transform:uppercase}.status-active{background:#e8f5e9;color:#2e7d32}.status-pending{background:#fff3e0;color:#e65100}.status-processing{background:#e3f2fd;color:#1565c0}.status-expired{background:#fafafa;color:#999}.status-rejected{background:#fbe9e7;color:#c62828}.ad-card-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.stat{text-align:center}.stat-value{display:block;font-size:18px;font-weight:700;color:#333}.stat-label{font-size:11px;color:#999}.ad-card-details{display:flex;gap:12px;font-size:12px;color:#666;flex-wrap:wrap}.loading,.empty{text-align:center;padding:40px 20px;color:#999}.ad-card.clickable{cursor:pointer;transition:box-shadow .2s}.ad-card.clickable:hover{box-shadow:0 2px 8px #00000026}.ad-analytics h2{margin:8px 0 4px;font-size:18px}.back-btn{background:none;border:none;color:#e53935;font-size:14px;cursor:pointer;padding:4px 0;font-weight:600}.period-selector{display:flex;gap:8px;margin:16px 0}.period-selector button{padding:6px 14px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;font-size:13px}.period-selector button.active{background:#e53935;color:#fff;border-color:#e53935}.metric-card{background:#fff;border-radius:8px;padding:16px;margin-bottom:12px;box-shadow:0 1px 4px #0000001a}.metric-card h3{font-size:14px;color:#666;margin-bottom:12px}.completion-rate{text-align:center}.rate-value{font-size:36px;font-weight:700;color:#e53935}.rate-label{display:block;font-size:12px;color:#999;margin-top:4px}.funnel-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.funnel-label{width:80px;font-size:12px;color:#666}.funnel-bar-bg{flex:1;height:20px;background:#f0f0f0;border-radius:4px;overflow:hidden}.funnel-bar-fill{height:100%;background:#e53935;border-radius:4px;transition:width .3s}.funnel-value{width:40px;text-align:right;font-size:13px;font-weight:600}.daily-chart{display:flex;align-items:flex-end;gap:4px;height:120px;padding-top:10px}.chart-bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.chart-bar{width:100%;min-height:4px;background:#e53935;border-radius:2px 2px 0 0;display:flex;align-items:flex-start;justify-content:center}.chart-bar-value{font-size:10px;color:#333;transform:translateY(-14px)}.chart-bar-label{font-size:9px;color:#999;margin-top:4px}.click-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f0f0f0}.click-type{font-size:14px}.click-count{font-weight:700}.date-range{display:flex;gap:12px;margin:8px 0 16px}.date-range label{font-size:13px;color:#666;display:flex;align-items:center;gap:6px}.date-range input[type=date]{padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:13px}.ad-card-header{display:flex;gap:12px;align-items:center}.ad-card-thumb{width:50px;height:70px;object-fit:cover;border-radius:4px;flex-shrink:0}.ad-card-info{flex:1;display:flex;justify-content:space-between;align-items:center}.ad-card-id{font-size:11px;color:#999;margin-bottom:8px}.expiry-badge{display:inline-block;font-size:12px;font-weight:600;padding:4px 10px;border-radius:4px;margin-bottom:8px}.expiry-ok{background:#e8f5e9;color:#2e7d32}.expiry-warning{background:#fff8e1;color:#f57f17}.expiry-urgent{background:#fbe9e7;color:#c62828;animation:pulse-urgent 1.5s ease-in-out infinite}.expiry-expired{background:#f5f5f5;color:#999}@keyframes pulse-urgent{0%,to{opacity:1}50%{opacity:.7}}.ad-thumb-wrapper{position:relative;width:50px;height:70px;flex-shrink:0;border-radius:4px;overflow:hidden}.ad-thumb-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#eee 25%,#f5f5f5,#eee 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ad-thumb-hidden{opacity:0;position:absolute}.ad-thumb-placeholder{width:50px;height:70px;background:#f0f0f0;display:flex;align-items:center;justify-content:center;color:#bbb;border-radius:4px;flex-shrink:0}.start-date-note{margin-top:8px;color:#38a169;font-weight:500}.ad-card-actions{margin-top:10px;display:flex;gap:8px}.btn-toggle{padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .2s}.btn-toggle:disabled{opacity:.5;cursor:not-allowed}.btn-pause{background:#fff3e0;color:#e65100;border:1px solid #ffcc02}.btn-pause:hover:not(:disabled){background:#ffe0b2}.btn-reactivate{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.btn-reactivate:hover:not(:disabled){background:#c8e6c9}.btn-renew{background:#e3f2fd;color:#1565c0;border:1px solid #90caf9}.btn-renew:hover:not(:disabled){background:#bbdefb}.btn-pay{background:#2e7d32;color:#fff;border:1px solid #2e7d32}.btn-pay:hover:not(:disabled){background:#276b2b}.btn-delete{background:#fdecea;color:#c62828;border:1px solid #ef9a9a}.btn-delete:hover:not(:disabled){background:#f9d5d1}.btn-preview{background:#ede7f6;color:#5e35b1;border:1px solid #b39ddb}.btn-preview:hover:not(:disabled){background:#d1c4e9}.video-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.video-modal{position:relative;background:#fff;border-radius:12px;padding:16px;max-width:420px;width:100%;max-height:90vh;display:flex;flex-direction:column}.video-modal-title{margin:0 32px 12px 0;font-size:16px;word-break:break-word}.video-modal-close{position:absolute;top:8px;right:12px;background:none;border:none;font-size:28px;line-height:1;cursor:pointer;color:#666}.video-modal-close:hover{color:#000}.video-modal-player{width:100%;max-height:75vh;border-radius:8px;background:#000}.status-paused{background:#fff3e0;color:#e65100}.edit-targeting h2{margin:8px 0 4px;font-size:18px}.edit-targeting-title{color:#666;font-size:14px;margin-bottom:16px}.targeting-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.targeting-chip{display:inline-flex;align-items:center;gap:6px;background:#f0f0f0;border:1px solid #ddd;border-radius:16px;padding:6px 12px;font-size:13px}.chip-remove{background:none;border:none;color:#c62828;font-size:16px;font-weight:700;cursor:pointer;padding:0 2px;line-height:1}.chip-remove:hover{color:#e53935}.btn-edit-targeting{background:#f3e5f5;color:#6a1b9a;border:1px solid #ce93d8}.btn-edit-targeting:hover:not(:disabled){background:#e1bee7}.success-text{color:#2e7d32;font-size:14px;font-weight:600;margin-top:8px}.multi-select{width:100%;min-height:120px;border:1px solid #ddd;border-radius:8px;padding:8px;font-size:14px}.town-search{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;margin-bottom:8px}.town-selected-count{display:flex;align-items:center;gap:10px;font-size:13px;color:#2e7d32;margin-bottom:8px}.town-clear{background:none;border:none;color:#c62828;cursor:pointer;font-size:13px;text-decoration:underline;padding:0}.town-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px 12px;max-height:240px;overflow-y:auto;border:1px solid #ddd;border-radius:8px;padding:10px}.town-checkbox{font-size:14px}.checkout-url-preview{margin-top:8px;font-size:12px;color:#666;word-break:break-all;background:#f5f5f5;border:1px solid #eee;border-radius:6px;padding:6px 8px}.media-preview-none{display:flex;align-items:center;justify-content:center;min-height:120px;padding:16px;background:#f5f5f5;border:1px dashed #ccc;border-radius:8px;text-align:center}.add-sections-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.add-section-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fafafa;border:1px solid #eee;border-radius:6px}.add-section-name{flex:1;font-size:13px}.add-section-cost{font-size:13px;font-weight:600;color:#1565c0}.btn-add-section{padding:5px 12px;font-size:12px;font-weight:600;border:1px solid #90caf9;border-radius:4px;background:#e3f2fd;color:#1565c0;cursor:pointer}.btn-add-section:disabled{opacity:.5;cursor:not-allowed}.replace-video h2{margin:8px 0 4px;font-size:18px}.current-video-info{display:flex;align-items:center;gap:12px;font-size:13px;color:#666}.current-thumb{width:60px;height:80px;object-fit:cover;border-radius:4px}.replace-actions{margin-top:10px}.btn-replace-video{background:#e8eaf6;color:#283593;border:1px solid #9fa8da}.btn-replace-video:hover:not(:disabled){background:#c5cae9}.payment-summary{background:#f8f9fa;padding:12px;border-radius:6px;text-align:center;margin-bottom:4px}.payment-summary p{font-size:15px;color:#333}.payment-summary{background:#f9f9f9;padding:12px;border-radius:8px;text-align:center;margin-bottom:4px}.payment-summary strong{font-size:18px}.payment-summary{background:#f8f9fa;padding:12px;border-radius:6px;text-align:center}.btn-credits{width:100%;padding:14px;background:#e8f5e9;color:#2e7d32;border:2px solid #a5d6a7;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer}.payment-summary{background:#f9f9f9;padding:12px;border-radius:6px;text-align:center}.payment-options{display:flex;flex-direction:column;gap:10px;margin-top:16px}.payment-summary{background:#f5f5f5;padding:12px;border-radius:8px;text-align:center;font-size:15px}.btn-credits{width:100%;padding:14px;background:#e8f5e9;color:#2e7d32;border:2px solid #a5d6a7;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer}.payment-options{margin-top:16px;display:flex;flex-direction:column;gap:10px}.payment-summary{background:#f8f9fa;padding:12px;border-radius:8px;text-align:center;font-size:15px}.btn-credits{width:100%;padding:14px;background:#e8f5e9;color:#2e7d32;border:2px solid #a5d6a7;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer}.btn-credits:hover:not(:disabled){background:#c8e6c9}.btn-credits:disabled{opacity:.5;cursor:not-allowed}.renew-ad{max-width:600px;margin:0 auto;padding:20px}.renew-ad h2{margin:12px 0 4px;font-size:20px;color:#1a202c}.renew-ad-title{color:#4a5568;font-style:italic;margin-bottom:20px}.btn-back{background:none;border:none;color:#3182ce;font-size:14px;cursor:pointer;padding:4px 0;margin-bottom:8px}.btn-back:hover{text-decoration:underline}.renew-ad .step{margin-bottom:20px}.renew-ad h3{font-size:16px;margin-bottom:8px;color:#2d3748}.renew-ad select{width:100%;padding:10px;border:1px solid #cbd5e0;border-radius:6px;font-size:14px}.renew-ad .pricing-summary{background:#f0fff4;border:1px solid #c6f6d5;border-radius:8px;padding:14px}.renew-ad .pricing-summary .total-price{font-size:18px;margin-top:6px}.renew-ad .credits-info{background:#ebf8ff;border:1px solid #bee3f8;border-radius:8px;padding:12px;margin-bottom:16px}.renew-ad .credits-sufficient{color:#276749;font-size:13px}.renew-ad .credits-insufficient{color:#c53030;font-size:13px}.renew-success{text-align:center;padding:40px 20px}.renew-success .success-text{font-size:16px;margin:12px 0 24px}.btn-link-credits{background:none;border:1px solid #3182ce;color:#3182ce;padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer;margin-top:8px}.btn-link-credits:hover{background:#ebf8ff}.my-ads-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.my-ads-header-actions{display:flex;align-items:center;gap:12px}.credit-balance-badge{background:#ebf8ff;color:#2b6cb0;border:1px solid #bee3f8;padding:6px 12px;border-radius:16px;font-size:14px;font-weight:600}.btn-buy-credits{background:#2f855a;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}.btn-buy-credits:hover{background:#276749}.buy-credits{max-width:600px;margin:0 auto;padding:20px}.buy-credits h2{margin:12px 0 4px;font-size:20px;color:#1a202c}.buy-credits h3{font-size:16px;margin-bottom:8px;color:#2d3748}.credit-packs{display:flex;gap:12px;flex-wrap:wrap}.credit-pack-card{flex:1 1 140px;border:1px solid #cbd5e0;border-radius:8px;padding:16px;text-align:center;background:#f7fafc}.credit-pack-card .pack-credits{font-size:18px;font-weight:700;color:#1a202c}.credit-pack-card .pack-discount{color:#276749;font-size:12px;margin:4px 0}.credit-pack-card .pack-price{font-size:16px;color:#2d3748;margin:8px 0}.credit-pack-card .btn-primary{width:100%;padding:8px}.custom-credits{display:flex;align-items:center;gap:12px;margin-bottom:12px}.custom-credits .days-input{width:120px}.custom-credits-total{font-size:14px;color:#2d3748}.admin-credits .credits-info{margin:16px 0;padding:12px 16px;background:#ebf8ff;border:1px solid #bee3f8;border-radius:8px}.admin-credits .credits-info p{margin:2px 0}.admin-lookup{display:flex;align-items:center;gap:10px}.admin-comments-label{display:block;margin:14px 0 10px;font-size:14px;color:#2d3748}.admin-comments{display:block;width:100%;margin-top:6px;padding:8px 10px;border:1px solid #cbd5e0;border-radius:6px;font-family:inherit;font-size:14px;resize:vertical;box-sizing:border-box}.success-msg{margin-top:14px;padding:10px 14px;background:#f0fff4;border:1px solid #9ae6b4;border-radius:6px;color:#22543d;font-size:14px}.admin-action-toggle{display:flex;gap:8px;margin-bottom:12px}.app-name{display:inline-flex;align-items:center;gap:6px;vertical-align:middle}.app-name-logo{height:1em;width:auto;display:inline-block}.app-name-text{font-weight:inherit}.seller-customer-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.seller-customer-actions .btn-secondary{text-decoration:none;text-align:center}.watch-video{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;max-width:420px;margin:0 auto}.watch-video-player{width:100%;max-width:420px;max-height:80vh;background:#000;border-radius:12px}.watch-video-campaign{text-align:center;color:#555;margin:0 0 4px;font-size:.9rem}.watch-video-title{text-align:center;margin:0 0 12px;font-size:1.15rem;font-weight:600}.admin-tabs{display:flex;gap:8px;margin-bottom:20px}.container:has(.credit-history){max-width:980px}.credit-history h2{margin:8px 0 4px;font-size:18px}.history-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:16px 0;padding:12px;background:#f8f9fa;border:1px solid #eee;border-radius:8px}.history-filters label{display:flex;flex-direction:column;gap:4px;margin:0;font-size:13px;color:#555}.history-filters input,.history-filters select{width:auto;min-width:140px;padding:8px 10px;font-size:14px}.history-filter-actions{display:flex;gap:8px}.history-filter-actions .btn-primary,.history-filter-actions .btn-secondary{width:auto;margin-top:0;padding:10px 18px;font-size:14px}.history-summary{font-size:13px;color:#666;margin-bottom:8px}.history-table-wrap{overflow-x:auto;border:1px solid #eee;border-radius:8px}.history-table{width:100%;border-collapse:collapse;font-size:13px;min-width:720px}.history-table th,.history-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #f0f0f0;vertical-align:top}.history-table th{background:#fafafa;font-weight:600;color:#555;white-space:nowrap}.history-table th.num,.history-table td.num{text-align:right;white-space:nowrap}.history-table tbody tr:hover{background:#fafcff}.history-cust{display:flex;flex-direction:column;gap:2px}.history-cust .hint{font-size:11px;color:#999}.history-desc{max-width:260px;color:#444}.history-empty{text-align:center;color:#999;padding:24px 12px}.amount-pos{color:#2e7d32;font-weight:600}.amount-neg{color:#c62828;font-weight:600}.type-badge{display:inline-block;font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;white-space:nowrap}.type-courtesy{background:#e8f5e9;color:#2e7d32}.type-adjustment{background:#fff3e0;color:#e65100}.type-purchase{background:#e3f2fd;color:#1565c0}.type-video_ad{background:#f3e5f5;color:#6a1b9a}.history-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px}.history-pagination .btn-secondary{width:auto;margin-top:0;padding:8px 16px;font-size:14px}.history-page-info{font-size:13px;color:#666}
