*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary:#100f31;--primary-dark:#0a0921;--primary-mid:#12375f;--accent:#ee3b1b;--accent-dark:#c9300f;--bg:#f3f4f6;--surface:#fff;--text:#1f2937;--muted:#6b7280;--border:#e5e7eb;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--gemeseg-font:"Montserrat", "Arial Black", sans-serif}html,body{font-family:var(--gemeseg-font);color:var(--text);background:var(--bg);height:100%;font-size:14px;line-height:1.5}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}.app{grid-template-rows:auto 1fr;height:100vh;display:grid}.topbar{background:var(--primary);color:#fff;justify-content:space-between;align-items:center;padding:12px 20px;display:flex;box-shadow:0 2px 6px #0000001a}.topbar h1{letter-spacing:.5px;font-size:18px;font-weight:600}.brand{align-items:baseline;gap:8px;display:flex;letter-spacing:1px!important;font-size:20px!important;font-weight:800!important}.brand .m{color:var(--accent)}.brand-sub{letter-spacing:2px;text-transform:uppercase;opacity:.85;font-size:11px;font-weight:500}.logo-img{object-fit:contain;display:block}.logo-img-login{height:48px;margin:0 auto}.logo-img-topbar{height:28px}.logo-img-print{height:40px}.user-chip{color:#fff;background:#ee3b1b26;border:1px solid #ee3b1b59;border-radius:6px;align-items:center;gap:8px;padding:5px 8px 5px 12px;font-size:12px;font-weight:600;display:flex;position:relative}.user-chip-info{cursor:pointer;align-items:center;gap:6px;display:flex}.user-chip-icon{font-size:14px;line-height:1}.user-chip-role{color:#fff;text-transform:uppercase;letter-spacing:.5px;background:#fff3;border-radius:8px;padding:1px 6px;font-size:10px;font-weight:700}.user-dropdown{border:1px solid var(--border);z-index:1000;background:#fff;border-radius:8px;min-width:220px;display:none;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 8px 24px #00000026}.user-dropdown.open{display:block}.user-dropdown-header{padding:12px 14px}.user-dropdown-name{color:var(--text);font-size:14px;font-weight:700}.user-dropdown-role{color:var(--muted);margin-top:2px;font-size:12px}.user-dropdown-divider{background:var(--border);height:1px}.user-dropdown-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;padding:10px 14px;font-size:13px;transition:background .1s;display:block}.user-dropdown-item:hover{background:var(--bg)}.user-dropdown-logout{color:var(--danger)}.topbar h1 .badge{background:var(--accent);color:var(--primary-dark);vertical-align:middle;border-radius:4px;margin-left:8px;padding:2px 8px;font-size:11px}.topbar-actions{gap:8px;display:flex}.btn{color:#fff;background:#ffffff26;border:1px solid #0000;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:background .15s}.btn:hover{background:#ffffff40}.btn-primary{background:var(--accent);color:var(--primary-dark);font-weight:600}.btn-primary:hover{background:#fbbf24}.btn-danger{background:#ef4444e6}.btn-danger:hover{background:var(--danger)}.btn-ghost{border-color:var(--border);color:var(--text);background:0 0}.btn-ghost:hover{background:var(--bg)}.topbar-actions .btn-ghost{color:#fff;border-color:#ffffff4d}.topbar-actions .btn-ghost:hover{background:#ffffff26}.main{grid-template-columns:1fr 6px 1.2fr;gap:0;display:grid;overflow:hidden}.panel-divider{cursor:col-resize;background:var(--border);z-index:10;width:6px;transition:background .15s;position:relative}.panel-divider:hover,.panel-divider.active{background:var(--accent)}.panel-divider:after{content:"";background:#00000026;border-radius:1px;width:2px;height:32px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.panel-divider:hover:after,.panel-divider.active:after{background:#ffffff80}.catalog-panel{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;display:flex;overflow:hidden}#catalogItemsTab,#catalogKitsTab{flex-direction:column;flex:1;display:flex;overflow:hidden}.catalog-header{border-bottom:1px solid var(--border);background:#fafafa;padding:14px 16px}.catalog-search{gap:8px;margin-bottom:8px;display:flex}.catalog-search input{border:1px solid var(--border);border-radius:6px;flex:1;padding:8px 12px;font-size:13px}.catalog-search input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #0b3a6f1a}.catalog-search select{border:1px solid var(--border);background:#fff;border-radius:6px;max-width:200px;padding:8px 10px;font-size:13px}.catalog-filters{gap:8px;margin-bottom:8px;display:flex}.catalog-select{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:6px;flex:1;padding:8px 10px;font-size:12px;font-weight:500;transition:border-color .15s,box-shadow .15s}.catalog-select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #0b3a6f1a}.cat-item-subcat{color:#065f46;letter-spacing:.2px;background:#10b9811a;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.cat-item-model{color:#1e40af;background:#3b82f614;border-radius:3px;margin-left:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:10px;font-weight:500;display:inline-block}.cat-item-units{color:#5b21b6;background:#8b5cf61a;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.cat-item-details{color:var(--muted);gap:10px;margin-top:3px;font-size:10px;display:flex}.cat-item-details strong{color:var(--text);font-weight:600}.cat-item-supplier{color:var(--muted);font-size:10px}.table-tag{text-transform:uppercase;letter-spacing:.3px;border-radius:3px;margin-bottom:2px;padding:1px 5px;font-size:9px;font-weight:700;display:inline-block}.table-tag-equipos{color:#1e40af;background:#dbeafe}.table-tag-materiales{color:#065f46;background:#d1fae5}.table-tag-servicios{color:#92400e;background:#fef3c7}.sync-log-summary{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.sync-log-stat{border-radius:6px;padding:6px 12px;font-size:13px;font-weight:600}.sync-log-ok{color:#065f46;background:#d1fae5}.sync-log-error{color:#991b1b;background:#fee2e2}.sync-log-sheet{border:1px solid var(--border);border-radius:6px;margin-bottom:12px;overflow:hidden}.sync-log-sheet-header{text-transform:uppercase;letter-spacing:.3px;background:#f3f4f6;padding:8px 12px;font-size:12px;font-weight:700}.sync-log-sheet-stats{color:var(--muted);padding:8px 12px;font-size:12px}.sync-log-errors{background:#fef2f2;border-top:1px solid #fecaca;padding:6px 12px}.sync-log-error-item{color:#991b1b;padding:2px 0;font-family:ui-monospace,monospace;font-size:11px}.sync-log-detail{border:1px solid var(--border);border-radius:6px;margin-top:16px;overflow:hidden}.sync-log-detail-header{color:#fff;background:#1f2937;padding:8px 12px;font-family:ui-monospace,monospace;font-size:12px;font-weight:700}.sync-log-entry{border-bottom:1px solid #f3f4f6;padding:3px 12px;font-family:ui-monospace,monospace;font-size:11px}.sync-log-entry.sync-log-err{color:#991b1b;background:#fef2f2}.sync-log-entry.sync-log-warn{color:#92400e;background:#fffbeb}.sync-log-ts{color:var(--muted);margin-right:8px}.catalog-stats{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.catalog-list{flex:1;padding:8px;overflow-y:auto}.cat-item{border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:10px 12px;transition:background .1s;display:grid}.cat-item:hover{background:#f9fafb}.cat-item-info{min-width:0}.cat-item-code{color:var(--muted);margin-bottom:2px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px}.cat-item-desc{color:var(--text);word-break:break-word;font-size:13px;font-weight:500;line-height:1.3}.cat-item-meta{color:var(--muted);align-items:center;gap:8px;margin-top:3px;font-size:11px;display:flex}.cat-item-install{color:#d97706;font-size:11px;font-weight:500}.cat-item-price{text-align:right;min-width:90px}.cat-item-price .pvp{color:var(--primary);font-size:14px;font-weight:600}.cat-item-price .cost{color:var(--muted);font-size:10px}.freshness{border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.freshness.fresh{background:var(--success)}.freshness.aging{background:var(--warning)}.freshness.stale{background:var(--danger)}.add-btn{background:var(--primary);color:#fff;border:none;border-radius:4px;align-self:center;padding:5px 10px;font-size:12px;font-weight:600;transition:background .15s}.add-btn:hover{background:var(--primary-dark)}.add-btn:active{transform:scale(.96)}.page-size-label{color:var(--muted);align-items:center;gap:4px;font-size:11px;display:inline-flex}.page-size-select{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:4px;padding:2px 4px;font-size:11px}.catalog-pagination{border-top:1px solid var(--border);color:var(--muted);flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 12px;font-size:11px;display:flex}.pag-info{white-space:nowrap}.pag-buttons{align-items:center;gap:2px;display:flex}.pag-btn{border:1px solid var(--border);cursor:pointer;color:var(--text);background:#fff;border-radius:4px;padding:3px 7px;font-size:11px;transition:background .1s}.pag-btn:hover:not(:disabled){background:#f3f4f6}.pag-btn:disabled{opacity:.4;cursor:default}.pag-btn.pag-active{background:var(--primary);color:#fff;border-color:var(--primary)}.pag-ellipsis{color:var(--muted);padding:0 3px}.quote-panel{flex-direction:column;display:flex;overflow:hidden}.quote-scroll{flex:1;padding:16px 20px;overflow-y:auto}.quote-section{border:1px solid var(--border);background:#fff;border-radius:8px;margin-bottom:14px;overflow:hidden}.quote-section-header{border-bottom:1px solid var(--border);background:#fafafa;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.quote-section-header h2{text-transform:uppercase;letter-spacing:.5px;color:var(--primary);font-size:13px;font-weight:600}.quote-section-body{padding:14px}.form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-grid.full{grid-template-columns:1fr}.field label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px;font-size:11px;font-weight:600;display:block}.required{color:var(--danger);font-weight:700}.field input[required]:invalid:not(:placeholder-shown){border-color:var(--danger)}.field input,.field textarea,.field select{border:1px solid var(--border);background:#fff;border-radius:5px;width:100%;padding:7px 10px;font-size:13px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #0b3a6f1a}.field textarea{resize:vertical;min-height:50px}.modality{grid-template-columns:1fr 1fr;gap:8px;display:grid}.modality label{border:2px solid var(--border);cursor:pointer;text-align:center;background:#fff;border-radius:6px;padding:12px;transition:all .15s;display:block}.modality input[type=radio]{opacity:0;pointer-events:none;position:absolute}.modality label:hover{border-color:var(--primary)}.modality input[type=radio]:checked+.modality-card{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);background:#0b3a6f0d}.modality-card .title{color:var(--text);font-size:13px;font-weight:600}.modality-card .margin{color:var(--primary);margin:4px 0;font-size:18px;font-weight:700}.modality-card .desc{color:var(--muted);font-size:11px}.items-table{border-collapse:collapse;width:100%;font-size:12px}.items-table th{text-align:left;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);border-bottom:2px solid var(--border);white-space:nowrap;background:#fafafa;padding:5px 6px;font-size:10px;font-weight:600}.items-table th.right{text-align:right}.items-table th.center{text-align:center}.items-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:5px 6px}.items-table td.right{text-align:right}.items-table td.center{text-align:center}.items-table tr:last-child td{border-bottom:none}.items-table .item-num{color:var(--muted);width:22px;font-size:11px;font-weight:600}.items-table .item-desc{font-size:12px}.item-desc-click{cursor:pointer}.item-desc-click:hover{background:#f9fafb}.item-desc-text{word-break:break-word;font-weight:500;line-height:1.3}.items-table .item-desc small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.qty-input{border:1px solid var(--border);text-align:center;border-radius:4px;width:42px;padding:3px 4px;font-size:12px}.margin-input{text-align:center;color:#1e40af;border:1px solid #93c5fd;border-radius:4px;width:45px;padding:3px 4px;font-size:12px;font-weight:600}.margin-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f626}.margin-pct{color:#6b7280;margin-left:1px;font-size:11px;font-weight:600}.remove-btn{border:1px solid var(--border);cursor:pointer;color:var(--muted);background:0 0;border-radius:4px;min-width:28px;min-height:28px;padding:3px 6px;font-size:11px}.remove-btn:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.quote-conditions-input{border:1px solid var(--border);resize:vertical;width:100%;color:var(--text);background:var(--card);transition:var(--transition);box-sizing:border-box;border-radius:8px;padding:10px;font-family:inherit;font-size:12px;line-height:1.6}.quote-conditions-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.conditions-label{color:var(--text);margin:14px 0 6px;font-size:12px;font-weight:600;display:block}.discount-row{align-items:center;gap:10px;padding:0 14px 14px;display:flex}.discount-row select,.discount-row input{border:1px solid var(--border);color:var(--text);background:var(--card);border-radius:6px;padding:6px 10px;font-family:inherit;font-size:13px}.discount-row select:focus,.discount-row input:focus{border-color:var(--primary);outline:none}.discount-row input:disabled{opacity:.4;cursor:not-allowed}.discount-preview{color:var(--muted);white-space:nowrap;font-size:13px}.kit-item{border:1px solid var(--border);background:var(--card);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px 14px;display:flex}.kit-item-info{flex-direction:column;gap:2px;display:flex}.kit-item-info small{color:var(--muted);font-size:11px}.kit-item-actions{gap:6px;display:flex}.btn-sm{border:1px solid var(--border);background:var(--card);cursor:pointer;transition:var(--transition);border-radius:4px;padding:4px 8px;font-size:12px}.btn-sm:hover{background:var(--primary-light);border-color:var(--primary)}.btn-danger-sm{color:var(--danger)}.btn-danger-sm:hover{background:var(--danger-light);border-color:var(--danger)}.kit-comp-row{border:1px solid var(--border);background:var(--bg);border-radius:6px;align-items:center;gap:8px;margin-bottom:6px;padding:6px;display:flex}.kit-comp-row input[type=text]{border:1px solid var(--border);border-radius:4px;flex:2;padding:4px 8px;font-family:inherit;font-size:12px}.kit-comp-row input[type=number]{border:1px solid var(--border);border-radius:4px;flex:1;padding:4px 8px;font-family:inherit;font-size:12px}.kit-comp-check{white-space:nowrap;cursor:pointer;align-items:center;gap:4px;font-size:11px;display:flex}.kit-comp-check input{cursor:pointer}.kit-comp-select{border:1px solid var(--border);background:var(--card);border-radius:4px;flex:3;padding:4px 8px;font-family:inherit;font-size:12px}.kit-row td{border-bottom:1px dashed var(--border);background:rgba(var(--primary-rgb), .02)}.kit-header-row td{background:rgba(var(--primary-rgb), .08);border-top:2px solid var(--primary);border-bottom:1px solid var(--border);padding:8px}.kit-items-separator td{border:none;padding:0}.kit-items-divider{background:var(--primary);opacity:.3;border-radius:2px;height:3px;margin:6px 0}#kitsCatalogList .catalog-item+.catalog-item{border-top:1px solid var(--border);margin-top:4px;padding-top:8px}.cotizador-vs-pdf-banner{background:#e8f4fd;border:1px solid #b3d9f2;border-radius:8px;margin-bottom:12px;padding:12px 16px;font-size:12px;animation:.3s slideDown}.cotizador-vs-pdf-banner .banner-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.cotizador-vs-pdf-banner .banner-header strong{color:#1a5276;font-size:13px}.cotizador-vs-pdf-banner .banner-close{cursor:pointer;color:#1a5276;background:0 0;border:none;padding:2px 6px;font-size:14px}.cotizador-vs-pdf-banner .banner-close:hover{color:#c0392b}.cotizador-vs-pdf-banner .banner-body{grid-template-columns:1fr 1fr;gap:12px;display:grid}.cotizador-vs-pdf-banner .banner-title{color:#1a5276;margin-bottom:4px;font-weight:700}.cotizador-vs-pdf-banner .banner-col div{font-size:11px;line-height:1.6}.catalog-tabs{border-bottom:1px solid var(--border);background:var(--card);display:flex}.catalog-tab{cursor:pointer;color:var(--muted);transition:var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px;font-family:inherit;font-size:13px;font-weight:600}.catalog-tab:hover{color:var(--text);background:var(--bg)}.catalog-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.empty-state{text-align:center;color:var(--muted);padding:30px 20px;font-size:13px}.empty-state .icon{opacity:.4;margin-bottom:8px;font-size:36px}.totals{background:var(--primary);color:#fff;border-radius:8px;margin-bottom:14px;padding:16px}.totals-row{justify-content:space-between;padding:4px 0;font-size:14px;display:flex}.totals-row.divider{border-top:1px solid #fff3;margin-top:6px;padding-top:10px}.totals-row.total{border-top:2px solid var(--accent);margin-top:8px;padding-top:10px;font-size:22px;font-weight:700}.totals-row.total .accent{color:var(--accent)}.actions-bar{flex-wrap:wrap;gap:8px;display:flex}.actions-bar button{border:1px solid var(--border);min-width:110px;color:var(--text);background:#fff;border-radius:6px;flex:1;padding:10px 14px;font-size:13px;font-weight:500;transition:all .15s}.actions-bar button:hover{background:var(--bg)}.actions-bar .btn-print{background:var(--primary);color:#fff;border-color:var(--primary)}.actions-bar .btn-print:hover{background:var(--primary-dark)}.actions-bar .btn-save{background:var(--accent);color:var(--primary-dark);border-color:var(--accent);font-weight:600}.actions-bar .btn-save:hover{background:#fbbf24}.actions-bar .btn-new-quote{color:var(--danger);border-color:var(--danger);background:#fff}.actions-bar .btn-new-quote:hover{background:#fef2f2}.tpl-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.tpl-filters input,.tpl-filters select{border:1px solid var(--border);border-radius:6px;padding:7px 10px;font-size:12px}.tpl-filters input{flex:1;min-width:160px}.tpl-list{flex-direction:column;gap:10px;max-height:55vh;display:flex;overflow-y:auto}.tpl-card{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:8px;padding:14px 16px;transition:box-shadow .15s,border-color .15s}.tpl-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000000f}.tpl-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px;display:flex}.tpl-card-title{color:var(--text);font-size:13px;font-weight:600}.tpl-card-actions{flex-shrink:0;gap:4px;display:flex}.tpl-card-actions button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:5px;padding:4px 8px;font-size:11px;transition:background .12s}.tpl-card-actions button:hover{background:var(--bg)}.tpl-card-desc{color:var(--muted);margin-bottom:8px;font-size:12px;line-height:1.4}.tpl-card-meta{flex-wrap:wrap;gap:8px;display:flex}.tpl-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-block}.tpl-badge-type{color:#6d28d9;background:#ede9fe}.tpl-badge-industry{color:#1d4ed8;background:#dbeafe}.tpl-badge-items{color:#92400e;background:#fef3c7}.tpl-badge-custom{color:#065f46;background:#d1fae5}.tpl-empty{text-align:center;color:var(--muted);padding:30px;font-size:13px}.detail-grid{grid-template-columns:1fr 1fr;gap:8px 16px;font-size:12px;display:grid}.detail-row{gap:6px;padding:4px 0;display:flex}.detail-row .label{color:var(--muted);white-space:nowrap;font-weight:500}.detail-row .value{color:var(--text)}.detail-divider{border-top:1px solid var(--border);grid-column:1/-1;margin:6px 0}.detail-obs{grid-column:1/-1;padding:8px 0}.detail-obs .label{color:var(--muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px;font-size:11px;font-weight:500;display:block}.detail-obs-text{background:var(--bg);border:1px solid var(--border);color:var(--text);white-space:pre-line;border-radius:6px;padding:10px 12px;font-size:12px;line-height:1.6}.help-section{border-bottom:1px solid var(--border)}.help-section:last-child{border-bottom:none}.help-section-toggle{cursor:pointer;width:100%;color:var(--text);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:14px 16px;font-size:14px;font-weight:600;display:flex}.help-section-toggle:hover{background:var(--bg)}.help-icon{flex-shrink:0;font-size:18px}.help-title{flex:1}.help-arrow{color:var(--text-muted);flex-shrink:0;font-size:10px}.help-section-content{color:var(--text-secondary);padding:0 16px 14px 44px;font-size:13px;line-height:1.7;display:none}.help-section-content p{margin:0 0 8px}.help-section-content ul{margin:0;padding-left:18px}.help-section-content li{margin-bottom:4px}.help-section-content code{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:1px 5px;font-size:12px}.help-subtitle{color:var(--primary-mid);border-bottom:1px solid var(--border);margin:14px 0 6px;padding-bottom:4px;font-size:13px;font-weight:700}.help-section-content ol{margin:0 0 8px;padding-left:20px}.help-section-content ol li{margin-bottom:4px}#usersTable tbody tr:hover{background:#f9fafb}#usersTable td{font-size:12px}#createUserForm .field label{color:var(--muted);margin-bottom:3px;font-size:11px;font-weight:600;display:block}#createUserForm .field input,#createUserForm .field select{border:1px solid var(--border);border-radius:6px;width:100%;padding:6px 10px;font-size:12px}.tpl-preview-header{border-bottom:1px solid var(--border);margin-bottom:16px;padding-bottom:12px}.tpl-preview-header h3{margin-bottom:4px;font-size:15px}.tpl-preview-header p{color:var(--muted);margin:0;font-size:12px}.tpl-preview-client{background:var(--bg);border-radius:8px;grid-template-columns:1fr 1fr;gap:6px 16px;margin-bottom:14px;padding:12px 14px;font-size:12px;display:grid}.tpl-preview-client .label{color:var(--muted);font-weight:500}.tpl-preview-client .value{color:var(--text)}.tpl-preview-table{border-collapse:collapse;width:100%;font-size:12px}.tpl-preview-table th{background:var(--primary);color:#fff;text-align:left;padding:8px 10px;font-size:11px;font-weight:600}.tpl-preview-table td{border-bottom:1px solid var(--border);padding:7px 10px}.tpl-preview-table tr:nth-child(2n) td{background:#00000005}.tpl-preview-totals{border-top:2px solid var(--primary);margin-top:12px;padding-top:10px;font-size:12px}.tpl-preview-total-row{color:var(--muted);justify-content:space-between;padding:3px 0;display:flex}.tpl-preview-total-row span:last-child{font-family:ui-monospace,monospace}.tpl-preview-total-final{color:var(--primary);border-top:1px solid var(--border);margin-top:4px;padding-top:6px;font-size:14px;font-weight:700}.tpl-editor-items{margin-top:12px}.tpl-editor-item{border-bottom:1px solid var(--border);grid-template-columns:1fr 55px 70px 55px 50px 35px;align-items:center;gap:6px;padding:6px 0;font-size:12px;display:grid}.tpl-editor-item input,.tpl-editor-item select{border:1px solid var(--border);border-radius:5px;padding:5px 7px;font-size:11px}.tpl-editor-item select{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.tpl-editor-item-header{color:var(--muted);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border);grid-template-columns:1fr 55px 70px 55px 50px 35px;gap:6px;padding:4px 0 6px;font-size:10px;font-weight:600;display:grid}.tpl-editor-item .remove-item{color:var(--danger);cursor:pointer;background:0 0;border:none;padding:2px;font-size:14px}.sync-status{cursor:pointer;color:#ffffffe6;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;transition:background .15s;display:flex}.sync-status:hover{background:#ffffff2e}.sync-status.syncing .sync-icon{animation:1s linear infinite spin}.sync-status.error{background:#ef44444d;border-color:#ef444480}.sync-status.success{background:#10b98140;border-color:#10b98166}.sync-icon{font-size:13px}@keyframes spin{to{transform:rotate(360deg)}}.sync-tabs{border-bottom:2px solid var(--border);gap:6px;margin-bottom:16px;display:flex}.sync-tab{color:var(--muted);background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:10px 14px;font-size:13px;font-weight:600}.sync-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.login-overlay{background:var(--primary);background-image:linear-gradient(135deg, var(--primary) 0%, var(--primary-mid) 100%);z-index:5000;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.login-overlay.hidden{display:none}.login-card{background:#fff;border-radius:14px;width:100%;max-width:380px;padding:36px 32px;box-shadow:0 24px 70px #0006}.login-logo{text-align:center;letter-spacing:2px;color:var(--primary);margin-bottom:8px;font-size:32px;font-weight:800}.login-logo .m{color:var(--accent)}.login-tagline{text-align:center;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-bottom:28px;font-size:11px;font-weight:600}.login-field{margin-bottom:16px}.login-field label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.login-field input{border:1px solid var(--border);border-radius:8px;width:100%;padding:12px 14px;font-size:15px}.login-field input:focus{border-color:var(--primary-mid);outline:none;box-shadow:0 0 0 3px #12375f1f}.eye-toggle{cursor:pointer;color:var(--muted,#666);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:32px;right:8px}.eye-toggle:hover{color:var(--text)}.login-btn{background:var(--accent);color:#fff;border:none;border-radius:8px;width:100%;margin-top:8px;padding:13px;font-size:15px;font-weight:700;transition:background .15s}.login-btn:hover{background:var(--accent-dark)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-error{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;margin-bottom:16px;padding:10px 12px;font-size:13px;display:none}.login-error.show{display:block}.login-footer{text-align:center;color:var(--muted);margin-top:22px;font-size:11px}.login-footer a{color:var(--primary-mid);cursor:pointer;text-decoration:underline}.login-spinner{vertical-align:middle;border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:16px;height:16px;margin-right:6px;animation:.7s linear infinite spin;display:inline-block}.modal-backdrop{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.modal-backdrop.open{display:flex}#confirmModal{z-index:2000}.modal{background:#fff;border-radius:10px;flex-direction:column;width:100%;max-width:700px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000004d}.modal-header{border-bottom:1px solid var(--border);background:var(--primary);color:#fff;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h2{font-size:16px;font-weight:600}.modal-close{color:#fff;background:#ffffff26;border:none;border-radius:4px;width:28px;height:28px;font-size:18px;line-height:1}.modal-body{flex:1;padding:20px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.saved-list{list-style:none}.saved-item{border:1px solid var(--border);border-radius:6px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;margin-bottom:8px;padding:12px;display:grid}.saved-item-info .saved-cliente{margin-bottom:2px;font-weight:600}.saved-item-info .saved-meta{color:var(--muted);font-size:11px}.saved-item-actions{gap:6px;display:flex}.status-badge{text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.status-borrador{color:#374151;background:#e5e7eb}.status-enviada{color:#92400e;background:#fef3c7}.status-vista{color:#1e40af;background:#dbeafe}.status-aceptada{color:#065f46;background:#d1fae5}.status-rechazada{color:#991b1b;background:#fee2e2}.status-vencida{color:#78350f;background:#fde68a}.status-select{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:6px;min-width:110px;padding:4px 6px;font-size:11px;font-weight:600}.status-select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #3b82f633}.editor-table{border-collapse:collapse;width:100%;font-size:11px}.editor-table thead{z-index:2;position:sticky;top:0}.editor-table th{border:1px solid var(--border);text-align:left;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);background:#f3f4f6;padding:6px 8px;font-size:10px;font-weight:700}.editor-table td{border:1px solid var(--border);padding:2px}.editor-table td input,.editor-table td select{background:0 0;border:none;outline:none;width:100%;padding:5px 6px;font-size:11px}.editor-table td input:focus,.editor-table td select:focus{box-shadow:inset 0 0 0 2px var(--primary);background:#eff6ff}.editor-table tr:hover td{background:#f9fafb}.editor-table tr.row-modified td{background:#fef3c7}.editor-table tr.row-new td{background:#d1fae5}.editor-table tr.row-deleted td{opacity:.6;background:#fee2e2;text-decoration:line-through}.editor-table .del-btn{cursor:pointer;color:var(--danger);background:0 0;border:none;padding:4px;font-size:14px}.editor-table .del-btn:hover{transform:scale(1.2)}.viewer-table td{padding:6px 8px}.viewer-table tr:hover td{background:#f0f9ff}.history-filters{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.history-filters input,.history-filters select{border:1px solid var(--border);border-radius:6px;padding:7px 10px;font-size:12px}.history-filters input{flex:1;min-width:140px}.history-filters select{min-width:120px}.history-stats{color:var(--muted);flex-wrap:wrap;gap:12px;margin-bottom:12px;font-size:11px;display:flex}.history-stat{align-items:center;gap:4px;display:flex}.history-stat .dot{border-radius:50%;width:8px;height:8px;display:inline-block}.history-item{border:1px solid var(--border);border-radius:6px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;margin-bottom:6px;padding:10px 12px;transition:background .1s;display:grid}.history-item:hover{background:#f9fafb}.history-item-info{min-width:0}.history-item-client{font-size:13px;font-weight:600}.history-item-meta{color:var(--muted);margin-top:2px;font-size:11px}.history-item-vendor{color:var(--muted);font-size:11px}.history-item-actions{gap:4px;display:flex}.history-item-actions button{border:1px solid var(--border);cursor:pointer;white-space:nowrap;background:#fff;border-radius:4px;padding:4px 8px;font-size:11px}.history-item-actions button:hover{background:#f3f4f6}.history-item-actions .btn-status{background:var(--primary);color:#fff;border-color:var(--primary)}.history-item-actions .btn-status:hover{background:var(--primary-dark)}.toast{background:var(--primary);color:#fff;z-index:2000;border-radius:8px;padding:12px 20px;font-size:14px;font-weight:500;transition:transform .3s;position:fixed;bottom:20px;right:20px;transform:translate(120%);box-shadow:0 10px 30px #0003}.toast.show{transform:translate(0)}.toast.success{background:var(--success)}.toast.danger{background:var(--danger)}@media (width<=900px){.main{grid-template-rows:auto auto;grid-template-columns:1fr;height:auto}.panel-divider{display:none}.app{height:auto;min-height:100vh}.catalog-panel{border-right:none;border-bottom:1px solid var(--border);max-height:50vh}.form-grid,.modality{grid-template-columns:1fr}.catalog-filters{flex-direction:column}}@media (width<=768px){.topbar-actions{flex-wrap:wrap;gap:6px}.topbar-actions .btn{white-space:nowrap;padding:8px 10px;font-size:12px}.user-chip-name-full{display:none}.detail-grid,.tpl-preview-client,.margin-controls,.history-item{grid-template-columns:1fr}.history-item-info{flex-direction:column;align-items:flex-start;gap:4px}.form-grid{grid-template-columns:1fr}.quote-section{margin-bottom:10px}.add-btn,.remove-btn,.pag-btn,.modal-close{min-width:44px;min-height:44px}.modal{max-height:88vh}}@media (width<=640px){.topbar{flex-direction:column;align-items:stretch;gap:6px;padding:8px 10px}.brand{justify-content:center;font-size:16px!important}.topbar-actions{flex-wrap:wrap;justify-content:center;gap:4px}.topbar-actions .btn{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;padding:6px 8px;font-size:11px;overflow:hidden}.sync-status{order:3;justify-content:center;width:100%}.user-chip{order:2}.user-chip-name-full,.user-chip-role{display:none}.user-chip{gap:4px;padding:4px 6px}.app{height:auto}.main{display:block}.catalog-panel{border-bottom:2px solid var(--primary);max-height:none}.quote-scroll{padding:10px}.catalog-header{padding:8px 10px}.catalog-search input{padding:8px 10px;font-size:13px}.catalog-filters{gap:6px}.catalog-select{padding:6px 8px;font-size:12px}.catalog-stats{flex-wrap:wrap;gap:4px;font-size:11px}.page-size-select{padding:2px 4px;font-size:11px}.cat-item{grid-template-columns:1fr auto;align-items:center;gap:6px;padding:6px 10px}.cat-item-info{min-width:0}.cat-item-code{margin-bottom:0;font-size:10px}.cat-item-desc{white-space:normal;word-break:break-word;font-size:12px;line-height:1.3}.cat-item-meta{gap:4px;margin-top:1px;font-size:10px}.cat-item-install{font-size:10px}.cat-item-price{text-align:right;min-width:70px}.cat-item-price .pvp{font-size:12px}.cat-item-price .cost{font-size:9px}.add-btn{white-space:nowrap;min-width:auto;min-height:32px;padding:4px 10px;font-size:11px}.catalog-pagination{gap:4px;padding:6px 10px}.pag-btn{min-width:32px;min-height:32px;padding:4px 8px;font-size:12px}.quote-section-body{-webkit-overflow-scrolling:touch;overflow-x:auto}.items-table{min-width:380px;font-size:11px}.items-table th{letter-spacing:.2px;padding:4px 5px;font-size:9px}.items-table td{padding:4px 5px}.items-table .item-num{width:20px;font-size:10px}.items-table .item-desc{font-size:11px}.items-table .item-desc small{margin-top:1px;font-size:9px}.qty-input{width:36px;padding:2px 3px;font-size:11px}.remove-btn{min-width:26px;min-height:26px;padding:2px 5px;font-size:10px}.margin-badge{padding:1px 5px;font-size:9px}.install-active,.install-pending{font-size:10px}#usersTable{min-width:400px;font-size:11px}#usersTable th{padding:4px 5px;font-size:9px}#usersTable td{padding:4px 5px;font-size:11px}#createUserForm .form-grid{grid-template-columns:1fr!important}.totals{padding:8px 10px}.totals-row{padding:3px 0;font-size:12px}.totals-row.total{margin-top:4px;padding-top:6px;font-size:16px}.actions-bar{flex-flow:wrap;gap:6px}.actions-bar button{flex:1;min-width:0;min-height:40px;padding:8px 10px;font-size:12px}.modal{border-radius:10px 10px 0 0;width:100%;max-height:92vh}.modal-backdrop{align-items:flex-end;padding:0}.modal-body{padding:12px}.modal-header{padding:10px 12px}.modal-header h2{font-size:15px}.modal-footer{padding:10px 12px}.form-grid{grid-template-columns:1fr;gap:8px}.form-group label{font-size:11px}.form-group input,.form-group textarea{padding:7px 10px;font-size:13px}.modality{grid-template-columns:1fr;gap:6px}.login-card{padding:20px 16px}.login-field label{font-size:12px}.login-field input{padding:10px 12px;font-size:14px}.login-btn{padding:11px;font-size:14px}.detail-grid{grid-template-columns:1fr}.detail-row{flex-direction:column;align-items:flex-start;gap:2px}.margin-controls{grid-template-columns:1fr}.supplier-group-header{flex-wrap:wrap;gap:6px;padding:8px 10px}.supplier-name{font-size:12px}.supplier-margin-input input{width:45px;font-size:13px}.supplier-group-item{gap:6px;padding:5px 10px;font-size:11px}.sgi-code{min-width:55px;font-size:9px}.sgi-desc,.sgi-cost{font-size:11px}.install-config-row{padding:6px 10px}.install-config-name{font-size:11px}.history-item{padding:8px 10px}.history-item-info{gap:2px}.user-chip-info{font-size:11px}.user-chip-name-full{display:none}.user-dropdown{min-width:180px}}@media print{body{background:#fff;font-size:10px}.topbar,.catalog-panel,.panel-divider,.actions-bar,.quote-section[data-no-print],.modal-backdrop{display:none!important}.app,.main,.quote-panel{height:auto;display:block;overflow:visible}.quote-scroll{padding:0;overflow:visible}.print-only{display:block!important}.quote-section{box-shadow:none;border:none;margin-bottom:6px}.quote-section-header{display:none}.print-hide-col,.remove-btn{display:none!important}.qty-input{appearance:none!important;pointer-events:none!important;border:none!important}.quote-conditions-input{display:none!important}.items-table{font-size:8px}.items-table th,.items-table td{padding:2px 3px}.totals{color:#000;page-break-inside:avoid;background:#fff;border:2px solid #333;padding:6px 10px}.totals-row{padding:2px 0;font-size:11px}.totals-row.total{color:#000;font-size:13px}.totals-row.total .accent{color:#000}.totals-row.totals-sub{padding:1px 0;font-size:10px}.totals-row.totals-sub-detail{padding:1px 0;font-size:9px}.quote-section:last-of-type{page-break-inside:avoid}.print-condiciones{page-break-inside:avoid;margin-top:6px;padding:6px 8px;font-size:8px;line-height:1.3}.print-firma{page-break-inside:avoid;gap:16px;margin-top:10px;font-size:10px}.print-firma .firma-block{padding-top:16px}.print-legal{page-break-inside:avoid;margin-top:4px;font-size:7px}.print-header{margin-bottom:6px;padding-bottom:4px}.print-header .print-logo{font-size:20px}.print-client-name{margin-top:4px;padding-top:2px;font-size:12px}.print-cot-info{margin-bottom:4px;font-size:9px}.print-cliente{margin-bottom:8px;padding:6px 8px;font-size:9px}.print-cliente .row{margin-bottom:1px}@page{size:A4;margin:1cm}}.print-only{display:none}.print-header{text-align:center;border-bottom:3px solid var(--primary);margin-bottom:20px;padding-bottom:16px}.print-header .print-logo{font-family:var(--gemeseg-font);letter-spacing:2px;color:var(--primary);margin-bottom:4px;font-size:34px;font-weight:800;line-height:1}.print-header .print-logo .m{color:var(--accent)}.print-header h1{color:var(--primary);margin-bottom:4px;font-size:22px}.print-header .empresa-info{color:var(--muted);font-size:12px;line-height:1.6}.print-client-name{color:var(--primary);border-top:1px solid var(--border);margin-top:10px;padding-top:8px;font-size:16px;font-weight:700}.print-cot-info{justify-content:space-between;margin:16px 0;font-size:13px;display:flex}.print-cot-info .label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}.print-cliente{background:#f9fafb;border-radius:6px;margin-bottom:16px;padding:12px;font-size:13px}.print-cliente .row{grid-template-columns:130px 1fr;margin-bottom:4px;display:grid}.print-cliente .label{color:var(--muted);font-weight:600}.print-table{border-collapse:collapse;width:100%;margin-bottom:16px;font-size:12px}.print-table th{background:var(--primary);color:#fff;text-align:left;text-transform:uppercase;padding:8px;font-size:11px}.print-table th.right{text-align:right}.print-table th.center{text-align:center}.print-table td{border-bottom:1px solid var(--border);padding:7px 8px}.print-table td.right{text-align:right}.print-table td.center{text-align:center}.print-condiciones{background:#f9fafb;border-radius:6px;margin-top:10px;padding:8px 10px;font-size:9px;line-height:1.4}.print-condiciones strong{color:var(--primary)}.print-firma{grid-template-columns:1fr 1fr;gap:20px;margin-top:16px;font-size:11px;display:grid}.print-firma .firma-block{text-align:center;border-top:1px solid var(--text);padding-top:20px}.print-legal{color:var(--muted);text-align:justify;margin-top:8px;font-size:8px;font-style:italic}.margin-subsection{margin-bottom:16px}.margin-subsection:last-child{margin-bottom:0}.margin-subsection-header{border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:8px 12px;display:flex}.margin-subsection-proveedores{background:#eff6ff;border:1px solid #bfdbfe}.margin-subsection-proveedores h4{color:#1e40af}.margin-subsection-instalacion{background:#fffbeb;border:1px solid #fde68a}.margin-subsection-instalacion h4{color:#92400e}.margin-subsection-header h4{margin:0;font-size:12px;font-weight:600}.margin-subsection-count{color:var(--muted);background:#ffffffb3;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.margin-empty{color:var(--muted);border:1px dashed var(--border);background:#f9fafb;border-radius:6px;padding:10px 14px;font-size:12px;font-style:italic}.supplier-group{background:#fff;border:1px solid #bfdbfe;border-radius:8px;margin-bottom:10px;overflow:hidden}.supplier-group-header{background:#dbeafe;border-bottom:1px solid #bfdbfe;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.supplier-name{color:#1e40af;font-size:12px;font-weight:600}.supplier-count{color:#6b7280;margin-left:6px;font-size:10px;font-weight:500}.supplier-hint{color:#6b7280;font-size:10px;font-style:italic}.sgi-margin-inline{flex-shrink:0}.sgi-margin-inline input{width:42px;padding:2px 4px;font-size:11px}.supplier-margin-input{align-items:center;gap:4px;display:flex}.supplier-margin-input input{text-align:center;color:#1e40af;background:#fff;border:1px solid #93c5fd;border-radius:4px;width:48px;padding:3px 4px;font-size:12px;font-weight:600}.supplier-margin-input input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f61f}.supplier-margin-input span{color:#6b7280;font-size:11px;font-weight:600}.supplier-group-item{border-bottom:1px solid #eff6ff;align-items:center;gap:8px;padding:5px 12px;font-size:11px;transition:background .1s;display:flex}.supplier-group-item:last-child{border-bottom:none}.supplier-group-item:hover{background:#f0f9ff}.supplier-group-item.sgi-active{background:#eff6ff}.supplier-group-item.sgi-custom{background:#fef3c7;border-left:3px solid #f59e0b}.sgi-code{color:var(--muted);min-width:60px;font-family:ui-monospace,monospace;font-size:10px}.sgi-desc{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.sgi-cost{color:var(--muted);white-space:nowrap;font-size:11px}.sgi-cost strong{color:#1e40af;font-weight:700}.sgi-margin{color:#1e40af;background:#dbeafe;border-radius:3px;padding:0 4px;font-size:9px;font-weight:700;display:inline-block}.sgi-no-margin{color:#9ca3af;font-size:9px;font-style:italic}.install-global-control{color:#92400e;background:#fffbeb;border-bottom:1px solid #fde68a;align-items:center;gap:10px;padding:10px 14px;font-size:12px;font-weight:700;display:flex}.margin-input-inline{align-items:center;gap:4px;display:flex}.margin-input-inline input{text-align:center;color:#92400e;background:#fff;border:2px solid #fbbf24;border-radius:6px;width:55px;padding:5px 6px;font-size:14px;font-weight:700}.margin-input-inline input:focus{border-color:#f59e0b;outline:none;box-shadow:0 0 0 3px #f59e0b26}.margin-input-inline span{color:#92400e;font-size:13px;font-weight:700}.install-config-row{background:#fff;border:1px solid #fde68a;border-radius:8px;margin-bottom:8px;transition:border-color .15s;overflow:hidden}.install-config-row.install-active-row{border-width:2px;border-color:#f59e0b}.install-config-row:last-child{margin-bottom:0}.install-config-info{background:#fffbeb;align-items:center;gap:10px;padding:10px 14px;display:flex}.install-config-name{color:var(--text);flex:1;font-size:12px}.install-cost-badge{color:#92400e;white-space:nowrap;background:#fef3c7;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.install-config-fields{background:#fff;border-top:1px solid #fde68a;align-items:flex-end;gap:20px;padding:10px 14px 12px 46px;display:flex}.install-config-fields .install-field{flex-direction:column;gap:3px;display:flex}.install-config-fields .install-field label{color:#92400e;text-transform:uppercase;letter-spacing:.3px;font-size:10px;font-weight:700}.install-config-fields .install-field input{border:1px solid #fde68a;border-radius:6px;width:100px;padding:6px 8px;font-size:13px;font-weight:600}.install-config-fields .install-field input:focus{border-color:#f59e0b;outline:none;box-shadow:0 0 0 2px #f59e0b26}.install-config-fields .install-price{color:#92400e;padding:6px 0;font-size:14px;font-weight:700}.install-config-fields .install-total{color:#b45309;font-size:16px}.install-required{color:var(--success);font-size:11px;font-weight:600}.install-not-required{color:var(--muted);font-size:11px}.install-active{color:#92400e;font-size:10px;font-weight:600}.install-pending{color:var(--muted);font-size:10px}.install-toggle-group{align-items:center;gap:10px;display:flex}.install-master-toggle{color:#92400e;cursor:pointer;background:#fff;border:2px solid #d97706;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:700;transition:all .15s}.install-master-toggle:hover{background:#fffbeb}.install-master-toggle.active{color:#fff;background:#f59e0b;border-color:#d97706}.install-active-count{color:#92400e;background:#fef3c7;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.margin-controls{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;padding-top:16px;display:grid}.margin-control label{color:var(--text);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.margin-input-group{align-items:center;gap:8px;display:flex}.margin-input-group input{border:1px solid var(--border);text-align:center;border-radius:6px;width:70px;padding:6px 8px;font-size:13px;font-weight:600}.margin-hint{color:var(--muted);font-size:11px}.margin-badge{border-radius:3px;padding:1px 5px;font-size:9px;font-weight:600;line-height:1.3;display:inline-block}.margin-supplier{color:#1e40af;background:#dbeafe}.margin-install{color:#92400e;background:#fef3c7}.margin-none{color:#6b7280;background:#f3f4f6}.margin-service{color:#5b21b6;background:#ede9fe}@media print{.margin-supplier,.margin-install,.margin-none,.margin-service,.supplier-detail{display:none!important}}.cat-item-pricing-detail{color:var(--muted);gap:8px;margin-top:2px;font-size:10px;display:flex}.cat-item-price-total{color:var(--primary-mid);font-weight:600}.item-badges{margin-top:2px}.install-toggle{cursor:pointer;color:#0000;-webkit-user-select:none;user-select:none;background:#fff;border:1.5px solid #d1d5db;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.install-toggle:hover{border-color:#9ca3af}.install-toggle.active{color:#fff;background:#10b981;border-color:#10b981}#totalsBreakdown{border-bottom:1px solid #ffffff26;margin-bottom:10px;padding-bottom:10px}.totals-row.totals-sub{color:#ffffffbf;padding:3px 0;font-size:13px}.totals-row.totals-sub-detail{color:#ffffff80;padding:1px 0;font-size:11px}.totals-row.totals-install{color:#fbbf24;font-weight:600}.totals-row.totals-discount{color:#ef4444;font-weight:600}@media print{.totals-row.totals-sub{color:#000}.totals-row.totals-sub-detail{color:#666}.totals-row.totals-install{color:#b45309}.totals-row.totals-discount{color:#dc2626}#totalsBreakdown{border-bottom-color:#ccc}}.supplier-detail{color:var(--muted);font-size:10px;line-height:1.3}.supplier-detail strong{color:var(--text)}.install-section{border:1px solid var(--border);border-radius:8px;margin-top:16px;overflow:hidden}.install-section-header{border-bottom:1px solid var(--border);background:#f9fafb;align-items:center;gap:12px;padding:10px 14px;display:flex}.install-section-header h3{margin:0;font-size:13px;font-weight:600}.install-section-hint{color:var(--muted);font-size:11px}.install-row{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:10px 14px;display:flex}.install-row:last-child{border-bottom:none}.install-row-info{align-items:center;gap:10px;display:flex}.install-row-name{color:var(--text);font-size:12px}.install-row-fields{align-items:flex-end;gap:16px;padding-left:36px;display:flex}.install-field{flex-direction:column;gap:2px;display:flex}.install-field label{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:600}.install-field input{border:1px solid var(--border);border-radius:6px;width:90px;padding:5px 8px;font-size:12px}.install-price{color:var(--primary-mid);font-size:14px;font-weight:700}
