:root{--color-bg-dark: #0a0e17;--color-bg-sidebar: #0d1117;--color-bg-card: #111827;--color-bg-input: #1a202c;--color-accent-gold: #d4af37;--color-accent-gold-light: #f4d03f;--color-accent-blue: #3b82f6;--color-text-primary: #f8fafc;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-border: #1e293b;--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--color-bronze: #cd7f32;--color-silver: #c0c0c0;--color-gold: #ffd700;--font-display: "Playfair Display", Georgia, serif;--font-body: "Raleway", sans-serif;--sidebar-width: 280px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background:var(--color-bg-dark);color:var(--color-text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;display:flex}.container{max-width:1200px;margin:0 auto;padding:20px;width:100%}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;padding:24px;margin-bottom:20px;transition:all .3s cubic-bezier(.4,0,.2,1)}.card:hover{border-color:#d4af374d;transform:translateY(-2px);box-shadow:0 8px 24px #0003}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.25rem;border-radius:10px;font-family:var(--font-body);font-weight:600;font-size:.9rem;text-decoration:none;transition:all .3s;cursor:pointer;border:none}.btn-primary{background:linear-gradient(135deg,var(--color-accent-gold),var(--color-accent-gold-light));color:var(--color-bg-dark)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 5px 20px #d4af3766}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--color-bg-input);border:1px solid var(--color-border);color:var(--color-text-primary)}.btn-secondary:hover{border-color:var(--color-accent-gold);color:var(--color-accent-gold);background:#d4af370d}.btn-secondary:active{transform:scale(.98)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:#dc2626;transform:translateY(-2px)}.btn-sm{padding:.5rem 1rem;font-size:.8rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.9rem;color:var(--color-text-primary)}.form-group input,.form-group select,.form-group textarea{width:100%;background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:10px;padding:.85rem 1rem;color:var(--color-text-primary);font-family:var(--font-body);font-size:.95rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent-gold);box-shadow:0 0 0 3px #d4af371a}.form-group textarea{resize:vertical;min-height:100px}.form-hint{font-size:.8rem;color:var(--color-text-muted);margin-top:.35rem}.error{color:var(--color-danger);margin-top:8px;font-size:14px;padding:.5rem;background:#ef44441a;border-radius:8px;border-left:3px solid var(--color-danger)}.success{color:var(--color-success);margin-top:8px;font-size:14px;padding:.5rem;background:#10b9811a;border-radius:8px;border-left:3px solid var(--color-success)}.loading{text-align:center;padding:40px 20px;color:var(--color-text-secondary)}.robot-card{border:1px solid var(--color-border);border-radius:12px;padding:20px;margin-bottom:16px;cursor:pointer;transition:all .3s;background:var(--color-bg-card)}.robot-card:hover{border-color:var(--color-accent-gold);box-shadow:0 4px 12px #d4af3733;transform:translateY(-2px)}.robot-card:active{transform:translateY(0)}.robot-card.selected{border-color:var(--color-accent-gold);background:#d4af371a}.risk-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:700;margin-left:8px}.risk-low{background:#10b98126;color:var(--color-success)}.risk-medium{background:#f59e0b26;color:var(--color-warning)}.risk-high{background:#ef444426;color:var(--color-danger)}.risk-very-high{background:#d4af3726;color:var(--color-accent-gold)}.header{background:var(--color-bg-sidebar);border-bottom:1px solid var(--color-border);padding:16px 0;margin-bottom:20px}.header-content{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}.header h1{font-family:var(--font-display);font-size:24px;color:var(--color-text-primary)}.header-actions{display:flex;gap:16px;align-items:center}.account-list{display:grid;gap:16px}.account-item{border:1px solid var(--color-border);border-radius:12px;padding:16px;display:flex;justify-content:space-between;align-items:center;background:var(--color-bg-card);transition:all .3s}.account-item:hover{border-color:#d4af374d;background:#d4af3708}.account-info h3{margin-bottom:8px;font-family:var(--font-display);color:var(--color-text-primary)}.account-status{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:700}.status-pending{background:#f59e0b26;color:var(--color-warning)}.status-active{background:#10b98126;color:var(--color-success)}.status-pending_deposit{background:#3b82f626;color:var(--color-accent-blue)}.status-pending_rannforex{background:#f59e0b26;color:var(--color-warning)}.section{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;margin-bottom:1.5rem;overflow:hidden}.section-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.section-title{font-family:var(--font-display);font-size:1.15rem;color:var(--color-text-primary)}.section-body{padding:1.5rem}.accounts-table{width:100%;border-collapse:collapse}.accounts-table th,.accounts-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--color-border)}.accounts-table th{color:var(--color-text-muted);font-weight:500;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.accounts-table tr:last-child td{border-bottom:none}.accounts-table tr:hover td{background:#d4af3708}.account-info{display:flex;align-items:center;gap:.75rem}.account-icon{width:40px;height:40px;background:var(--color-bg-input);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem}.account-number{font-weight:600;color:var(--color-text-primary)}.account-server{font-size:.8rem;color:var(--color-text-muted)}.status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.status-badge.active{background:#10b98126;color:var(--color-success)}.status-badge.pending{background:#f59e0b26;color:var(--color-warning)}.status-badge.inactive{background:#ef444426;color:var(--color-danger)}.tariff-badge{padding:.35rem .75rem;border-radius:8px;font-size:.8rem;font-weight:600}.tariff-badge.conservative{background:#10b98126;color:var(--color-success)}.tariff-badge.standard{background:#3b82f626;color:var(--color-accent-blue)}.tariff-badge.aggressive{background:#d4af3726;color:var(--color-accent-gold)}.profit-value{font-weight:600}.profit-value.positive{color:var(--color-success)}.profit-value.negative{color:var(--color-danger)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-card:hover{border-color:#d4af374d;transform:translateY(-2px);box-shadow:0 8px 24px #0003}.stat-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.stat-icon.gold{background:#d4af3726}.stat-icon.blue{background:#3b82f626}.stat-icon.green{background:#10b98126}.stat-icon.purple{background:#8b5cf626}.stat-trend{display:flex;align-items:center;gap:.25rem;font-size:.8rem;padding:.25rem .5rem;border-radius:6px}.stat-trend.up{background:#10b98126;color:var(--color-success)}.stat-trend.down{background:#ef444426;color:var(--color-danger)}.stat-value{font-family:var(--font-display);font-size:2rem;font-weight:700;margin-bottom:.25rem}.stat-value.gold{color:var(--color-accent-gold)}.stat-label{color:var(--color-text-secondary);font-size:.9rem}.balance-hint{font-size:.75rem;margin-top:.25rem;padding:.2rem .5rem;border-radius:4px;display:inline-block}.stat-card.debt{border-color:var(--color-danger);background:#ef44440d}.stat-card.debt .stat-value{color:var(--color-danger)}.stat-card.debt .balance-hint{background:#ef444426;color:var(--color-danger)}.stat-card.credit{border-color:var(--color-success);background:#10b9810d}.stat-card.credit .stat-value{color:var(--color-success)}.stat-card.credit .balance-hint{background:#10b98126;color:var(--color-success)}.stat-card.zero .stat-value{color:var(--color-text-secondary)}.stat-card.zero .balance-hint{background:#94a3b826;color:var(--color-text-secondary)}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.cabinet-balance{background:var(--color-bg-input);border-radius:12px;padding:1rem;margin-bottom:1rem;border-left:4px solid var(--color-border)}.cabinet-balance.debt{border-left-color:var(--color-danger);background:#ef44440d}.cabinet-balance.credit{border-left-color:var(--color-success);background:#10b9810d}.cabinet-balance.zero{border-left-color:var(--color-text-muted)}.cabinet-balance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.cabinet-balance-label{font-weight:600;font-size:.9rem}.cabinet-balance-value{font-family:var(--font-display);font-size:1.5rem;font-weight:700}.cabinet-balance.debt .cabinet-balance-value{color:var(--color-danger)}.cabinet-balance.credit .cabinet-balance-value{color:var(--color-success)}.cabinet-balance-details{border-top:1px solid var(--color-border);padding-top:.75rem}.balance-line{display:flex;justify-content:space-between;font-size:.85rem;color:var(--color-text-secondary);padding:.25rem 0}.payment-card{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--color-bg-input);border-radius:12px;margin-bottom:.75rem}.payment-info{display:flex;align-items:center;gap:1rem}.payment-icon{width:45px;height:45px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.payment-icon.subscription{background:#3b82f626}.payment-icon.profit{background:#10b98126}.payment-icon.service{background:#8b5cf626}.payment-details h4{font-weight:600;margin-bottom:.2rem;color:var(--color-text-primary)}.payment-details span{font-size:.8rem;color:var(--color-text-muted)}.payment-amount{text-align:right}.payment-amount .amount{font-family:var(--font-display);font-size:1.25rem;font-weight:700}.payment-amount .amount.due{color:var(--color-warning)}.payment-amount .amount.paid{color:var(--color-success)}.payment-amount .status{font-size:.8rem;color:var(--color-text-muted)}.sidebar{width:var(--sidebar-width);background:var(--color-bg-sidebar);border-right:1px solid var(--color-border);height:100vh;position:fixed;left:0;top:0;display:flex;flex-direction:column;z-index:100}.sidebar-header{padding:1.5rem;border-bottom:1px solid var(--color-border)}.logo{display:flex;align-items:center;gap:.75rem;text-decoration:none}.logo-icon{width:42px;height:42px;background:linear-gradient(135deg,var(--color-accent-gold),var(--color-accent-gold-light));border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:1.2rem;color:var(--color-bg-dark)}.logo-text{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--color-text-primary)}.sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto}.nav-section{margin-bottom:1.5rem}.nav-section-title{padding:.5rem 1.5rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.5rem;color:var(--color-text-secondary);text-decoration:none;transition:all .2s;cursor:pointer;border-left:3px solid transparent}.nav-item:hover{background:#d4af370d;color:var(--color-text-primary)}.nav-item.active{background:#d4af371a;color:var(--color-accent-gold);border-left-color:var(--color-accent-gold)}.nav-icon{font-size:1.25rem;width:24px;text-align:center}.sidebar-footer{padding:1rem 1.5rem;border-top:1px solid var(--color-border)}.user-info{display:flex;align-items:center;gap:.75rem}.user-avatar{width:40px;height:40px;background:linear-gradient(135deg,var(--color-accent-gold),var(--color-accent-blue));border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;color:var(--color-bg-dark)}.user-details{flex:1}.user-name{font-weight:600;font-size:.9rem;color:var(--color-text-primary)}.user-email{font-size:.75rem;color:var(--color-text-muted)}.main-content{margin-left:var(--sidebar-width);flex:1;min-height:100vh}.top-bar{background:var(--color-bg-sidebar);border-bottom:1px solid var(--color-border);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:50}.page-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text-primary)}.top-bar-actions{display:flex;align-items:center;gap:1rem}.lang-selector{position:relative}.lang-btn{background:var(--color-bg-card);border:1px solid var(--color-border);color:var(--color-text-primary);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-family:var(--font-body);font-size:.85rem;display:flex;align-items:center;gap:.5rem;transition:all .3s}.lang-btn:hover{border-color:var(--color-accent-gold)}.notification-btn{background:var(--color-bg-card);border:1px solid var(--color-border);color:var(--color-text-primary);width:40px;height:40px;border-radius:8px;cursor:pointer;position:relative;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all .3s}.notification-btn:hover{border-color:var(--color-accent-gold)}.notification-dot{position:absolute;top:8px;right:8px;width:8px;height:8px;background:var(--color-danger);border-radius:50%}.content-area{padding:2rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:1.5rem;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.modal-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text-primary)}.modal-close{background:none;border:none;color:var(--color-text-secondary);font-size:2rem;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .3s}.modal-close:hover{background:var(--color-bg-input);color:var(--color-text-primary)}.modal-body{padding:1.5rem}.onboarding-wizard{min-height:100vh;background:var(--color-bg-dark);display:flex;align-items:flex-start;justify-content:center;padding:2rem}.onboarding-container{max-width:800px;width:100%}.onboarding-stepper{display:flex;justify-content:space-between;margin-bottom:2rem;position:relative}.onboarding-stepper:before{content:"";position:absolute;top:18px;left:30px;right:30px;height:2px;background:var(--color-border);z-index:0}.stepper-step{display:flex;flex-direction:column;align-items:center;gap:.5rem;z-index:1;cursor:default}.stepper-step.completed{cursor:pointer}.stepper-circle{width:36px;height:36px;border-radius:50%;background:var(--color-bg-card);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:.9rem;color:var(--color-text-muted);transition:all .3s}.stepper-step.active .stepper-circle{background:linear-gradient(135deg,var(--color-accent-gold),var(--color-accent-gold-light));border-color:var(--color-accent-gold);color:var(--color-bg-dark)}.stepper-step.completed .stepper-circle{background:var(--color-success);border-color:var(--color-success);color:#fff}.stepper-label{font-size:.75rem;color:var(--color-text-muted);text-align:center;max-width:80px}.stepper-step.active .stepper-label{color:var(--color-accent-gold);font-weight:600}.stepper-step.completed .stepper-label{color:var(--color-success)}.onboarding-step-content{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;padding:2rem;margin-bottom:1.5rem}.onboarding-step-title{font-family:var(--font-display);font-size:1.75rem;color:var(--color-text-primary);margin-bottom:.5rem}.onboarding-step-subtitle{color:var(--color-text-secondary);margin-bottom:1.5rem}.onboarding-info-card{padding:1.5rem;background:var(--color-bg-input);border-radius:12px}.onboarding-info-card p{color:var(--color-text-secondary);line-height:1.7;margin-bottom:.75rem}.onboarding-info-card p:last-of-type{margin-bottom:0}.onboarding-info-icon{font-size:2.5rem;margin-bottom:1rem}.offer-scroll-container{max-height:400px;overflow-y:auto;padding:1.5rem;background:var(--color-bg-input);border-radius:12px;border:1px solid var(--color-border);margin-bottom:1.5rem}.offer-scroll-container h1{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text-primary);margin:1.5rem 0 .75rem}.offer-scroll-container h2{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text-primary);margin:1.25rem 0 .5rem}.offer-scroll-container h3{font-family:var(--font-display);font-size:1.1rem;color:var(--color-text-primary);margin:1rem 0 .5rem}.offer-scroll-container p{color:var(--color-text-secondary);line-height:1.7;margin-bottom:.75rem}.offer-scroll-container ul,.offer-scroll-container ol{color:var(--color-text-secondary);padding-left:1.5rem;margin-bottom:.75rem}.offer-scroll-container li{margin-bottom:.25rem;line-height:1.6}.offer-scroll-container table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.85rem}.offer-scroll-container th,.offer-scroll-container td{padding:.5rem .75rem;border:1px solid var(--color-border);text-align:left}.offer-scroll-container th{background:#d4af371a;color:var(--color-text-primary);font-weight:600}.offer-scroll-container td{color:var(--color-text-secondary)}.offer-scroll-container strong{color:var(--color-text-primary)}.offer-scroll-container a{color:var(--color-accent-gold);text-decoration:underline}.offer-scroll-container hr{border:none;border-top:1px solid var(--color-border);margin:1.5rem 0}.offer-scroll-container code{background:#d4af371a;padding:.2rem .4rem;border-radius:4px;font-size:.85em}.offer-scroll-container pre{background:var(--color-bg-dark);padding:1rem;border-radius:8px;overflow-x:auto;margin:.75rem 0}.offer-checkbox{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;padding:1rem;background:#d4af370d;border:1px solid var(--color-border);border-radius:10px}.offer-checkbox input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:var(--color-accent-gold);cursor:pointer;flex-shrink:0}.offer-checkbox span{color:var(--color-text-secondary);font-size:.95rem;line-height:1.5}.onboarding-nav{display:flex;justify-content:space-between;align-items:center}.offer-page{max-width:800px;margin:0 auto}.offer-page h1{font-family:var(--font-display);font-size:1.75rem;color:var(--color-text-primary);margin:1.5rem 0 .75rem}.offer-page h2{font-family:var(--font-display);font-size:1.4rem;color:var(--color-text-primary);margin:1.5rem 0 .75rem}.offer-page h3{font-family:var(--font-display);font-size:1.15rem;color:var(--color-text-primary);margin:1rem 0 .5rem}.offer-page p{color:var(--color-text-secondary);line-height:1.7;margin-bottom:.75rem}.offer-page ul,.offer-page ol{color:var(--color-text-secondary);padding-left:1.5rem;margin-bottom:.75rem}.offer-page li{margin-bottom:.25rem;line-height:1.6}.offer-page table{width:100%;border-collapse:collapse;margin:1rem 0}.offer-page th,.offer-page td{padding:.6rem .75rem;border:1px solid var(--color-border);text-align:left}.offer-page th{background:#d4af371a;color:var(--color-text-primary);font-weight:600}.offer-page td{color:var(--color-text-secondary)}.offer-page strong{color:var(--color-text-primary)}.offer-page a{color:var(--color-accent-gold);text-decoration:underline}.offer-page hr{border:none;border-top:1px solid var(--color-border);margin:1.5rem 0}.offer-page code{background:#d4af371a;padding:.2rem .4rem;border-radius:4px;font-size:.85em}.offer-page pre{background:var(--color-bg-input);padding:1rem;border-radius:8px;overflow-x:auto;margin:.75rem 0}@media (max-width: 1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1024px){.two-columns{grid-template-columns:1fr}.content-area{padding:1.5rem}}@media (max-width: 768px){.onboarding-wizard{padding:1rem}.onboarding-stepper{gap:0}.stepper-label{font-size:.65rem;max-width:55px}.stepper-circle{width:30px;height:30px;font-size:.8rem}.onboarding-stepper:before{top:15px;left:20px;right:20px}.onboarding-step-content{padding:1.25rem}.onboarding-step-title{font-size:1.35rem}.offer-scroll-container{max-height:300px;padding:1rem}.sidebar{transform:translate(-100%);transition:transform .3s ease-in-out}.sidebar.open{transform:translate(0)}.main-content{margin-left:0}.top-bar{padding:1rem}.page-title{font-size:1.25rem}.content-area{padding:1rem}.stats-grid{grid-template-columns:1fr;gap:1rem}.stat-card{padding:1.25rem}.stat-value{font-size:1.75rem}.accounts-table{display:block;overflow-x:auto;font-size:.85rem}.accounts-table th,.accounts-table td{padding:.75rem .5rem}.section-header{padding:1rem;flex-direction:column;align-items:flex-start;gap:.75rem}.section-body{padding:1rem}.modal-content{margin:1rem;max-width:calc(100% - 2rem)}.modal-header,.modal-body{padding:1rem}.payment-card{flex-direction:column;align-items:flex-start;gap:1rem}.payment-amount{text-align:left;width:100%}.cabinet-balance{padding:.75rem}.cabinet-balance-value{font-size:1.25rem}}@media (max-width: 480px){.top-bar-actions{gap:.5rem}.lang-btn{padding:.4rem .75rem;font-size:.8rem}.notification-btn{width:36px;height:36px}.btn{padding:.6rem 1rem;font-size:.85rem}.btn-sm{padding:.4rem .75rem;font-size:.75rem}}.chat-toggle{position:fixed;right:0;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;text-orientation:mixed;background:linear-gradient(180deg,var(--color-accent-gold),var(--color-accent-gold-light));color:var(--color-bg-dark);border:none;padding:16px 8px;font-family:var(--font-body);font-weight:700;font-size:.85rem;cursor:pointer;border-radius:10px 0 0 10px;z-index:200;letter-spacing:.05em;transition:padding .2s}.chat-toggle:hover{padding:16px 12px}.chat-toggle.hidden{display:none}.chat-panel{position:fixed;right:0;top:0;width:456px;height:100vh;background:var(--color-bg-sidebar);border-left:1px solid var(--color-border);display:flex;flex-direction:column;z-index:200;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.chat-panel.open{transform:translate(0)}.app.chat-open .main-content{margin-right:456px;transition:margin-right .3s cubic-bezier(.4,0,.2,1)}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border);font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--color-accent-gold);flex-shrink:0}.chat-close{background:none;border:none;color:var(--color-text-secondary);font-size:1.5rem;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.chat-close:hover{background:var(--color-bg-input);color:var(--color-text-primary)}.chat-messages{flex:1;overflow-y:auto;padding:1rem 1rem 4rem;display:flex;flex-direction:column;gap:.75rem}.chat-message{max-width:90%;padding:.75rem 1rem;border-radius:12px;font-size:.9rem;line-height:1.55}.chat-message.user{align-self:flex-end;background:#d4af3726;color:var(--color-text-primary);border-bottom-right-radius:4px}.chat-message.user p{margin:0;white-space:pre-wrap}.chat-message.assistant{align-self:flex-start;background:var(--color-bg-card);border:1px solid var(--color-border);color:var(--color-text-secondary);border-bottom-left-radius:4px}.chat-message.assistant p{margin:0 0 .5rem}.chat-message.assistant p:last-child{margin-bottom:0}.chat-message.assistant strong{color:var(--color-text-primary)}.chat-message.assistant a{color:var(--color-accent-gold)}.chat-message.assistant ul,.chat-message.assistant ol{margin:.25rem 0;padding-left:1.25rem}.chat-message.assistant li{margin-bottom:.2rem}.chat-message.assistant table{display:block;overflow-x:auto;max-width:100%;border-collapse:collapse;margin:.5rem 0;font-size:.75rem}.chat-message.assistant th,.chat-message.assistant td{padding:.25rem .4rem;border:1px solid var(--color-border);text-align:left;white-space:nowrap}.chat-message.assistant th{background:#d4af371a;color:var(--color-text-primary);font-weight:600}.chat-message.assistant code{background:var(--color-bg-input);padding:.15rem .35rem;border-radius:4px;font-size:.85em}.chat-error{font-size:.8rem;color:var(--color-danger);padding:.5rem;background:#ef44441a;border-radius:8px;text-align:center}.chat-loading{display:flex;gap:4px;padding:4px 0}.chat-loading span{width:8px;height:8px;background:var(--color-text-muted);border-radius:50%;animation:chatBounce 1.2s infinite}.chat-loading span:nth-child(2){animation-delay:.2s}.chat-loading span:nth-child(3){animation-delay:.4s}@keyframes chatBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.chat-input-area{padding:.75rem;border-top:1px solid var(--color-border);display:flex;gap:.5rem;align-items:flex-end;flex-shrink:0}.chat-input-area textarea{flex:1;background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:10px;padding:.75rem .85rem 4rem;color:var(--color-text-primary);font-family:var(--font-body);font-size:.9rem;resize:none;height:136px;overflow-y:auto;line-height:1.4}.chat-input-area textarea:focus{outline:none;border-color:var(--color-accent-gold)}.chat-input-area textarea::placeholder{color:var(--color-text-muted)}.chat-send{background:linear-gradient(135deg,var(--color-accent-gold),var(--color-accent-gold-light));color:var(--color-bg-dark);border:none;width:42px;height:42px;border-radius:10px;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .2s}.chat-send:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 768px){.chat-panel{width:100%}.app.chat-open .main-content{margin-right:0}.chat-toggle{padding:12px 6px;font-size:.8rem}}
