.login-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);overflow-y:auto}.login-card{background:#fff;border-radius:16px;padding:40px;width:100%;max-width:400px;box-shadow:0 20px 40px #0003}.login-header{text-align:center;margin-bottom:32px}.login-header h1{font-size:24px;font-weight:700;color:#111827;margin:8px 0 4px}.login-header p{font-size:14px;color:#6b7280;margin:0}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-group label{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:#374151}.form-group input{padding:12px 14px;border:1px solid #E5E7EB;border-radius:8px;font-size:14px;transition:border-color .2s,box-shadow .2s}.password-wrapper{position:relative;display:flex;align-items:center}.password-wrapper input{width:100%;padding-right:44px}.password-toggle{position:absolute;right:10px;background:none;border:none;cursor:pointer;padding:4px;color:#9ca3af;display:flex;align-items:center;justify-content:center;transition:color .2s}.password-toggle:hover{color:#6b7280}.login-error{background:#fef2f2;color:#dc2626;padding:10px 14px;border-radius:8px;font-size:14px;margin-bottom:12px}.login-btn{width:100%;padding:12px;background:#7c3aed;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s;margin-top:8px}.login-btn:hover:not(:disabled){background:#6d28d9}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-register-link{text-align:center;margin-top:20px;font-size:14px;color:#6b7280}.login-register-link a{color:#7c3aed;font-weight:600;text-decoration:none}.login-register-link a:hover{text-decoration:underline}.register-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);overflow-y:auto}.register-card{background:#fff;border-radius:16px;padding:36px;width:100%;max-width:480px;box-shadow:0 20px 40px #0003}.register-card-success{text-align:center;padding:48px 36px}.register-header{text-align:center;margin-bottom:24px}.register-header h1{font-size:24px;font-weight:700;color:#111827;margin:8px 0 4px}.register-header p{font-size:14px;color:#6b7280;margin:0}.step-indicator{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:8px}.step-dot{width:32px;height:32px;border-radius:50%;border:2px solid #D1D5DB;display:flex;align-items:center;justify-content:center;color:#9ca3af;background:#fff;transition:all .3s}.step-dot.active{border-color:#7c3aed;color:#7c3aed;background:#f5f3ff}.step-dot.completed{border-color:#22c55e;color:#fff;background:#22c55e}.step-line{width:60px;height:2px;background:#d1d5db;transition:background .3s}.step-line.active{background:#22c55e}.step-labels{display:flex;justify-content:space-between;padding:0 20px;margin-bottom:20px}.step-labels span{font-size:12px;color:#9ca3af;font-weight:500}.step-labels span.active{color:#7c3aed;font-weight:600}.step-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.form-group label{font-size:14px;font-weight:500;color:#374151}.form-group input{padding:10px 14px;border:1px solid #E5E7EB;border-radius:8px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-group input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.form-group input:disabled{background:#f9fafb;color:#9ca3af}.form-row{display:flex;gap:12px}.form-row .form-group{flex:1}.register-btn{width:100%;padding:12px;background:#7c3aed;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s;margin-top:8px}.register-btn:hover:not(:disabled){background:#6d28d9}.register-btn:disabled{opacity:.5;cursor:not-allowed}.register-btn-submit{background:#22c55e}.register-btn-submit:hover:not(:disabled){background:#16a34a}.register-btn-secondary{padding:12px;background:#f3f4f6;color:#374151;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s}.register-btn-secondary:hover{background:#e5e7eb}.step-buttons{display:flex;gap:12px;margin-top:8px}.step-buttons .register-btn-secondary{flex:0 0 auto;width:auto;padding:12px 20px}.step-buttons .register-btn{flex:1}.register-error{background:#fef2f2;color:#dc2626;padding:10px 14px;border-radius:8px;font-size:14px;margin-bottom:12px}.waiver-container{margin-bottom:16px;position:relative}.waiver-text{background:#f9fafb;border:1px solid #E5E7EB;border-radius:8px;padding:16px;max-height:250px;overflow-y:auto;font-size:12px;line-height:1.6;color:#374151}.waiver-text pre{white-space:pre-wrap;word-wrap:break-word;font-family:inherit;margin:0}.waiver-hint{text-align:center;font-size:12px;color:#7c3aed;margin-top:6px;animation:bounce 1.5s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.waiver-checkbox{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px;background:#f5f3ff;border-radius:8px;border:1px solid #EDE9FE}.waiver-checkbox input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:#7C3AED;cursor:pointer;flex-shrink:0}.waiver-checkbox input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.waiver-checkbox label{font-size:13px;color:#374151;line-height:1.5;cursor:pointer}.signature-input{font-style:italic;font-size:16px!important;font-family:Georgia,serif;letter-spacing:.5px}.date-input{background:#f9fafb;color:#6b7280}.success-icon{margin-bottom:16px}.register-card-success h2{font-size:22px;font-weight:700;color:#111827;margin-bottom:12px}.register-card-success p{font-size:14px;color:#6b7280;line-height:1.6;margin-bottom:8px}.success-email{margin-bottom:24px!important}.success-email strong{color:#111827}.register-footer{text-align:center;margin-top:20px;font-size:14px;color:#6b7280}.register-footer a{color:#7c3aed;font-weight:600;text-decoration:none}.register-footer a:hover{text-decoration:underline}@media (max-width: 480px){.register-card{padding:24px 20px}.step-line{width:40px}.waiver-text{max-height:200px}}.tenant-layout{display:flex;min-height:100vh}.sidebar{width:240px;background:#fff;border-right:1px solid #E5E7EB;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0}.sidebar-header{padding:20px;display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;color:#7c3aed;border-bottom:1px solid #E5E7EB}.sidebar-nav{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;font-size:14px;font-weight:500;color:#6b7280;transition:all .2s}.nav-item:hover{background:#f3f4f6;color:#111827}.nav-item.active{background:#ede9fe;color:#7c3aed}.sidebar-footer{padding:16px 12px;border-top:1px solid #E5E7EB}.logout-btn{display:flex;align-items:center;gap:10px;padding:10px 12px;width:100%;border-radius:8px;font-size:14px;font-weight:500;color:#6b7280;transition:all .2s}.logout-btn:hover{background:#fef2f2;color:#dc2626}.main-content{flex:1;margin-left:240px;padding:24px}.page-header{margin-bottom:24px}.page-header h1{font-size:24px;font-weight:700;color:#111827}.page-header p{font-size:14px;color:#6b7280;margin-top:4px}.loading{text-align:center;padding:60px;color:#6b7280}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#fff;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 1px 3px #0000001a}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center}.stat-icon.purple{background:#ede9fe;color:#7c3aed}.stat-icon.blue{background:#dbeafe;color:#3b82f6}.stat-icon.orange{background:#fef3c7;color:#f59e0b}.stat-icon.green{background:#d1fae5;color:#10b981}.stat-icon.pink{background:#fce7f3;color:#ec4899}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:24px;font-weight:700;color:#111827}.stat-label{font-size:13px;color:#6b7280}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px;margin-bottom:24px}.chart-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a}.chart-card h3{font-size:16px;font-weight:600;color:#111827;margin-bottom:16px}.no-data{height:200px;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:14px}.table-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px}.table-card h3{font-size:16px;font-weight:600;color:#111827;margin-bottom:16px}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:12px;text-align:left;border-bottom:1px solid #E5E7EB}.data-table th{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase}.data-table td{font-size:14px;color:#111827}.data-table .slug{font-size:12px;color:#9ca3af}.platform-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.platform-badge.rednote{background:#fff0f0;color:#ff2442}.platform-badge.instagram{background:#fff0f3;color:#e4405f}.platform-badge.google{background:#eef4ff;color:#4285f4}.platform-badge.facebook{background:#eff3ff;color:#1877f2}.platform-badge.tiktok{background:#f3f3f3;color:#000}.platform-badge.yelp{background:#fff0f0;color:#ff1a1a}.source-badge{display:inline-block;padding:3px 8px;border-radius:10px;font-size:12px}.source-badge.customer{background:#ecfdf5;color:#059669}.source-badge.tenant{background:#eef2ff;color:#6366f1}.text-preview{font-size:13px;color:#4b5563;line-height:1.4;word-break:break-word}@media (max-width: 768px){.sidebar{display:none}.main-content{margin-left:0}.charts-grid{grid-template-columns:1fr}}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.empty-state svg{color:#d1d5db;margin-bottom:16px}.empty-state h3{font-size:18px;font-weight:600;color:#374151;margin-bottom:8px}.empty-state p{font-size:14px;color:#6b7280}.businesses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-bottom:24px}.business-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a}.business-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.business-logo{width:48px;height:48px;border-radius:8px;object-fit:cover}.business-logo-placeholder{width:48px;height:48px;border-radius:8px;background:#ede9fe;color:#7c3aed;font-size:20px;font-weight:600;display:flex;align-items:center;justify-content:center}.business-info h3{font-size:16px;font-weight:600;color:#111827}.business-slug{font-size:13px;color:#9ca3af}.business-tagline{font-size:14px;color:#6b7280;margin-bottom:12px}.business-stats{display:flex;align-items:center;gap:16px;margin-bottom:12px}.business-stats .stat{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b7280}.badge{padding:2px 8px;background:#f3f4f6;border-radius:12px;font-size:12px;font-weight:500}.business-platforms{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.platform{padding:4px 10px;background:#ede9fe;color:#7c3aed;border-radius:6px;font-size:12px;font-weight:500}.business-actions{display:flex;gap:8px}.btn-view{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#7c3aed;color:#fff;border-radius:8px;font-size:13px;font-weight:500;transition:background .2s}.btn-view:hover{background:#6d28d9}.plan-info{text-align:center;padding:20px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.plan-info p{font-size:14px;color:#374151}.plan-note{margin-top:4px;color:#9ca3af!important;font-size:13px!important}.back-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:#7c3aed;font-size:14px;cursor:pointer;padding:0;margin-bottom:8px}.back-btn:hover{text-decoration:underline}.gallery-message{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px;font-weight:500}.gallery-message.success{background:#ecfdf5;color:#065f46;border:1px solid #A7F3D0}.gallery-message.error{background:#fef2f2;color:#991b1b;border:1px solid #FECACA}.gallery-settings-card{background:#fff;border-radius:12px;padding:24px;margin-bottom:20px;box-shadow:0 1px 3px #0000001a}.gallery-toggle-row{display:flex;justify-content:space-between;align-items:center}.gallery-toggle-info h3{margin:0 0 4px;font-size:16px}.gallery-toggle-info p{margin:0;color:#6b7280;font-size:14px}.gallery-toggle-btn{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;color:#9ca3af;font-size:14px;font-weight:600;padding:8px;border-radius:8px;transition:all .2s}.gallery-toggle-btn:hover{background:#f3f4f6}.gallery-toggle-btn.enabled{color:#7c3aed}.gallery-titles{margin-top:20px;padding-top:20px;border-top:1px solid #E5E7EB}.gallery-title-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.gallery-titles .form-group{display:flex;flex-direction:column;gap:4px}.gallery-titles .form-group label{font-size:13px;font-weight:500;color:#374151}.gallery-titles .form-group input{padding:8px 12px;border:1px solid #D1D5DB;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s}.gallery-titles .form-group input:focus{border-color:#7c3aed}.gallery-upload-card{background:#fff;border-radius:12px;padding:24px;margin-bottom:20px;box-shadow:0 1px 3px #0000001a}.upload-area{border:2px dashed #D1D5DB;border-radius:12px;padding:40px;text-align:center;cursor:pointer;transition:all .2s;color:#6b7280}.upload-area:hover{border-color:#7c3aed;background:#f5f3ff;color:#7c3aed}.upload-area h3{margin:12px 0 4px;font-size:16px;color:#374151}.upload-area p{margin:0;font-size:13px}.upload-area .photo-count{margin-top:8px;font-weight:600;color:#7c3aed}.upload-progress{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;font-size:14px;color:#7c3aed}.upload-progress .spinner{width:20px;height:20px;border:2px solid #E5E7EB;border-top-color:#7c3aed;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.gallery-grid-manage{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.gallery-photo-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a;transition:transform .2s}.gallery-photo-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.gallery-photo-card.inactive{opacity:.6}.photo-preview{position:relative;aspect-ratio:1;overflow:hidden}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;gap:12px;opacity:0;transition:opacity .2s}.photo-preview:hover .photo-overlay{opacity:1}.photo-action-btn{width:36px;height:36px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s}.photo-action-btn:hover{transform:scale(1.1)}.photo-action-btn.toggle{background:#fff;color:#374151}.photo-action-btn.delete{background:#ef4444;color:#fff}.photo-hidden-badge{position:absolute;bottom:8px;left:8px;background:#000000b3;color:#fff;font-size:11px;padding:2px 8px;border-radius:4px}.photo-captions{padding:12px;display:flex;flex-direction:column;gap:6px}.photo-captions input{width:100%;padding:6px 8px;border:1px solid #E5E7EB;border-radius:6px;font-size:12px;outline:none;box-sizing:border-box}.photo-captions input:focus{border-color:#7c3aed}.photo-stats{padding:0 12px 12px;display:flex;align-items:center;gap:4px;font-size:11px;color:#9ca3af}.gallery-empty{text-align:center;padding:60px 20px;color:#9ca3af;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.gallery-empty h3{margin:16px 0 4px;color:#374151}.gallery-empty p{margin:0;font-size:14px}@media (max-width: 768px){.gallery-title-row{grid-template-columns:1fr}.gallery-grid-manage{grid-template-columns:repeat(2,1fr);gap:12px}.gallery-toggle-row{flex-direction:column;align-items:flex-start;gap:12px}}.business-actions{margin-top:12px;padding-top:12px;border-top:1px solid #F3F4F6}.gallery-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#f5f3ff;color:#7c3aed;border:1px solid #DDD6FE;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;width:100%;justify-content:center}.gallery-btn:hover{background:#7c3aed;color:#fff;border-color:#7c3aed}.page-header{display:flex;justify-content:space-between;align-items:flex-start}.btn-save{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#7c3aed;color:#fff;border-radius:8px;font-size:14px;font-weight:500;transition:background .2s}.btn-save:hover:not(:disabled){background:#6d28d9}.btn-save:disabled{opacity:.6;cursor:not-allowed}.message{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.message.success{background:#d1fae5;color:#059669}.message.error{background:#fee2e2;color:#dc2626}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px}.profile-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.profile-section h3{font-size:16px;font-weight:600;color:#111827;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #E5E7EB}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;font-weight:500;color:#374151;margin-bottom:6px}.form-group input{width:100%;padding:10px 12px;border:1px solid #E5E7EB;border-radius:8px;font-size:14px;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#7c3aed}.form-group input.disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.form-group .hint{display:block;font-size:12px;color:#9ca3af;margin-top:4px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.plan-details{display:flex;flex-direction:column;gap:12px}.plan-badge{display:inline-block;padding:6px 16px;background:linear-gradient(135deg,#7c3aed,#ec4899);color:#fff;border-radius:20px;font-size:13px;font-weight:600;align-self:flex-start}.plan-info-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #F3F4F6}.plan-info-item .label{font-size:14px;color:#6b7280}.plan-info-item span:last-child{font-size:14px;font-weight:500;color:#111827}.status{padding:2px 8px;border-radius:12px;font-size:12px}.status.active{background:#d1fae5;color:#059669}.status.suspended{background:#fee2e2;color:#dc2626}.upgrade-note{margin-top:16px;font-size:13px;color:#9ca3af}@media (max-width: 768px){.profile-grid,.form-row{grid-template-columns:1fr}}.summary-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin-bottom:24px}.summary-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;gap:16px}.summary-card.highlight{background:linear-gradient(135deg,#7c3aed,#ec4899);color:#fff}.summary-card.highlight svg{opacity:.8}.summary-content{display:flex;flex-direction:column}.summary-value{font-size:32px;font-weight:700}.summary-label{font-size:14px;opacity:.9}.summary-card:not(.highlight) .summary-value{color:#111827}.summary-card:not(.highlight) .summary-label{color:#6b7280}.analytics-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px}.analytics-section h3{font-size:16px;font-weight:600;color:#111827;margin-bottom:20px}.chart-container{margin-bottom:24px}.analytics-table{width:100%;border-collapse:collapse}.analytics-table th,.analytics-table td{padding:14px 12px;text-align:left;border-bottom:1px solid #E5E7EB}.analytics-table th{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;background:#f9fafb}.analytics-table td{font-size:14px;color:#111827}.analytics-table .slug{font-size:12px;color:#9ca3af}.rate{display:inline-block;padding:4px 10px;border-radius:12px;font-size:13px;font-weight:600}.rate.good{background:#d1fae5;color:#059669}.rate.ok{background:#fef3c7;color:#d97706}.rate.low{background:#fee2e2;color:#dc2626}.no-data{text-align:center;padding:40px;color:#6b7280}.no-data .hint{font-size:13px;color:#9ca3af;margin-top:8px}.action-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.action-type{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#f9fafb;border-radius:8px}.action-icon{font-size:24px}.action-type strong{display:block;font-size:14px;color:#111827;margin-bottom:4px}.action-type p{font-size:13px;color:#6b7280;margin:0}@media (max-width: 768px){.summary-row{grid-template-columns:1fr}}.ai-posts-container{display:grid;grid-template-columns:360px 1fr;gap:24px;align-items:start}@media (max-width: 900px){.ai-posts-container{grid-template-columns:1fr}}.tab-switcher{display:flex;gap:4px;background:#f3f4f6;border-radius:10px;padding:4px;margin-bottom:24px;width:fit-content}.tab-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;background:transparent;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s}.tab-btn:hover{color:#374151}.tab-btn.active{background:#fff;color:#7c3aed;box-shadow:0 1px 3px #0000001a;font-weight:600}.daily-counter{display:flex;align-items:center}.counter-badge{background:#eef2ff;color:#6366f1;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600}.counter-badge.limit-reached{background:#fef2f2;color:#ef4444}.control-card{background:#fff;border-radius:12px;padding:24px;border:1px solid #E5E7EB}.control-card h3{font-size:16px;font-weight:600;margin:0 0 20px;color:#111}.control-group{margin-bottom:20px}.control-group label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:8px}.control-group select,.control-group input[type=text]{width:100%;padding:10px 12px;border:1px solid #D1D5DB;border-radius:8px;font-size:14px;background:#fff;color:#111;outline:none;transition:border-color .2s}.control-group select:focus,.control-group input[type=text]:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.control-group .hint{display:block;font-size:12px;color:#9ca3af;margin-top:4px}.platform-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.platform-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border:2px solid #E5E7EB;border-radius:10px;background:#fff;cursor:pointer;transition:all .2s}.platform-btn:hover{border-color:#d1d5db;background:#f9fafb}.platform-btn.selected{border-width:2px}.platform-icon{font-size:20px}.platform-name{font-size:11px;font-weight:500;color:#374151}.lang-toggle{display:flex;gap:0;border:1px solid #D1D5DB;border-radius:8px;overflow:hidden}.lang-btn{flex:1;padding:8px 12px;border:none;background:#fff;font-size:13px;font-weight:500;cursor:pointer;color:#6b7280;transition:all .2s}.lang-btn.active{background:#7c3aed;color:#fff}.lang-btn:not(.active):hover{background:#f3f4f6}.keyword-tags{display:flex;flex-wrap:wrap;gap:6px;max-height:120px;overflow-y:auto;padding:2px}.keyword-tag{padding:4px 10px;border:1px solid #D1D5DB;border-radius:16px;background:#fff;font-size:12px;color:#6b7280;cursor:pointer;transition:all .15s;white-space:nowrap}.keyword-tag:hover{border-color:#7c3aed;color:#7c3aed}.keyword-tag.selected{background:#7c3aed;color:#fff;border-color:#7c3aed}.length-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.length-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 8px;border:2px solid #E5E7EB;border-radius:10px;background:#fff;cursor:pointer;transition:all .2s}.length-btn:hover{border-color:#d1d5db;background:#f9fafb}.length-btn.selected{border-color:#7c3aed;background:#f5f3ff}.length-label{font-size:13px;font-weight:600;color:#374151}.length-btn.selected .length-label{color:#7c3aed}.length-words{font-size:11px;color:#9ca3af}.control-group textarea{width:100%;padding:10px 12px;border:1px solid #D1D5DB;border-radius:8px;font-size:14px;font-family:inherit;background:#fff;color:#111;outline:none;transition:border-color .2s;resize:vertical;min-height:70px}.control-group textarea:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.control-group textarea::placeholder{color:#9ca3af}.generate-btn{width:100%;padding:12px 16px;background:linear-gradient(135deg,#7c3aed,#9333ea);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.generate-btn:hover:not(:disabled){background:linear-gradient(135deg,#6d28d9,#7c3aed);transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed4d}.generate-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.output-card{background:#fff;border-radius:12px;border:1px solid #E5E7EB;overflow:hidden}.output-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #E5E7EB}.output-header h3{font-size:16px;font-weight:600;margin:0;color:#111}.copy-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;background:#f3f4f6;border:1px solid #D1D5DB;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;color:#374151;transition:all .2s}.copy-btn:hover{background:#e5e7eb}.output-body{padding:24px;min-height:300px}.output-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#9ca3af;padding:40px 20px;min-height:250px}.output-placeholder p{margin:8px 0 0;font-size:14px}.output-placeholder .hint{font-size:12px;color:#d1d5db}.generating-animation{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#7c3aed}.generating-animation p{margin:16px 0 0;font-size:14px;color:#6b7280}.generated-text{font-size:15px;line-height:1.7;color:#1f2937}.generated-text p{margin:0 0 4px}.tips-card{background:#fffbeb;border:1px solid #FDE68A;border-radius:12px;padding:16px 20px;margin-top:16px}.tips-card h4{font-size:14px;font-weight:600;margin:0 0 8px;color:#92400e}.tips-card ul{list-style:none;padding:0;margin:0}.tips-card li{font-size:13px;color:#78350f;padding:3px 0 3px 16px;position:relative}.tips-card li:before{content:"•";position:absolute;left:0;color:#f59e0b}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:#9ca3af;text-align:center}.empty-state h3{margin:16px 0 8px;color:#6b7280}.empty-state p{margin:0;font-size:14px}.poster-upload-btn{width:100%;padding:24px 16px;border:2px dashed #D1D5DB;border-radius:10px;background:#fafafa;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;transition:all .2s;color:#6b7280;font-size:14px;font-weight:500}.poster-upload-btn:hover{border-color:#7c3aed;background:#f5f3ff;color:#7c3aed}.poster-upload-btn .hint{font-size:12px;color:#9ca3af}.poster-bg-preview{position:relative;border-radius:10px;overflow:hidden;border:1px solid #E5E7EB}.poster-bg-preview img{width:100%;height:120px;object-fit:cover;display:block}.poster-bg-remove{position:absolute;top:8px;right:8px;display:flex;align-items:center;gap:4px;padding:4px 10px;background:#ef4444e6;color:#fff;border:none;border-radius:6px;font-size:12px;cursor:pointer;transition:background .2s}.poster-bg-remove:hover{background:#dc2626}.checkbox-label{display:flex!important;align-items:center;gap:8px;cursor:pointer;font-size:13px;font-weight:500!important}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:#7C3AED;cursor:pointer}.overlay-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.overlay-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border:2px solid #E5E7EB;border-radius:10px;background:#fff;cursor:pointer;transition:all .2s}.overlay-btn:hover{border-color:#d1d5db}.overlay-btn.selected{border-color:#7c3aed;background:#f5f3ff}.overlay-swatch{width:28px;height:28px;border-radius:6px;border:1px solid #D1D5DB}.overlay-label{font-size:11px;font-weight:500;color:#374151}.color-row{display:flex;align-items:center;gap:8px}.color-picker{width:36px;height:36px;padding:2px;border:1px solid #D1D5DB;border-radius:8px;cursor:pointer;background:#fff}.color-preset{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .15s}.color-preset:hover{transform:scale(1.15)}.color-preset.active{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed4d}.poster-range{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e5e7eb;border-radius:3px;outline:none}.poster-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#7c3aed;cursor:pointer;border:2px solid white;box-shadow:0 1px 3px #0003}.poster-range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#7c3aed;cursor:pointer;border:2px solid white;box-shadow:0 1px 3px #0003}.poster-preview-container{padding:24px;display:flex;justify-content:center;align-items:center;background:#f9fafb;min-height:400px}.poster-canvas{max-width:100%;max-height:600px;border-radius:8px;box-shadow:0 4px 16px #0000001f}.poster-limit-hint{display:block;text-align:center;font-size:12px;color:#9ca3af;margin-top:8px}.coupon-settings-page{max-width:700px;margin:0 auto;padding:24px 16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.coupon-header{margin-bottom:24px}.coupon-header h1{font-size:24px;margin:12px 0 4px}.coupon-subtitle{color:#666;font-size:14px;margin:0}.back-btn{background:none;border:1px solid #ddd;border-radius:8px;padding:6px 14px;cursor:pointer;font-size:14px}.back-btn:hover{background:#f5f5f5}.templates-list{margin-bottom:32px}.templates-list h2{font-size:18px;margin-bottom:12px}.template-card{display:flex;justify-content:space-between;align-items:center;border:1px solid #e0e0e0;border-radius:12px;padding:16px;margin-bottom:12px;background:#fff}.template-card.inactive{opacity:.5}.template-biz{font-weight:600;font-size:15px;margin-bottom:4px}.template-desc-zh{font-size:14px;color:#333}.template-desc-en{font-size:13px;color:#888}.template-stats{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.stat{font-size:13px;color:#666}.status-badge{padding:2px 10px;border-radius:20px;font-size:12px;font-weight:600}.status-badge.on{background:#e8f5e9;color:#2e7d32}.status-badge.off{background:#fbe9e7;color:#c62828}.coupon-form{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:24px}.coupon-form h2{font-size:18px;margin:0 0 16px}.coupon-form label{display:block;font-size:14px;font-weight:500;margin-bottom:6px;margin-top:14px;color:#333}.coupon-form select,.coupon-form input[type=text]{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;box-sizing:border-box}.coupon-form select:focus,.coupon-form input[type=text]:focus{outline:none;border-color:#ff6b6b}.checkbox-label{display:flex!important;align-items:center;gap:8px;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.save-btn{display:block;width:100%;margin-top:20px;padding:12px;background:#ff6b6b;color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer}.save-btn:hover{background:#e05555}.save-btn:disabled{background:#ccc;cursor:not-allowed}.form-message{margin-top:12px;text-align:center;font-size:14px;color:#2e7d32;font-weight:500}.coupon-loading{text-align:center;padding:60px 20px;font-size:16px;color:#888}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:#f9fafb;color:#111827;line-height:1.5}button{cursor:pointer;border:none;background:none;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}a{text-decoration:none;color:inherit}
