.product-section{display:block;padding:var(--space-6) 0}.product-header{margin-bottom:var(--space-6)}.product-title{font-size:var(--text-3xl);font-weight:800;margin-bottom:var(--space-2)}.product-subtitle{color:var(--color-text-muted);font-size:var(--text-base)}.product-filters{display:flex;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap}.filter-search{flex:1;min-width:240px;position:relative}.filter-search input{width:100%;min-height:48px;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);transition:border-color var(--transition-fast)}.filter-search input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.filter-search svg{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.filter-category{min-width:160px}.filter-category select{width:100%;min-height:48px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);cursor:pointer;transition:border-color var(--transition-fast)}.filter-category select:focus{outline:none;border-color:var(--color-primary)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.product-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;transition:all var(--transition-normal);cursor:pointer}.product-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.product-image{width:100%;aspect-ratio:4 / 3;object-fit:cover;background:linear-gradient(135deg,rgba(var(--color-primary-rgb),.1),rgba(var(--color-accent-rgb),.1))}.product-body{padding:var(--space-4)}.product-category{display:inline-block;padding:4px 10px;border-radius:var(--radius-sm);background:rgba(var(--color-primary-rgb),.1);color:var(--color-primary);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.product-name{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-2);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-description{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-3);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-price{font-size:var(--text-2xl);font-weight:800;color:var(--color-primary);margin-bottom:var(--space-4);font-variant-numeric:tabular-nums}.product-actions{display:grid;grid-template-columns:1fr;gap:var(--space-2)}.btn-calculate-loan,.btn-add-quotation{width:100%;min-height:42px;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-2);font-size:var(--text-sm);font-weight:800;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-calculate-loan{color:#fff;background:var(--grad-primary);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.3)}.btn-calculate-loan:hover{box-shadow:0 6px 16px rgba(var(--color-primary-rgb),.4);transform:translateY(-1px)}.btn-calculate-loan:active{transform:scale(.98)}.btn-add-quotation{color:var(--color-text);background:#0f172a70;border:1px solid var(--color-border)}.btn-add-quotation:hover{background:rgba(var(--color-primary-rgb),.2);transform:translateY(-1px)}.btn-add-quotation:active{transform:scale(.98)}.selected-product-banner{display:none;align-items:center;gap:var(--space-3);padding:var(--space-4);margin-bottom:var(--space-4);background:linear-gradient(135deg,rgba(var(--color-primary-rgb),.15),rgba(var(--color-accent-rgb),.1));border:1px solid rgba(var(--color-primary-rgb),.3);border-radius:var(--radius-lg);position:relative}.selected-product-banner.active{display:flex}.selected-product-image{width:64px;height:64px;border-radius:var(--radius-md);object-fit:cover;background:#ffffff0d}.selected-product-info{flex:1;min-width:0}.selected-product-label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:4px}.selected-product-name{font-size:var(--text-base);font-weight:700;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-product-price{font-size:var(--text-sm);font-weight:600;color:var(--color-primary);font-variant-numeric:tabular-nums}.selected-product-form-info{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);margin-bottom:var(--space-5);background:linear-gradient(135deg,rgba(var(--color-primary-rgb),.15),rgba(var(--color-accent-rgb),.1));border:2px solid rgba(var(--color-primary-rgb),.35);border-radius:var(--radius-xl);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.2)}.selected-product-form-info.hidden{display:none}.selected-product-form-image{width:56px;height:56px;border-radius:var(--radius-lg);object-fit:cover;background:#ffffff0d;flex-shrink:0;border:2px solid rgba(var(--color-primary-rgb),.2)}.selected-product-form-details{flex:1;min-width:0}.selected-product-form-label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--space-1)}.selected-product-form-name{font-size:var(--text-base);font-weight:700;margin-bottom:var(--space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text)}.selected-product-form-price{font-size:var(--text-sm);font-weight:700;color:var(--color-primary);font-variant-numeric:tabular-nums}.btn-clear-product{width:32px;height:32px;display:grid;place-items:center;border:none;border-radius:var(--radius-full);background:#ffffff1a;color:var(--color-text-muted);font-size:var(--text-xl);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-clear-product:hover{background:#f43f5e33;color:var(--color-danger)}.btn-create-quotation{display:flex;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:all var(--transition-fast);box-shadow:0 4px 12px #10b9814d}.btn-create-quotation:hover{box-shadow:0 6px 16px #10b98166;transform:translateY(-1px)}.btn-create-quotation:active{transform:scale(.98)}.btn-create-quotation:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-create-quotation svg{flex-shrink:0}.product-loading{display:grid;place-items:center;min-height:400px;color:var(--color-text-muted)}.product-loading svg{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.product-empty{display:grid;place-items:center;min-height:400px;text-align:center;padding:var(--space-6)}.product-empty svg{width:64px;height:64px;color:var(--color-text-muted);margin-bottom:var(--space-4)}.product-empty h3{font-size:var(--text-xl);margin-bottom:var(--space-2)}.product-empty p{color:var(--color-text-muted);font-size:var(--text-base)}@media (min-width: 901px){.product-section,.input-panel,.results-panel,.schedule-section{display:block!important}}@media (max-width: 640px){.product-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.product-filters{flex-direction:column}.filter-search{min-width:100%}.product-card{border-radius:var(--radius-lg)}.product-body{padding:var(--space-3)}.product-name{font-size:var(--text-base)}.product-price{font-size:var(--text-lg)}.product-actions{grid-template-columns:1fr}.btn-calculate-loan,.btn-add-quotation{font-size:var(--text-xs);min-height:38px;padding:var(--space-2)}.selected-product-banner{padding:var(--space-3)}.selected-product-image{width:48px;height:48px}.btn-create-quotation{width:100%;justify-content:center}}@media (max-width: 480px){.product-title{font-size:var(--text-2xl)}.product-grid{grid-template-columns:1fr}.product-card{display:flex;gap:var(--space-3)}.product-image{width:120px;flex-shrink:0;aspect-ratio:1}.product-body{flex:1;min-width:0}}@media (max-width: 768px){.export-buttons .btn-create-quotation{grid-column:1 / -1;width:100%;justify-content:center}}.crm-section{display:block;min-height:60vh}.crm-layout{display:grid;grid-template-columns:1fr;gap:var(--space-5);min-width:0;width:100%}.crm-layout.single-panel{grid-template-columns:1fr}.btn-crm-back{display:inline-flex;align-items:center;gap:var(--space-2);padding:0;color:var(--color-primary);background:transparent;border:0;cursor:pointer;font-size:var(--text-sm);font-weight:700;transition:color var(--transition-fast)}.btn-crm-back:hover{color:var(--color-primary-light)}.crm-form-panel,.crm-list-panel{padding:var(--space-6);min-width:0;width:100%;max-width:100%;box-sizing:border-box}.crm-list-panel{overflow:hidden}.crm-header{margin-bottom:var(--space-4)}.crm-header.compact h2,.crm-title{margin:0;color:var(--color-text);font-size:var(--text-2xl);font-weight:800}.crm-subtitle{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.5}.crm-tabs{display:flex;gap:0;margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border);overflow-x:auto}.crm-tab{padding:var(--space-3) var(--space-4);color:var(--color-text-muted);background:transparent;border:0;border-bottom:2px solid transparent;cursor:pointer;font-size:var(--text-sm);font-weight:700;white-space:nowrap}.crm-tab:hover,.crm-tab.active{color:var(--color-text)}.crm-tab.active{border-bottom-color:var(--color-primary)}.crm-actions{display:grid;gap:var(--space-3)}.crm-fab{display:none}.crm-search,.crm-filter{position:relative}.crm-search svg{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.crm-search input,.crm-filter select,.crm-form-input,.crm-form-select{width:100%;min-height:48px;padding:var(--space-3) var(--space-4);color:var(--color-text);background:#1e293bd1;border:1px solid var(--color-border);border-radius:var(--radius-lg);font:inherit;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.crm-search input{padding-left:var(--space-10)}.crm-search input:focus,.crm-filter select:focus,.crm-form-input:focus,.crm-form-select:focus,.crm-phone-input-group:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.16)}.crm-phone-input-group{display:flex;gap:1px;background:var(--color-border);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.crm-phone-prefix{width:90px;min-height:48px;padding:var(--space-3) var(--space-2);color:var(--color-text);background:#1e293bf2;border:0;font:inherit;font-size:var(--text-sm);outline:none;text-align:center;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:24px}.crm-phone-input-group .crm-form-input{border:0;border-radius:0;background:#1e293bd1;flex:1}.crm-form-error{color:#fb7185;font-size:var(--text-xs);margin-top:4px;font-weight:600;display:none}.btn-crm-action,.btn-crm-secondary{min-height:48px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:800;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.btn-crm-action{color:#fff;background:var(--grad-primary)}.btn-crm-secondary{color:var(--color-text);background:#0f172a94;border-color:var(--color-border)}.btn-crm-action:hover,.btn-crm-secondary:hover{transform:translateY(-1px);border-color:var(--color-primary)}.crm-list{display:grid;gap:var(--space-3)}.crm-contact-list{display:grid;gap:1px;background:var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.crm-contact-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:#0f172a6b;transition:background var(--transition-fast)}.crm-contact-item:hover{background:#0f172aad}.crm-contact-avatar{width:44px;height:44px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;background:var(--grad-primary);font-weight:800;font-size:var(--text-sm)}.crm-contact-info{min-width:0;flex:1}.crm-contact-name{margin:0 0 2px;color:var(--color-text);font-size:var(--text-base);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crm-contact-detail{margin:0;color:var(--color-text-muted);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crm-contact-actions{display:flex;gap:var(--space-2)}.btn-contact-quote,.btn-contact-deal{width:40px;height:40px;border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted);background:var(--color-primary-dim);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.btn-contact-quote:hover,.btn-contact-deal:hover{color:var(--color-text);border-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.16)}.crm-card,.crm-empty{padding:var(--space-4);background:#0f172a6b;border:1px solid var(--color-border);border-radius:var(--radius-lg)}.crm-card{cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.crm-card:hover{transform:translateY(-2px);border-color:var(--color-primary);box-shadow:var(--shadow-md)}.crm-card-header{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4)}.crm-card-avatar{width:44px;height:44px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;background:var(--grad-primary);font-weight:800}.crm-card-info{min-width:0;flex:1}.crm-card-title{margin:0 0 var(--space-1);color:var(--color-text);font-size:var(--text-lg);font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crm-card-subtitle,.crm-card-row,.crm-card-footer,.crm-empty-hint{color:var(--color-text-muted);font-size:var(--text-sm)}.crm-card-subtitle{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crm-card-body{display:grid;gap:var(--space-3)}.crm-card-row{display:flex;align-items:center;gap:var(--space-2);overflow-wrap:anywhere}.crm-card-row svg{color:var(--color-text-muted);flex-shrink:0}.crm-card-row strong{color:var(--color-text)}.crm-card-footer{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.crm-card-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--color-primary-dim);color:var(--color-text);font-size:var(--text-xs);font-weight:800;white-space:nowrap}.crm-card-badge.stage-closed-won{background:#10b98129;color:#6ee7b7}.crm-card-badge.stage-closed-lost{background:#f43f5e29;color:#fda4af}.crm-card-badge.stage-qualified,.crm-card-badge.stage-proposal-sent,.crm-card-badge.stage-negotiation{background:#f59e0b29;color:#fcd34d}.crm-empty{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-12) var(--space-4);text-align:center}.crm-empty-icon{color:var(--color-text-dim)}.crm-empty-text{margin:0;color:var(--color-text);font-size:var(--text-lg);font-weight:800}.crm-empty-hint{margin:0}.crm-loading{display:grid;justify-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-4);color:var(--color-text-muted)}.crm-loading-spinner{width:44px;height:44px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:crm-spin .8s linear infinite}@keyframes crm-spin{to{transform:rotate(360deg)}}.crm-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#020617c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.crm-modal-content{width:min(620px,100%);max-height:min(88vh,720px);display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden}.crm-modal-header,.crm-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-5)}.crm-modal-header{border-bottom:1px solid var(--color-border)}.crm-modal-footer{border-top:1px solid var(--color-border)}.crm-modal-title{margin:0;color:var(--color-text);font-size:var(--text-xl)}.crm-modal-close{width:40px;height:40px;border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted);background:#0f172a75;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.crm-modal-close:hover{color:var(--color-text);border-color:var(--color-primary)}.crm-modal-body{flex:1;overflow-y:auto;padding:var(--space-5);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.crm-form{display:grid}.crm-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.crm-form-group{display:grid;gap:var(--space-2)}.crm-form-label{color:var(--color-text);font-size:var(--text-sm);font-weight:700}.crm-form-label.required:after{content:" *";color:var(--color-danger)}.crm-searchable-select{position:relative}.crm-searchable-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:100;background:#1e293bfa;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:240px;overflow-y:auto}.crm-searchable-option{padding:var(--space-3) var(--space-4);cursor:pointer;transition:background var(--transition-fast)}.crm-searchable-option:hover,.crm-searchable-option.selected{background:rgba(var(--color-primary-rgb),.16)}.crm-searchable-empty{padding:var(--space-4);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.contact-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:100;background:#1e293bfa;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:240px;overflow-y:auto}.contact-dropdown::-webkit-scrollbar{width:6px}.contact-dropdown::-webkit-scrollbar-track{background:transparent}.contact-dropdown::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.contact-option-name{font-weight:500;color:var(--color-text-primary);margin-bottom:2px}.contact-option-detail{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.crm-searchable-dropdown::-webkit-scrollbar{width:6px}.crm-searchable-dropdown::-webkit-scrollbar-track{background:transparent}.crm-searchable-dropdown::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.crm-kanban{display:flex;gap:var(--space-4);overflow-x:auto;width:100%;max-width:100%;min-width:0;padding-bottom:var(--space-3);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.crm-kanban-filters{display:grid;grid-template-columns:minmax(220px,1fr) minmax(140px,auto) minmax(140px,auto);gap:var(--space-3);align-items:end;margin-bottom:var(--space-4)}.crm-kanban-search{min-width:0}.crm-date-filter{display:grid;gap:var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:700}.crm-date-filter input{width:100%;min-height:44px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#0f172aad;color:var(--color-text)}.crm-kanban-column{flex:0 0 280px;min-height:520px;background:#0f172a6b;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;scroll-snap-align:start;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;flex-direction:column}.crm-kanban-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:#1e293b9e}.crm-kanban-stage-name{color:var(--color-text);font-weight:800;font-size:var(--text-sm)}.crm-kanban-count{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:700}.crm-kanban-body{display:grid;gap:var(--space-3);padding:var(--space-3);flex:1;overflow-y:auto}.crm-kanban-card-title{color:var(--color-text);font-weight:800;font-size:var(--text-sm);margin-bottom:var(--space-1)}.crm-kanban-card-contact,.crm-kanban-empty{color:var(--color-text-muted);font-size:var(--text-xs)}.crm-kanban-card{padding:var(--space-3);background:#1e293bd1;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;cursor:grab;-webkit-user-select:none;user-select:none}.crm-kanban-mobile-stage{display:none}.crm-kanban-card:active{cursor:grabbing;transform:scale(.98)}.crm-kanban-card:hover{border-color:rgba(var(--color-primary-rgb),.3);box-shadow:0 4px 12px #0003}.crm-kanban-card-contact{margin-top:var(--space-2);display:flex;align-items:center;color:var(--color-text-muted)}.crm-kanban-card-footer{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:space-between}.crm-kanban-source{display:flex;align-items:center;padding:2px 8px;background:#ffffff0d;border-radius:var(--radius-sm);color:var(--color-text-muted)}.crm-kanban-amount{color:var(--color-primary-light);font-weight:700;font-size:var(--text-sm)}.crm-kanban-empty{padding:var(--space-4);text-align:center;color:var(--color-text-muted);font-style:italic;border:2px dashed rgba(255,255,255,.05);border-radius:var(--radius-lg)}.crm-kanban-column.drag-over{border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.2)}.crm-kanban-card.dragging{opacity:.4}.crm-deal-view-toolbar{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-1);background:#0f172a66;border-radius:var(--radius-lg);width:fit-content}.crm-view-toggle{padding:var(--space-2) var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all .2s ease}.crm-view-toggle:hover{color:var(--color-text);background:#ffffff0d}.crm-view-toggle.active{background:var(--grad-primary);color:#fff;border-color:var(--color-primary)}.crm-deal-list{display:flex;flex-direction:column;gap:var(--space-2)}.crm-deal-list-empty{padding:var(--space-8);text-align:center;color:var(--color-text-muted);font-style:italic}.crm-deal-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);background:#1e293b99;border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.crm-deal-row:hover{background:#1e293bcc;border-color:var(--color-primary);transform:translateY(-1px)}.crm-deal-row-main{display:flex;flex-direction:column;gap:var(--space-1);flex:1;min-width:0}.crm-deal-row-title{color:var(--color-text);font-weight:700;font-size:var(--text-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crm-deal-row-contact{color:var(--color-text-muted);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crm-deal-row-meta{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);flex-shrink:0}.crm-deal-stage{padding:var(--space-1) var(--space-2);background:rgba(var(--color-primary-rgb),.2);border-radius:var(--radius-sm);color:var(--color-primary-light);font-weight:600;font-size:var(--text-xs)}.crm-kanban::-webkit-scrollbar{height:6px}.crm-kanban::-webkit-scrollbar-track{background:transparent}.crm-kanban::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.crm-toast{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:9999;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:#1e293bfa;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);color:var(--color-text);font-size:var(--text-sm);font-weight:600;opacity:0;transform:translateY(20px);transition:opacity .3s,transform .3s}.crm-toast.show{opacity:1;transform:translateY(0)}.crm-toast svg{color:var(--color-primary);flex-shrink:0}.crm-deal-view-toolbar{display:flex;background:#1e293bcc;border-radius:var(--radius-lg);padding:4px;margin-bottom:var(--space-4);border:1px solid var(--color-border)}.crm-view-toggle{flex:1;background:transparent;border:none;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:600;padding:var(--space-2) var(--space-3);min-height:40px;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.crm-view-toggle.active{background:var(--color-surface-hover);color:var(--color-text);box-shadow:0 2px 4px #0000001a}.crm-deal-list{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.crm-deal-list-empty{text-align:center;color:var(--color-text-muted);padding:var(--space-8);background:#0f172a6b;border-radius:var(--radius-lg);border:1px dashed var(--color-border)}.crm-deal-row{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background:#0f172a6b;border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:left;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast);width:100%}.crm-deal-row:hover,.crm-deal-row:active{border-color:var(--color-primary);background:#0f172a99}.crm-deal-row-main{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.crm-deal-row-title{font-weight:600;color:var(--color-text);font-size:var(--text-base)}.crm-deal-row-contact{color:var(--color-text-muted);font-size:var(--text-sm)}.crm-deal-row-meta{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted);align-items:center}.crm-deal-stage{color:var(--color-primary);font-weight:600;padding:2px 8px;background:rgba(var(--color-primary-rgb),.1);border-radius:var(--radius-full)}@media (max-width: 900px){.crm-layout{grid-template-columns:1fr;gap:var(--space-4)}.crm-form-panel,.crm-list-panel{padding:var(--space-3)}}@media (max-width: 640px){.crm-layout-deals{grid-template-columns:1fr}.crm-layout-deals .crm-list-panel{padding:var(--space-2) 0}.crm-layout-deals .crm-header.compact{padding:0 var(--space-3);margin-bottom:var(--space-3)}.crm-layout-deals .calculation-filters{padding:0 var(--space-3);width:100%;max-width:100%;box-sizing:border-box}.crm-form-panel,.crm-list-panel{padding:var(--space-3)}.crm-header{margin-bottom:var(--space-3)}.crm-title{font-size:var(--text-xl)}.crm-tabs{margin-bottom:var(--space-3)}.crm-tab{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.crm-header.compact{margin-bottom:var(--space-4)}.crm-header.compact h2{font-size:var(--text-lg)}.crm-actions{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.crm-search{flex:1}.crm-contact-list{padding-bottom:var(--space-2)}.crm-form-grid{grid-template-columns:1fr}.crm-modal{align-items:flex-end;padding:var(--space-3)}.crm-modal-content{max-height:85vh;border-bottom-left-radius:0;border-bottom-right-radius:0}.crm-modal-header,.crm-modal-body,.crm-modal-footer{padding:var(--space-4)}.crm-modal-footer{flex-direction:column-reverse}.crm-modal-footer .btn-crm-action,.crm-modal-footer .btn-crm-secondary{width:100%}.crm-actions .btn-crm-action{position:relative;width:48px;height:48px;min-height:48px;border-radius:var(--radius-lg);padding:0;z-index:auto;background:var(--grad-primary);border:none;box-shadow:var(--shadow-sm);font-size:0;line-height:0;overflow:hidden;flex-shrink:0}.crm-actions .btn-crm-action:active{transform:scale(.95)}.crm-actions .btn-crm-action svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:24px;stroke-width:2.5;color:#fff;margin:0;padding:0}.desktop-only-btn{display:none!important}.crm-fab{display:none;position:fixed;top:auto;right:max(var(--space-4),env(safe-area-inset-right));bottom:calc(var(--space-5) + 80px + env(safe-area-inset-bottom));width:60px;height:60px;min-height:60px;border-radius:var(--radius-full);padding:0;z-index:999;background:var(--grad-primary);border:1px solid rgba(255,255,255,.2);box-shadow:0 10px 25px -5px rgba(var(--color-primary-rgb),.5),0 8px 10px -6px #0000004d;color:#fff;justify-content:center;align-items:center;transition:transform var(--transition-fast);cursor:pointer;border:none}.crm-fab.crm-fab-visible{display:flex!important}.crm-fab:active{transform:scale(.92)}.scrollable-filters{display:flex!important;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;align-items:center;gap:var(--space-2);scrollbar-width:none}.scrollable-filters::-webkit-scrollbar{display:none}.scrollable-filters>*{flex:0 0 auto}.scrollable-filters input[type=date]{min-width:140px}.crm-view-toggle,.crm-form-input,.crm-form-select{min-height:48px}.crm-deal-row-main{flex-direction:column;gap:var(--space-1)}.crm-deal-row-meta{gap:var(--space-2);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid rgba(255,255,255,.05)}.calculation-filters{gap:var(--space-2);margin-bottom:var(--space-4);padding:0}.calculation-filters .filter-search{margin-bottom:0;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.calculation-filters .filter-search input{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.calculation-filters .filter-dates{display:flex;flex-direction:column;gap:var(--space-2);width:100%;max-width:100%;min-width:0;box-sizing:border-box;grid-template-columns:none!important}.calculation-filters .filter-dates input{width:100%;max-width:100%;min-width:0;box-sizing:border-box;font-size:var(--text-sm);grid-column:auto!important}.calculation-filters .filter-separator{display:none}.btn-fetch-calculations{width:100%;max-width:100%;min-width:0;box-sizing:border-box;justify-content:center}.crm-kanban{margin:0;padding:0;padding-bottom:var(--space-6)}.crm-kanban-column{flex:0 0 82vw;min-height:60vh;backdrop-filter:none;-webkit-backdrop-filter:none}.crm-kanban-card-title{line-height:1.4;margin-bottom:var(--space-2)}.crm-kanban-card-meta{font-size:11px!important;line-height:1.3}.crm-kanban-card-footer{margin-top:var(--space-2);padding-top:var(--space-2);flex-wrap:wrap;gap:var(--space-2)}.crm-kanban-source,.crm-kanban-amount{font-size:11px}.crm-kanban-mobile-stage{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid rgba(255,255,255,.05)}.crm-kanban-mobile-stage label{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:600}.crm-kanban-stage-select{width:100%;padding:var(--space-2) var(--space-3);background:#0f172a99;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-sm);cursor:pointer}.crm-kanban-card{cursor:pointer}.crm-deal-row{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.crm-deal-row-meta{width:100%;flex-wrap:wrap;gap:var(--space-2)}.crm-list-panel{padding-bottom:160px}}.mobile-user-avatar{width:28px;height:28px;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;background:var(--grad-primary);color:#fff;font-size:11px;font-weight:800;flex-shrink:0}.mobile-user-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center}.mobile-user-menu.hidden{display:none}.mobile-user-menu-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#020617ad;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mobile-user-menu-content{position:relative;width:100%;max-width:480px;background:var(--color-surface);border:1px solid var(--color-border-light);border-bottom:0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-lg);animation:slideUp .24s cubic-bezier(.16,1,.3,1);padding-bottom:env(safe-area-inset-bottom)}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.mobile-user-menu-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5);border-bottom:1px solid var(--color-border)}.mobile-user-menu-avatar{width:56px;height:56px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;background:var(--grad-primary);color:#fff;font-size:var(--text-xl);font-weight:800;flex-shrink:0}.mobile-user-menu-info{min-width:0;flex:1}.mobile-user-menu-name{margin:0 0 var(--space-1);color:var(--color-text);font-size:var(--text-lg);font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-user-menu-email{margin:0;color:var(--color-text-muted);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-user-menu-items{padding:var(--space-3)}.mobile-user-menu-item{width:100%;min-height:52px;padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3);color:var(--color-text);background:transparent;border:1px solid transparent;border-radius:var(--radius-lg);cursor:pointer;font-size:var(--text-base);font-weight:700;transition:background var(--transition-fast),border-color var(--transition-fast)}.mobile-user-menu-item:hover,.mobile-user-menu-item:active{background:var(--color-primary-dim);border-color:var(--color-border)}.mobile-user-menu-item.danger{color:#fca5a5}.mobile-user-menu-item.danger:hover,.mobile-user-menu-item.danger:active{background:#f43f5e14;border-color:#f43f5e3d}.mobile-user-menu-item svg{flex-shrink:0}.settings-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1001;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.settings-modal.hidden{display:none}.settings-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#020617c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.settings-modal-content{position:relative;width:min(540px,100%);max-height:min(88vh,720px);overflow:auto;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);animation:modalFadeIn .24s cubic-bezier(.16,1,.3,1)}@keyframes modalFadeIn{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}.settings-modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-5);border-bottom:1px solid var(--color-border)}.settings-modal-title{margin:0;color:var(--color-text);font-size:var(--text-xl);font-weight:800}.settings-modal-close{width:40px;height:40px;border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted);background:#0f172a75;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color var(--transition-fast),border-color var(--transition-fast)}.settings-modal-close:hover{color:var(--color-text);border-color:var(--color-primary)}.settings-modal-body{padding:var(--space-5);display:grid;gap:var(--space-6)}.settings-section{display:grid;gap:var(--space-4)}.settings-section-title{margin:0;color:var(--color-text);font-size:var(--text-lg);font-weight:800}.settings-profile{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4);background:#0f172a6b;border:1px solid var(--color-border);border-radius:var(--radius-lg)}.settings-profile-avatar{width:64px;height:64px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;background:var(--grad-primary);color:#fff;font-size:var(--text-2xl);font-weight:800;flex-shrink:0}.settings-profile-info{min-width:0;flex:1;display:grid;gap:var(--space-2)}.settings-profile-name{margin:0;color:var(--color-text);font-size:var(--text-lg);font-weight:800}.settings-profile-email,.settings-profile-org,.settings-profile-branch{margin:0;color:var(--color-text-muted);font-size:var(--text-sm)}.settings-storage{display:grid;gap:var(--space-3)}.settings-storage-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:#0f172a6b;border:1px solid var(--color-border);border-radius:var(--radius-lg)}.settings-storage-label{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:700}.settings-storage-value{color:var(--color-text);font-size:var(--text-sm);font-weight:800}.settings-storage-note{margin:var(--space-3) 0 0;color:var(--color-text-muted);font-size:var(--text-xs);line-height:1.5}.btn-settings-clear{min-height:48px;padding:var(--space-3) var(--space-4);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);color:#fca5a5;background:#f43f5e14;border:1px solid rgba(244,63,94,.24);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--text-sm);font-weight:800;transition:transform var(--transition-fast),background var(--transition-fast)}.btn-settings-clear:hover{transform:translateY(-1px);background:#f43f5e29}@media (max-width: 640px){.settings-modal{align-items:flex-end;padding:0}.settings-modal-content{max-height:92vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.settings-modal-header,.settings-modal-body{padding:var(--space-4)}.settings-profile{flex-direction:column;align-items:center;text-align:center}}.dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-4)}.dashboard-title h2{font-size:var(--text-2xl);font-weight:800;color:var(--color-text);margin:0}.dashboard-filters{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.dashboard-filter-select{min-height:40px;padding:var(--space-2) var(--space-3);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.dashboard-filter-select:hover{border-color:var(--color-primary)}.dashboard-custom-dates{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md)}.dashboard-custom-dates.hidden{display:none}.dashboard-date-input{min-height:36px;padding:var(--space-1) var(--space-2);background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-sm)}.btn-apply-dates{min-height:36px;padding:var(--space-1) var(--space-3);background:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-apply-dates:hover{background:var(--color-primary-hover)}.btn-dashboard-refresh{min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.btn-dashboard-refresh:hover{color:var(--color-primary);border-color:var(--color-primary);transform:rotate(90deg)}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.stat-card{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-5);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:all var(--transition-base)}.stat-card:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 8px 24px rgba(var(--color-primary-rgb),.15)}.stat-icon{font-size:2rem;line-height:1;flex-shrink:0}.stat-content{flex:1;min-width:0}.stat-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);margin:0 0 var(--space-1) 0;text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:var(--text-3xl);font-weight:800;color:var(--color-text);margin:0 0 var(--space-2) 0;line-height:1.2}.stat-meta{display:flex;flex-wrap:wrap;gap:var(--space-2)}.stat-badge{display:inline-block;padding:var(--space-1) var(--space-2);background:var(--color-surface-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted)}.stat-badge.stat-approved,.stat-badge.stat-won,.stat-badge.stat-completed{background:#22c55e26;color:#22c55e}.stat-badge.stat-pending,.stat-badge.stat-progress,.stat-badge.stat-active{background:#3b82f626;color:#3b82f6}.stat-badge.stat-recent{background:#a855f726;color:#a855f7}.dashboard-insights{margin-bottom:var(--space-6);padding:var(--space-5);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.insights-header h3{font-size:var(--text-lg);font-weight:700;color:var(--color-text);margin:0 0 var(--space-4) 0}.insights-list{display:flex;flex-direction:column;gap:var(--space-3)}.insight-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.insight-item:hover{border-color:var(--color-primary)}.insight-item.insight-success{border-left:3px solid rgb(34,197,94)}.insight-item.insight-warning{border-left:3px solid rgb(251,191,36)}.insight-item.insight-info{border-left:3px solid rgb(59,130,246)}.insight-item.insight-danger{border-left:3px solid rgb(239,68,68)}.insight-icon{font-size:1.5rem;line-height:1;flex-shrink:0}.insight-content{flex:1;min-width:0}.insight-title{font-size:var(--text-sm);font-weight:700;color:var(--color-text);margin:0 0 var(--space-1) 0}.insight-message{font-size:var(--text-sm);color:var(--color-text-muted);margin:0;line-height:1.5}.insight-placeholder{padding:var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.dashboard-chart-section{margin-bottom:var(--space-6);padding:var(--space-5);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);flex-wrap:wrap;gap:var(--space-3)}.chart-header h3{font-size:var(--text-lg);font-weight:700;color:var(--color-text);margin:0}.chart-legend{display:flex;gap:var(--space-4);flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted)}.legend-item:before{content:"";width:12px;height:12px;border-radius:var(--radius-sm);flex-shrink:0}.legend-quotations:before{background:#6366f1}.legend-deals:before{background:#22c55e}.legend-loans:before{background:#fbbf24}.chart-container{position:relative;min-height:200px}@media (max-width: 768px){.dashboard-header{flex-direction:column;align-items:flex-start}.dashboard-stats{grid-template-columns:1fr}.dashboard-filters{width:100%}.dashboard-filter-select{flex:1}.chart-header{flex-direction:column;align-items:flex-start}}:root{--color-bg: #0f172a;--color-surface: #1e293b;--color-surface-2: #273548;--color-border: #334155;--color-border-light: #475569;--color-primary-rgb: 99, 102, 241;--color-primary: rgb(var(--color-primary-rgb));--color-primary-hover:#4f46e5;--color-primary-dim: rgba(var(--color-primary-rgb), .15);--color-accent-rgb: 139, 92, 246;--color-accent: rgb(var(--color-accent-rgb));--color-success: #10b981;--color-danger: #f43f5e;--color-warning: #f59e0b;--color-text: #f1f5f9;--color-text-muted: #94a3b8;--color-text-dim: #64748b;--grad-primary: linear-gradient(135deg, var(--color-primary), var(--color-accent));--grad-card-1: linear-gradient(135deg, rgba(var(--color-primary-rgb), .2), rgba(var(--color-accent-rgb), .1));--grad-card-2: linear-gradient(135deg, rgba(244,63,94,.2), rgba(251,113,133,.1));--grad-card-3: linear-gradient(135deg, rgba(16,185,129,.2), rgba(52,211,153,.1));--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0,0,0,.4);--shadow-md: 0 4px 16px rgba(0,0,0,.4);--shadow-lg: 0 8px 32px rgba(0,0,0,.5);--shadow-glow: 0 0 20px rgba(var(--color-primary-rgb), .3);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--header-height: 64px;--input-panel-width: 380px;--color-skeleton-base: rgba(255, 255, 255, .05);--color-skeleton-highlight: rgba(255, 255, 255, .1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);font-size:var(--text-base);line-height:1.6;min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}#app{display:flex;flex-direction:column;min-height:100dvh}#app.auth-hidden{display:none}.splash-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;min-height:100dvh;display:grid;place-items:center;padding:var(--space-6);background:radial-gradient(circle at 50% 34%,rgba(99,102,241,.32),transparent 30%),linear-gradient(180deg,#1e293b,#0f172a);transition:opacity .3s ease,visibility .3s ease}.splash-screen-out{opacity:0;visibility:hidden}.splash-logo{width:96px;height:96px;display:grid;place-items:center;border-radius:28px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 80px #4f46e55c;animation:splash-pulse 1.4s ease-in-out infinite}.splash-logo svg{width:72px;height:72px;filter:drop-shadow(0 12px 24px rgba(0,0,0,.28))}.splash-copy{position:absolute;left:var(--space-6);right:var(--space-6);bottom:calc(var(--space-8) + env(safe-area-inset-bottom));text-align:center}.splash-copy p{font-size:var(--text-xl);font-weight:800;line-height:1.2}.splash-copy span{color:var(--color-text-muted);font-size:var(--text-sm)}@keyframes splash-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.login-screen{min-height:100dvh;padding:max(var(--space-6),env(safe-area-inset-top)) max(var(--space-4),env(safe-area-inset-right)) max(var(--space-6),env(safe-area-inset-bottom)) max(var(--space-4),env(safe-area-inset-left));display:grid;place-items:center;background:radial-gradient(circle at 50% 0%,rgba(99,102,241,.28),transparent 34%),linear-gradient(180deg,#1e293beb,#0f172a)}.login-shell{width:min(100%,430px)}.login-brand{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5)}.login-brand-icon{width:44px;height:44px;display:grid;place-items:center}.login-brand-copy{display:flex;flex-direction:column;justify-content:center}.login-title{font-size:var(--text-2xl);font-weight:800;color:#fff;line-height:1.1;margin:0}.login-brand-copy .brand-suffix{font-size:var(--text-xs);font-weight:600;color:var(--color-primary);text-transform:uppercase;letter-spacing:.1em;margin:2px 0 0;opacity:1}.login-card{background:#1e293be0;border:1px solid rgba(71,85,105,.78);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-lg);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.login-copy{margin-bottom:var(--space-5)}.login-copy h2{font-size:var(--text-2xl);line-height:1.1;margin-bottom:var(--space-2)}.login-copy p{color:var(--color-text-muted);font-size:var(--text-sm)}.login-error{min-height:1.25rem;margin:var(--space-2) 0 var(--space-4);color:var(--color-danger);font-size:var(--text-sm);font-weight:600}.password-wrapper{position:relative;display:flex;align-items:center}.password-wrapper .form-input{padding-right:48px}.discount-input-group{display:flex;gap:var(--space-1)}.discount-type-select{width:70px!important;flex-shrink:0;text-align:center}.btn-toggle-password{position:absolute;right:var(--space-2);top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--color-text-muted);padding:var(--space-2);cursor:pointer;display:grid;place-items:center;border-radius:var(--radius-md);transition:all var(--transition-fast)}.btn-toggle-password:hover{color:var(--color-primary);background:#6366f11a}.btn-toggle-password.active{color:var(--color-primary)}.btn-login{width:100%;min-height:52px;border:none;border-radius:var(--radius-md);background:var(--grad-primary);color:#fff;font-family:var(--font-sans);font-size:var(--text-base);font-weight:800;cursor:pointer;box-shadow:var(--shadow-glow);transition:transform var(--transition-fast),opacity var(--transition-fast)}.btn-login:active{transform:scale(.98)}.btn-login:disabled{opacity:.72;cursor:wait}.app-header{position:sticky;top:0;z-index:50;height:calc(var(--header-height) + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);background:#0f172ad9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border)}.header-inner{max-width:1400px;margin:0 auto;padding:0 var(--space-6);height:100%;display:flex;align-items:center;justify-content:space-between}.header-brand{display:flex;align-items:center;gap:var(--space-3)}.brand-icon{flex-shrink:0;filter:drop-shadow(0 0 8px rgba(99,102,241,.5))}.brand-name{font-size:var(--text-lg);font-weight:700;letter-spacing:-.02em;color:#fff;line-height:1.2}.brand-suffix{font-size:.65em;font-weight:500;color:var(--color-text-muted);-webkit-text-fill-color:var(--color-text-muted);margin-left:4px;text-transform:lowercase;opacity:.8;vertical-align:baseline}.brand-sub{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.brand-meta,.splash-meta,.login-meta,.home-meta{display:flex;align-items:center;justify-content:center;gap:var(--space-1)}.meta-divider{color:var(--color-text-muted);opacity:.5;font-size:var(--text-xs)}.brand-org,.login-org,.home-org,#splash-org-name{font-size:var(--text-xs);font-weight:700;background:var(--grad-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block}.login-org,.home-org{text-transform:uppercase;letter-spacing:.05em}.header-actions{display:flex;align-items:center;gap:var(--space-3)}.user-dropdown{position:relative}.user-chip{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:700;background:none;border:1px solid transparent;border-radius:var(--radius-md);padding:var(--space-1) var(--space-2);cursor:pointer;transition:all var(--transition-fast)}.user-chip:hover{background:var(--color-surface-2);border-color:var(--color-border)}.user-avatar{width:32px;height:32px;border-radius:var(--radius-full);display:grid;place-items:center;background:var(--color-primary-dim);color:var(--color-primary);border:1px solid rgba(99,102,241,.35);font-size:var(--text-xs);flex-shrink:0}.user-dropdown-chevron{color:var(--color-text-muted);opacity:.6;transition:transform var(--transition-fast)}.user-dropdown.open .user-dropdown-chevron{transform:rotate(180deg)}.user-dropdown-menu{position:absolute;top:calc(100% + var(--space-2));right:0;min-width:160px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 10px 30px #0000004d;padding:var(--space-2);z-index:100}.user-dropdown-menu.hidden{display:none}.user-dropdown-item{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:40px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:none;background:transparent;color:var(--color-text-muted);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast);text-align:left}.user-dropdown-item:hover{background:var(--color-surface-3);color:var(--color-text)}.user-dropdown-item.danger{color:var(--color-danger)}.user-dropdown-item.danger:hover{background:#f43f5e14}.user-dropdown-divider{height:1px;margin:var(--space-1) var(--space-3);background:var(--color-border)}.btn-install{display:flex;align-items:center;gap:var(--space-2);background:var(--color-primary-dim);color:var(--color-primary);border:1px solid var(--color-primary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--transition-base);min-height:44px}.btn-install:hover{background:var(--color-primary);color:#fff}.offline-badge{display:flex;align-items:center;gap:var(--space-2);background:#f43f5e26;border:1px solid var(--color-danger);color:var(--color-danger);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600}.offline-dot{width:6px;height:6px;border-radius:50%;background:var(--color-danger);animation:pulse-dot 1.5s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.update-toast{position:fixed;bottom:calc(var(--space-6) + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:100;display:flex;align-items:center;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-primary);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-5);box-shadow:var(--shadow-lg),var(--shadow-glow);animation:slide-up var(--transition-base)}@keyframes slide-up{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.update-toast button{background:var(--color-primary);color:#fff;border:none;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-size:var(--text-sm)}.app-main{flex:1;display:block;max-width:1400px;width:100%;margin:0 auto;padding:var(--space-6) max(var(--space-6),env(safe-area-inset-right)) calc(104px + env(safe-area-inset-bottom)) max(var(--space-6),env(safe-area-inset-left))}.app-page{display:none;animation:fade-in-up .36s ease both}.app-page.active{display:block}.calculate-page.active{display:flex;flex-direction:column;overflow-x:clip}.calculate-nav{display:flex;padding:var(--space-3) var(--space-5);background:var(--color-surface);border-bottom:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.calculate-nav-container{display:flex;background:#0f172a99;padding:4px;border-radius:var(--radius-lg);border:1px solid var(--color-border);width:100%}.calc-nav-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-4);border-radius:calc(var(--radius-lg) - 2px);font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);transition:all .2s ease;background:transparent;border:none;cursor:pointer}.calc-nav-btn.active{background:var(--color-primary);color:#fff;box-shadow:0 4px 12px #6366f14d}.calculate-container{display:flex;gap:var(--space-6);align-items:flex-start;min-width:0}.calculate-sidebar{width:380px;flex-shrink:0}.calculate-page.view-list .calculate-sidebar,.calculate-page.view-form .results-panel{display:none}.calculate-page.view-form .calculation-list-panel{display:none!important}.calculate-page.view-form .calculate-sidebar{display:block;width:100%}.calculate-page.view-form .calculate-container{display:block;max-width:980px;width:100%;margin:0 auto}.calculate-page.view-form .calculate-sidebar{max-width:980px;margin:0 auto}.calculate-page.view-form .input-panel{position:static;top:auto;max-height:none;overflow:visible}.calculate-page.view-form .btn-dialog-close{display:none}.calculate-page:not(.view-results) .results-view{display:none!important}.calculate-page.view-results .calculate-container{display:none}.calculate-page.view-results .results-view{display:block!important}.empty-state-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) var(--space-6);text-align:center;background:var(--color-surface-soft);border:1px dashed var(--color-border);border-radius:var(--radius-xl);margin:var(--space-4) 0}.empty-state-inner .empty-icon{margin-bottom:var(--space-4);opacity:.8}.empty-state-inner .empty-title{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-2)}.empty-state-inner .empty-desc{font-size:var(--text-sm);color:var(--color-text-muted);max-width:280px;margin-bottom:var(--space-6)}.empty-state-inner .empty-cta{width:auto;padding:var(--space-3) var(--space-6)}.calculate-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:94;background:#020617cc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.btn-dialog-close{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted);background:#0f172ab3;cursor:pointer;transition:all .2s ease}.btn-dialog-close:hover{color:var(--color-text);border-color:var(--color-primary);background:#6366f126;transform:scale(1.05)}.btn-dialog-close:active{transform:scale(.95)}.results-dialog-backdrop{display:none!important}.results-view{display:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden}.results-view-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);background:linear-gradient(180deg,#1e293b,#0f172afa)}.results-view-title{font-size:var(--text-xl);font-weight:700;margin:0;color:var(--color-text)}.results-view-sub{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--color-text-muted)}.results-view-body{padding:var(--space-5) var(--space-6)}.result-data-section{margin-top:var(--space-5)}.result-data-table th,.result-data-table td{padding:14px 16px;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}.result-data-table th{width:42%;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:700}.result-data-table td{color:var(--color-text);font-weight:600}.calc-nav-btn:disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.home-page,.quotation-page,.crm-page{min-height:calc(100dvh - var(--header-height) - 160px)}.home-hero,.quotation-form-panel,.quotation-list-panel,.crm-panel{background:radial-gradient(circle at 88% 10%,rgba(99,102,241,.18),transparent 36%),linear-gradient(135deg,#1e293bf5,#0f172aeb);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-lg)}.home-eyebrow{color:var(--color-primary);font-size:var(--text-xs);font-weight:800;letter-spacing:.12em;margin-bottom:var(--space-2);text-transform:uppercase}.home-hero h2,.quotation-header h2,.crm-panel h2{font-size:clamp(2rem,8vw,4rem);line-height:1;margin-bottom:var(--space-4)}.home-hero p,.quotation-header p,.crm-panel p{color:var(--color-text-muted);max-width:620px}.home-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-5)}.home-action,.crm-empty{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}.home-action{color:var(--color-text);display:flex;flex-direction:column;gap:var(--space-2);text-decoration:none;transition:border-color var(--transition-fast),transform var(--transition-fast)}.home-action:hover{border-color:var(--color-primary);transform:translateY(-2px)}.home-action-icon{color:var(--color-primary);font-size:var(--text-sm);font-weight:800}.home-action span:last-child,.crm-empty span{color:var(--color-text-muted);font-size:var(--text-sm)}.crm-empty{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-5)}.quotation-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5)}.quotation-form-panel,.quotation-list-panel{padding:var(--space-6)}.quotation-header{margin-bottom:var(--space-5)}.quotation-header.compact h2{font-size:var(--text-2xl)}.quotation-source,.quotation-empty{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);margin-bottom:var(--space-4);background:#0f172a6b;border:1px solid var(--color-border);border-radius:var(--radius-lg)}.quotation-source span,.quotation-empty span{color:var(--color-text-muted);font-size:var(--text-sm)}.quotation-form{display:grid;gap:var(--space-4)}.quotation-section-title{padding:var(--space-2) 0;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:800;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--color-border)}.quotation-summary-box{display:grid;gap:var(--space-2);padding:var(--space-4);background:#0f172a8c;border:1px solid var(--color-border);border-radius:var(--radius-lg)}.quotation-summary-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted)}.quotation-summary-row .qs-discount{color:#f87171}.quotation-summary-row .qs-tax-label{display:inline-block;padding:1px 6px;background:#6366f126;color:var(--color-primary);border-radius:999px;font-size:10px;font-weight:800;vertical-align:middle}.quotation-summary-total{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border);color:var(--color-text);font-size:var(--text-base);font-weight:800}.quotation-items{display:grid;gap:var(--space-3);margin-bottom:var(--space-4)}.quotation-item{display:grid;grid-template-columns:64px minmax(0,1fr);gap:var(--space-3);padding:var(--space-3);background:#0f172a6b;border:1px solid var(--color-border);border-radius:var(--radius-lg)}.quotation-item img{width:64px;height:64px;object-fit:cover;border-radius:var(--radius-md);background:#1e293bcc}.quotation-item-main{min-width:0;display:grid;gap:var(--space-1)}.quotation-item-main strong{font-size:var(--text-sm);line-height:1.3}.quotation-item-main span{color:var(--color-text-muted);font-size:var(--text-xs);overflow-wrap:anywhere}.quotation-item-main b{color:var(--color-primary)}.quotation-item-actions{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.quotation-item-discount-row{display:flex;gap:var(--space-1);width:fit-content}.item-discount-input{width:80px;height:32px;padding:0 var(--space-2);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600}.item-discount-type{width:50px;height:32px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:700;padding:0;text-align:center}.quotation-qty{display:inline-flex;align-items:center;gap:var(--space-2);padding:4px;background:#0f172aa8;border:1px solid var(--color-border);border-radius:var(--radius-md)}.quotation-qty button{width:28px;height:28px;border:0;border-radius:var(--radius-sm);background:#6366f138;color:var(--color-text);font-weight:800}.quotation-qty span{min-width:24px;text-align:center;font-weight:800}.quotation-remove{border:0;background:transparent;color:var(--color-text-muted);font-weight:700}.quotation-item-detail{grid-column:1 / -1;display:grid;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:#0f172a59;border-radius:var(--radius-md);margin-top:var(--space-1)}.qid-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.6}.qid-row span:last-child{font-variant-numeric:tabular-nums;text-align:right}.qid-discount{color:#f87171}.qid-tax{color:#60a5fa}.qid-total{padding-top:var(--space-1);margin-top:var(--space-1);border-top:1px solid var(--color-border);color:var(--color-text);font-weight:800;font-size:var(--text-sm)}.quotation-total{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border)}.quotation-notes{min-height:110px;resize:vertical}.quotation-list{display:grid;gap:var(--space-3)}.quotation-card{background:#0f172a6b;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:transform .2s,border-color .2s;margin-bottom:var(--space-3)}.quotation-card:active{transform:scale(.98)}.quotation-card-content{padding:var(--space-4);display:grid;gap:var(--space-3)}.quotation-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.quotation-card h3{font-size:var(--text-base);font-weight:800;margin:0;line-height:1.2}.quotation-number{font-size:var(--text-xs);color:var(--color-primary);font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.quotation-card-badge{padding:4px 10px;border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.status-draft{background:#94a3b826;color:#94a3b8}.status-pending{background:#eab30826;color:#eab308}.status-approved{background:#22c55e26;color:#22c55e}.quotation-card-info{display:flex;flex-direction:column;gap:2px}.quotation-card-info span{font-size:var(--text-xs);color:var(--color-text-muted)}.quotation-card-details{padding:var(--space-2) var(--space-3);background:#0f172a59;border-radius:var(--radius-md);display:grid;gap:4px}.qcd-row{display:flex;justify-content:space-between;font-size:11px;color:var(--color-text-muted)}.qcd-discount{color:#f87171}.qcd-tax{color:#60a5fa}.quotation-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-2);border-top:1px solid var(--color-border)}.quotation-card-footer span{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:600}.quotation-card-footer strong{font-size:var(--text-lg);color:var(--color-primary)}.input-panel{width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);position:sticky;top:calc(var(--header-height) + env(safe-area-inset-top) + var(--space-4));max-height:calc(100dvh - var(--header-height) - env(safe-area-inset-top) - var(--space-8));overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.input-panel:not(.is-dialog-open){display:none}.input-panel.is-dialog-open{display:block}.input-panel.is-dialog-open .panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-4);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.input-panel.is-dialog-open .panel-header .panel-desc{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-1)}.input-panel.is-dialog-open .storage-recommendation{display:none}.btn-calculate{width:100%;margin-top:var(--space-4)}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-6)}.panel-title{font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em;color:var(--color-text)}.panel-desc{font-size:var(--text-base);color:var(--color-text-muted);margin-top:var(--space-2);line-height:1.5}.storage-recommendation{margin-bottom:var(--space-4);padding:var(--space-3);border:1px solid rgba(99,102,241,.28);border-radius:var(--radius-lg);background:#6366f11a;color:var(--color-text-muted);font-size:var(--text-xs);line-height:1.5}.results-panel{flex:1;min-width:0}.calculation-list-panel{margin-bottom:var(--space-5);padding:var(--space-5);background:radial-gradient(circle at 88% 10%,rgba(99,102,241,.16),transparent 34%),linear-gradient(135deg,#1e293bf5,#0f172aeb);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.calculation-list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.calculation-list-header h2{margin:0;font-size:var(--text-2xl)}.calculation-list-header p:not(.home-eyebrow){margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm)}.btn-calculate-open{min-height:44px;padding:var(--space-3) var(--space-4);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:0;border-radius:var(--radius-lg);color:#fff;background:var(--grad-primary);font-weight:800;cursor:pointer}.calculation-filters{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-5);padding:var(--space-1)}.calculation-filters .filter-search{display:flex;align-items:center;gap:var(--space-2);position:relative;width:100%}.calculation-filters .filter-search svg{position:absolute;left:var(--space-3);color:var(--color-text-muted);pointer-events:none}.calculation-filters .filter-search input{width:100%;padding-left:calc(var(--space-3) + 24px);background:#0f172a99}.calculation-filters .filter-dates{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:var(--space-2);width:100%}.calculation-filters .filter-dates input{background:#0f172a99;font-size:var(--text-sm);min-width:0;height:44px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text)}.calculation-filters .filter-separator{color:var(--color-text-muted);font-size:var(--text-lg);font-weight:300}.btn-fetch-calculations{min-height:44px;padding:var(--space-3) var(--space-4);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid var(--color-primary);border-radius:var(--radius-lg);color:#fff;background:var(--grad-primary);font-weight:700;font-size:var(--text-sm);cursor:pointer;white-space:nowrap;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.btn-fetch-calculations:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.3)}.btn-fetch-calculations:active{transform:translateY(0)}.calculation-list{display:grid;gap:var(--space-3)}.calculation-card,.calculation-empty{width:100%;padding:var(--space-4);background:#0f172a6b;border:1px solid var(--color-border);border-radius:var(--radius-lg)}.calculation-card{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);color:var(--color-text);text-align:left}.calculation-card-main{flex:1;min-width:0;cursor:pointer}.calculation-card.active,.calculation-card:hover{border-color:var(--color-primary)}.calculation-card strong{display:block;margin:var(--space-1) 0;font-size:var(--text-base)}.calculation-card small,.calculation-empty span,.calculation-card-values span{color:var(--color-text-muted)}.calculation-number{color:var(--color-primary);font-size:var(--text-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.calculation-card-values{display:grid;gap:var(--space-1);text-align:right;white-space:nowrap}.calculation-card-actions{display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-end;flex-shrink:0}.calculation-card-edit{font-size:var(--text-xs);font-weight:600;color:var(--color-primary);background:transparent;border:none;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.calculation-card-edit:hover{color:#818cf8}.calculation-empty{display:grid;gap:var(--space-1)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-12) var(--space-6);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-xl);min-height:400px}.empty-icon{margin-bottom:var(--space-5);filter:drop-shadow(0 0 16px rgba(99,102,241,.3))}.empty-title{font-size:var(--text-2xl);font-weight:700;margin-bottom:var(--space-2)}.empty-desc{font-size:var(--text-base);color:var(--color-text-muted);max-width:360px}.empty-cta{max-width:240px;margin-top:var(--space-4)}.app-footer{text-align:center;padding:var(--space-4) var(--space-6) calc(var(--space-4) + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);color:var(--color-text-dim);font-size:var(--text-xs)}.mobile-bottom-nav{position:fixed;left:max(var(--space-3),env(safe-area-inset-left));right:max(var(--space-3),env(safe-area-inset-right));bottom:calc(var(--space-3) + env(safe-area-inset-bottom));z-index:80;display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-1);min-height:64px;padding:var(--space-2);background:#0f172ae0;border:1px solid rgba(71,85,105,.75);border-radius:22px;box-shadow:0 18px 44px #0000006b;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.mobile-nav-link span{font-size:11px;font-weight:700;margin-top:4px}.nav-badge{position:absolute;top:8px;right:calc(50% - 18px);min-width:18px;height:18px;padding:0 4px;background:#ef4444;color:#fff;font-size:10px;font-weight:800;border-radius:9px;display:flex;align-items:center;justify-content:center;border:2px solid var(--color-surface);box-shadow:0 2px 4px #0000004d;z-index:2;animation:badge-pulse 2s infinite ease-in-out}@keyframes badge-pulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.nav-badge.hidden,.badge-count.hidden{display:none}.badge-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;background:#ef4444;color:#fff;font-size:10px;font-weight:800;border-radius:9px;margin-left:6px;vertical-align:middle;line-height:1;animation:badge-pulse 2s infinite ease-in-out}@keyframes button-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.btn-calculate-open.has-items,.home-action.has-items{border-color:var(--color-primary);box-shadow:0 0 15px rgba(var(--color-primary-rgb),.3)}.quotation-title span{display:inline-block;margin-left:var(--space-2);color:var(--color-primary);font-size:.85em;font-weight:600}.mobile-nav-link{display:flex;min-width:0;min-height:48px;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--color-text-muted);border-radius:16px;font-size:.625rem;font-weight:700;text-decoration:none;position:relative;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.mobile-nav-link svg{flex-shrink:0}.mobile-nav-link:active{transform:scale(.92)}.mobile-nav-link.active{color:#fff;background:var(--grad-primary);box-shadow:0 8px 22px rgba(var(--color-primary-rgb),.28)}.input-panel,.results-panel,.schedule-section,.results-toolbar{scroll-margin-top:calc(var(--header-height) + var(--space-4))}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 900px){.app-main{padding:var(--space-4);padding-bottom:calc(96px + env(safe-area-inset-bottom))}.calculate-container{gap:var(--space-4)}.calculate-sidebar{width:100%}.input-panel{position:static;max-height:none;overflow-y:visible}.results-panel{width:100%}.calculation-list-header{flex-direction:column}.btn-calculate-open{width:100%}.home-actions,.quotation-layout{grid-template-columns:1fr}}@media (max-width: 480px){:root{--header-height: 58px}body{background:linear-gradient(180deg,#1e293be6 0,#0f172a00 220px),var(--color-bg)}.results-content{animation:fade-in-up .4s ease both}@keyframes fade-in-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.app-main{padding:var(--space-4) var(--space-2);padding-bottom:calc(96px + env(safe-area-inset-bottom));gap:var(--space-3)}.header-inner{padding:0 var(--space-3)}.brand-icon svg{width:24px;height:24px}.brand-name{font-size:var(--text-base);letter-spacing:0}.brand-sub{font-size:.6875rem}.btn-install{padding:var(--space-2);border-radius:var(--radius-md);font-size:0;min-width:44px;justify-content:center}.user-chip{display:flex;padding:var(--space-1);gap:0}.user-chip .user-name,.user-chip .user-dropdown-chevron{display:none}.user-dropdown-menu{right:0;min-width:140px}.btn-install svg{width:18px;height:18px}.offline-badge{padding:var(--space-2);font-size:0}.input-panel,.empty-state,.comparison-panel,.schedule-section{border-radius:var(--radius-lg)}.calculate-page.active{gap:var(--space-3)}.calculate-sidebar{display:contents}.selected-product-banner{order:-2}.results-panel{order:-1}.calculation-list-panel,.quotation-list-panel,.quotation-form-panel{margin-bottom:var(--space-3);padding:var(--space-4) var(--space-3);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border)}.calculation-list-header,.quotation-header{gap:var(--space-3);margin-bottom:var(--space-3)}.calculation-list-header h2,.quotation-header h2{font-size:var(--text-xl)}.calculation-list-header p:not(.home-eyebrow){font-size:var(--text-xs)}.calculation-filters .filter-dates{grid-template-columns:1fr auto 1fr;gap:var(--space-2)}.calculation-filters .filter-dates select,.btn-fetch-calculations{grid-column:1 / -1;width:100%}.calculation-filters .filter-dates{overflow:visible}.calculation-filters .filter-separator{display:none}.calculation-card,.quotation-card{flex-direction:column;gap:var(--space-2);padding:var(--space-3)}.calculation-card-actions,.quotation-card-meta{width:100%;flex-direction:row;align-items:center;justify-content:space-between;text-align:left;border-top:1px solid rgba(255,255,255,.05);padding-top:var(--space-2)}.calculation-card-values,.quotation-card-meta{text-align:left;white-space:normal}.calculate-nav{display:flex;flex-shrink:0;margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3)}.calculate-container{padding:0}.calculate-sidebar{width:100%;display:block}.calculate-page.view-form .selected-product-banner{display:none}.calculate-page.view-list .calculate-sidebar{display:none!important}.calculate-page.view-list .results-panel{display:block!important;order:-1}.calculate-page.view-form .calculate-sidebar{display:block!important}.calculate-page.view-form .results-panel{display:none!important}.input-panel{border-radius:var(--radius-lg);padding:var(--space-4);position:static;max-height:none;overflow-y:visible}.panel-desc{display:none}.empty-state{min-height:260px;padding:var(--space-8) var(--space-4);border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 20%,rgba(99,102,241,.08),transparent 60%),var(--color-surface)}.empty-icon svg{width:52px;height:52px}.empty-title{font-size:var(--text-xl)}.empty-desc{font-size:var(--text-sm)}.update-toast{left:var(--space-3);right:var(--space-3);bottom:calc(86px + env(safe-area-inset-bottom));transform:none;justify-content:space-between;padding:var(--space-3)}.input-panel,.results-panel,.schedule-section,.results-toolbar{scroll-margin-top:calc(var(--header-height) + env(safe-area-inset-top) + var(--space-3))}.mobile-bottom-nav{position:fixed;left:max(var(--space-3),env(safe-area-inset-left));right:max(var(--space-3),env(safe-area-inset-right));bottom:calc(var(--space-3) + env(safe-area-inset-bottom));z-index:100;display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-1);min-height:64px;padding:var(--space-2);background:#0f172ae0;border:1px solid rgba(71,85,105,.75);border-radius:22px;box-shadow:0 18px 44px #0000006b;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.mobile-nav-link{display:flex;min-width:0;min-height:48px;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--color-text-muted);border-radius:16px;font-size:.625rem;font-weight:700;text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.mobile-nav-link svg{flex-shrink:0}.mobile-nav-link:active{transform:scale(.92)}.mobile-nav-link.active{color:#fff;background:var(--grad-primary);box-shadow:0 8px 22px rgba(var(--color-primary-rgb),.28)}.results-dialog-backdrop{padding:var(--space-3);align-items:center;overflow:hidden}.results-dialog{width:calc(100vw - var(--space-6));max-height:calc(100dvh - var(--space-6));margin:0;min-height:0;border-radius:var(--radius-lg)}.results-dialog-header{padding:var(--space-4)}.results-dialog-title{font-size:var(--text-lg)}.results-dialog-sub{font-size:var(--text-xs)}.results-dialog-body{padding:var(--space-4);min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.login-screen{padding:max(var(--space-4),env(safe-area-inset-top)) var(--space-3) max(var(--space-4),env(safe-area-inset-bottom));align-items:start}.login-shell{padding-top:var(--space-8)}.login-card{padding:var(--space-5);border-radius:var(--radius-lg)}.login-copy h2{font-size:var(--text-xl)}@keyframes slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}@keyframes toast-out{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-20px)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.skeleton{background:var(--color-skeleton-base);background:linear-gradient(90deg,var(--color-skeleton-base) 25%,var(--color-skeleton-highlight) 50%,var(--color-skeleton-base) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:var(--radius-sm);pointer-events:none}.skeleton-text{height:1em;width:100%;margin-bottom:.5em}.skeleton-rect{width:100%;height:100%}.skeleton-circle{border-radius:var(--radius-full)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.stagger-in>*{opacity:0;transform:translateY(16px)}.stagger-in.active>*{animation:stagger-fade-in .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes stagger-fade-in{to{opacity:1;transform:translateY(0)}}.stagger-in.active>*:nth-child(1){animation-delay:50ms}.stagger-in.active>*:nth-child(2){animation-delay:.1s}.stagger-in.active>*:nth-child(3){animation-delay:.15s}.stagger-in.active>*:nth-child(4){animation-delay:.2s}.stagger-in.active>*:nth-child(5){animation-delay:.25s}.stagger-in.active>*:nth-child(6){animation-delay:.3s}.stagger-in.active>*:nth-child(7){animation-delay:.35s}.stagger-in.active>*:nth-child(8){animation-delay:.4s}.hidden{display:none!important}.v-hidden{visibility:hidden}.form-group{margin-bottom:var(--space-5)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-label{display:block;font-size:var(--text-base);font-weight:600;color:var(--color-text);margin-bottom:var(--space-2);letter-spacing:.01em}.form-hint{font-weight:400;color:var(--color-text-dim);font-size:var(--text-xs)}.badge-computed{display:inline-block;font-size:10px;font-weight:700;padding:1px 6px;border-radius:var(--radius-full);background:var(--color-primary-dim);color:var(--color-primary);letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;margin-left:var(--space-1)}.input-wrapper{display:flex;align-items:center;background:var(--color-surface-2);border:2px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;min-height:56px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input-wrapper:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.15)}.input-prefix{padding:0 var(--space-3);color:var(--color-text-muted);font-weight:600;font-size:var(--text-sm);background:rgba(var(--color-primary-rgb),.08);border-right:1px solid var(--color-border);height:100%;display:flex;align-items:center;white-space:nowrap}.form-input{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-surface-2);border:2px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);font-weight:500;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:52px}.input-wrapper .form-input{border:none;background:transparent;border-radius:0;box-shadow:none;flex:1}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.15)}.form-input.error{border-color:var(--color-danger);box-shadow:0 0 0 3px #f43f5e26}.form-input::placeholder{color:var(--color-text-dim)}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.6);cursor:pointer}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-8);cursor:pointer}.form-select option{background:var(--color-surface);color:var(--color-text)}.principal-display{background:var(--color-primary-dim);border:2px solid rgba(var(--color-primary-rgb),.4);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);min-height:56px;display:flex;align-items:center;font-size:var(--text-lg);font-weight:700;color:var(--color-primary);letter-spacing:-.01em;box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.15)}.form-error{display:block;font-size:var(--text-xs);color:var(--color-danger);margin-top:var(--space-1);min-height:1em}.method-toggle{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.method-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-3);background:var(--color-surface-2);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;color:var(--color-text-muted);font-family:var(--font-sans);transition:all var(--transition-base);text-align:center;min-height:88px}.method-btn:hover{border-color:var(--color-primary);color:var(--color-text);background:rgba(var(--color-primary-rgb),.05);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.15)}.method-btn.active{border-color:var(--color-primary);background:var(--color-primary-dim);color:var(--color-primary);box-shadow:0 4px 16px rgba(var(--color-primary-rgb),.25)}.method-icon{font-size:1.6rem;line-height:1}.method-label{font-weight:700;font-size:var(--text-base)}.method-desc{font-size:var(--text-xs);opacity:.85}.btn-calculate{width:100%;margin-top:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--grad-primary);color:#fff;border:none;border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:var(--text-lg);font-weight:700;cursor:pointer;transition:all var(--transition-base);box-shadow:0 8px 24px rgba(var(--color-primary-rgb),.4),0 0 0 1px rgba(var(--color-primary-rgb),.2);letter-spacing:.01em;position:relative;overflow:hidden;min-height:58px}.btn-calculate:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff1a;opacity:0;transition:opacity var(--transition-fast)}.btn-calculate:hover:before{opacity:1}.btn-calculate:hover{box-shadow:0 12px 32px rgba(var(--color-primary-rgb),.5),0 0 0 1px rgba(var(--color-primary-rgb),.3);transform:translateY(-2px)}.btn-calculate:active{transform:scale(.98) translateY(0)}.btn-calculate:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-text,.btn-spinner{display:flex;align-items:center;justify-content:center;gap:var(--space-2)}@media (max-width: 480px){.form-group{margin-bottom:var(--space-4)}.form-row{grid-template-columns:1fr;gap:var(--space-4)}.form-label{margin-bottom:var(--space-1);font-size:var(--text-xs)}.form-input,.principal-display{border-radius:var(--radius-lg);font-size:var(--text-base);min-height:48px}.input-wrapper{min-height:48px;border-radius:var(--radius-lg)}.input-prefix{min-width:48px;justify-content:center;font-size:var(--text-xs);padding:0 var(--space-2)}.method-toggle{grid-template-columns:1fr;gap:var(--space-2)}.method-btn{flex-direction:row;align-items:center;justify-content:flex-start;min-height:48px;padding:var(--space-2) var(--space-3);gap:var(--space-2)}.method-icon{display:block;font-size:1.1rem}.method-label{font-size:var(--text-sm);flex:1;text-align:left}.method-desc{display:none}.btn-calculate{position:sticky;bottom:var(--space-4);z-index:20;margin-top:var(--space-4);box-shadow:var(--shadow-lg),var(--shadow-glow)}}.schedule-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden}.schedule-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:var(--space-3)}.schedule-title{font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em}.schedule-header-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.schedule-view-switch{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:var(--radius-lg);background:rgba(var(--color-primary-rgb),.08);border:1px solid rgba(var(--color-primary-rgb),.12)}.schedule-view-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--color-text-muted);font:inherit;font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;padding:8px 12px;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.schedule-view-btn.active{background:linear-gradient(135deg,rgba(var(--color-primary-rgb),.9),rgba(var(--color-accent-rgb),.82));color:#fff;box-shadow:0 8px 18px rgba(var(--color-primary-rgb),.2)}.toggle-interest{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;font-weight:500}.toggle-interest input[type=checkbox]{accent-color:var(--color-primary);width:18px;height:18px}.table-wrapper{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.schedule-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);white-space:nowrap}.schedule-table thead{position:sticky;top:0;z-index:2;background:var(--color-surface-2)}.schedule-table th{padding:var(--space-3) var(--space-4);font-size:var(--text-xs);font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;text-align:right;border-bottom:1px solid var(--color-border)}.schedule-table th:first-child,.schedule-table th:nth-child(2){text-align:left}.schedule-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid rgba(51,65,85,.5);text-align:right;font-variant-numeric:tabular-nums;vertical-align:middle}.schedule-table td:first-child,.schedule-table td:nth-child(2){text-align:left;color:var(--color-text-muted)}.schedule-table td:first-child{font-weight:600;color:var(--color-text-dim)}.schedule-table tbody tr:hover td{background:rgba(var(--color-primary-rgb),.05)}.schedule-table td.overdue{color:var(--color-danger)}.schedule-table tbody tr:has(td.overdue):hover td{background:#f43f5e0d}.schedule-footer-row td{padding:var(--space-3) var(--space-4);border-top:2px solid var(--color-border);border-bottom:none!important;background:var(--color-surface-2);font-size:var(--text-sm);text-align:right;font-variant-numeric:tabular-nums}.schedule-footer-row td:first-child,.schedule-footer-row td:nth-child(2){text-align:left;color:var(--color-text-muted)}.badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:var(--radius-full);font-size:10px;font-weight:700;letter-spacing:.04em;white-space:nowrap}.badge-ok{background:#10b98126;color:var(--color-success);border:1px solid rgba(16,185,129,.3)}.badge-overdue{background:#f43f5e26;color:var(--color-danger);border:1px solid rgba(244,63,94,.3)}.late-fee-note{display:block;font-size:10px;color:var(--color-danger);opacity:.8;margin-top:2px}@keyframes row-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.schedule-row-anim{animation:row-in .2s ease both}.schedule-section.view-grid{background:linear-gradient(180deg,#273548eb,#1e293beb),var(--color-surface)}.schedule-section.view-grid .table-wrapper{overflow-x:visible}.schedule-section.view-grid .schedule-table,.schedule-section.view-grid .schedule-table thead,.schedule-section.view-grid .schedule-table tbody,.schedule-section.view-grid .schedule-table tfoot,.schedule-section.view-grid .schedule-table tr,.schedule-section.view-grid .schedule-table th,.schedule-section.view-grid .schedule-table td{display:block;width:100%}.schedule-section.view-grid .schedule-table{padding:var(--space-3);font-size:var(--text-sm);white-space:normal}.schedule-section.view-grid .schedule-table thead{display:none}.schedule-section.view-grid .schedule-table tbody{display:grid;gap:var(--space-3)}.schedule-section.view-grid .schedule-table tbody tr,.schedule-section.view-grid .schedule-footer-row{background:linear-gradient(135deg,#273548f5,#1e293be0);border:1px solid rgba(51,65,85,.8);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 2px 8px #0003}.schedule-section.view-grid .schedule-table td,.schedule-section.view-grid .schedule-footer-row td{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding:var(--space-3);border-bottom:1px solid rgba(51,65,85,.5);text-align:right;min-height:44px}.schedule-section.view-grid .schedule-table td:first-child,.schedule-section.view-grid .schedule-table td:nth-child(2),.schedule-section.view-grid .schedule-footer-row td:first-child,.schedule-section.view-grid .schedule-footer-row td:nth-child(2){text-align:right}.schedule-section.view-grid .schedule-table td:before,.schedule-section.view-grid .schedule-footer-row td:before{content:attr(data-label);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-align:left;flex-shrink:0}.schedule-section.view-grid .schedule-table tbody tr td:first-child{background:linear-gradient(135deg,rgba(var(--color-primary-rgb),.18),rgba(var(--color-accent-rgb),.12));color:var(--color-text);font-weight:700;border-bottom:1px solid rgba(var(--color-primary-rgb),.2)}.schedule-section.view-grid .schedule-table tbody tr td:last-child,.schedule-section.view-grid .schedule-footer-row td:last-child{border-bottom:none}.schedule-section.view-grid .schedule-table tbody tr:hover td,.schedule-section.view-grid .schedule-table tbody tr:has(td.overdue):hover td{background:inherit}.schedule-section.view-grid .schedule-footer-row{margin-top:var(--space-3);background:linear-gradient(135deg,#10b9811f,#34d39914),linear-gradient(135deg,#273548f5,#1e293be0);border-color:#10b9814d}.schedule-section.view-grid .schedule-footer-row td{background:transparent;border-top:none;font-weight:600}.schedule-section.view-grid .schedule-footer-row td[colspan]{display:block;text-align:left;color:var(--color-text)}.schedule-section.view-grid .schedule-footer-row td[colspan]:before,.schedule-section.view-grid .schedule-footer-row td:empty{display:none}@media (max-width: 640px){.schedule-section{border-radius:var(--radius-lg);background:linear-gradient(180deg,#273548eb,#1e293beb),var(--color-surface)}.schedule-header{padding:var(--space-4);align-items:center;gap:var(--space-2)}.schedule-title{font-size:var(--text-base);flex:1}.toggle-interest{min-height:36px;padding:var(--space-2) var(--space-3);background:var(--color-primary-dim);border-radius:var(--radius-md);transition:background var(--transition-fast)}.schedule-header-actions{width:100%;justify-content:space-between}.schedule-view-switch{flex:1;min-width:0}.schedule-view-btn{flex:1;text-align:center}.toggle-interest:active{background:rgba(var(--color-primary-rgb),.15)}.table-wrapper{overflow-x:visible}.schedule-table,.schedule-table thead,.schedule-table tbody,.schedule-table tfoot,.schedule-table tr,.schedule-table th,.schedule-table td{display:block;width:100%}.schedule-table{padding:var(--space-3);font-size:var(--text-sm);white-space:normal}.schedule-table thead{display:none}.schedule-table tbody{display:grid;gap:var(--space-3)}.schedule-table tbody tr,.schedule-footer-row{background:linear-gradient(135deg,#273548f5,#1e293be0);border:1px solid rgba(51,65,85,.8);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 2px 8px #0003}.schedule-table td,.schedule-footer-row td{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding:var(--space-3);border-bottom:1px solid rgba(51,65,85,.5);text-align:right;min-height:44px}.schedule-table td:first-child,.schedule-table td:nth-child(2),.schedule-footer-row td:first-child,.schedule-footer-row td:nth-child(2){text-align:right}.schedule-table td:before,.schedule-footer-row td:before{content:attr(data-label);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-align:left;flex-shrink:0}.schedule-table tbody tr td:first-child{background:linear-gradient(135deg,rgba(var(--color-primary-rgb),.18),rgba(var(--color-accent-rgb),.12));color:var(--color-text);font-weight:700;border-bottom:1px solid rgba(var(--color-primary-rgb),.2)}.schedule-table tbody tr td:last-child,.schedule-footer-row td:last-child{border-bottom:none}.schedule-table tbody tr:hover td,.schedule-table tbody tr:has(td.overdue):hover td{background:inherit}.schedule-footer-row{margin-top:var(--space-3);background:linear-gradient(135deg,#10b9811f,#34d39914),linear-gradient(135deg,#273548f5,#1e293be0);border-color:#10b9814d}.schedule-footer-row td{background:transparent;border-top:none;font-weight:600}.schedule-footer-row td[colspan]{display:block;text-align:left;color:var(--color-text)}.schedule-footer-row td[colspan]:before,.schedule-footer-row td:empty{display:none}.badge{padding:4px 10px;font-size:11px}.badge-ok{background:#10b98133;border-color:#10b98166}.badge-overdue{background:#f43f5e33;border-color:#f43f5e66;animation:pulse-badge 2s ease-in-out infinite}.schedule-section.view-table .table-wrapper{overflow-x:auto}.schedule-section.view-table .schedule-table{display:table;width:100%;min-width:720px;padding:0;white-space:nowrap}.schedule-section.view-table .schedule-table thead{display:table-header-group}.schedule-section.view-table .schedule-table tbody{display:table-row-group}.schedule-section.view-table .schedule-table tfoot{display:table-footer-group}.schedule-section.view-table .schedule-table tr{display:table-row}.schedule-section.view-table .schedule-table th,.schedule-section.view-table .schedule-table td,.schedule-section.view-table .schedule-footer-row td{display:table-cell;width:auto}.schedule-section.view-table .schedule-table tbody tr,.schedule-section.view-table .schedule-footer-row{background:transparent;border:none;border-radius:0;overflow:visible;box-shadow:none}.schedule-section.view-table .schedule-table td,.schedule-section.view-table .schedule-footer-row td{min-height:0;padding:var(--space-3) var(--space-4);text-align:right;border-bottom:1px solid rgba(51,65,85,.5)}.schedule-section.view-table .schedule-table td:first-child,.schedule-section.view-table .schedule-table td:nth-child(2),.schedule-section.view-table .schedule-footer-row td:first-child,.schedule-section.view-table .schedule-footer-row td:nth-child(2){text-align:left}.schedule-section.view-table .schedule-table td:before,.schedule-section.view-table .schedule-footer-row td:before{display:none}.schedule-section.view-table .schedule-table tbody tr td:first-child{background:transparent;color:var(--color-text-dim);font-weight:600;border-bottom:1px solid rgba(51,65,85,.5)}.schedule-section.view-table .schedule-table tbody tr td:last-child{border-bottom:1px solid rgba(51,65,85,.5)}.schedule-section.view-table .schedule-table tbody tr:hover td{background:rgba(var(--color-primary-rgb),.05)}.schedule-section.view-table .schedule-table tbody tr:has(td.overdue):hover td{background:#f43f5e0d}.schedule-section.view-table .schedule-footer-row{margin-top:0}.schedule-section.view-table .schedule-footer-row td{background:var(--color-surface-2);border-top:2px solid var(--color-border);border-bottom:none!important}.schedule-section.view-table .schedule-footer-row td[colspan]{display:table-cell;text-align:left}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.7}}}.summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-bottom:var(--space-5)}.summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;align-items:flex-start;gap:var(--space-3);transition:transform var(--transition-base),box-shadow var(--transition-base);animation:card-in var(--transition-slow) ease both}.summary-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-installment{background:var(--grad-card-1);border-color:rgba(var(--color-primary-rgb),.3)}.card-interest{background:var(--grad-card-2);border-color:#f43f5e4d}.card-total{background:var(--grad-card-3);border-color:#10b9814d}@keyframes card-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.card-icon{font-size:1.5rem;line-height:1;margin-top:2px;flex-shrink:0}.card-label{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-1)}.card-value{font-size:var(--text-xl);font-weight:800;letter-spacing:-.03em;color:var(--color-text);line-height:1.2}.results-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-5)}.compare-label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);transition:color var(--transition-fast)}.compare-label:hover{color:var(--color-text)}.compare-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}.export-buttons{display:flex;gap:var(--space-2);flex-wrap:wrap}.btn-export{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;min-height:44px}.btn-export:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-dim)}.btn-export:disabled{opacity:.5;cursor:not-allowed}.comparison-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-5);animation:card-in var(--transition-base) ease both}.comparison-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--space-4);align-items:center;margin-bottom:var(--space-5)}.comp-col{display:flex;flex-direction:column;gap:var(--space-3)}.comp-header{font-size:var(--text-base);font-weight:700;color:var(--color-text);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.comp-stat{display:flex;flex-direction:column;gap:2px}.comp-stat-label{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.comp-stat-value{font-size:var(--text-lg);font-weight:700;color:var(--color-text);letter-spacing:-.02em}.comp-divider{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.comp-vs{width:40px;height:40px;border-radius:50%;background:var(--grad-primary);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:800;letter-spacing:.05em}.comp-delta{text-align:center;font-size:var(--text-xs);line-height:1.4}.delta-positive{color:var(--color-success);font-weight:600}.delta-neutral{color:var(--color-text-muted)}.chart-container{max-height:220px}@media (max-width: 640px){.results-content{display:flex;flex-direction:column;gap:var(--space-4)}.summary-cards{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:0}.summary-card{padding:var(--space-4);border-radius:var(--radius-lg);min-width:0;align-items:center}.card-icon{font-size:1.5rem}.card-installment{min-height:auto;padding:var(--space-5) var(--space-4);position:relative;overflow:hidden;background:radial-gradient(circle at 86% 16%,rgba(255,255,255,.14),transparent 34%),linear-gradient(135deg,rgba(var(--color-primary-rgb),.42),rgba(var(--color-accent-rgb),.2));box-shadow:0 10px 24px rgba(var(--color-primary-rgb),.15)}.card-installment:after{content:"";position:absolute;width:148px;height:148px;right:-52px;top:-52px;border-radius:50%;background:#ffffff14;pointer-events:none}.card-installment .card-icon{position:absolute;top:50%;right:var(--space-4);transform:translateY(-50%);width:48px;height:48px;display:grid;place-items:center;border-radius:var(--radius-full);background:#ffffff1f;box-shadow:inset 0 1px #ffffff29}.card-installment .card-body{display:flex;flex-direction:column;align-items:flex-start}.card-installment .card-label{color:#f1f5f9bd;margin-bottom:var(--space-1);font-size:var(--text-xs)}.card-installment .card-value{font-size:clamp(1.75rem,8vw,2.25rem);max-width:calc(100% - 60px);font-variant-numeric:tabular-nums;text-shadow:0 2px 8px rgba(0,0,0,.2)}.card-interest,.card-total{flex-direction:row;align-items:center;padding:var(--space-3) var(--space-4);gap:var(--space-3)}.card-interest .card-body,.card-total .card-body{display:flex;flex-direction:row;flex:1;justify-content:space-between;align-items:center}.card-interest .card-label,.card-total .card-label{margin-bottom:0;font-size:var(--text-sm)}.card-interest .card-value,.card-total .card-value{font-size:var(--text-base);text-align:right}.comparison-grid{grid-template-columns:1fr}.comp-divider{display:none}}@media (max-width: 480px){.results-panel{padding-bottom:var(--space-4)}.summary-cards{animation:cards-slide-in .5s ease both}@keyframes cards-slide-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.card-installment{padding:var(--space-4)}.results-toolbar{align-items:stretch;gap:var(--space-3);margin-bottom:0}.compare-toggle,.compare-label{width:100%}.compare-label{min-height:44px;justify-content:space-between;padding:var(--space-3);background:linear-gradient(135deg,#1e293bf0,#273548e0);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.export-buttons{display:grid;grid-template-columns:repeat(3,1fr);width:100%;gap:var(--space-2)}.btn-export{justify-content:center;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);min-width:0;min-height:48px;background:#273548d6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.btn-export:active{transform:scale(.96);background:#273548f5}.btn-export svg{flex-shrink:0}.comparison-panel{padding:var(--space-4);margin-bottom:0;border-radius:var(--radius-lg);background:linear-gradient(180deg,#273548eb,#1e293beb),var(--color-surface)}.comp-col{gap:var(--space-2)}.comp-stat{flex-direction:row;justify-content:space-between;gap:var(--space-3)}.comp-stat-value{font-size:var(--text-base);text-align:right}.chart-container{max-height:180px}}.btn-collapse-toggle{width:34px;height:34px;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);margin-left:auto}.btn-collapse-toggle:hover{border-color:var(--color-primary);color:var(--color-text);background:var(--color-primary-dim)}.btn-collapse-toggle .icon-chevron{transition:transform .4s cubic-bezier(.4,0,.2,1)}.btn-collapse-toggle[aria-expanded=false] .icon-chevron{transform:rotate(180deg)}.collapsible-content{overflow:hidden;max-height:1200px;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease,padding .4s ease,margin .4s ease;opacity:1}.collapsible-content.collapsed{max-height:0;opacity:0;padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important;border-color:transparent!important}@media (max-width: 640px){.btn-collapse-toggle{width:44px;height:44px}}
