:root{--rb-primary:#2196f3;--rb-primary-dark:#1976d2;--rb-primary-light:#42a5f5;--rb-secondary:#4caf50;--rb-success:#4caf50;--rb-danger:#f44336;--rb-warning:#ff9800;--rb-info:#00bcd4;--rb-text:#212529;--rb-text-secondary:#6c757d;--rb-background:#f8f9fa;--rb-surface:#fff;--rb-border:#dee2e6;--rb-shadow-sm:0 1px 3px rgba(0,0,0,.08);--rb-shadow:0 2px 8px rgba(0,0,0,.1);--rb-shadow-lg:0 8px 24px rgba(0,0,0,.12);--rb-radius:8px;--rb-radius-lg:12px;--rb-transition:all .2s ease}[data-theme=dark]{--rb-primary:#42a5f5;--rb-primary-dark:#2196f3;--rb-primary-light:#64b5f6;--rb-secondary:#66bb6a;--rb-success:#66bb6a;--rb-danger:#ef5350;--rb-warning:#ffa726;--rb-info:#26c6da;--rb-text:#e4e6eb;--rb-text-secondary:#b0b3b8;--rb-background:#18191a;--rb-surface:#242526;--rb-border:#3a3b3c;--rb-shadow-sm:0 1px 3px rgba(0,0,0,.3);--rb-shadow:0 2px 8px rgba(0,0,0,.4);--rb-shadow-lg:0 8px 24px rgba(0,0,0,.5)}.replybridge-portal{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--rb-text);line-height:1.6}.replybridge-portal-container{max-width:1200px;margin:0 auto;padding:20px}.replybridge-portal-header{background:var(--rb-surface);border-radius:var(--rb-radius-lg);padding:24px;margin-bottom:24px;box-shadow:var(--rb-shadow-sm)}.replybridge-portal-header h1{margin:0 0 8px;font-size:28px;font-weight:600;color:var(--rb-text)}.replybridge-portal-header p{margin:0;color:var(--rb-text-secondary)}.replybridge-portal-tabs{display:flex;gap:8px;margin-bottom:24px;padding:8px;background:var(--rb-surface);border-radius:var(--rb-radius-lg);box-shadow:var(--rb-shadow-sm)}.replybridge-tab{flex:1;padding:12px 24px;border:none;background:0 0;color:var(--rb-text-secondary);font-size:16px;font-weight:500;border-radius:var(--rb-radius);cursor:pointer;transition:var(--rb-transition);text-align:center}.replybridge-tab:hover{background:var(--rb-background);color:var(--rb-text)}.replybridge-tickets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px, 1fr));gap:20px;margin-bottom:24px}.replybridge-ticket-card{background:var(--rb-surface);border-radius:var(--rb-radius-lg);padding:20px;box-shadow:var(--rb-shadow-sm);transition:var(--rb-transition);cursor:pointer;position:relative;overflow:hidden}.replybridge-ticket-card:hover{box-shadow:var(--rb-shadow);transform:translateY(-2px)}.replybridge-ticket-card:before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:var(--rb-primary)}.replybridge-ticket-card.status-open:before{background:var(--rb-success)}.replybridge-ticket-card.status-pending:before{background:var(--rb-warning)}.replybridge-ticket-card.status-closed:before{background:var(--rb-danger)}.replybridge-ticket-card.status-resolved:before{background:var(--rb-info)}.replybridge-ticket-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:12px}.replybridge-ticket-number{font-size:14px;font-weight:600;color:var(--rb-primary)}.replybridge-ticket-date{font-size:13px;color:var(--rb-text-secondary)}.replybridge-status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:500;background:var(--rb-background);color:var(--rb-text)}.replybridge-status-badge.status-open{background:#e8f5e9;color:#2e7d32}.replybridge-status-badge.status-pending{background:#fff3e0;color:#f57c00}.replybridge-status-badge.status-closed{background:#ffebee;color:#c62828}.replybridge-status-badge.status-resolved{background:#e0f2f1;color:#00796b}[data-theme=dark] .replybridge-status-badge.status-open{background:rgba(76,175,80,.2);color:#81c784}[data-theme=dark] .replybridge-status-badge.status-pending{background:rgba(255,152,0,.2);color:#ffb74d}[data-theme=dark] .replybridge-status-badge.status-closed{background:rgba(244,67,54,.2);color:#ef5350}[data-theme=dark] .replybridge-status-badge.status-resolved{background:rgba(0,188,212,.2);color:#4dd0e1}.status-icon{font-size:14px}.replybridge-ticket-subject{font-size:16px;font-weight:600;color:var(--rb-text);margin-bottom:8px;line-height:1.4}.replybridge-ticket-excerpt{font-size:14px;color:var(--rb-text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.replybridge-ticket-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid var(--rb-border)}.replybridge-ticket-meta{display:flex;gap:16px;font-size:13px;color:var(--rb-text-secondary)}.replybridge-ticket-meta-item{display:flex;align-items:center;gap:4px}.replybridge-empty-state{text-align:center;padding:60px 20px;background:var(--rb-surface);border-radius:var(--rb-radius-lg);box-shadow:var(--rb-shadow-sm)}.replybridge-empty-icon{font-size:64px;color:var(--rb-text-secondary);margin-bottom:16px}.replybridge-empty-title{font-size:20px;font-weight:600;color:var(--rb-text);margin-bottom:8px}.replybridge-empty-text{color:var(--rb-text-secondary);margin-bottom:24px}.replybridge-thread-container{background:var(--rb-surface);border-radius:var(--rb-radius-lg);box-shadow:var(--rb-shadow);overflow:hidden;margin-bottom:24px}.replybridge-thread-header{background:linear-gradient(135deg,var(--rb-primary),var(--rb-primary-dark));color:#fff;padding:24px}.replybridge-thread-header h2{margin:0 0 8px;font-size:24px;font-weight:600}.replybridge-thread-info{display:flex;gap:24px;font-size:14px;opacity:.9}.replybridge-messages-timeline{padding:24px;max-height:600px;overflow-y:auto}.replybridge-message{display:flex;gap:16px;margin-bottom:24px;position:relative}.replybridge-message:last-child{margin-bottom:0}.replybridge-message-avatar{width:48px;height:48px;border-radius:50%;background:var(--rb-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px;flex-shrink:0}.replybridge-message.customer .replybridge-message-avatar{background:var(--rb-secondary)}.replybridge-message.system .replybridge-message-avatar{background:var(--rb-info)}.replybridge-message-content{flex:1;background:var(--rb-background);border-radius:var(--rb-radius);padding:16px;position:relative}.replybridge-message.agent .replybridge-message-content{background:var(--rb-surface);border:1px solid var(--rb-border)}.replybridge-message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.replybridge-message-author{font-weight:600;color:var(--rb-text)}.replybridge-message-time{font-size:13px;color:var(--rb-text-secondary)}.replybridge-message-body{color:var(--rb-text);line-height:1.6}.replybridge-message-body p{margin:0 0 1em}.replybridge-message-body p:last-child{margin-bottom:0}.replybridge-reply-form{background:var(--rb-surface);border-top:1px solid var(--rb-border);padding:24px}.replybridge-reply-form h3{margin:0 0 16px;font-size:18px;font-weight:600;color:var(--rb-text)}.replybridge-reply-textarea{width:100%;min-height:120px;padding:12px;border:1px solid var(--rb-border);border-radius:var(--rb-radius);font-size:15px;line-height:1.5;resize:vertical;transition:var(--rb-transition);background:var(--rb-background);color:var(--rb-text)}.replybridge-reply-textarea:focus{outline:none;border-color:var(--rb-primary);box-shadow:0 0 0 3px rgba(33,150,243,.1)}.replybridge-reply-actions{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.replybridge-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:var(--rb-radius);font-size:15px;font-weight:500;cursor:pointer;transition:var(--rb-transition);text-decoration:none}.replybridge-btn-primary{background:var(--rb-primary);color:#fff}.replybridge-btn-primary:hover{background:var(--rb-primary-dark);box-shadow:var(--rb-shadow-sm)}.replybridge-btn-secondary{background:var(--rb-background);color:var(--rb-text);border:1px solid var(--rb-border)}.replybridge-btn-secondary:hover{background:var(--rb-surface)}.replybridge-btn-success{background:var(--rb-success);color:#fff}.replybridge-btn-danger{background:var(--rb-danger);color:#fff}.replybridge-loading{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--rb-text-secondary)}.replybridge-spinner{width:32px;height:32px;border:3px solid var(--rb-border);border-top-color:var(--rb-primary);border-radius:50%;animation:spin 1s linear infinite;margin-right:12px}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:768px){.replybridge-portal-container{padding:12px}.replybridge-tickets-grid{grid-template-columns:1fr;gap:12px}.replybridge-ticket-card{padding:16px}.replybridge-portal-tabs{padding:4px;gap:4px}.replybridge-tab{padding:10px 16px;font-size:14px}.replybridge-thread-container{border-radius:0;margin:-12px;margin-bottom:0}.replybridge-messages-timeline{max-height:calc(100vh - 300px);padding:16px}.replybridge-reply-form{position:sticky;bottom:0;background:var(--rb-surface);box-shadow:0 -2px 8px rgba(0,0,0,.1);z-index:10}.replybridge-message{gap:12px}.replybridge-message-avatar{width:40px;height:40px;font-size:16px}.replybridge-ticket-footer{flex-direction:column;gap:12px;align-items:start}}.replybridge-fade-in{animation:fadeIn .3s ease-out}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.replybridge-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.replybridge-portal a:focus,.replybridge-portal button:focus,.replybridge-portal input:focus,.replybridge-portal select:focus,.replybridge-portal textarea:focus{outline:2px solid var(--rb-primary);outline-offset:2px}@media print{.replybridge-portal-tabs,.replybridge-reply-form,.replybridge-btn{display:none !important}.replybridge-thread-container{box-shadow:none;border:1px solid #000}}