.rack-manager h1{color:var(--primary);margin-bottom:.25rem}.rack-manager .subtitle{color:var(--text-secondary);margin-bottom:1.5rem}.rack-page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.rack-page-header .header-actions{display:flex;gap:.5rem;align-items:center}.view-toggle{display:flex;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap}.view-toggle button{padding:.5rem 1.25rem;border:2px solid var(--border);background:var(--bg-card);border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.85rem}.view-toggle button:hover{border-color:var(--accent);color:var(--accent)}.view-toggle button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-print{margin-left:auto;background:var(--secondary);color:#fff;border:none;padding:.5rem 1.25rem;border-radius:6px;font-weight:600;cursor:pointer;font-size:.85rem}.btn-print:hover{background:var(--primary)}.rack-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:2rem}.rack-stat-card{background:var(--bg-card);border-radius:10px;padding:1.25rem;text-align:center;box-shadow:0 2px 8px #0000000f;border-top:3px solid var(--accent)}.rack-stat-card .stat-icon{font-size:1.5rem;margin-bottom:.25rem}.rack-stat-card .stat-value{font-size:1.75rem;font-weight:700;color:var(--primary)}.rack-stat-card .stat-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;font-weight:600}.rack-card{background:var(--bg-card);border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:1.25rem 1.5rem;margin-bottom:1rem;border-left:4px solid var(--accent)}.rack-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.rack-header:hover .rack-name{color:var(--accent)}.rack-info{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.rack-name{font-size:1.1rem;font-weight:700;color:var(--primary);transition:color .2s}.rack-location{color:var(--text-secondary);font-size:.85rem}.rack-meta{color:var(--text-secondary);font-size:.8rem;background:var(--bg-light);padding:.15rem .5rem;border-radius:4px}.rack-actions{display:flex;gap:.4rem;align-items:center}.btn-sm{padding:.35rem .75rem;border-radius:6px;border:none;font-weight:600;cursor:pointer;font-size:.8rem;transition:all .2s}.btn-add{background:var(--accent);color:#fff}.btn-add:hover{background:#2c5282}.btn-edit{background:var(--bg-light);color:var(--text-secondary);border:1px solid var(--border)}.btn-edit:hover{color:var(--accent);border-color:var(--accent)}.btn-delete{background:var(--bg-light);color:var(--text-secondary);border:1px solid var(--border)}.btn-delete:hover{color:var(--danger);border-color:var(--danger)}.rack-equipment-list{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.equipment-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--bg-light);border-radius:8px;margin-bottom:.5rem;cursor:pointer;transition:all .2s}.equipment-item:hover{background:var(--bg-light);transform:translate(4px)}.equipment-item.selected{background:var(--bg-subtle, var(--bg-light));border:1px solid var(--accent)}.equipment-info{flex:1;min-width:0}.equipment-info strong{display:block;font-size:.95rem;color:var(--primary)}.equipment-model{font-size:.8rem;color:var(--text-secondary)}.equipment-type-badge{padding:.2rem .6rem;border-radius:20px;font-size:.7rem;font-weight:700;text-transform:uppercase;white-space:nowrap;letter-spacing:.3px}.type-switch{background:#3182ce;color:#fff}.type-router{background:#40916c;color:#fff}.type-patch_panel{background:#805ad5;color:#fff}.type-server{background:#38a169;color:#fff}.type-ups{background:#dd6b20;color:#fff}.type-pdu{background:#d53f8c;color:#fff}.type-other{background:#718096;color:#fff}.port-type-badge{display:inline-block;font-size:.65rem;font-weight:700;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.5px}.pt-wan{background:#fed7d7;color:#c53030}.pt-lan{background:#c6f6d5;color:#276749}.pt-admin{background:#fefcbf;color:#975a16}.pt-console{background:#e9d8fd;color:#553c9a}[data-theme=dark] .pt-wan{background:#3a1a1a;color:#fc8181}[data-theme=dark] .pt-lan{background:#1a3a2a;color:#68d391}[data-theme=dark] .pt-admin{background:#3a351a;color:#fbd38d}[data-theme=dark] .pt-console{background:#2a1a3a;color:#b794f4}.port-utilization{flex:0 0 140px;text-align:right}.port-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-bottom:.2rem}.port-bar-fill{height:100%;background:var(--success);border-radius:3px;transition:width .3s}.port-count{font-size:.75rem;color:var(--text-secondary)}.equipment-actions{display:flex;gap:.3rem}.port-map-section{background:var(--bg-card);border-radius:12px;box-shadow:0 4px 12px #00000014;padding:1.5rem;margin-top:1.5rem;margin-bottom:1.5rem}.port-map-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.port-map-header h2{color:var(--primary);font-size:1.2rem}.equipment-detail{color:var(--text-secondary);font-size:.85rem}.port-map-legend{display:flex;gap:1.5rem;margin-bottom:1rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-secondary)}.legend-dot{width:12px;height:12px;border-radius:50%}.legend-dot.active{background:var(--success)}.legend-dot.cabled_unused{background:#4299e1}.legend-dot.unused{background:#cbd5e0}.legend-dot.reserved{background:var(--warning)}.port-grid-container{display:flex;gap:8px;padding:1rem;background:#2d3748;border-radius:8px;margin-bottom:1.5rem;overflow-x:auto;align-items:flex-start}.port-group-block{min-width:0}.port-group-header{text-align:center;color:#a0aec0;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;padding:2px 0;border-bottom:1px solid #4a5568}.port-grid{display:grid;gap:3px}.port-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:3px;cursor:pointer;transition:all .15s;position:relative;padding:4px 2px;min-height:24px;border:2px solid transparent}.port-cell:hover{transform:scale(1.15);z-index:1;border-color:#fff;box-shadow:0 0 8px #fff6}.port-cell.status-active{background:var(--success);color:#fff}.port-cell.status-cabled_unused{background:#4299e1;color:#fff}.port-cell.status-unused{background:#a0aec0;color:#2d3748}.port-cell.status-reserved{background:var(--warning);color:#fff}.port-number{font-size:.6rem;font-weight:700;line-height:1}.cable-indicator{position:absolute;bottom:1px;width:5px;height:5px;border-radius:50%;border:1px solid rgba(255,255,255,.5)}.port-groups-editor{display:flex;flex-direction:column;gap:.5rem}.port-group-row{display:flex;align-items:center;gap:.5rem}.port-group-row input{padding:.35rem .5rem!important;font-size:.85rem!important}.port-group-label{font-size:.8rem;color:var(--text-secondary)}.port-group-total{font-size:.8rem;color:var(--accent);font-weight:600;margin-left:.5rem}.form-section-divider{font-weight:700;font-size:.8rem;color:var(--primary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--accent);padding-bottom:.4rem;margin:1.25rem 0 1rem}.port-table-wrapper{overflow-x:auto}.port-detail-table{width:100%;border-collapse:collapse;font-size:.82rem}.port-detail-table th{background:var(--primary);color:#fff;padding:.6rem .75rem;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0}.port-detail-table td{padding:.45rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle}.port-detail-table tbody tr:hover{background:var(--bg-light)}.port-detail-table .row-active{border-left:3px solid var(--success)}.port-detail-table .row-cabled_unused{border-left:3px solid #4299e1}.port-detail-table .row-reserved{border-left:3px solid var(--warning)}.port-detail-table .row-unused{border-left:3px solid transparent}.status-badge{display:inline-block;padding:.15rem .5rem;border-radius:10px;font-size:.7rem;font-weight:600;text-transform:uppercase}.status-badge.status-active{background:#c6f6d5;color:#22543d}.status-badge.status-cabled_unused{background:#bee3f8;color:#2a4365}.status-badge.status-unused{background:#e2e8f0;color:#4a5568}.status-badge.status-reserved{background:#fefcbf;color:#744210}[data-theme=dark] .status-badge.status-active{background:#1a3a2a;color:#68d391}[data-theme=dark] .status-badge.status-cabled_unused{background:#1a2a3a;color:#90cdf4}[data-theme=dark] .status-badge.status-unused{background:#2d3748;color:#a0aec0}[data-theme=dark] .status-badge.status-reserved{background:#3a351a;color:#fbd38d}.cable-tag{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .5rem;border-left:3px solid;font-size:.8rem;background:var(--bg-light);border-radius:0 4px 4px 0}.connection-table{width:100%;border-collapse:collapse;font-size:.85rem}.connection-table th{background:var(--primary);color:#fff;padding:.7rem .75rem;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase}.connection-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border)}.connection-table tbody tr:hover{background:var(--bg-light)}.arrow-cell{text-align:center;color:var(--accent);font-weight:700;font-family:monospace;font-size:1rem}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.empty-state p{font-size:1.1rem;margin-bottom:1rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{background:var(--bg-card);border-radius:12px;width:90%;max-width:550px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);flex-shrink:0}.modal-header h2{color:var(--primary);margin:0;font-size:1.15rem}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:.25rem .5rem;line-height:1}.modal-close:hover{color:var(--danger)}.modal-body{padding:1.5rem;flex:1;overflow-y:auto;min-height:0}.form-group{margin-bottom:1rem}.form-group label{display:block;font-weight:600;font-size:.82rem;color:var(--text-secondary);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.3px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem .75rem;border:2px solid var(--border);border-radius:6px;font-size:.9rem;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent)}.form-group textarea{resize:vertical;min-height:60px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border);flex-shrink:0}.btn-cancel{padding:.5rem 1.25rem;border-radius:6px;border:2px solid var(--border);background:var(--bg-card);font-weight:600;cursor:pointer;color:var(--text-secondary)}.btn-cancel:hover{border-color:var(--danger);color:var(--danger)}.btn-save{padding:.5rem 1.25rem;border-radius:6px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}.btn-save:hover{background:#2c5282}.rack-loading,.rack-error{text-align:center;padding:3rem;color:var(--text-secondary)}.rack-error{color:var(--danger)}@media print{.sidebar,.topbar,.view-toggle,.rack-actions,.equipment-actions,.btn-print,.btn-add,.btn-sm,.btn-edit,.btn-delete,.modal-overlay,.rack-stats,.header-actions,.port-map-legend,.no-print,.rack-page-header{display:none!important}.main-content{margin-left:0!important;padding:0!important}.rack-manager{padding:.5rem!important}.rack-card,.port-map-section{box-shadow:none!important;border:1px solid #ccc;page-break-inside:avoid;margin-bottom:.5rem}.rack-equipment-list{display:block!important}.port-grid-container{background:white!important;border:2px solid #333;padding:.5rem}.port-group-header{color:#333!important;border-bottom-color:#999!important}.port-grid{gap:2px}.port-cell{border:1px solid #999!important;min-width:20px;min-height:20px}.port-cell.status-active{background:#ccc!important;color:#000!important}.port-cell.status-cabled_unused{background:#b3d4fc!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.port-cell.status-unused{background:white!important;color:#666!important}.port-cell.status-reserved{background:#eee!important;color:#000!important}.port-detail-table{font-size:9pt}.port-detail-table th,.connection-table th{background:#333!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.port-map-section{page-break-before:always}.print-header{display:block!important;text-align:center;margin-bottom:1rem;border-bottom:2px solid #333;padding-bottom:.5rem}.print-header h1{font-size:14pt}.print-header .print-date{font-size:9pt;color:#666}.status-badge{border:1px solid #999}.equipment-type-badge{border:1px solid #999;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cable-report{padding:0!important;overflow:visible!important;display:block!important}.cable-report-header{border-bottom:3px solid #333;break-after:avoid;page-break-after:avoid}.cable-report-header h2{font-size:14pt}.cable-report-section{break-before:auto;page-break-before:auto;display:block!important;overflow:visible!important}.cable-report-section h3{font-size:10pt;border-bottom:2px solid #666;break-after:avoid;page-break-after:avoid}.cable-report-equipment{display:block!important;break-before:page!important;page-break-before:always!important;break-inside:auto!important;page-break-inside:auto!important;border:1px solid #999;border-radius:0!important;overflow:visible!important;margin:0!important;padding:0!important}.cable-report-section h3+.cable-report-equipment{break-before:auto!important;page-break-before:auto!important}.cable-report-eq-header{background:#eee!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;break-after:avoid;page-break-after:avoid;padding:3px 6px!important;font-size:7pt}.cable-report-eq-header .equipment-type-badge{font-size:6pt!important;padding:1px 4px!important}.cable-report-eq-header strong{font-size:8pt}.cable-report-eq-header .report-model,.cable-report-eq-header .report-meta{font-size:6.5pt}.cable-report-table{font-size:6.5pt;break-inside:auto;page-break-inside:auto;line-height:1.15}.cable-report-table thead{display:table-header-group}.cable-report-table th{background:#333!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;font-size:6pt;padding:1.5px 3px}.cable-report-table tbody{break-inside:auto;page-break-inside:auto}.cable-report-table tr{break-inside:avoid;page-break-inside:avoid;break-after:auto;page-break-after:auto}.cable-report-table td{padding:1px 3px;border-bottom:.5px solid #ccc;line-height:1.15}.cable-report-table .port-num{font-size:6.5pt}.cable-report-table .row-active{border-left:2px solid #48bb78;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cable-report-table .row-cabled{border-left:2px solid #4299e1;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cable-report-table .row-reserved{border-left:2px solid #ed8936;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cable-color-swatch{width:8px!important;height:8px!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cable-report-footer{break-before:avoid;page-break-before:avoid;border-top:2px solid #333;font-size:7pt;margin-top:.5rem}.cable-legend-grid{gap:.3rem;break-inside:avoid;page-break-inside:avoid}.cable-legend-item{font-size:7pt}.cable-report-section:first-child .cable-report-table .report-type{font-size:5.5pt}}.diagram-toolbar{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding:.6rem 1rem;background:var(--bg-card);border-radius:8px;box-shadow:0 1px 4px #0000000f}.edit-mode-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.edit-mode-toggle input{display:none}.toggle-slider{width:36px;height:20px;background:#4a5568;border-radius:10px;position:relative;transition:background .2s}.toggle-slider:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--bg-card);border-radius:50%;transition:transform .2s}.edit-mode-toggle input:checked+.toggle-slider{background:#805ad5}.edit-mode-toggle input:checked+.toggle-slider:after{transform:translate(16px)}.toggle-label{font-size:.85rem;font-weight:600;color:var(--text-primary)}.edit-mode-hint{font-size:.78rem;color:#805ad5;opacity:.8}.rack-diagram-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:2rem;align-items:start}.rack-diagram-card{background:var(--bg-card);border-radius:12px;box-shadow:0 4px 12px #00000014;padding:1.5rem;display:flex;justify-content:center}.rack-diagram-card svg{display:block}.cable-report{background:var(--bg-card);padding:0}.cable-report-header{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:3px solid var(--primary)}.cable-report-header h2{color:var(--primary);font-size:1.3rem;margin:0}.cable-report-header p{color:var(--text-secondary);font-size:.85rem;margin:0}.cable-report-header .btn-sm{margin-left:auto}.cable-report-section{margin-bottom:2rem}.cable-report-section h3{color:var(--primary);font-size:1.05rem;margin-bottom:.75rem;padding-bottom:.4rem;border-bottom:2px solid var(--accent)}.cable-report-section .report-location{font-weight:400;color:var(--text-secondary);font-size:.85rem}.cable-report-section .no-data{color:var(--text-secondary);font-style:italic;padding:1rem 0}.cable-report-equipment{margin-bottom:1.25rem;border:1px solid var(--border);border-radius:8px;overflow:hidden}.cable-report-eq-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.6rem .75rem;background:var(--bg-light);border-bottom:1px solid var(--border);font-size:.88rem}.cable-report-eq-header .report-model{color:var(--text-secondary);font-size:.8rem}.cable-report-eq-header .report-meta{margin-left:auto;color:var(--text-secondary);font-size:.78rem}.cable-report-table{width:100%;border-collapse:collapse;font-size:.78rem}.cable-report-table th{background:var(--primary);color:#fff;padding:.4rem .5rem;text-align:left;font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.cable-report-table td{padding:.3rem .5rem;border-bottom:1px solid var(--border);vertical-align:middle}.cable-report-table tbody tr:hover{background:var(--bg-light)}.cable-report-table .port-num{font-weight:700;text-align:center;font-family:monospace}.cable-report-table .report-type{font-size:.68rem;color:var(--text-secondary)}.cable-report-table .row-active{border-left:3px solid var(--success)}.cable-report-table .row-cabled{border-left:3px solid #4299e1}.cable-report-table .row-reserved{border-left:3px solid var(--warning)}.cable-report-table td.status-active{color:var(--success);font-weight:600}.cable-report-table td.status-cabled_unused{color:#3182ce;font-weight:600}.cable-report-table td.status-reserved{color:var(--warning);font-weight:600}.cable-report-table td.status-unused{color:var(--text-secondary)}.cable-report-table .arrow-cell{text-align:center;font-weight:700;color:var(--accent)}.cable-color-swatch{display:inline-block;width:12px;height:12px;border-radius:2px;border:1px solid rgba(0,0,0,.15);vertical-align:middle;margin-right:4px}.cable-color-swatch.large{width:20px;height:20px;border-radius:4px}.cable-legend-grid{display:flex;flex-wrap:wrap;gap:1rem}.cable-legend-item{display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:500}.cable-report-footer{margin-top:2rem;padding-top:1rem;border-top:2px solid var(--border);text-align:center;color:var(--text-secondary);font-size:.78rem}.cable-report-footer p{margin:.15rem 0}.print-header{display:none}.print-options-modal{max-width:480px}.print-opt-group{margin-bottom:1.25rem}.print-opt-group h4{font-size:.82rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:.5rem;padding-bottom:.35rem;border-bottom:1px solid var(--border)}.print-opt-row{display:flex;align-items:center;gap:.5rem;padding:.45rem .5rem;border-radius:6px;cursor:pointer;transition:background .15s}.print-opt-row:hover{background:var(--bg-light)}.print-opt-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);flex-shrink:0}.print-opt-row>span:first-of-type{font-size:.88rem;font-weight:500}.print-opt-desc{font-size:.75rem;color:var(--text-secondary);margin-left:auto}.print-opt-indent{padding-left:1.75rem}.btn-intelliconnect{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)!important;color:#fff!important;border:none!important;font-weight:600;letter-spacing:.3px;position:relative;overflow:hidden}.btn-intelliconnect:before{content:"⚡";margin-right:.35rem}.btn-intelliconnect:hover{filter:brightness(1.1);box-shadow:0 2px 8px #667eea66}.intelliconnect-modal{max-width:800px;width:95vw;max-height:85vh;display:flex;flex-direction:column}.intelliconnect-modal .modal-body{overflow-y:auto;flex:1;min-height:0}.ic-loading{text-align:center;padding:3rem 1rem;color:var(--text-secondary);font-size:1rem}.ic-loading:before{content:"⚡";display:block;font-size:2rem;margin-bottom:.75rem;animation:ic-pulse 1.2s ease-in-out infinite}@keyframes ic-pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.ic-empty{text-align:center;padding:3rem 1rem;color:var(--text-secondary);font-size:.95rem}.ic-empty:before{content:"✅";display:block;font-size:2rem;margin-bottom:.75rem}.ic-result{padding:1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.ic-success{background:#f0fff4;border:1px solid var(--success);color:#22543d}[data-theme=dark] .ic-success{background:#1a3a2a;color:#c6f6d5}.ic-error{background:#fff5f5;border:1px solid var(--danger);color:#742a2a}[data-theme=dark] .ic-error{background:#3a1a1a;color:#fed7d7}.ic-description{font-size:.88rem;color:var(--text-secondary);margin-bottom:1rem;line-height:1.5}.ic-controls{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--bg-light);border-radius:6px;margin-bottom:1rem;font-size:.85rem}.ic-select-all{display:flex;align-items:center;gap:.5rem;font-weight:600;cursor:pointer;color:var(--text-primary)}.ic-select-all input{width:auto;accent-color:var(--giexs-blue)}.ic-selected-count{color:var(--text-secondary);font-size:.82rem}.ic-group{margin-bottom:1.5rem}.ic-group-title{font-size:.92rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem}.ic-group-desc{font-size:.8rem;color:var(--text-secondary);margin:0 0 .75rem}.ic-proposals{display:flex;flex-direction:column;gap:.4rem}.ic-proposal{display:flex;align-items:flex-start;gap:.6rem;padding:.65rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:border-color .15s,background .15s;font-weight:400;text-transform:none;letter-spacing:0}.ic-proposal:hover{border-color:var(--giexs-blue);background:var(--bg-light)}.ic-proposal.ic-checked{border-color:var(--giexs-blue);background:var(--bg-subtle, var(--bg-light))}.ic-proposal input[type=checkbox]{margin-top:.2rem;width:auto;flex-shrink:0;accent-color:var(--giexs-blue)}.ic-proposal-body{flex:1;min-width:0}.ic-proposal-flow{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.3rem}.ic-equip{display:inline-flex;align-items:center;gap:.3rem;font-size:.85rem;color:var(--text-primary)}.ic-port{color:var(--giexs-blue);font-weight:700}.ic-arrow{color:var(--text-secondary);font-size:1.1rem;font-weight:700}.ic-proposal-detail{font-size:.78rem;color:var(--text-secondary);line-height:1.4}.ic-meta{color:var(--text-secondary)}.btn-intelliconnect-apply{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)!important;border:none!important;font-weight:600}.btn-intelliconnect-apply:hover:not(:disabled){filter:brightness(1.1)}.btn-intelliconnect-apply:disabled{opacity:.5;cursor:not-allowed}.btn-netsync{background:linear-gradient(135deg,#38a169 0%,#2b6cb0 100%)!important;color:#fff!important;border:none!important;font-weight:600;letter-spacing:.3px}.btn-netsync:before{content:"📡";margin-right:.35rem}.btn-netsync:hover{filter:brightness(1.1);box-shadow:0 2px 8px #38a16966}.netsync-modal{max-width:860px;width:95vw;max-height:85vh;display:flex;flex-direction:column}.ns-subtitle{font-size:.8rem;color:var(--text-secondary);margin-left:.75rem;font-weight:400}.ns-scanning{font-size:1.1rem;font-weight:600;color:var(--primary)}.ns-devices{margin-bottom:1.25rem}.ns-devices h4{font-size:.82rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:.5rem}.ns-device-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.5rem}.ns-device-card{padding:.6rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-light)}.ns-device-card.ns-ok{border-left:3px solid #38a169}.ns-device-card.ns-fail{border-left:3px solid #e53e3e;opacity:.7}.ns-device-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.3rem}.ns-device-header strong{font-size:.88rem}.ns-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ns-status-dot.ok{background:#38a169}.ns-status-dot.fail{background:#e53e3e}.ns-ip{margin-left:auto;font-size:.75rem;color:var(--text-secondary);font-family:monospace}.ns-device-info{display:flex;gap:.75rem;font-size:.78rem;color:var(--text-secondary)}.ns-device-error{font-size:.78rem;color:#e53e3e}.ns-proposals{margin-top:.5rem}.ns-proposals-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.ns-proposals-header h4{font-size:.88rem;margin:0}.ns-select-all{display:flex;align-items:center;gap:.4rem;font-size:.8rem;cursor:pointer;color:var(--text-secondary)}.ns-select-all input{accent-color:var(--primary)}.ns-group{margin-bottom:.75rem}.ns-group-header{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.4px;padding:.3rem .5rem;border-radius:4px;margin-bottom:.25rem;background:var(--bg-light)}.ns-type-status{color:#38a169}.ns-type-vlan{color:#d69e2e}.ns-type-label{color:#3182ce}.ns-type-connection{color:#805ad5}.ns-type-connection_conflict{color:#e53e3e}.ns-proposal-row{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;border-radius:4px;cursor:pointer;font-size:.82rem;transition:background .1s}.ns-proposal-row:hover{background:var(--bg-light)}.ns-proposal-row input{accent-color:var(--primary);flex-shrink:0}.ns-conflict{border-left:2px solid #e53e3e}.ns-proposal-desc{flex:1}.ns-proposal-change{font-family:monospace;font-size:.75rem;white-space:nowrap}.ns-old{color:#e53e3e;text-decoration:line-through}.ns-new{color:#38a169;font-weight:600}.ns-empty{text-align:center;padding:2rem 1rem;color:var(--text-secondary)}.ns-empty p{margin:.3rem 0}.ns-result{padding:1rem;border-radius:8px;text-align:center;font-weight:600;margin-top:1rem}.ns-result-ok{background:#c6f6d5;color:#22543d}.ns-result-fail{background:#fed7d7;color:#742a2a}[data-theme=dark] .ns-result-ok{background:#1a3a2a;color:#68d391}[data-theme=dark] .ns-result-fail{background:#3a1a1a;color:#fc8181}@media (max-width: 768px){.rack-page-header{flex-direction:column;gap:.5rem;margin-bottom:1rem}.rack-page-header h1{font-size:1.15rem}.rack-page-header .subtitle{font-size:.8rem;margin-bottom:.5rem}.rack-page-header .header-actions{width:100%}.rack-page-header .header-actions .btn-sm{flex:1;text-align:center}.view-toggle{flex-wrap:nowrap;overflow-x:auto;gap:.35rem;margin-bottom:1.25rem;-webkit-overflow-scrolling:touch}.view-toggle button{padding:.4rem .75rem;font-size:.75rem;white-space:nowrap;flex-shrink:0}.rack-stats{grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:1.25rem}.rack-stat-card{padding:.75rem .5rem;border-radius:8px}.rack-stat-card .stat-icon{font-size:1.2rem}.rack-stat-card .stat-value{font-size:1.35rem}.rack-stat-card .stat-label{font-size:.7rem}.rack-card{padding:.75rem;border-radius:8px;margin-bottom:.75rem}.rack-header{flex-direction:column;align-items:flex-start;gap:.5rem}.rack-info{width:100%;gap:.4rem}.rack-name{font-size:.95rem}.rack-location{font-size:.78rem}.rack-meta{font-size:.72rem;padding:.1rem .4rem}.rack-actions{width:100%;justify-content:flex-end}.equipment-item{flex-direction:column;align-items:stretch;gap:.5rem;padding:.6rem}.equipment-item:hover{transform:none}.equipment-info{display:flex;align-items:center;gap:.5rem}.equipment-info strong{font-size:.88rem}.equipment-type-badge{font-size:.65rem;flex-shrink:0}.port-utilization{flex:initial;width:100%;display:flex;align-items:center;gap:.5rem}.port-bar{flex:1}.port-count{white-space:nowrap}.equipment-actions{justify-content:flex-end}.port-map-section{padding:.75rem;margin-top:1rem;margin-bottom:1rem;border-radius:8px}.port-map-header{flex-direction:column;gap:.3rem;margin-bottom:.75rem}.port-map-header h2{font-size:1rem}.port-map-header .btn-sm{align-self:flex-end}.equipment-detail{font-size:.78rem}.port-map-legend{gap:.75rem;margin-bottom:.75rem}.legend-item{font-size:.72rem;gap:.25rem}.legend-dot{width:10px;height:10px}.port-grid-container{padding:.5rem;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch}.port-group-block{min-width:120px}.port-group-header{font-size:.65rem;margin-bottom:3px}.port-grid{gap:2px}.port-cell{min-height:28px;min-width:28px;padding:3px 1px}.port-number{font-size:.55rem}.cable-indicator{width:4px;height:4px}.port-detail-table thead{display:none}.port-detail-table,.port-detail-table tbody,.port-detail-table tr,.port-detail-table td{display:block;width:100%}.port-detail-table tr{padding:.5rem;margin-bottom:.5rem;background:var(--bg-light);border-radius:8px;border-left:3px solid var(--border)}.port-detail-table .row-active{border-left:3px solid var(--success)}.port-detail-table .row-cabled_unused{border-left:3px solid #4299e1}.port-detail-table .row-reserved{border-left:3px solid var(--warning)}.port-detail-table td{padding:.2rem .5rem;border-bottom:none;font-size:.8rem}.port-detail-table td:before{content:attr(data-label);font-weight:700;font-size:.7rem;text-transform:uppercase;color:var(--text-secondary);display:inline-block;width:80px;letter-spacing:.3px}.port-detail-table td:last-child{text-align:right;padding-top:.4rem}.connection-table thead{display:none}.connection-table,.connection-table tbody,.connection-table tr,.connection-table td{display:block;width:100%}.connection-table tr{padding:.6rem;margin-bottom:.5rem;background:var(--bg-light);border-radius:8px;border-left:3px solid var(--accent)}.connection-table td{padding:.15rem .5rem;border-bottom:none;font-size:.8rem}.connection-table td:before{content:attr(data-label);font-weight:700;font-size:.7rem;text-transform:uppercase;color:var(--text-secondary);display:inline-block;width:80px}.connection-table .arrow-cell{text-align:left;padding:.3rem .5rem;color:var(--accent);font-size:.85rem}.rack-diagram-grid{grid-template-columns:1fr;gap:1rem}.rack-diagram-card{padding:.75rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.modal-overlay{align-items:flex-end}.modal-content{width:100%;max-width:100%;max-height:92vh;border-radius:16px 16px 0 0;display:flex;flex-direction:column;overflow:hidden}.modal-header{padding:.75rem 1rem;flex-shrink:0}.modal-header h2{font-size:1rem}.modal-body{padding:1rem;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0}.modal-footer{padding:.75rem 1rem;flex-shrink:0;border-top:1px solid var(--border);background:var(--bg-card)}.form-row{grid-template-columns:1fr;gap:0}.port-group-row{flex-wrap:wrap;gap:.35rem}.port-group-row input[style*="width: 80px"]{width:70px!important}.port-group-row input[style*="width: 70px"]{width:60px!important}.port-group-row input[style*="width: 55px"]{width:50px!important}.empty-state{padding:2rem .75rem}.empty-state p{font-size:.95rem}}.btn-pushconfig{background:linear-gradient(135deg,#e53e3e,#c53030)!important;color:#fff!important;border:none!important;font-weight:600}.btn-pushconfig:hover{background:linear-gradient(135deg,#c53030,#9b2c2c)!important}.configpush-modal{max-width:740px;max-height:85vh;overflow-y:auto}.cp-desc{color:#a0aec0;margin-bottom:1rem;font-size:.9rem}.cp-select-all{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;color:#90cdf4;font-weight:600;cursor:pointer;border-bottom:1px solid #2d3748;margin-bottom:.5rem}.cp-port-list{max-height:360px;overflow-y:auto}.cp-port-row{display:flex;align-items:center;gap:.75rem;padding:.4rem .5rem;border-radius:6px;cursor:pointer;font-size:.85rem}.cp-port-row:hover{background:#1a202c}.cp-selected{background:#1a2744}.cp-port-num{width:60px;font-weight:600;color:#90cdf4;flex-shrink:0}.cp-iface{width:180px;font-family:monospace;font-size:.8rem;color:#68d391;flex-shrink:0}.cp-iface-derived{color:#ed8936}.cp-label{flex:1;color:#e2e8f0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-vlan{width:80px;color:#76e4f7;font-size:.8rem;flex-shrink:0}.cp-status{width:80px;font-size:.75rem;text-transform:capitalize;flex-shrink:0}.cp-status-active{color:#68d391}.cp-status-unused{color:#718096}.cp-status-reserved{color:#ed8936}.cp-status-cabled_unused{color:#f6e05e}.cp-block{margin-bottom:1rem;border:1px solid #2d3748;border-radius:6px;overflow:hidden}.cp-block-header{padding:.4rem .75rem;background:#1a202c;font-weight:600;font-size:.85rem;color:#90cdf4}.cp-commands{margin:0;padding:.75rem;font-size:.8rem;color:#e2e8f0;background:#0d1117;overflow-x:auto;font-family:Fira Code,Courier New,monospace}.cp-warning{color:#ed8936;font-size:.75rem;font-weight:400;margin-left:.5rem}.cp-preview-footer{color:#718096;font-size:.8rem;margin-top:.5rem}.cp-executing{text-align:center;padding:2rem}.cp-executing-note{color:#718096;margin-top:.5rem;font-size:.85rem}.cp-error{color:#fc8181;background:#2d1515;border:1px solid #c53030;border-radius:6px;padding:.5rem .75rem;margin:.75rem;font-size:.85rem}.cp-result-summary{font-weight:600;font-size:1rem;margin-bottom:1rem}.cp-result-summary.cp-ok{color:#68d391}.cp-result-summary.cp-fail{color:#fc8181}.cp-global-errors{background:#2d1515;border:1px solid #c53030;border-radius:6px;padding:.5rem .75rem;margin-bottom:1rem;font-size:.8rem}.cp-global-err{color:#fc8181;font-family:monospace;font-size:.8rem}.cp-result-row{display:flex;gap:.75rem;padding:.3rem 0;align-items:center;font-size:.85rem}.cp-r-ok{color:#68d391}.cp-r-err{color:#fc8181}.cp-r-errmsg{color:#fc8181;font-size:.8rem;font-family:monospace}.cp-raw-output{margin-top:1rem}.cp-raw-output summary{cursor:pointer;color:#718096;font-size:.85rem}.cp-raw-output pre{font-size:.75rem;color:#a0aec0;max-height:250px;overflow-y:auto;background:#0d1117;padding:.75rem;border-radius:6px;margin-top:.5rem}.btn-danger{background:linear-gradient(135deg,#e53e3e,#c53030)!important}.btn-danger:hover{background:linear-gradient(135deg,#c53030,#9b2c2c)!important}.btn-print-portconfig{background:linear-gradient(135deg,#2b6cb0,#2c5282)!important;color:#fff!important;border:none!important;font-weight:600;padding:.3rem .75rem!important;font-size:.8rem!important}.btn-print-portconfig:hover{background:linear-gradient(135deg,#2c5282,#1a365d)!important}@media print{body.print-portconfig-mode .sidebar,body.print-portconfig-mode .topbar,body.print-portconfig-mode .view-toggle,body.print-portconfig-mode .rack-stats,body.print-portconfig-mode .rack-page-header,body.print-portconfig-mode .header-actions,body.print-portconfig-mode .rack-card,body.print-portconfig-mode .modal-overlay,body.print-portconfig-mode .print-header,body.print-portconfig-mode .btn-print-portconfig,body.print-portconfig-mode .btn-sm{display:none!important}body.print-portconfig-mode .main-content{margin-left:0!important;padding:0!important}body.print-portconfig-mode .rack-manager{padding:0!important}body.print-portconfig-mode .port-map-section{display:block!important;border:none!important;box-shadow:none!important;padding:0!important;margin:0!important;page-break-before:avoid!important}body.print-portconfig-mode .port-map-header{border-bottom:2px solid #333;padding-bottom:.5rem;margin-bottom:.75rem}body.print-portconfig-mode .port-map-header h2{font-size:16pt;color:#000!important}body.print-portconfig-mode .equipment-detail{font-size:10pt;color:#333!important}body.print-portconfig-mode .port-map-legend{display:flex!important;gap:1rem;margin-bottom:.5rem;font-size:9pt;color:#333!important}body.print-portconfig-mode .legend-dot{-webkit-print-color-adjust:exact;print-color-adjust:exact}body.print-portconfig-mode .port-grid-container{background:white!important;border:2px solid #333;padding:.5rem;margin-bottom:.75rem}body.print-portconfig-mode .port-group-header{color:#000!important;font-size:10pt;font-weight:700}body.print-portconfig-mode .port-cell{border:1px solid #666!important;font-size:8pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}body.print-portconfig-mode .port-cell.status-active{background:#68d391!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}body.print-portconfig-mode .port-cell.status-cabled_unused{background:#63b3ed!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}body.print-portconfig-mode .port-cell.status-unused{background:#e2e8f0!important;color:#666!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}body.print-portconfig-mode .port-cell.status-reserved{background:#fbd38d!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}body.print-portconfig-mode .port-table-wrapper{display:none!important}body.print-portconfig-mode .print-port-grid{display:block!important;column-count:3;column-gap:12px;column-rule:1px solid #ccc;font-size:7pt;color:#000!important;margin-top:6px}body.print-portconfig-mode .print-port-grid .ppg-header{display:flex;font-weight:700;background:#1a202c!important;color:#fff!important;padding:2px 4px;margin-bottom:1px;font-size:6.5pt;-webkit-print-color-adjust:exact;print-color-adjust:exact;break-inside:avoid;column-span:all}body.print-portconfig-mode .print-port-grid .ppg-row{display:flex;padding:1.5px 4px;border-bottom:.5px solid #ddd;break-inside:avoid;line-height:1.3}body.print-portconfig-mode .print-port-grid .ppg-row:nth-child(2n){background:#f7f7f7!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}body.print-portconfig-mode .print-port-grid .ppg-port{width:22px;font-weight:700;flex-shrink:0}body.print-portconfig-mode .print-port-grid .ppg-grp{width:22px;flex-shrink:0;color:#666}body.print-portconfig-mode .print-port-grid .ppg-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.print-portconfig-mode .print-port-grid .ppg-status{width:38px;flex-shrink:0;text-align:center}body.print-portconfig-mode .print-port-grid .ppg-vlan{width:26px;flex-shrink:0;text-align:right;color:#444}body.print-portconfig-mode .print-port-grid .ppg-conn{width:60px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#444}body.print-portconfig-mode .print-port-grid .ppg-spacer{height:6px;break-inside:avoid}body.print-portconfig-mode .print-port-grid .ppg-s-active{color:#22543d;font-weight:600}body.print-portconfig-mode .print-port-grid .ppg-s-unused{color:#999}body.print-portconfig-mode .print-port-grid .ppg-s-cabled_unused{color:#2b6cb0}body.print-portconfig-mode .print-port-grid .ppg-s-reserved{color:#c05621}body.print-portconfig-mode .port-map-section:after{content:"Printed from GIEXS Platform";display:block;text-align:right;font-size:7pt;color:#999;margin-top:4px;padding-top:2px;border-top:1px solid #ccc}}.print-port-grid{display:none}@media print{@page{size:landscape;margin:.8cm}}.business-ideas-list h1{color:var(--primary);margin-bottom:.5rem}.filters-card{margin-bottom:2rem}.filters{display:flex;gap:1.5rem;align-items:flex-end;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-weight:600;font-size:.9rem;color:var(--text-secondary)}.filter-group select{padding:.5rem 1rem;border:2px solid var(--border);border-radius:6px;font-size:.9rem;background:var(--bg-card);cursor:pointer;min-width:150px}.filter-group select:focus{outline:none;border-color:var(--accent)}.results-count{margin-left:auto;padding:.5rem 1rem;background:var(--bg-light);border-radius:6px;font-weight:600;color:var(--text-secondary)}.ideas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem}.idea-card-link{text-decoration:none;color:inherit}.idea-card{background:var(--bg-card);border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000000d;transition:all .3s;height:100%;display:flex;flex-direction:column;border:2px solid transparent}.idea-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001a;border-color:var(--accent)}.idea-header{margin-bottom:1rem}.idea-header h3{color:var(--primary);margin-bottom:.5rem;font-size:1.2rem}.idea-badges{display:flex;gap:.5rem;flex-wrap:wrap}.badge-secondary{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;background:var(--bg-light);color:var(--text-secondary)}.idea-description{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin-bottom:1rem;flex:1}.idea-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:1rem}.metric{text-align:center}.metric-label{font-size:.75rem;color:var(--text-secondary);margin-bottom:.25rem}.metric-value{font-size:1.5rem;font-weight:700}.idea-footer{display:flex;justify-content:space-between;align-items:center}.market-info{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--text-secondary)}.view-more{color:var(--accent);font-weight:600;font-size:.9rem}.no-results{text-align:center;padding:3rem;color:var(--text-secondary);background:var(--bg-light);border-radius:12px}.competitor-badge{display:inline-block;padding:.25rem .75rem;background:linear-gradient(135deg,#e9d8fd 0%,#d6bcfa 100%);color:#553c9a;border-radius:12px;font-weight:600;font-size:.75rem;margin-top:.25rem}[data-theme=dark] .idea-card{box-shadow:0 2px 4px #0000004d}[data-theme=dark] .idea-card:hover{box-shadow:0 8px 16px #0006}[data-theme=dark] .competitor-badge{background:linear-gradient(135deg,#553c9a 0%,#44337a 100%);color:#e9d8fd}.business-idea-detail{max-width:1200px}.back-link{display:inline-block;margin-bottom:1.5rem;color:var(--accent);font-weight:600;text-decoration:none}.back-link:hover{text-decoration:underline}.idea-header-section{margin-bottom:2rem}.idea-header-section h1{color:var(--primary);font-size:2.5rem;margin-bottom:1rem}.header-badges{display:flex;gap:.5rem}.iteration-selector{background:var(--bg-light)}.iteration-selector h3{color:var(--primary);margin-bottom:.5rem}.iteration-help{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.iteration-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.iteration-btn{padding:.75rem 1.5rem;border:2px solid var(--border);background:var(--bg-card);border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.iteration-btn:hover{border-color:var(--accent);background:var(--bg-light)}.iteration-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.description-text{font-size:1.1rem;line-height:1.8;color:var(--text-secondary)}.scores-section{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}.score-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.score-card{background:var(--bg-light);padding:1.5rem;border-radius:8px;text-align:center}.score-card-label{font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem;font-weight:600}.score-card-value{font-size:2.5rem;font-weight:700;margin-bottom:.25rem}.score-card-subtitle{font-size:.75rem;color:var(--text-secondary)}.section-subtitle{color:var(--text-secondary);margin-bottom:1.5rem}.analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--bg-light);border-radius:8px}.analysis-item{display:flex;flex-direction:column;gap:.25rem}.analysis-item strong{color:var(--primary);font-size:.85rem}.analysis-item span{color:var(--text-secondary);font-size:.95rem}.analysis-content{line-height:1.8;color:var(--text-secondary)}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.challenges-card{border-left:4px solid var(--warning)}.opportunities-card{border-left:4px solid var(--success)}.competitive-card{border-left:4px solid var(--purple)}.competitor-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:var(--bg-light);border-radius:8px;margin-bottom:1.5rem}.competitor-count{display:flex;flex-direction:column;align-items:center}.count-number{font-size:3rem;font-weight:700;color:var(--purple);line-height:1}.count-label{font-size:.85rem;color:var(--text-secondary);margin-top:.5rem}.competition-level{padding:.75rem 1.5rem;border-radius:8px;font-weight:700;font-size:.9rem;letter-spacing:.5px}.competition-low{background:#c6f6d5;color:#276749}.competition-moderate{background:#feebc8;color:#744210}.competition-high{background:#fed7d7;color:#c53030}.competition-very-high{background:#e9d8fd;color:#553c9a}.competitors-list{margin-bottom:1.5rem}.competitors-list strong{display:block;color:var(--primary);margin-bottom:.75rem}.competitor-tags{display:flex;flex-wrap:wrap;gap:.5rem}.competitor-tag{display:inline-block;padding:.5rem 1rem;background:var(--bg-card);border:2px solid var(--purple);border-radius:20px;font-size:.85rem;font-weight:600;color:var(--purple);transition:all .2s}.competitor-tag:hover{background:var(--purple);color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px #805ad533}.metadata-card{background:var(--bg-light)}.metadata-card h3{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.5px}.metadata-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;font-size:.85rem}.metadata-grid strong{color:var(--text-secondary);margin-right:.5rem}[data-theme=dark] .competition-low{background:#276749;color:#c6f6d5}[data-theme=dark] .competition-moderate{background:#744210;color:#feebc8}[data-theme=dark] .competition-high{background:#9b2c2c;color:#fed7d7}[data-theme=dark] .competition-very-high{background:#553c9a;color:#e9d8fd}@media (max-width: 768px){.scores-section,.two-column,.score-cards{grid-template-columns:1fr}}.funnel-page{padding:1.5rem}.funnel-header{margin-bottom:1.5rem}.funnel-header h1{font-size:1.6rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.funnel-header p{color:var(--text-secondary);font-size:.85rem}.funnel-visual{display:flex;align-items:stretch;margin-bottom:1.5rem;gap:2px;border-radius:8px;overflow:hidden;height:48px}.funnel-bar-segment{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-size:.7rem;font-weight:600;min-width:60px;cursor:pointer;transition:opacity .2s,transform .15s;position:relative}.funnel-bar-segment:hover{opacity:.85;transform:scaleY(1.06)}.funnel-bar-segment .bar-count{font-size:1.1rem;font-weight:800;line-height:1}.funnel-bar-segment .bar-label{font-size:.6rem;opacity:.9;text-transform:uppercase;letter-spacing:.5px}.phase-idea{background:#805ad5}.phase-deep_dive{background:#3182ce}.phase-validation{background:#319795}.phase-mvp_planning{background:#d69e2e}.phase-development{background:#dd6b20}.phase-launch{background:#e53e3e}.phase-growth{background:#38a169}.funnel-stats-row{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.funnel-stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;flex:1;min-width:120px}.funnel-stat-card .stat-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.funnel-stat-card .stat-value{font-size:1.4rem;font-weight:700;color:var(--text-primary)}.funnel-board{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:1rem;min-height:500px}.funnel-column{flex:0 0 220px;min-width:220px;background:var(--bg-light);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;max-height:calc(100vh - 280px)}.funnel-column-header{padding:.75rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:var(--bg-card);border-radius:8px 8px 0 0;position:sticky;top:0}.funnel-column-header .col-icon{font-size:1.1rem}.funnel-column-header .col-title{font-size:.8rem;font-weight:700;flex:1;color:var(--text-primary)}.funnel-column-header .col-count{font-size:.7rem;font-weight:700;background:var(--giexs-blue);color:#fff;padding:.15rem .5rem;border-radius:10px;min-width:22px;text-align:center}.funnel-column-body{padding:.5rem;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:.5rem}.funnel-card{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:.6rem;cursor:pointer;transition:box-shadow .15s,border-color .15s;position:relative}.funnel-card:hover{box-shadow:0 2px 8px #00000014;border-color:var(--accent)}.funnel-card .card-title{font-size:.78rem;font-weight:600;color:var(--text-primary);line-height:1.3;margin-bottom:.35rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.funnel-card .card-meta{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.funnel-card .card-score{font-size:.65rem;font-weight:700;padding:.1rem .4rem;border-radius:4px;color:#fff}.card-score.high{background:var(--success)}.card-score.medium{background:var(--warning)}.card-score.low{background:var(--danger)}.funnel-card .card-sector{font-size:.6rem;color:var(--text-secondary);background:var(--bg-light);padding:.1rem .35rem;border-radius:3px}.funnel-card .card-days{font-size:.6rem;color:var(--text-secondary);margin-left:auto}.funnel-card .card-team-count{font-size:.6rem;color:var(--accent)}.funnel-card-actions{display:flex;gap:.25rem;margin-top:.4rem;padding-top:.35rem;border-top:1px solid var(--border)}.funnel-card-actions button{flex:1;padding:.2rem;font-size:.6rem;border:1px solid var(--border);border-radius:4px;background:var(--bg-card);cursor:pointer;transition:background .15s}.funnel-card-actions button:hover{background:var(--bg-light)}.funnel-card-actions .btn-promote{color:var(--success);border-color:var(--success)}.funnel-card-actions .btn-promote:hover{background:var(--bg-card-hover)}.funnel-card-actions .btn-demote{color:var(--warning);border-color:var(--warning)}.funnel-card-actions .btn-demote:hover{background:var(--bg-card-hover)}.funnel-card-actions .btn-detail{color:var(--accent);border-color:var(--accent)}.funnel-card-actions .btn-detail:hover{background:var(--bg-card-hover)}.funnel-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:200}.funnel-modal{background:var(--bg-card);border-radius:10px;padding:1.5rem;width:90%;max-width:420px;box-shadow:0 8px 32px #00000026}.funnel-modal h3{font-size:1rem;margin-bottom:.75rem}.funnel-modal textarea{width:100%;border:1px solid var(--border);border-radius:6px;padding:.5rem;font-size:.85rem;resize:vertical;min-height:60px;margin-bottom:.75rem;font-family:inherit}.funnel-modal-btns{display:flex;gap:.5rem;justify-content:flex-end}.funnel-modal-btns button{padding:.4rem 1rem;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;border:1px solid var(--border);transition:background .15s}.funnel-modal-btns .btn-confirm{background:var(--success);color:#fff;border-color:var(--success)}.funnel-modal-btns .btn-cancel{background:var(--bg-card)}.funnel-empty{text-align:center;padding:1.5rem .5rem;color:var(--text-secondary);font-size:.75rem;font-style:italic}.phase-history{margin-top:1rem}.phase-history-item{display:flex;gap:.5rem;padding:.4rem 0;font-size:.75rem;border-bottom:1px solid var(--border)}.phase-history-item .history-arrow{color:var(--accent);font-weight:700}@media (max-width: 768px){.funnel-board{gap:.5rem}.funnel-column{flex:0 0 180px;min-width:180px}.funnel-stats-row{display:none}}.deep-dive-page{padding:1.5rem;max-width:1200px}.deep-dive-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.deep-dive-header h1{font-size:1.4rem;font-weight:700}.deep-dive-back{font-size:.8rem;color:var(--accent);text-decoration:none;cursor:pointer;border:1px solid var(--accent);padding:.3rem .75rem;border-radius:6px;transition:background .15s}.deep-dive-back:hover{background:var(--bg-light)}.dd-tabs{display:flex;gap:2px;margin-bottom:1.5rem;border-bottom:2px solid var(--border);overflow-x:auto}.dd-tab{padding:.6rem 1rem;font-size:.78rem;font-weight:600;border:none;background:none;cursor:pointer;color:var(--text-secondary);border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap;transition:color .15s,border-color .15s}.dd-tab:hover{color:var(--text-primary)}.dd-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.dd-tab .tab-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--success);margin-left:.35rem;vertical-align:middle}.dd-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1.25rem;margin-bottom:1rem}.dd-section h2{font-size:1rem;font-weight:700;margin-bottom:.75rem;color:var(--text-primary)}.dd-section h3{font-size:.85rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.dd-field{margin-bottom:.75rem}.dd-field label{display:block;font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.5px}.dd-field input,.dd-field textarea,.dd-field select{width:100%;padding:.5rem;border:1px solid var(--border);border-radius:6px;font-size:.85rem;font-family:inherit}.dd-field textarea{resize:vertical;min-height:60px}.dd-field input:focus,.dd-field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #3182ce26}.dd-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.dd-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem}.competitor-card{background:var(--bg-light);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:.75rem;position:relative}.competitor-card .comp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.competitor-card .comp-number{font-size:.7rem;font-weight:700;color:var(--accent);text-transform:uppercase}.competitor-card .comp-remove{font-size:.7rem;color:var(--danger);background:none;border:none;cursor:pointer;padding:.2rem .4rem}.comp-features-list{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.35rem}.comp-feature-tag{font-size:.68rem;background:var(--border);padding:.15rem .5rem;border-radius:4px;display:flex;align-items:center;gap:.25rem}.comp-feature-tag button{background:none;border:none;color:var(--danger);cursor:pointer;font-size:.7rem;padding:0;line-height:1}.comp-add-feature{display:flex;gap:.35rem;margin-top:.35rem}.comp-add-feature input{flex:1;padding:.3rem .5rem;font-size:.78rem;border:1px solid var(--border);border-radius:4px}.comp-add-feature button{padding:.3rem .6rem;font-size:.7rem;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:4px;cursor:pointer}.feature-matrix-table{width:100%;border-collapse:collapse;font-size:.75rem;overflow-x:auto;display:block}.feature-matrix-table th,.feature-matrix-table td{border:1px solid var(--border);padding:.35rem .5rem;text-align:center}.feature-matrix-table th{background:var(--bg-light);font-weight:700;font-size:.7rem}.feature-matrix-table td:first-child{text-align:left;font-weight:600;white-space:nowrap}.feature-matrix-table .check-yes{color:var(--success);font-weight:700}.feature-matrix-table .check-no{color:#cbd5e0}.feature-matrix-table input[type=checkbox]{cursor:pointer;width:16px;height:16px}.dd-item-row{display:flex;gap:.5rem;align-items:center;padding:.4rem 0;border-bottom:1px solid var(--border);font-size:.8rem}.dd-item-row input{padding:.3rem .5rem;border:1px solid var(--border);border-radius:4px;font-size:.78rem}.dd-item-row .remove-btn{color:var(--danger);background:none;border:none;cursor:pointer;font-size:.8rem}.dd-btn{padding:.4rem .85rem;border-radius:6px;font-size:.78rem;font-weight:600;cursor:pointer;border:1px solid var(--border);transition:background .15s}.dd-btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.dd-btn-primary:hover{background:#2b6cb0}.dd-btn-success{background:var(--success);color:#fff;border-color:var(--success)}.dd-btn-add{background:none;color:var(--accent);border:1px dashed var(--accent);margin-top:.5rem}.dd-btn-add:hover{background:var(--bg-light)}.dd-save-row{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.dd-saved-msg{font-size:.75rem;color:var(--success);font-weight:600}.dd-assessment{background:linear-gradient(135deg,#ebf8ff 0%,#f0fff4 100%);border:2px solid var(--accent)}[data-theme=dark] .dd-assessment{background:linear-gradient(135deg,#1a2a3a 0%,#1a3a2a 100%)}[data-theme=dark] .dd-field input,[data-theme=dark] .dd-field textarea,[data-theme=dark] .dd-field select,[data-theme=dark] .comp-add-feature input,[data-theme=dark] .dd-item-row input,[data-theme=dark] .funnel-modal textarea{background:var(--bg-light);color:var(--text-primary)}.dd-score-slider{display:flex;align-items:center;gap:.75rem}.dd-score-slider input[type=range]{flex:1;height:8px}.dd-score-value{font-size:1.8rem;font-weight:800;min-width:50px;text-align:center}.dd-score-value.high{color:var(--success)}.dd-score-value.medium{color:var(--warning)}.dd-score-value.low{color:var(--danger)}.dd-recommendation-btns{display:flex;gap:.5rem;flex-wrap:wrap}.dd-recommendation-btns button{padding:.4rem .85rem;border-radius:6px;font-size:.78rem;font-weight:600;cursor:pointer;border:2px solid var(--border);background:var(--bg-card);transition:all .15s}.dd-recommendation-btns button.selected{border-color:var(--accent);background:var(--accent);color:#fff}.dd-recommendation-btns button:hover:not(.selected){border-color:var(--accent)}@media (max-width: 768px){.dd-row,.dd-row-3{grid-template-columns:1fr}.dd-tabs{flex-wrap:nowrap}}.docs-content-only{padding:0;min-height:calc(100vh - var(--topbar-height, 48px) - 2rem)}.documentation h1{color:var(--primary);margin-bottom:.5rem}.doc-intro{font-size:1.1rem;line-height:1.8;color:var(--text-secondary);margin-bottom:2rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1.5rem}.feature-item{padding:1.5rem;background:var(--bg-light);border-radius:8px;text-align:center}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-item h4{color:var(--primary);margin-bottom:.5rem}.feature-item p{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.arch-section{margin:2rem 0}.arch-section h3{color:var(--primary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--border)}.tech-stack{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.tech-layer{padding:1.5rem;background:var(--bg-light);border-radius:8px}.tech-layer strong{display:block;color:var(--primary);margin-bottom:.75rem;font-size:1.1rem}.tech-layer ul{list-style:none;padding:0}.tech-layer li{padding:.5rem 0;color:var(--text-secondary);border-bottom:1px solid var(--border)}.tech-layer li:last-child{border-bottom:none}.schema-diagram{background:#1a202c;border-radius:8px;padding:1.5rem;overflow-x:auto}.schema-diagram pre{color:#68d391;font-family:Courier New,monospace;font-size:.85rem;line-height:1.6;margin:0}.api-endpoints{display:flex;flex-direction:column;gap:.75rem}.endpoint{display:flex;align-items:center;gap:1rem;padding:.75rem;background:var(--bg-light);border-radius:6px}.method{padding:.25rem .75rem;border-radius:4px;font-weight:700;font-size:.75rem;font-family:monospace;min-width:50px;text-align:center}.method.get{background:#48bb78;color:#fff}.method.post{background:#3182ce;color:#fff}.path{font-family:monospace;color:var(--primary);font-weight:600;flex:1}.desc{color:var(--text-secondary);font-size:.9rem}.scoring-metrics{display:grid;gap:1.5rem;margin-top:1.5rem}.metric-detail{padding:1.5rem;background:var(--bg-light);border-radius:8px;border-left:4px solid var(--accent)}.metric-detail h4{color:var(--primary);margin-bottom:.75rem}.metric-detail p{color:var(--text-secondary);line-height:1.6}.score-interpretation{margin-top:2rem;padding:1.5rem;background:var(--bg-light);border-radius:8px}.score-interpretation h4{color:var(--primary);margin-bottom:1rem}.score-ranges{display:flex;flex-direction:column;gap:.75rem}.score-range{padding:1rem;border-radius:6px;border-left:4px solid}.score-range.high{background:#f0fff4;border-color:var(--success);color:#276749}.score-range.medium{background:#fffaf0;border-color:var(--warning);color:#744210}.score-range.low{background:#fff5f5;border-color:var(--danger);color:#c53030}[data-theme=dark] .score-range.high{background:#1a3a2a;color:#c6f6d5}[data-theme=dark] .score-range.medium{background:#3a2a1a;color:#feebc8}[data-theme=dark] .score-range.low{background:#3a1a1a;color:#fed7d7}.score-range strong{font-weight:700}.iteration-stages{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1.5rem}.stage{display:flex;gap:1rem;padding:1.5rem;background:var(--bg-light);border-radius:8px}.stage-number{font-size:1.5rem;font-weight:700;color:var(--accent);min-width:50px}.stage-content h4{color:var(--primary);margin-bottom:.5rem}.stage-content p{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.code-block{background:#1a202c;border-radius:8px;padding:1.5rem;margin:1rem 0;overflow-x:auto}.code-block pre{color:#68d391;font-family:Courier New,monospace;font-size:.9rem;line-height:1.6;margin:0}.docs-list{display:flex;flex-direction:column;gap:1.5rem}.doc-item{padding:1.5rem;background:var(--bg-light);border-radius:8px}.doc-item h3{color:var(--primary);margin-bottom:.5rem}.doc-category{color:var(--text-secondary);font-size:.85rem;margin-bottom:1rem}.doc-content{color:var(--text-secondary);line-height:1.6}.info-card{background:linear-gradient(135deg,#e6fffa 0%,#b2f5ea 100%);border-left:4px solid var(--success)}[data-theme=dark] .info-card{background:linear-gradient(135deg,#1a3a2a 0%,#234538 100%)}.info-card h2{color:var(--primary);margin-bottom:1rem}.info-card p{color:var(--text-secondary);line-height:1.8;font-size:1.05rem}.markdown-body{line-height:1.7;font-size:.95rem}.markdown-body h3{margin-top:2rem;margin-bottom:.5rem;color:var(--primary);border-bottom:1px solid var(--border, #ddd);padding-bottom:.3rem}.markdown-body h4{margin-top:1.5rem;margin-bottom:.4rem}.markdown-body p{margin-bottom:.8rem}.markdown-body ul{margin:.5rem 0 1rem 1.5rem}.markdown-body li{margin-bottom:.3rem}.markdown-body hr{border:none;border-top:2px solid var(--border, #ddd);margin:2rem 0}.markdown-body pre.code-block{background:#1a1a2e;color:#e0e0e0;padding:16px;border-radius:6px;overflow-x:auto;font-size:.82rem;line-height:1.5;margin:1rem 0}.markdown-body code.inline-code{background:var(--bg-light, #f0f0f0);padding:2px 6px;border-radius:3px;font-size:.88em;color:#c0392b}[data-theme=dark] .markdown-body code.inline-code{background:#2a2a3e;color:#e74c3c}.markdown-body .doc-table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.85rem}.markdown-body .doc-table th,.markdown-body .doc-table td{padding:8px 12px;border:1px solid var(--border, #ddd);text-align:left}.markdown-body .doc-table th{background:var(--bg-light, #f5f5f5);font-weight:600}[data-theme=dark] .markdown-body .doc-table th{background:#2a2a3e}.markdown-body .doc-table tr:nth-child(2n) td{background:var(--bg-light, #fafafa)}[data-theme=dark] .markdown-body .doc-table tr:nth-child(2n) td{background:#1e1e2e}:root{--giexs-blue: #1e3a5f;--giexs-light: #4a7ab0;--secondary: #2d3748;--accent: #3182ce;--success: #48bb78;--warning: #ed8936;--danger: #f56565;--purple: #805ad5;--bg-body: #f7fafc;--bg-light: #f7fafc;--bg-card: #ffffff;--bg-card-hover: #f0f4f8;--bg-main: #f7fafc;--bg-hover: rgba(59,130,246,.08);--text-primary: #2d3748;--text-secondary: #718096;--border: #e2e8f0;--shadow-sm: rgba(0,0,0,.04);--shadow-md: rgba(0,0,0,.06);--shadow-lg: rgba(0,0,0,.12);--rail-width: 56px;--flyout-width: 220px;--topbar-height: 52px;--rail-bg: #1a202c;--rail-text: #a0aec0;--rail-active: #3182ce;--rail-hover-bg: rgba(255,255,255,.08);--bg-subtle: #edf2f7;--bg-secondary: #f0f4f8;--bg-tertiary: #e2e8f0;--bg-primary: #ffffff;--text-muted: #718096;--border-primary: #e2e8f0;--flyout-bg: #ffffff;--flyout-border: #e2e8f0}[data-theme=dark]{--giexs-blue: #90cdf4;--giexs-light: #bee3f8;--secondary: #e2e8f0;--accent: #63b3ed;--success: #68d391;--warning: #f6ad55;--danger: #fc8181;--purple: #b794f4;--bg-body: #1a202c;--bg-light: #2d3748;--bg-card: #2d3748;--bg-card-hover: #3a4a5c;--bg-main: #1a202c;--bg-hover: rgba(99,179,237,.12);--bg-subtle: #2d3748;--bg-secondary: #3a4a5c;--bg-tertiary: #4a5568;--bg-primary: #2d3748;--text-muted: #a0aec0;--border-primary: #4a5568;--text-primary: #e2e8f0;--text-secondary: #a0aec0;--border: #4a5568;--shadow-sm: rgba(0,0,0,.3);--shadow-md: rgba(0,0,0,.4);--shadow-lg: rgba(0,0,0,.6);--rail-bg: #171923;--rail-text: #a0aec0;--rail-active: #63b3ed;--rail-hover-bg: rgba(255,255,255,.08);--flyout-bg: #1a202c;--flyout-border: #4a5568}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-body);color:var(--text-primary);line-height:1.6}.btn{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;padding:6px 14px;cursor:pointer;font-size:.85rem;font-family:inherit;transition:background .15s,border-color .15s}.btn:hover{background:var(--bg-card-hover);border-color:var(--accent)}.btn-sm{padding:3px 10px;font-size:.78rem}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{opacity:.9}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover{opacity:.9}.topbar{position:fixed;top:0;left:0;right:0;height:var(--topbar-height);background:linear-gradient(135deg,var(--rail-bg) 0%,#2d3748 100%);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem 0 .75rem;z-index:100;box-shadow:0 2px 8px var(--shadow-lg)}.topbar-left{display:flex;align-items:center;gap:.75rem}.topbar-logo{height:28px;width:auto;object-fit:contain;border-radius:4px}.topbar-brand{font-size:1.2rem;font-weight:800;letter-spacing:-.5px}.topbar-subtitle{font-size:.8rem;opacity:.6}.topbar-meta{display:flex;align-items:center;gap:.5rem;font-size:.75rem}.app-badge{display:inline-block;padding:.2rem .6rem;border-radius:20px;font-size:.7rem;font-weight:600}.theme-toggle{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;width:32px;height:32px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.theme-toggle:hover{background:rgba(255,255,255,.2)}.app-shell{display:flex;flex-direction:column;height:100vh}.app-body{display:flex;margin-top:var(--topbar-height);height:calc(100vh - var(--topbar-height));overflow:hidden}.icon-rail{width:var(--rail-width);min-width:var(--rail-width);background:var(--rail-bg);display:flex;flex-direction:column;align-items:center;padding:.5rem 0;gap:2px;overflow-y:auto;z-index:50;border-right:1px solid rgba(255,255,255,.06)}.rail-btn{width:44px;height:48px;border:none;background:transparent;color:var(--rail-text);cursor:pointer;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;transition:all .15s;position:relative}.rail-btn .rail-label{font-size:.5rem;font-weight:600;letter-spacing:.2px;text-transform:uppercase;line-height:1;max-width:42px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.rail-btn:hover{background:var(--rail-hover-bg);color:#e2e8f0}.rail-btn.active{color:var(--rail-active)}.rail-btn.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;background:var(--rail-active);border-radius:0 3px 3px 0}.rail-btn.open{background:var(--rail-hover-bg);color:#fff}.flyout-panel{width:var(--flyout-width);min-width:var(--flyout-width);background:var(--flyout-bg);border-right:1px solid var(--flyout-border);display:flex;flex-direction:column;overflow-y:auto;animation:flyout-in .15s ease;z-index:49}@keyframes flyout-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.flyout-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid var(--border)}.flyout-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.flyout-header-actions{display:flex;align-items:center;gap:4px}.flyout-pin,.flyout-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center}.flyout-pin:hover,.flyout-close:hover{color:var(--text-primary);background:var(--bg-light)}.flyout-pin.active{color:var(--accent)}.flyout-panel.pinned{border-right:1px solid var(--flyout-border)}.flyout-nav{padding:.5rem;display:flex;flex-direction:column;gap:2px}.flyout-link{display:flex;align-items:center;gap:.6rem;padding:.55rem .75rem;color:var(--text-secondary);text-decoration:none;font-size:.85rem;border-radius:6px;transition:all .12s}.flyout-link:hover{color:var(--text-primary);background:var(--bg-card-hover)}.flyout-link.active{color:var(--accent);background:var(--bg-light);font-weight:600}.flyout-link-label{flex:1}.flyout-tree-cat{margin-bottom:2px}.flyout-tree-cat-btn{display:flex;align-items:center;gap:.35rem;width:100%;padding:.5rem .75rem;border:none;background:none;border-bottom:1px solid var(--border);cursor:pointer;font-size:.82rem;font-weight:700;color:var(--accent);text-align:left;border-radius:0;transition:background .12s;letter-spacing:.2px}.flyout-tree-cat-btn:hover{background:var(--bg-card-hover)}.flyout-tree-arrow{transition:transform .2s;flex-shrink:0;color:var(--accent);opacity:.7}.flyout-tree-cat-btn.expanded .flyout-tree-arrow{transform:rotate(90deg)}.flyout-tree-cat-icon{font-size:.85rem}.flyout-tree-items{padding-left:.9rem;display:flex;flex-direction:column;gap:1px}.flyout-tree-items .flyout-link{padding:.35rem .75rem;font-size:.8rem}[data-theme=dark] .svg-diagram-container{background:#f7fafc!important;border-radius:8px}.nav-overlay{display:none}.main-content{flex:1;min-width:0;overflow-y:auto;overflow-x:hidden;padding:2rem;transition:all .2s}.page-header{margin-bottom:2rem}.page-header h1{font-size:1.8rem;color:var(--giexs-blue);margin-bottom:.25rem}.page-header p{color:var(--text-secondary)}.card{background:var(--bg-card);border-radius:10px;box-shadow:0 2px 8px var(--shadow-md);padding:1.5rem;border:1px solid var(--border)}.section-block{background:var(--bg-card);border-radius:8px;border:1px solid var(--border);overflow:hidden}.section-block-header{padding:10px 16px;background:var(--bg-light);border-bottom:1px solid var(--border)}.section-block-header h3{margin:0;font-size:.95rem;font-weight:600;color:var(--text-primary)}.section-block-body{padding:12px 16px}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:1rem 0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--bg-card);border-radius:10px;padding:1.25rem;border:1px solid var(--border);box-shadow:0 2px 4px var(--shadow-sm)}.stat-card .stat-value{font-size:2rem;font-weight:800;color:var(--giexs-blue);line-height:1;margin-bottom:.25rem}.stat-card .stat-label{font-size:.8rem;color:var(--text-secondary);font-weight:500}.stat-card .stat-icon{font-size:1.5rem;margin-bottom:.5rem}.data-table{width:100%;border-collapse:collapse;background:var(--bg-card);border-radius:8px;overflow:hidden;box-shadow:0 1px 4px var(--shadow-sm);border:1px solid var(--border)}.data-table th{background:var(--bg-light);padding:.75rem 1rem;text-align:left;font-size:.8rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--border)}.data-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border);font-size:.9rem}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--bg-card-hover)}.badge{display:inline-block;padding:.2rem .6rem;border-radius:20px;font-size:.75rem;font-weight:600}.badge-success{background:#c6f6d5;color:#276749}.badge-warning{background:#feebc8;color:#c05621}.badge-danger{background:#fed7d7;color:#c53030}.badge-info{background:#bee3f8;color:#2c5282}.badge-purple{background:#e9d8fd;color:#553c9a}.badge-gray{background:#edf2f7;color:#4a5568}[data-theme=dark] .badge-success{background:#276749;color:#c6f6d5}[data-theme=dark] .badge-warning{background:#744210;color:#feebc8}[data-theme=dark] .badge-danger{background:#9b2c2c;color:#fed7d7}[data-theme=dark] .badge-info{background:#2a4365;color:#bee3f8}[data-theme=dark] .badge-purple{background:#44337a;color:#e9d8fd}[data-theme=dark] .badge-gray{background:#2d3748;color:#a0aec0}[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select{background:var(--bg-light);color:var(--text-primary);border-color:var(--border)}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:var(--text-secondary)}[data-theme=dark] .kanban-card{background:var(--bg-card)}.section-block{background:var(--bg-card);border-radius:10px;box-shadow:0 2px 8px var(--shadow-md);border:1px solid var(--border);margin-bottom:1.5rem;overflow:hidden}.section-block-header{background:var(--secondary);color:#fff;padding:.85rem 1.25rem;font-size:1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}[data-theme=dark] .section-block-header{background:#1a202c}.section-block-body{padding:1.25rem}:root{--dm-blue: #ebf8ff;--dm-red: #fff5f5;--dm-purple: #faf5ff;--dm-green: #f0fff4;--dm-orange: #fffaf0}[data-theme=dark]{--dm-blue: #1a2744;--dm-red: #3a1a1a;--dm-purple: #2a1a3a;--dm-green: #1a3a2a;--dm-orange: #3a2a1a}.progress-bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden;margin:.25rem 0}.progress-fill{height:100%;border-radius:4px;transition:width .3s}.svg-diagram{width:100%;height:auto;border-radius:8px;margin:1rem 0}.kanban-board{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin:1rem 0}.kanban-col{background:var(--bg-light);border-radius:8px;padding:.75rem;border:1px solid var(--border)}.kanban-col-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:.75rem;display:flex;justify-content:space-between}.kanban-card{background:var(--bg-card);border-radius:6px;padding:.75rem;border:1px solid var(--border);margin-bottom:.5rem;font-size:.85rem;box-shadow:0 1px 3px var(--shadow-sm)}.kanban-card-id{font-size:.7rem;color:var(--text-secondary);margin-bottom:.25rem}.network-card{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border-radius:10px;padding:1.25rem;margin-bottom:1rem}.vlan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:1rem 0}.vlan-card{background:var(--bg-light);border-radius:8px;padding:1rem;border-left:4px solid var(--accent)}.vlan-card h4{color:var(--text-primary);margin-bottom:.25rem;font-size:.9rem}.vlan-card p{font-size:.82rem;color:var(--text-secondary)}.spec-list{list-style:none;padding:0}.spec-list li{padding:.5rem 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;font-size:.9rem}.spec-list li:last-child{border-bottom:none}.spec-label{color:var(--text-secondary)}.spec-value{font-weight:600}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.dot-green{background:var(--success)}.dot-orange{background:var(--warning)}.dot-red{background:var(--danger)}.dot-blue{background:var(--accent)}.dot-gray{background:#a0aec0}.phase-item{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border)}.phase-item:last-child{border-bottom:none}.phase-num{background:var(--accent);color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0}.phase-body h4{color:var(--giexs-blue);margin-bottom:.25rem}.phase-body p{color:var(--text-secondary);font-size:.88rem}.logout-btn{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:#fff;padding:.2rem .6rem;border-radius:4px;cursor:pointer;font-size:.75rem;margin-left:.5rem}.logout-btn:hover{background:rgba(255,255,255,.25)}.topbar-meta .badge-danger{background:#e53e3e;color:#fff}.topbar-meta .badge-purple{background:#805ad5;color:#fff}.topbar-meta .badge-gray{background:#a0aec0;color:#fff}.topbar-meta .badge-warning{background:#ed8936;color:#fff}.topbar-meta .badge-info{background:#3182ce;color:#fff}.topbar-meta .badge-success{background:#48bb78;color:#fff}.mobile-only{display:none!important}.desktop-only{display:flex!important}.hamburger-btn{background:none;border:none;color:#fff;cursor:pointer;padding:.2rem;display:flex;align-items:center;justify-content:center}.responsive-two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.responsive-module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.responsive-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1.25rem}@media (max-width: 1024px){.main-content{padding:1.25rem}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.kanban-board{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.mobile-only{display:flex!important}.desktop-only{display:none!important}.topbar{padding:0 .75rem}.topbar-brand{font-size:1.1rem}.icon-rail{position:fixed;top:var(--topbar-height);left:0;bottom:0;z-index:200;transform:translate(-100%);transition:transform .25s ease}.icon-rail.mobile-open{transform:translate(0)}.flyout-panel{position:fixed;top:var(--topbar-height);left:var(--rail-width);bottom:0;z-index:200}.nav-overlay{display:block;position:fixed;top:var(--topbar-height);left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:199}.main-content{padding:1rem .75rem}.page-header h1{font-size:1.3rem}.stat-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:1rem}.stat-card{padding:.75rem}.stat-card .stat-value{font-size:1.5rem}.stat-card .stat-icon{font-size:1.2rem;margin-bottom:.25rem}.data-table{font-size:.78rem}.data-table th,.data-table td{padding:.5rem .6rem;white-space:nowrap}.port-table-wrapper,.section-block-body{overflow-x:auto}.kanban-board{grid-template-columns:1fr}.card{padding:1rem}.card-grid,.vlan-grid{grid-template-columns:1fr}.section-block-header{padding:.6rem .75rem;font-size:.9rem}.section-block-body{padding:.75rem}.section-block-body form{grid-template-columns:1fr!important}.page-header p{font-size:.82rem}.responsive-two-col{grid-template-columns:1fr!important}.responsive-module-grid{grid-template-columns:repeat(2,1fr)!important}.responsive-card-grid,.ideas-grid,.two-column,.scores-section{grid-template-columns:1fr!important}.score-card-value{font-size:1.8rem}.score-card{padding:1rem}.idea-header-section h1{font-size:1.5rem}.description-text{font-size:.95rem}.iteration-btn{padding:.5rem 1rem;font-size:.85rem}.idea-metrics{grid-template-columns:repeat(2,1fr);gap:.5rem}.metric-value{font-size:1.2rem}.competitor-header{flex-direction:column;gap:.75rem;padding:1rem}.count-number{font-size:2rem}.filters{flex-direction:column;gap:.75rem}.results-count{margin-left:0}.svg-diagram{min-width:700px}.section-block-body:has(.svg-diagram){overflow-x:auto;-webkit-overflow-scrolling:touch}.spec-list{font-size:.82rem}.progress-bar{height:6px}}[data-theme=dark] .stat-card{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] table{color:var(--text-primary)}[data-theme=dark] th{color:var(--text-secondary)!important}[data-theme=dark] td{color:var(--text-primary)}[data-theme=dark] input[type=text],[data-theme=dark] input[type=date],[data-theme=dark] input[type=number],[data-theme=dark] input[type=email],[data-theme=dark] input[type=password],[data-theme=dark] textarea,[data-theme=dark] select{background:var(--bg-main)!important;color:var(--text-primary)!important;border-color:var(--border)!important}[data-theme=dark] code{background:var(--bg-tertiary);color:var(--text-primary)}@media print{.icon-rail,.flyout-panel,.topbar,.topbar-badges{display:none!important}.app-shell{height:auto!important}.app-body{height:auto!important;overflow:visible!important;display:block!important}.main-content{padding:.5rem!important;margin:0!important;height:auto!important;overflow:visible!important}.page-header button{display:none!important}body{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.section-block{break-inside:avoid;page-break-inside:avoid;margin-bottom:.75rem!important;box-shadow:none!important}.section-block-header{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.stat-grid{break-inside:avoid}.card{break-inside:avoid;box-shadow:none!important}.phase-item{break-inside:avoid}.data-table{font-size:.75rem}svg{max-width:100%!important}@page{margin:.75cm}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg-body, var(--bg-light));color:var(--text-primary);line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}.container{max-width:1400px;margin:0 auto;padding:2rem}.score{font-weight:700;font-size:1.25rem}.score-high{color:var(--success)}.score-medium{color:var(--warning)}.score-low{color:var(--danger)}.loading{text-align:center;padding:3rem;color:var(--text-secondary)}.error{background:var(--dm-red, #fff5f5);border:1px solid var(--danger);color:var(--danger);padding:1rem;border-radius:8px;margin-bottom:1rem}
