*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "SF Mono", "Cascadia Code", "Fira Code", "Courier New", monospace;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-light: #eff6ff;--color-text: #111827;--color-text-secondary: #6b7280;--color-text-tertiary: #9ca3af;--color-bg: #f9fafb;--color-surface: #ffffff;--color-border: #e5e7eb;--color-border-light: #f3f4f6;--color-success: #059669;--color-success-bg: #ecfdf5;--color-warning: #d97706;--color-warning-bg: #fffbeb;--color-error: #dc2626;--color-error-bg: #fef2f2;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 100px;--shadow-sm: 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--transition: .15s ease}body{font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.hidden{display:none!important}.container{max-width:960px;margin:0 auto;padding:0 24px}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg);padding:24px}.login-box{background:var(--color-surface);padding:40px 36px;border-radius:var(--radius-lg);border:1px solid var(--color-border);width:100%;max-width:400px;box-shadow:var(--shadow-md)}.login-box h1{color:var(--color-primary);text-align:center;font-size:22px;font-weight:700;letter-spacing:-.3px;margin-bottom:4px}.login-box h2{text-align:center;color:var(--color-text-secondary);font-size:14px;font-weight:400;margin-bottom:32px}.register-box{max-width:480px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--color-text-secondary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:9px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font-sans);color:var(--color-text);background:var(--color-surface);transition:border-color var(--transition),box-shadow var(--transition);outline:none}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb14}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-tertiary);font-size:13px}.form-group textarea{resize:vertical;min-height:80px}input[type=file]{padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font-size:13px;color:var(--color-text-secondary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border:1px solid transparent;border-radius:var(--radius-sm);font-size:13px;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition);text-decoration:none;line-height:1.4;white-space:nowrap}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover{background:var(--color-bg);border-color:#d1d5db}.btn-outline{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary);font-weight:500}.btn-outline:hover{background:var(--color-primary-light)}.btn-sm{padding:5px 12px;font-size:12px;border-radius:var(--radius-sm)}.btn-full{width:100%}.login-box .btn-primary{width:100%;padding:10px 16px}.auth-divider{display:flex;align-items:center;margin:20px 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.auth-divider span{padding:0 12px;color:var(--color-text-tertiary);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.error-message{color:var(--color-error);font-size:13px;margin-bottom:12px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--color-error-bg);border:1px solid #fecaca;display:none}.error-message.show{display:block}.success-message{color:var(--color-success);font-size:13px;margin-bottom:12px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--color-success-bg);border:1px solid #a7f3d0;display:none;text-align:center}.success-message.show{display:block}.login-footer{text-align:center;margin-top:24px;font-size:12px;color:var(--color-text-tertiary)}.login-footer a{color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition)}.login-footer a:hover{color:var(--color-primary)}.header{background:var(--color-surface);border-bottom:1px solid var(--color-border);height:56px}.header .container{display:flex;justify-content:space-between;align-items:center;height:56px}.logo{display:flex;align-items:center}.logo-brand{font-size:17px;font-weight:700;color:var(--color-primary);letter-spacing:-.3px}.user-info{display:flex;align-items:center;gap:16px}.user-name{font-size:13px;font-weight:500;color:var(--color-text-secondary)}.logout-link{font-size:13px;color:var(--color-text-tertiary);text-decoration:none;transition:color var(--transition)}.logout-link:hover{color:var(--color-text)}.lang-toggle{display:flex;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.lang-btn{padding:3px 10px;border:none;background:var(--color-surface);font-size:11px;font-weight:600;font-family:var(--font-sans);color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition);letter-spacing:.3px}.lang-btn:not(:last-child){border-right:1px solid var(--color-border)}.lang-btn.active{background:var(--color-primary);color:#fff}.lang-btn:hover:not(.active){background:var(--color-bg);color:var(--color-text)}.portal-tabs{display:flex;gap:0;background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:0 24px;margin-bottom:32px;overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-btn{padding:14px 20px;border:none;background:none;font-size:13px;font-weight:500;font-family:var(--font-sans);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);border-bottom:2px solid transparent;white-space:nowrap;margin-bottom:-1px;text-decoration:none}.tab-btn.active,.portal-tabs a.tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary);background:none}.tab-btn:hover:not(.active),.portal-tabs a.tab-btn:hover:not(.active){color:var(--color-text)}.portal-tabs a.tab-btn{text-decoration:none;color:var(--color-text-secondary)}.main-content{padding:0 0 48px;min-height:calc(100vh - 200px)}section{background:var(--color-surface);padding:24px;border-radius:var(--radius-md);margin-bottom:16px;border:1px solid var(--color-border)}section h2{font-size:15px;font-weight:600;color:var(--color-text);margin-bottom:16px;padding-bottom:0;border-bottom:none}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h2{margin:0;padding:0;border:none}.dashboard-overview{background:none;border:none;padding:0;margin-bottom:16px}.overview-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.overview-card{display:flex;align-items:center;gap:14px;background:var(--color-surface);padding:16px 20px;border-radius:var(--radius-md);border:1px solid var(--color-border)}.overview-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.overview-icon svg{width:20px;height:20px}.overview-info{display:flex;flex-direction:column}.overview-value{font-size:22px;font-weight:700;color:var(--color-text);line-height:1.2}.overview-label{font-size:12px;color:var(--color-text-secondary);margin-top:2px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.info-item{display:flex;flex-direction:column;gap:2px}.info-item label{font-size:12px;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.3px}.info-item span{font-size:14px;color:var(--color-text);font-weight:500}.profile-section{background:var(--color-surface);padding:24px;border-radius:var(--radius-md);border:1px solid var(--color-border)}.profile-managed-note{color:var(--color-text-tertiary);font-size:13px;margin-bottom:24px}.profile-actions{margin-top:24px;display:flex;gap:8px;flex-wrap:wrap}.profile-actions .btn{text-decoration:none;text-align:center}.license-card{background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-border);border-radius:var(--radius-md);padding:20px;margin-bottom:12px}.license-card[data-app=metavox]{border-left-color:#2563eb}.license-card[data-app=intravox]{border-left-color:#7c3aed}.license-card[data-app=roomvox]{border-left-color:#059669}.license-card[data-app=formvox]{border-left-color:#d97706}.license-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.license-key-display{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.license-key-code{font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--color-text-secondary);background:var(--color-bg);padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--color-border);letter-spacing:.3px;-webkit-user-select:all;user-select:all}.btn-copy{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-tertiary);font-size:11px;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition)}.btn-copy svg{width:14px;height:14px}.btn-copy span{display:none}.btn-copy:hover{border-color:#d1d5db;color:var(--color-text);background:var(--color-bg)}.btn-copy.copied{border-color:#a7f3d0;color:var(--color-success);background:var(--color-success-bg)}.btn-copy.copied span{display:inline}.license-status{display:inline-block;padding:3px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:600;letter-spacing:.2px}.license-status.active{background:var(--color-success-bg);color:var(--color-success)}.license-status.inactive{background:var(--color-error-bg);color:var(--color-error)}.license-status.trial{background:var(--color-warning-bg);color:var(--color-warning)}.license-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border-light)}.license-detail{display:flex;flex-direction:column;gap:2px}.license-detail label{font-size:11px;color:var(--color-text-tertiary);font-weight:500;text-transform:uppercase;letter-spacing:.3px}.license-detail span{font-size:13px;color:var(--color-text);font-weight:500}.sub-status{display:inline-block;padding:3px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:600}.sub-status-active{background:var(--color-success-bg);color:var(--color-success)}.sub-status-past_due{background:var(--color-warning-bg);color:var(--color-warning)}.sub-status-canceled{background:var(--color-error-bg);color:var(--color-error)}.sub-status-manual{background:var(--color-border-light);color:var(--color-text-secondary)}.manage-sub-link{font-size:12px;color:var(--color-text-secondary);cursor:pointer;text-decoration:none;transition:color var(--transition)}.manage-sub-link:hover{color:var(--color-primary)}.app-type-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:12px;font-weight:600}.app-type-badge.metavox{background:#eff6ff;color:#2563eb}.app-type-badge.intravox{background:#f5f3ff;color:#7c3aed}.app-type-badge.roomvox{background:var(--color-success-bg);color:var(--color-success)}.app-type-badge.formvox{background:var(--color-warning-bg);color:var(--color-warning)}.app-type-badge.introvox{background:#fdf2f8;color:#db2777}.install-instructions{margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border-light)}.install-toggle{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--color-text-tertiary);font-size:12px;font-weight:500;font-family:var(--font-sans);cursor:pointer;padding:4px 0;transition:color var(--transition)}.install-toggle:hover{color:var(--color-text-secondary)}.chevron-icon{transition:transform var(--transition);width:14px;height:14px}.install-instructions.open .chevron-icon{transform:rotate(180deg)}.install-content{display:none;padding:12px 16px;background:var(--color-bg);border-radius:var(--radius-sm);margin-top:8px;border:1px solid var(--color-border-light)}.install-instructions.open .install-content{display:block}.install-steps{margin:0;padding-left:20px;font-size:13px;color:var(--color-text);line-height:1.8}.install-steps code{font-family:var(--font-mono);background:var(--color-surface);padding:2px 6px;border-radius:4px;font-size:12px;border:1px solid var(--color-border)}.instance-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px;margin-bottom:12px}.instance-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.instance-name{font-size:14px;font-weight:600;color:var(--color-text)}.instance-url{font-family:var(--font-mono);color:var(--color-text-tertiary);font-size:12px;margin-top:2px}.instance-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-top:12px}.stat{text-align:center;padding:12px;background:var(--color-bg);border-radius:var(--radius-sm);border:1px solid var(--color-border-light)}.stat-value{font-size:20px;font-weight:700;color:var(--color-text);line-height:1.2}.stat-label{font-size:11px;color:var(--color-text-tertiary);margin-top:2px;text-transform:uppercase;letter-spacing:.3px}.products-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:1fr;gap:16px}.product-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:24px;display:flex;flex-direction:column;transition:border-color var(--transition)}.product-card:hover{border-color:#d1d5db}.product-card[data-app=metavox]{border-top:3px solid #2563eb}.product-card[data-app=intravox]{border-top:3px solid #7c3aed}.product-card[data-app=roomvox]{border-top:3px solid #059669}.product-card[data-app=formvox]{border-top:3px solid #d97706}.product-card-name{font-size:16px;font-weight:700;color:var(--color-text);margin-bottom:4px}.product-card-desc{font-size:13px;color:var(--color-text-secondary);margin-bottom:20px;line-height:1.5}.tier-selector{display:flex;gap:0;margin-bottom:16px;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-bg)}.tier-btn{flex:1;padding:6px 4px;border:none;background:transparent;font-size:11px;font-weight:500;font-family:var(--font-sans);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);text-align:center;white-space:nowrap}.tier-btn:not(:last-child){border-right:1px solid var(--color-border)}.tier-btn.active{background:var(--color-primary);color:#fff}.tier-btn:hover:not(.active){background:var(--color-surface);color:var(--color-text)}.product-card-price{font-size:28px;font-weight:700;color:var(--color-text);margin-bottom:2px;letter-spacing:-.5px}.product-card-price-period{font-size:12px;color:var(--color-text-tertiary);margin-bottom:20px}.product-buy-btn{margin-top:auto;width:100%;text-align:center;padding:9px 16px}.products-empty{text-align:center;color:var(--color-text-secondary);padding:32px;font-size:13px}.ticket-card{border:1px solid var(--color-border);padding:16px 20px;border-radius:var(--radius-md);margin-bottom:8px;cursor:pointer;transition:all var(--transition);background:var(--color-surface)}.ticket-card:hover{border-color:#d1d5db;background:var(--color-bg)}.ticket-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.ticket-header h3{margin:0;font-size:14px;font-weight:600;color:var(--color-text)}.ticket-status{display:inline-block;padding:3px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:600;white-space:nowrap}.status-open{background:#eff6ff;color:#2563eb}.status-in_progress{background:var(--color-warning-bg);color:var(--color-warning)}.status-waiting_customer{background:#fef2f2;color:#dc2626}.status-closed{background:var(--color-border-light);color:var(--color-text-tertiary)}.ticket-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--color-text-tertiary);align-items:center}.priority{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.priority-low{background:var(--color-success-bg);color:var(--color-success)}.priority-normal{background:#eff6ff;color:#2563eb}.priority-high{background:var(--color-warning-bg);color:var(--color-warning)}.priority-urgent{background:var(--color-error-bg);color:var(--color-error)}.unread-badge{background:var(--color-error);color:#fff;padding:1px 8px;border-radius:var(--radius-pill);font-size:11px;font-weight:600}.invoices-table-wrap{overflow-x:auto;margin:0 -24px;padding:0 24px}.invoices-table{width:100%;border-collapse:collapse;font-size:13px}.invoices-table thead th{text-align:left;padding:8px 16px;color:var(--color-text-tertiary);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border);background:none}.invoices-table tbody td{padding:10px 16px;border-bottom:1px solid var(--color-border-light);color:var(--color-text);font-size:13px}.invoices-table tbody tr:last-child td{border-bottom:none}.invoices-table tbody tr:hover{background:var(--color-bg)}.invoice-status-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-pill);font-size:11px;font-weight:600}.invoice-status-badge.status-paid{background:var(--color-success-bg);color:var(--color-success)}.invoice-status-badge.status-open{background:var(--color-warning-bg);color:var(--color-warning)}.invoice-status-badge.status-other{background:var(--color-border-light);color:var(--color-text-secondary)}.modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{position:relative;background:var(--color-surface);border-radius:var(--radius-lg);max-width:640px;width:100%;max-height:85vh;overflow-y:auto;border:1px solid var(--color-border);box-shadow:0 20px 60px #00000026}.modal-header{padding:20px 24px;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;z-index:1}.modal-header h2{margin:0;padding:0;border:none;font-size:16px;font-weight:600}.close-btn{background:none;border:none;font-size:20px;line-height:1;color:var(--color-text-tertiary);cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:all var(--transition);width:32px;height:32px;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:var(--color-bg);color:var(--color-text)}.modal-body{padding:24px}.ticket-info{background:var(--color-bg);padding:14px 16px;border-radius:var(--radius-sm);margin-bottom:20px;border:1px solid var(--color-border-light)}.info-row{display:flex;gap:8px;margin-bottom:6px;font-size:13px;align-items:center}.info-row:last-child{margin-bottom:0}.info-row .label{font-weight:600;min-width:70px;color:var(--color-text-secondary);font-size:12px}.ticket-messages{margin-bottom:20px}.message{padding:14px 16px;margin-bottom:8px;border-radius:var(--radius-md);border-left:3px solid}.message.customer{background:#eff6ff;border-left-color:#2563eb}.message.admin{background:#f5f3ff;border-left-color:#7c3aed}.message-header{display:flex;justify-content:space-between;margin-bottom:6px;font-size:13px}.message-header strong{font-weight:600}.message-date{font-size:12px;color:var(--color-text-tertiary)}.message-body{font-size:13px;color:var(--color-text);line-height:1.6}.message-attachments{margin-top:10px;padding-top:10px;border-top:1px solid rgba(0,0,0,.06)}.message-attachments strong{display:block;margin-bottom:6px;font-size:12px;color:var(--color-text-secondary)}.attachment-link{display:inline-block;margin:3px 6px 3px 0;padding:5px 10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);text-decoration:none;font-size:12px;transition:all var(--transition)}.attachment-link:hover{border-color:var(--color-primary);color:var(--color-primary)}.reply-form{margin-top:20px;padding-top:20px;border-top:1px solid var(--color-border)}.reply-form h3{margin-bottom:12px;font-size:14px;font-weight:600}.reply-form textarea{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:13px;margin-bottom:12px;resize:vertical;outline:none}.reply-form textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb14}.closed-notice{text-align:center;padding:16px;background:var(--color-bg);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:13px;border:1px solid var(--color-border-light)}.plan-options{display:flex;flex-direction:column;gap:8px}.plan-option{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);transition:border-color var(--transition)}.plan-option:hover{border-color:#d1d5db}.plan-option.current{border-color:var(--color-primary);background:var(--color-primary-light)}.plan-option-info{display:flex;flex-direction:column;gap:2px}.plan-option-info strong{font-size:14px}.plan-option-price{font-size:13px;color:var(--color-text-secondary)}.plan-current-badge{font-size:11px;font-weight:600;color:var(--color-primary);background:#dbeafe;padding:4px 12px;border-radius:var(--radius-pill)}.purchase-banner{padding:14px 16px;border-radius:var(--radius-md);margin-bottom:16px;font-size:13px;font-weight:500;display:flex;align-items:center;gap:10px}.purchase-banner-success{background:var(--color-success-bg);color:#065f46;border:1px solid #a7f3d0}.purchase-banner-canceled{background:var(--color-warning-bg);color:#92400e;border:1px solid #fde68a}.purchase-banner .close-banner{margin-left:auto;background:none;border:none;font-size:16px;cursor:pointer;color:inherit;opacity:.6;padding:0 4px}.purchase-banner .close-banner:hover{opacity:1}.loading{text-align:center;color:var(--color-text-tertiary);padding:24px;font-size:13px}.footer{background:none;padding:24px 0 32px;text-align:center;color:var(--color-text-tertiary);font-size:12px;margin-top:16px;border-top:1px solid var(--color-border)}.footer a{color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition)}.footer a:hover{color:var(--color-primary)}.footer-legal{margin-top:4px;font-size:11px;color:var(--color-text-tertiary)}@media(max-width:768px){.container{padding:0 16px}.header{height:auto}.header .container{height:auto;padding:12px 16px;flex-wrap:wrap;gap:8px}.portal-tabs{padding:0 16px;margin-bottom:20px}.tab-btn{padding:12px 14px;font-size:12px}.overview-cards{grid-template-columns:1fr}section{padding:16px}.license-header,.license-key-display{flex-direction:column;align-items:flex-start}.license-key-code{font-size:11px;word-break:break-all}.ticket-header{flex-direction:column}.instance-header{flex-direction:column;align-items:flex-start;gap:8px}.form-row{grid-template-columns:1fr}.plan-option{flex-direction:column;align-items:flex-start;gap:10px}.invoices-table{font-size:12px}.invoices-table thead th,.invoices-table tbody td{padding:8px}.products-grid{grid-template-columns:1fr}.modal-content{max-height:95vh}.profile-actions{flex-direction:column}.profile-actions .btn{width:100%}.login-box{padding:32px 24px}}@media(max-width:480px){.overview-card{padding:14px}.overview-value{font-size:18px}.tier-btn{font-size:10px;padding:5px 2px}}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.t-toolbar{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.t-search{flex:1 1 260px;min-width:180px;padding:7px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;background:var(--color-surface);color:var(--color-text);font-family:inherit}.t-search:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1f}.t-filter{padding:7px 28px 7px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:13px;color:var(--color-text);font-family:inherit;cursor:pointer}.t-filter:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1f}.t-empty{background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:48px 24px;text-align:center;color:var(--color-text-tertiary)}.t-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.t-table{width:100%;border-collapse:collapse;font-size:13px}.t-table thead th{text-align:left;padding:10px 14px;color:var(--color-text-tertiary);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border);background:var(--color-bg);white-space:nowrap}.t-table tbody td{padding:12px 14px;border-bottom:1px solid var(--color-border-light);vertical-align:top}.t-table tbody tr:last-child td{border-bottom:none}.t-row{cursor:pointer;transition:background var(--transition)}.t-row:hover{background:var(--color-bg)}.t-td-id{font-family:var(--font-mono);font-size:12px;color:var(--color-text-tertiary);white-space:nowrap}.t-td-subject{min-width:220px;max-width:420px}.t-subject{font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t-msg-count{margin-top:4px;font-size:12px;color:var(--color-text-tertiary);display:flex;align-items:center;gap:8px}.t-unread{background:var(--color-error);color:#fff;border-radius:var(--radius-pill);padding:0 6px;font-size:11px;font-weight:600}.t-td-muted{color:var(--color-text-tertiary);font-size:12px;white-space:nowrap}.t-status{display:inline-block;padding:3px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:600;white-space:nowrap;text-transform:none;letter-spacing:0}.t-status-open{background:#eff6ff;color:#2563eb}.t-status-in_progress{background:var(--color-warning-bg);color:var(--color-warning)}.t-status-waiting_customer{background:#f5f3ff;color:#7c3aed}.t-status-resolved{background:var(--color-success-bg);color:var(--color-success)}.t-status-closed{background:var(--color-border-light);color:var(--color-text-tertiary)}.t-prio{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.t-prio-low,.t-prio-normal{background:var(--color-border-light);color:var(--color-text-secondary)}.t-prio-medium{background:#eff6ff;color:#2563eb}.t-prio-high{background:var(--color-warning-bg);color:var(--color-warning)}.t-prio-urgent{background:var(--color-error-bg);color:var(--color-error)}.td-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px}.td-header-main{flex:1 1 auto;min-width:0}.td-back-btn{background:none;border:none;padding:0 0 6px;font-size:12px;color:var(--color-primary);cursor:pointer;font-family:inherit}.td-back-btn:hover{text-decoration:underline}.td-title{margin:0 0 4px;padding:0;border:none;font-size:20px;font-weight:600;color:var(--color-text);word-break:break-word}.td-sub{display:flex;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--color-text-tertiary)}.td-id{font-family:var(--font-mono)}.td-grid{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}@media(min-width:900px){.td-grid{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:20px}.td-side{position:sticky;top:16px}}.td-main,.td-side{display:flex;flex-direction:column;gap:16px;min-width:0}.td-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.td-card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.td-card-title{font-size:13px;font-weight:600;color:var(--color-text)}.td-card-meta{font-size:12px;color:var(--color-text-tertiary)}.td-card-body{padding:16px}.td-details{display:flex;flex-direction:column;gap:12px;font-size:13px}.td-field{display:flex;flex-direction:column;gap:4px}.td-field-label{font-size:11px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.4px}.td-field-value{color:var(--color-text)}.td-atts{display:flex;flex-direction:column;gap:6px}.td-att{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:12px;color:var(--color-text);text-decoration:none;transition:all var(--transition)}.td-att:hover{background:var(--color-bg);border-color:var(--color-primary)}.td-att-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1 1 auto}.td-att-download{color:var(--color-text-tertiary);white-space:nowrap;flex-shrink:0}.msg-thread{display:flex;flex-direction:column;gap:14px;overflow-y:auto;padding-right:4px}.msg-empty{border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:24px;text-align:center;color:var(--color-text-tertiary);font-size:13px}.msg-show-earlier{align-self:center;display:inline-flex;align-items:center;gap:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:4px 12px;font-size:11px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;font-family:inherit;transition:all var(--transition)}.msg-show-earlier:hover{background:var(--color-bg)}.msg-group{display:flex;flex-direction:column;gap:14px}.msg-date-sep{display:flex;align-items:center;gap:12px;padding:2px 0}.msg-date-sep-line{flex:1 1 0;height:1px;background:var(--color-border)}.msg-date-sep-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary);background:var(--color-surface);padding:2px 8px;border-radius:var(--radius-pill)}.msg-row{display:flex;gap:10px;align-items:flex-start}.msg-row-left{flex-direction:row}.msg-row-right{flex-direction:row-reverse}.msg-avatar{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}.msg-avatar-customer{background:var(--color-primary);color:#fff}.msg-avatar-admin{background:var(--color-border-light);color:var(--color-text-secondary)}.msg-col{display:flex;flex-direction:column;gap:4px;max-width:80%;min-width:0}.msg-col-left{align-items:flex-start}.msg-col-right{align-items:flex-end}.msg-meta{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--color-text-tertiary)}.msg-meta-right{flex-direction:row-reverse}.msg-author{font-weight:600;color:var(--color-text-secondary)}.msg-time{color:var(--color-text-tertiary)}.msg-bubble{font-size:13px;line-height:1.55;padding:10px 14px;border-radius:16px;word-break:break-word;box-shadow:var(--shadow-sm)}.msg-bubble-customer{background:var(--color-primary);color:#fff;border-top-right-radius:4px}.msg-bubble-admin{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-top-left-radius:4px}.msg-bubble p{margin:4px 0}.msg-bubble p:first-child{margin-top:0}.msg-bubble p:last-child{margin-bottom:0}.msg-bubble ul,.msg-bubble ol{padding-left:20px;margin:4px 0}.msg-bubble ul{list-style:disc}.msg-bubble ol{list-style:decimal}.msg-bubble a{color:inherit;text-decoration:underline;text-underline-offset:2px}.msg-bubble-customer a{color:#fff}.msg-bubble blockquote{border-left:2px solid currentColor;padding-left:10px;opacity:.8;margin:6px 0}.msg-bubble code{background:#00000014;padding:1px 5px;border-radius:4px;font-family:var(--font-mono);font-size:.9em}.msg-bubble-customer code{background:#fff3}.msg-bubble pre{background:#000c;color:#fff;padding:10px 12px;border-radius:6px;overflow-x:auto;margin:6px 0}.msg-bubble pre code{background:transparent;padding:0;color:inherit}.msg-body-text{white-space:pre-wrap;word-break:break-word}.msg-atts{display:flex;flex-wrap:wrap;gap:6px}.msg-atts-left{justify-content:flex-start}.msg-atts-right{justify-content:flex-end}.msg-att-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:11px;color:var(--color-text);text-decoration:none;max-width:240px;transition:all var(--transition)}.msg-att-chip:hover{background:var(--color-bg);border-color:var(--color-primary)}.msg-att-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.msg-att-size{color:var(--color-text-tertiary);flex-shrink:0}.reply-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:14px 16px;display:flex;flex-direction:column;gap:10px}.reply-head{display:flex;align-items:center;justify-content:space-between}.reply-title{font-size:13px;font-weight:600;color:var(--color-text)}.reply-drop{position:relative;border-radius:var(--radius-sm);transition:box-shadow var(--transition)}.reply-drop-over{box-shadow:0 0 0 2px var(--color-primary)}.reply-drop-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#2563eb0f;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--color-primary);pointer-events:none}.reply-drop-hint span{background:var(--color-surface);padding:6px 14px;border-radius:var(--radius-pill);box-shadow:var(--shadow-md)}.reply-error{color:var(--color-error);font-size:12px;margin:0}.reply-file-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.reply-file-chip{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:12px}.reply-file-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-file-size{color:var(--color-text-tertiary);flex-shrink:0}.reply-file-count{color:var(--color-text-tertiary);font-weight:400}.reply-file-remove{border:none;background:none;color:var(--color-text-tertiary);font-size:16px;line-height:1;cursor:pointer;padding:0 4px;border-radius:4px;font-family:inherit}.reply-file-remove:hover{background:var(--color-border-light);color:var(--color-error)}.reply-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.rte-shell{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);transition:box-shadow var(--transition)}.rte-shell:focus-within{box-shadow:0 0 0 3px #2563eb1f;border-color:var(--color-primary)}.rte-placeholder{background:var(--color-bg)}.rte-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:4px;border-bottom:1px solid var(--color-border)}.rte-tb-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;transition:all var(--transition)}.rte-tb-btn:hover:not(:disabled){background:var(--color-border-light);color:var(--color-text)}.rte-tb-btn.active{background:var(--color-border-light);color:var(--color-text)}.rte-tb-btn:disabled{opacity:.5;cursor:not-allowed}.rte-tb-sep{width:1px;height:16px;background:var(--color-border);margin:0 4px;display:inline-block}.rte-body{padding:0}.rte-body .ProseMirror{min-height:var(--rte-min-h, 140px);padding:10px 14px;outline:none;font-size:13px;line-height:1.55;color:var(--color-text)}.rte-body .ProseMirror:focus{outline:none}.rte-body .ProseMirror p{margin:4px 0}.rte-body .ProseMirror p:first-child{margin-top:0}.rte-body .ProseMirror ul,.rte-body .ProseMirror ol{padding-left:20px;margin:4px 0}.rte-body .ProseMirror ul{list-style:disc}.rte-body .ProseMirror ol{list-style:decimal}.rte-body .ProseMirror blockquote{border-left:3px solid var(--color-border);padding-left:10px;color:var(--color-text-secondary);margin:6px 0}.rte-body .ProseMirror code{background:var(--color-border-light);padding:1px 5px;border-radius:4px;font-family:var(--font-mono);font-size:.9em}.rte-body .ProseMirror pre{background:#000000d9;color:#fff;padding:10px 12px;border-radius:6px;overflow-x:auto;margin:6px 0;font-family:var(--font-mono)}.rte-body .ProseMirror pre code{background:transparent;padding:0;color:inherit}.rte-link{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px}.rte-body .ProseMirror p.is-editor-empty:first-child:before,.rte-body .ProseMirror.is-empty:before{content:attr(data-placeholder);color:var(--color-text-tertiary);pointer-events:none;float:left;height:0}.closed-notice{margin-top:12px;padding:16px;background:var(--color-border-light);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:13px;text-align:center}.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}@media(max-width:640px){.t-table thead{display:none}.t-table,.t-table tbody,.t-table tr,.t-table td{display:block;width:100%}.t-table tbody tr{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px;margin-bottom:8px}.t-table tbody td{border:none;padding:4px 0}.t-td-muted:before,.t-td-id:before{content:""}.msg-col{max-width:92%}}
