@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Roboto+Mono:wght@400;500;600&display=swap";@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@500;600&display=swap";.header{background:var(--bg-dark);border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;gap:16px;height:60px;padding:0 20px;display:flex}.header-logo{align-items:center;gap:10px;display:flex}.header-logo h1{color:var(--text-primary);font-size:18px;font-weight:600}.header-icon{font-size:var(--font-size-3xl);justify-content:center;align-items:center;display:inline-flex}.header-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn-primary,.btn-secondary,.btn-create,.btn-lock,.btn-success,.btn-danger,.btn-info,.btn-restore{border:1px solid var(--border-default);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:10px 18px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex;position:relative;overflow:hidden}.btn-primary:after,.btn-secondary:after,.btn-create:after,.btn-lock:after,.btn-success:after,.btn-danger:after,.btn-info:after,.btn-restore:after{content:"";background:linear-gradient(90deg,#0000,#ffffff26,#0000);transition:left .4s;position:absolute;inset:0 0 0 -100%}.btn-primary:hover:after,.btn-secondary:hover:after,.btn-create:hover:after,.btn-lock:hover:after,.btn-success:hover:after,.btn-danger:hover:after,.btn-info:hover:after,.btn-restore:hover:after{left:100%}.btn-primary,.btn-create,.btn-add-part{background:var(--accent-primary);color:var(--bg-secondary);border-color:var(--accent-primary)}.btn-primary:hover:not(:disabled),.btn-create:hover:not(:disabled),.btn-add-part:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn-primary:active:not(:disabled),.btn-create:active:not(:disabled),.btn-add-part:active:not(:disabled){transform:translateY(0)}.btn-lock{background:var(--color-warning);color:var(--bg-secondary);border-color:var(--color-warning)}.btn-lock:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn-success{background:var(--color-success);color:var(--bg-secondary);border-color:var(--color-success)}.btn-success:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn-danger{background:var(--color-error);color:var(--bg-secondary);border-color:var(--color-error)}.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn-info{background:var(--color-info);color:var(--bg-secondary);border-color:var(--color-info)}.btn-info:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn-secondary{background:var(--bg-tertiary);border-color:var(--border-default)}.btn-secondary:hover:not(:disabled){background:var(--bg-dark);border-color:var(--border-default);transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.btn-secondary:active:not(:disabled){transform:translateY(0)}.header-controls .btn-success,.header-controls .btn-secondary{padding:8px 12px;font-size:13px}button:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-theme-toggle{background:var(--bg-secondary);border:1px solid var(--border-default);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:18px;transition:all .2s;display:flex;position:relative;overflow:hidden}.btn-theme-toggle:after{content:"";background:linear-gradient(90deg,#0000,#ffffff26,#0000);transition:left .4s;position:absolute;inset:0 0 0 -100%}.btn-theme-toggle:hover:after{left:100%}.btn-theme-toggle:hover{background:var(--bg-tertiary);transform:scale(1.05);box-shadow:0 2px 8px #0000001a}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-default);flex-direction:column;width:240px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow-y:auto;box-shadow:0 2px 8px #00000014}.sidebar.collapsed{width:70px;box-shadow:0 2px 12px #0000001f}.sidebar.collapsed .sidebar-content{opacity:0;pointer-events:none;position:absolute}.sidebar-collapsed-indicator{flex-direction:column;align-items:center;gap:8px;padding-top:70px;padding-bottom:20px;animation:.3s cubic-bezier(.4,0,.2,1) slideIn;display:flex}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.collapsed-icon{opacity:.8;font-size:24px;transition:all .2s}.sidebar.collapsed:hover .collapsed-icon{opacity:1;transform:scale(1.1)}.collapsed-badge{background:var(--accent-primary);color:#fff;text-align:center;border-radius:12px;min-width:24px;padding:4px 8px;font-size:11px;font-weight:700;transition:all .2s;box-shadow:0 2px 4px #0003}.sidebar.collapsed:hover .collapsed-badge{transform:scale(1.05);box-shadow:0 2px 6px #0000004d}.sidebar-toggle{background:var(--bg-tertiary);border:1px solid var(--border-default);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;z-index:10;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:13px;transition:all .2s;display:flex;position:absolute;top:12px;right:12px}.sidebar-toggle:hover{background:var(--accent-primary);color:var(--bg-secondary);transform:scale(1.05);box-shadow:0 2px 6px #00000026}.sidebar-toggle:active{transform:scale(.95)}.sidebar-content{flex:1;padding:50px 12px 12px;transition:opacity .3s cubic-bezier(.4,0,.2,1);animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebar-section{border-bottom:1px solid var(--border-light);padding:12px 0}.sidebar-section:last-child{border-bottom:none}.sidebar-heading{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:600;display:flex}.project-list{flex-direction:column;gap:8px;display:flex}.project-group{border-radius:6px;overflow:hidden}.project-header{background:var(--bg-dark);border:1px solid var(--border-default);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.project-header:hover{background:var(--bg-tertiary);border-color:var(--border-hover)}.project-toggle{color:var(--text-secondary);min-width:12px;font-size:.8rem;transition:transform .2s}.project-icon{font-size:1rem}.project-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.project-count{color:var(--text-secondary);background:var(--bg-tertiary);text-align:center;border-radius:10px;min-width:20px;padding:2px 6px;font-size:.75rem}.status-filter-tabs{background:var(--bg-tertiary);border-radius:8px;gap:6px;margin-bottom:12px;padding:4px;display:flex}.filter-tab{color:var(--text-secondary);cursor:pointer;text-align:center;background:0 0;border:1px solid #0000;border-radius:6px;flex:1;padding:8px 12px;font-size:12px;font-weight:500;transition:all .2s}.filter-tab:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-default)}.filter-tab.active{background:var(--accent-primary);color:var(--bg-secondary);border-color:var(--accent-primary);box-shadow:0 2px 6px #00000026}.bridge-list{margin:8px 0 0;padding:0 0 0 20px;list-style:none}.bridge-item{cursor:pointer;background:var(--bg-tertiary);border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:10px;transition:all .2s;display:flex;position:relative;overflow:hidden}.bridge-item:before{content:"";background:linear-gradient(90deg,#0000,#ffffff1a,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.bridge-item:hover:before{left:100%}.bridge-item:hover{background:var(--bg-dark);border-color:var(--border-default);transform:translate(2px);box-shadow:0 2px 6px #0000001a}.bridge-item.active{background:var(--accent-primary);color:var(--bg-secondary);border-color:var(--accent-primary);box-shadow:0 2px 8px #0003}.bridge-item.active:hover{transform:translate(2px);box-shadow:0 4px 12px #00000040}.bridge-info{flex-direction:column;flex:1;gap:2px;min-width:0;transition:all .2s;display:flex}.bridge-name{white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.3px;font-size:13px;font-weight:600;overflow:hidden}.bridge-id{opacity:.7;font-size:11px;font-family:var(--font-mono);transition:opacity .2s}.bridge-item:hover .bridge-id{opacity:.9}.bridge-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.bridge-badge{background:var(--bg-primary);min-width:24px;height:20px;color:var(--text-secondary);font-size:11px;font-weight:700;font-family:var(--font-mono);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0 6px;transition:all .2s;display:inline-flex}.bridge-item:hover .bridge-badge{transform:scale(1.08)}.bridge-item.active .bridge-badge{color:var(--bg-secondary);background:#ffffff40;box-shadow:0 1px 3px #0003}.bridge-action-btn{border:1px solid var(--border-default);background:var(--bg-secondary);cursor:pointer;opacity:0;border-radius:4px;justify-content:center;align-items:center;width:26px;height:26px;padding:0;font-size:12px;transition:all .2s;display:inline-flex;transform:scale(.8)}.bridge-item:hover .bridge-action-btn{opacity:1;transform:scale(1)}.bridge-action-btn:hover{transform:scale(1.1);box-shadow:0 2px 6px #00000026}.bridge-action-btn:active{transform:scale(.95)}.bridge-action-btn:disabled{opacity:.3;cursor:not-allowed}.bridge-action-btn.btn-complete:hover{background:var(--accent-success);border-color:var(--accent-success)}.bridge-action-btn.btn-delete:hover{background:var(--accent-danger);border-color:var(--accent-danger)}.sidebar-tools{flex-direction:column;gap:8px;display:flex}.tool-button{background:var(--bg-tertiary);border:1px solid var(--border-default);color:var(--text-primary);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:10px 12px;font-size:13px;transition:all .2s;display:flex;position:relative;overflow:hidden}.tool-button:after{content:"";background:linear-gradient(90deg,#0000,#ffffff1a,#0000);transition:left .4s;position:absolute;inset:0 0 0 -100%}.tool-button:hover:not(:disabled):after{left:100%}.tool-button:hover:not(:disabled){background:var(--accent-primary);color:var(--bg-secondary);transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.tool-button:active:not(:disabled){transform:translateY(0)}.tool-button:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-primary)}.sidebar-checkbox{cursor:pointer;background:var(--bg-tertiary);border:1px solid #0000;border-radius:6px;align-items:center;gap:10px;padding:10px 12px;transition:all .2s;display:flex;position:relative}.sidebar-checkbox:hover{background:var(--bg-dark);border-color:var(--border-default);transform:translateY(-1px);box-shadow:0 2px 6px #00000014}.sidebar-checkbox input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--accent-primary);transition:all .2s}.sidebar-checkbox input[type=checkbox]:hover{transform:scale(1.1)}.checkbox-label{color:var(--text-primary);-webkit-user-select:none;user-select:none;font-size:13px;font-weight:500}.sidebar-tooltip{background:var(--bg-dark);border:1px solid var(--border-default);pointer-events:none;border-radius:8px;max-width:160px;padding:10px 14px;animation:.2s cubic-bezier(.4,0,.2,1) tooltipSlide;box-shadow:0 4px 16px #0003}@keyframes tooltipSlide{0%{opacity:0;transform:translate(-50%)translateY(-10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.sidebar-tooltip:after{content:"";border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid var(--bg-dark);width:0;height:0;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.tooltip-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:13px;font-weight:600;overflow:hidden}.tooltip-id{color:var(--text-secondary);font-size:11px;font-family:var(--font-mono);opacity:.8;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-loading,.sidebar-empty{text-align:center;color:var(--text-secondary);padding:20px 12px}.sidebar-empty p{margin:4px 0;font-size:12px}.main-layout{flex:1;min-height:calc(100vh - 60px);display:flex;overflow:hidden}.content{background:var(--gradient-concrete);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden auto}.positions-container{flex-direction:column;flex:1;gap:12px;min-height:0;padding:12px;display:flex;position:relative;overflow:hidden auto}.empty-positions-container{background:var(--bg-tertiary);border:1px solid var(--border-default);text-align:center;border-radius:4px;margin-bottom:16px;padding:16px 20px}.empty-positions-message{color:var(--text-secondary);font-size:var(--font-size-base);margin:0}.part-card{background:var(--bg-secondary);border:1px solid var(--border-default);z-index:1;border-radius:4px;flex-direction:column;flex:0 auto;min-height:auto;display:flex;position:relative;overflow:visible}.part-header{background:var(--bg-dark);color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.part-header:hover{background:var(--accent-primary);color:var(--bg-secondary)}.btn-delete-part{color:#fff;cursor:pointer;background:#dc3545;border:none;border-radius:4px;align-items:center;gap:4px;padding:6px 10px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.btn-delete-part:hover{background:#c82333;transform:scale(1.05);box-shadow:0 2px 8px #dc354566}.btn-delete-part:active{transform:scale(.98)}.btn-delete-part:disabled{cursor:not-allowed;opacity:.5;background:#ccc}.part-header-container{border-bottom:2px solid var(--border-default);background:linear-gradient(135deg,#e8e8e8 0%,#f5f5f5 100%);padding:16px}.part-name-input-wrapper{margin-bottom:12px}.part-name-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:6px;font-size:11px;font-weight:600;display:block}.part-name-input{background:var(--input-required);width:100%;color:var(--text-primary);font-size:14px;font-weight:600;font-family:var(--font-base);transition:all var(--transition-base);border:2px solid #ff9800;border-radius:4px;padding:10px 14px}.part-name-input:focus{background:var(--input-bg);border-color:#ff7043;outline:none;box-shadow:0 0 0 3px #ff704333}.part-name-input:disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed;border-color:var(--border-default)}.part-name-input::placeholder{color:var(--text-tertiary);font-size:13px;font-weight:400}.concrete-params{background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:4px;gap:20px;padding:10px 14px;display:flex}.concrete-param{align-items:center;gap:8px;display:flex}.concrete-param label{color:var(--text-secondary);font-size:12px;font-weight:500}.concrete-value{font-size:14px;font-weight:700;font-family:var(--font-mono);color:var(--text-primary)}.table-wrapper{border:1px solid var(--border-light);-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;border-radius:6px;flex:1;width:100%;min-height:0;overflow:auto}.table-wrapper::-webkit-scrollbar{width:8px;height:8px}.table-wrapper::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:4px}.table-wrapper::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:4px}.table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.positions-table{border-collapse:collapse;background:var(--bg-secondary);table-layout:fixed;border:none;width:100%;margin:0;font-size:12px;line-height:1.5;display:table}.positions-table thead{z-index:150;background:var(--bg-secondary);min-height:36px;display:table-header-group;position:sticky;top:0}.positions-table thead tr{height:auto;min-height:36px;display:table-row}.positions-table th{background:var(--bg-secondary);color:var(--text-primary);text-align:left;border-bottom:2px solid var(--border-default);border-right:1px solid var(--border-light);border-top:1px solid var(--border-default);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;vertical-align:middle;box-sizing:border-box;height:auto;min-height:36px;padding:8px 6px;font-size:11px;font-weight:600;display:table-cell;box-shadow:0 2px 4px #0000001a}.positions-table th:last-child{border-right:none}.positions-table tbody{display:table-row-group}.positions-table tbody tr{background:var(--bg-secondary);border-top:2px solid var(--bg-primary);height:auto;min-height:36px;display:table-row}.positions-table td{border-bottom:1px solid var(--border-light);vertical-align:middle;background:inherit;box-sizing:border-box;height:auto;min-height:36px;padding:8px 6px;display:table-cell}.positions-table tbody tr:hover td{background:var(--bg-tertiary)}.positions-table tbody tr:last-child td{border-bottom:1px solid var(--border-light)}.lock-col,.lock-indicator{text-align:center;width:40px;min-width:40px}.col-podtyp{width:140px;min-width:140px}.col-mj{width:50px;min-width:50px}.col-mnozstvi{width:55px;min-width:55px}.col-lidi{width:50px;min-width:50px}.col-cena-hod{width:60px;min-width:60px}.col-hod-den{width:50px;min-width:50px}.col-den{width:45px;min-width:45px}.col-hod-celkem{width:55px;min-width:55px}.col-kc-celkem{width:70px;min-width:70px}.col-kc-m3{width:85px;min-width:85px}.col-kros-jc{width:70px;min-width:70px}.col-kros-celkem{width:85px;min-width:85px}.col-rfi{text-align:center;width:50px;min-width:50px}.col-akce{text-align:center;width:90px;min-width:90px}.lock-indicator{text-align:center;opacity:.5;width:40px;font-size:16px;padding:8px!important}.table-row{transition:background var(--transition-fast)}.table-row.locked{opacity:.7}.table-row.has-rfi td{border-left:3px solid var(--color-warning);background:#b8945a1a}.table-row.editing td{border-left:3px solid #6496c84d;background-color:#6496c80d!important}.table-row.saving td{opacity:.8;border-left:3px solid #4a9eff;animation:1s infinite pulse-save;background-color:#6496c81a!important}@keyframes pulse-save{0%{opacity:.8}50%{opacity:.95}to{opacity:.8}}.positions-table input,.positions-table select{background:var(--input-bg);border:1px solid var(--input-border);width:100%;max-width:100%;color:var(--text-primary);font-size:12px;font-family:var(--font-mono);box-sizing:border-box;border-radius:2px;height:24px;min-height:24px;padding:4px 6px}.positions-table input:focus,.positions-table select:focus{border-color:var(--input-focus);outline:none}.positions-table input:disabled,.positions-table select:disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed}.cell-input input{background:var(--input-bg);border-color:var(--input-border)}.cell-computed,.computed-cell{width:100%;max-width:100%;font-family:var(--font-mono);color:var(--text-secondary);text-align:right;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;background:#6482a00f;border:none;border-radius:0;padding:2px 4px;font-size:12px;font-weight:500;overflow:hidden}.cell-kros,.kros-cell{width:100%;max-width:100%;font-family:var(--font-mono);color:var(--color-success);text-align:right;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;background:#5a8a5a14;border:none;border-radius:0;padding:2px 4px;font-size:12px;font-weight:600;overflow:hidden}.subtype-cell{align-items:center;gap:6px;min-width:70px;font-weight:500;display:flex}.icon{flex-shrink:0;font-size:16px}.cell-unit{min-width:35px}.rfi-badge{background:var(--color-warning);color:var(--bg-secondary);border-radius:3px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:600;display:inline-flex}.action-buttons{justify-content:center;gap:8px;display:flex}.icon-button,.icon-btn{background:var(--bg-tertiary);border:1px solid var(--border-default);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;padding:0;font-size:14px;transition:all .2s;display:inline-flex;position:relative;overflow:hidden}.icon-button:after,.icon-btn:after{content:"";background:linear-gradient(90deg,#0000,#ffffff26,#0000);transition:left .4s;position:absolute;inset:0 0 0 -100%}.icon-button:hover:not(:disabled):after,.icon-btn:hover:not(:disabled):after{left:100%}.icon-button:hover:not(:disabled),.icon-btn:hover:not(:disabled){background:var(--accent-primary);color:var(--bg-secondary);transform:scale(1.08);box-shadow:0 2px 8px #00000026}.icon-button:active:not(:disabled),.icon-btn:active:not(:disabled){transform:scale(.96)}.btn-delete:hover:not(:disabled){background:var(--color-error)}.kpi-float-card{background:var(--bg-secondary);border:1px solid var(--border-default);box-shadow:var(--shadow-md);z-index:200;border-radius:4px;flex-shrink:0;margin:8px 12px;padding:8px 10px;position:sticky;top:0}.kpi-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding-bottom:6px;display:flex}.kpi-title-section{flex:1;min-width:0}.btn-lock-kpi{border:1px solid var(--color-warning);background:var(--color-warning);color:var(--bg-secondary);cursor:pointer;white-space:nowrap;border-radius:6px;flex-shrink:0;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.btn-lock-kpi:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn-lock-kpi:active:not(:disabled){transform:translateY(0)}.btn-lock-kpi:disabled{opacity:.5;cursor:not-allowed;transform:none}.kpi-header-controls{flex-shrink:0;align-items:center;gap:12px;display:flex}.btn-lock-kpi.unlocked{background:var(--color-warning);border-color:var(--color-warning);color:var(--bg-secondary)}.btn-lock-kpi.unlocked:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-lock-kpi.locked{background:var(--color-success);border-color:var(--color-success);color:#fff;cursor:default;pointer-events:none}.btn-lock-kpi.locked:hover{transform:none;box-shadow:0 2px 8px #4caf504d}.kpi-bridge-title{color:var(--text-primary);margin:0;font-size:16px;font-weight:600}.kpi-metadata{font-size:var(--font-size-meta);color:var(--text-secondary);font-family:var(--font-mono)}.kpi-grid-modern{grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:6px;display:grid}.kpi-card{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:6px;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:4px;min-height:auto;padding:8px 6px;transition:all .2s;display:flex;position:relative;overflow:hidden}.kpi-card:before{content:"";background:linear-gradient(90deg,#0000,#ffffff14,#0000);transition:left .5s;position:absolute;inset:0 0 0 -100%}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.kpi-card:hover:before{left:100%}.kpi-card>*{z-index:1;position:relative}.kpi-card-primary{background:var(--accent-primary);color:var(--bg-secondary);border-color:var(--accent-primary);box-shadow:0 2px 8px #00000026}.kpi-card-success{background:var(--color-success);color:var(--bg-secondary);border-color:var(--color-success);box-shadow:0 2px 8px #00000026}.kpi-card-accent{background:var(--color-warning);color:var(--bg-secondary);border-color:var(--color-warning);box-shadow:0 2px 8px #00000026}.kpi-card-icon{flex-shrink:0;font-size:20px}.kpi-card-content{flex-direction:column;gap:6px;width:100%;display:flex}.kpi-card-label{font-size:var(--font-size-sm);letter-spacing:.2px;opacity:.9;align-items:center;gap:3px;margin:0;font-weight:600;display:flex}.kpi-card-value{font-size:var(--font-size-base);font-weight:700;font-family:var(--font-mono);margin:0;line-height:1.2}.kpi-card-unit{font-size:var(--font-size-xs);opacity:.8;margin-left:1px;font-weight:500}.kpi-formula{background:var(--bg-tertiary);border:1px solid var(--border-light);color:var(--text-secondary);font-size:10px;font-family:var(--font-mono);border-radius:4px;margin-top:6px;padding:6px 8px;line-height:1.3}.formula-label{color:var(--color-success);font-weight:700}.empty-state,.empty-state-kpi{text-align:center;color:var(--text-secondary);padding:60px 30px}.empty-state-icon,.kpi-empty-icon{opacity:.3;margin-bottom:16px;font-size:60px}.snapshot-badge-container{margin:20px 20px 0}.snapshot-badge{border:1px solid var(--color-warning);box-shadow:var(--shadow-sm);background:#b8945a1a;border-radius:4px;align-items:center;gap:12px;padding:12px 16px;display:flex}.snapshot-icon{font-size:28px}.snapshot-info{flex:1}.snapshot-title{color:var(--text-primary);margin-bottom:2px;font-size:14px;font-weight:600}.snapshot-date{font-size:11px;font-family:var(--font-mono);color:var(--text-secondary)}.snapshot-unlock-btn{background:var(--bg-secondary);border:1px solid var(--border-default);color:var(--text-primary);cursor:pointer;border-radius:4px;padding:8px 14px;font-size:13px;font-weight:600}.snapshot-unlock-btn:hover{background:var(--color-success);color:var(--bg-secondary);border-color:var(--color-success)}.modal-overlay{z-index:10000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-secondary);box-shadow:var(--shadow-lg);z-index:10001;border-radius:4px;max-width:90vw;max-height:90vh;position:relative;overflow:auto}.history-modal{width:700px}.modal-header{border-bottom:1px solid var(--border-default);background:var(--bg-tertiary);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title{color:var(--text-primary);margin:0;font-size:18px;font-weight:600}.modal-close{border:1px solid var(--border-default);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:18px;display:flex}.modal-close:hover{background:var(--color-error);color:var(--bg-secondary);border-color:var(--color-error)}.modal-body{max-height:calc(90vh - 130px);padding:20px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-default);background:var(--bg-tertiary);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-footer-text{color:var(--text-secondary);font-size:13px;font-family:var(--font-mono);margin:0}.delete-confirm-modal{width:500px}.delete-header{background:var(--accent-danger);color:var(--bg-secondary);border-bottom-color:#0003}.delete-header h2{color:var(--bg-secondary);margin:0;font-size:18px;font-weight:600}.delete-header .btn-close{color:var(--bg-secondary);background:#ffffff1a;border-color:#fff3}.delete-header .btn-close:hover{background:#fff3;border-color:#ffffff4d}.delete-warning{margin-bottom:20px}.delete-main-text{color:var(--text-primary);margin:0 0 8px;font-size:15px}.delete-sub-text{color:var(--text-secondary);margin:0;font-size:13px;font-style:italic}.delete-impacts{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:6px;margin-bottom:20px;padding:16px}.delete-impacts-title{color:var(--text-primary);margin:0 0 12px;font-size:13px;font-weight:600}.delete-impacts-list{margin:0;padding:0;list-style:none}.delete-impacts-list li{color:var(--text-secondary);border-bottom:1px solid var(--border-default);padding:6px 0;font-size:13px}.delete-impacts-list li:last-child{border-bottom:none}.delete-final-warning{color:var(--text-primary);text-align:center;background:#ffc1071a;border:1px solid #ffc1074d;border-radius:6px;padding:12px 16px;font-size:13px}.delete-footer{justify-content:flex-end;gap:12px;display:flex}.history-loading,.history-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 30px;display:flex}.history-empty-icon{opacity:.3;margin-bottom:16px;font-size:60px}.history-timeline{padding:12px 0}.timeline-item{gap:16px;margin-bottom:24px;display:flex}.timeline-item:last-child{margin-bottom:0}.timeline-marker{background:var(--bg-tertiary);border:2px solid var(--border-default);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.timeline-content{flex:1}.snapshot-item{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:4px;padding:16px}.snapshot-item:hover{border-color:var(--accent-primary)}.snapshot-item-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;display:flex}.snapshot-item-title{align-items:center;gap:8px;display:flex}.snapshot-item-title strong{font-size:14px;font-weight:600}.snapshot-locked-badge{background:var(--color-warning);color:var(--bg-secondary);text-transform:uppercase;letter-spacing:.5px;border-radius:3px;padding:2px 8px;font-size:11px;font-weight:700}.snapshot-item-date{font-size:12px;font-family:var(--font-mono);color:var(--text-secondary)}.snapshot-item-info{flex-wrap:wrap;gap:16px;margin-bottom:12px;display:flex}.snapshot-stat{flex-direction:column;gap:2px;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);font-size:10px;font-weight:600}.stat-value{font-size:13px;font-weight:700;font-family:var(--font-mono);color:var(--text-primary)}.snapshot-description{background:var(--bg-secondary);border:1px solid var(--border-light);color:var(--text-secondary);border-radius:3px;margin-bottom:12px;padding:10px;font-size:12px}.snapshot-actions{flex-wrap:wrap;gap:8px;display:flex}.snapshot-action-btn{cursor:pointer;border:1px solid var(--border-default);background:var(--bg-secondary);color:var(--text-primary);border-radius:3px;align-items:center;gap:4px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.snapshot-action-btn:hover{background:var(--accent-primary);color:var(--bg-secondary);border-color:var(--accent-primary)}.btn-restore:hover{background:var(--color-info);border-color:var(--color-info)}.btn-danger:hover{background:var(--color-error);border-color:var(--color-error)}.btn-info:hover{background:var(--color-info);border-color:var(--color-info)}.bridge-selector,select{background:var(--bg-secondary);border:1px solid var(--border-default);color:var(--text-primary);border-radius:4px;min-width:180px;padding:8px 12px;font-size:13px}select:focus{border-color:var(--input-focus);outline:none}.duration-toggle{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:4px;align-items:center;gap:6px;padding:4px;display:flex}.toggle-icon{font-size:var(--font-size-md);justify-content:center;align-items:center;display:inline-flex}.duration-toggle button{color:var(--text-primary);background:0 0;border-radius:3px;padding:6px 12px;font-size:12px}.duration-toggle button.active{background:var(--accent-primary);color:var(--bg-secondary)}.tooltip{cursor:help;position:relative}.tooltip:hover:after{content:attr(data-tooltip);background:var(--accent-primary);color:var(--bg-secondary);white-space:nowrap;z-index:1000;border-radius:3px;margin-bottom:4px;padding:6px 10px;font-size:11px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.badge{background:var(--bg-tertiary);color:var(--text-secondary);border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.input-cell.readonly-style{background:var(--bg-tertiary);color:var(--text-secondary);cursor:not-allowed;font-weight:500}.input-cell.readonly-style input{background:var(--bg-tertiary);border-color:var(--border-light);color:var(--text-secondary);cursor:not-allowed}.input-cell.readonly-style input:disabled{opacity:1;color:var(--text-secondary)}.concrete-input{border:2px solid var(--input-border);background:var(--input-bg);color:var(--text-primary);font-size:14px;font-weight:600;font-family:var(--font-mono);text-align:right;border-radius:4px;width:100px;padding:6px 8px}.concrete-input:focus{border-color:var(--input-focus);outline:none;box-shadow:0 0 0 2px #ff704333}.concrete-input:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-tertiary);border-color:var(--border-light)}.otskp-autocomplete-container{width:100%;max-width:300px;position:relative}.otskp-input-wrapper{width:100%;position:relative}.otskp-search-input{border:2px solid var(--input-border);background:var(--input-bg);width:100%;color:var(--text-primary);font-size:13px;font-weight:500;font-family:var(--font-mono);border-radius:4px;padding:6px 28px 6px 8px;transition:all .2s}.otskp-search-input:focus{border-color:var(--input-focus);outline:none;box-shadow:0 0 0 2px #ff704333}.otskp-search-input:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-tertiary);border-color:var(--border-light)}.otskp-loading{pointer-events:none;font-size:14px;animation:1.5s ease-in-out infinite pulse;position:absolute;top:50%;right:8px;transform:translateY(-50%)}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.otskp-dropdown{background:var(--bg-secondary);border:1px solid var(--border-default);z-index:1001;border-radius:4px;max-height:400px;animation:.2s ease-out slideDown;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 16px #0003}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.otskp-dropdown::-webkit-scrollbar{width:8px}.otskp-dropdown::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:4px}.otskp-dropdown::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:4px}.otskp-dropdown::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.otskp-dropdown-item{border-bottom:1px solid var(--border-light);cursor:pointer;padding:10px 12px;transition:all .15s}.otskp-dropdown-item:last-child{border-bottom:none}.otskp-dropdown-item:hover,.otskp-dropdown-item.selected{background:var(--bg-tertiary);border-left:3px solid var(--accent-primary);padding-left:9px}.otskp-item-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.otskp-item-code{font-family:var(--font-mono);color:var(--accent-primary);flex-shrink:0;font-size:13px;font-weight:700}.otskp-item-price{font-family:var(--font-mono);color:var(--color-success);white-space:nowrap;font-size:12px;font-weight:600}.otskp-item-name{color:var(--text-primary);margin-bottom:2px;font-size:12px;line-height:1.4}.otskp-item-spec{color:var(--text-secondary);border-top:1px solid var(--border-light);margin-top:4px;padding-top:4px;font-size:11px;font-style:italic;line-height:1.3}.otskp-no-results{text-align:center;color:var(--text-secondary);padding:16px 12px;font-size:12px;font-style:italic}.modal-content-large{width:600px;max-width:90vw}.create-monolith-form{padding:24px}.create-monolith-form h2{color:var(--text-primary);text-align:center;margin:0 0 24px;font-size:20px;font-weight:700}.create-monolith-form .form-row{margin-bottom:20px}.create-monolith-form label{color:var(--text-primary);margin-bottom:8px;font-size:14px;font-weight:600;display:block}.create-monolith-form label small{color:var(--text-secondary);margin-top:4px;font-size:12px;font-weight:400;display:block}.create-monolith-form input[type=text],.create-monolith-form input[type=number]{border:1px solid var(--border-light);background:var(--bg-primary);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:4px;padding:10px 12px;font-size:14px;transition:all .2s}.create-monolith-form input[type=text]:focus,.create-monolith-form input[type=number]:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(var(--accent-primary-rgb), .1);outline:none}.create-monolith-form input[type=text]:disabled,.create-monolith-form input[type=number]:disabled{background:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed}.create-monolith-form .error-message{color:#c33;background:#fee;border:1px solid #fcc;border-radius:4px;align-items:center;gap:8px;margin-bottom:16px;padding:12px 16px;font-size:13px;display:flex}.create-monolith-form .form-buttons{gap:12px;margin-top:28px;display:flex}.create-monolith-form .btn-primary,.create-monolith-form .btn-secondary{cursor:pointer;border:none;border-radius:4px;flex:1;padding:12px 16px;font-size:14px;font-weight:600;transition:all .2s}.create-monolith-form .btn-primary{background:var(--accent-primary);color:#fff}.create-monolith-form .btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.create-monolith-form .btn-primary:disabled{opacity:.6;cursor:not-allowed}.create-monolith-form .btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-light)}.create-monolith-form .btn-secondary:hover:not(:disabled){background:var(--border-light)}.create-monolith-form .btn-secondary:disabled{opacity:.5;cursor:not-allowed}.create-monolith-form>div{animation:.2s slideIn}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}:root,:root[data-theme=light]{--bg-primary:#f5f5f5;--bg-secondary:#e8e8e8;--bg-tertiary:#fafafa;--bg-dark:#d0d0d0;--gradient-concrete:linear-gradient(170deg, #f5f5f5 80%, #e8e8e8 100%);--text-primary:#2c2c2c;--text-secondary:#5a5a5a;--text-tertiary:#8b8b8b;--text-muted:#a0a0a0;--accent-primary:#606060;--accent-hover:#4a4a4a;--accent-active:#353535;--color-success:#6b8e6b;--color-error:#b86b6b;--color-warning:#c9a66b;--color-info:#6b86a8;--border-default:#d0d0d0;--border-light:#e0e0e0;--border-dark:#b0b0b0;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 2px 4px #00000014;--shadow-lg:0 4px 8px #0000001a;--input-bg:#fff;--input-border:#d0d0d0;--input-focus:#606060;--input-required:#ffa726;--transition-fast:.1s ease;--transition-base:.15s ease;--font-base:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"Roboto Mono", "Courier New", monospace;--font-size-xs:9px;--font-size-sm:10px;--font-size-meta:11px;--font-size-label:12px;--font-size-body:13px;--font-size-base:14px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:32px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.3;--line-height-relaxed:1.5}:root[data-theme=dark]{--bg-primary:#2c2c2c;--bg-secondary:#3a3a3a;--bg-tertiary:#454545;--bg-dark:#1f1f1f;--text-primary:#e8e8e8;--text-secondary:#b0b0b0;--text-tertiary:#8b8b8b;--text-muted:#707070;--accent-primary:#a0a0a0;--accent-hover:#b8b8b8;--accent-active:#c8c8c8;--border-default:#555;--border-light:#656565;--border-dark:#454545;--input-bg:#3a3a3a;--input-border:#555;--input-focus:#a0a0a0}body{font-family:var(--font-base);background:var(--bg-primary);color:var(--text-primary);margin:0;padding:0;font-size:14px;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600;line-height:1.3}h1{font-size:24px}h2{font-size:20px}h3{font-size:16px}h4{font-size:14px}p{color:var(--text-secondary);margin-bottom:12px}a{color:var(--accent-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-hover)}button{font-family:var(--font-base);cursor:pointer;transition:all var(--transition-fast);color:inherit;background:0 0;border:none;font-size:14px;font-weight:500}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font-family:var(--font-base);background:var(--input-bg);border:1px solid var(--input-border);color:var(--text-primary);transition:border-color var(--transition-fast);font-size:14px}input:focus,select:focus,textarea:focus{border-color:var(--input-focus);outline:none}input:disabled,select:disabled,textarea:disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-tertiary)}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.spinner{border:4px solid var(--border-light);border-top-color:var(--accent-primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}#root{flex-direction:column;min-height:100vh;display:flex}.app{flex-direction:column;width:100%;height:100%;display:flex}:root{--bg-textured:#b0b2b5;--bg-gradient-start:#c4c6c9;--bg-gradient-end:#a8aaad;--panel-clean:#eaebec;--panel-clean-end:#dcdee0;--panel-inset:#d0d2d4;--data-surface:#f5f6f7;--data-surface-alt:#ecedef;--text-primary:#1a1c1e;--text-secondary:#4a4d50;--text-muted:#7a7d80;--text-code:#5a5d61;--accent-orange:#ff9f1c;--accent-orange-glow:#ff9f1c80;--accent-orange-strong:#ff9f1cb3;--app-bg-concrete:var(--bg-textured);--brand-orange:var(--accent-orange);--panel-bg-concrete:var(--panel-clean);--bg-primary:var(--panel-clean);--bg-secondary:var(--data-surface);--border-color:var(--divider);--accent-green:#4caf50;--accent-green-glow:#4caf5066;--accent-red:#ef5350;--accent-red-glow:#ef535066;--accent-blue:#42a5f5;--accent-blue-glow:#42a5f566;--status-success:#4caf50;--status-warning:#ffc107;--status-error:#f44336;--status-info:#2196f3;--shadow-panel:10px 10px 25px #50535773, -4px -4px 12px #fff9;--shadow-button:8px 8px 18px #50535780, -3px -3px 10px #fff9;--shadow-inset:inset 4px 4px 10px #50535766, inset -2px -2px 6px #ffffff80;--shadow-hover:12px 12px 28px #5053578c, -5px -5px 14px #ffffffa6;--edge-light:#ffffff80;--edge-dark:#0000001a;--divider:#00000014;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Consolas", monospace;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-round:50%;--transition-fast:.15s ease-out;--transition-normal:.25s ease-out;--transition-slow:.4s ease-out}[data-theme=dark]{--bg-textured:#1a1c1e;--bg-gradient-start:#2a2d30;--bg-gradient-end:#1a1c1e;--panel-clean:#32363a;--panel-clean-end:#2a2d30;--panel-inset:#2a2d30;--data-surface:#3e4348;--data-surface-alt:#454a50;--text-primary:#f0f1f2;--text-secondary:#a0a4a8;--text-muted:#6a6e72;--text-code:#8a9099;--accent-orange-glow:#ff9f1c99;--accent-orange-strong:#ff9f1ccc;--accent-green:#66bb6a;--accent-green-glow:#66bb6a80;--accent-red:#ef5350;--accent-red-glow:#ef535080;--status-success:#66bb6a;--status-warning:#ffb74d;--status-error:#ef9a9a;--status-info:#64b5f6;--shadow-panel:0 1px 0 #ffffff0f, inset 0 1px 0 #ffffff08, 0 4px 20px #0006;--shadow-button:0 1px 0 #ffffff0f, inset 0 1px 0 #ffffff0d, 0 2px 8px #0000004d;--shadow-inset:inset 0 2px 4px #0006, inset 0 0 0 1px #0003;--shadow-hover:0 1px 0 #ffffff1a, inset 0 1px 0 #ffffff14, 0 4px 16px #0006;--edge-light:#ffffff14;--edge-dark:#0003;--divider:#ffffff0f}body{background-color:var(--bg-textured);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-size:14px;line-height:1.5}body:before{content:"";pointer-events:none;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E"), linear-gradient(165deg, var(--bg-gradient-start) 0%, var(--bg-textured) 50%, var(--bg-gradient-end) 100%);position:fixed;inset:0}[data-theme=dark] body:before{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E"), radial-gradient(ellipse at 30% 0%, var(--bg-gradient-start) 0%, var(--bg-textured) 70%)}[data-theme=dark] body:after{content:"";pointer-events:none;z-index:-1;background:radial-gradient(at 0 0,#0000 0%,#0003 100%);position:fixed;inset:0}.c-container{max-width:1200px;padding:0 var(--space-lg);margin:0 auto}.c-grid{gap:var(--space-lg);display:grid}.c-grid--2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.c-grid--3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.c-grid--4{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}@media (width<=768px){.c-grid--2,.c-grid--3,.c-grid--4{gap:var(--space-md);grid-template-columns:1fr}}:focus-visible{outline:2px solid var(--accent-orange);outline-offset:2px}@media (prefers-reduced-motion:reduce){:root{--transition-fast:0s;--transition-normal:0s;--transition-slow:0s}*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:high){:root{--text-primary:#000;--text-secondary:#333}[data-theme=dark]{--text-primary:#fff;--text-secondary:#ccc}}.c-btn{background:linear-gradient(145deg, var(--panel-clean) 0%, var(--panel-clean-end) 100%);border-radius:var(--radius-md);box-shadow:var(--shadow-button);color:var(--text-primary);cursor:pointer;font-family:var(--font-body);transition:all var(--transition-fast);justify-content:center;align-items:center;gap:var(--space-sm);border:none;border-top:1px solid var(--edge-light);min-height:44px;padding:10px 20px;font-size:14px;font-weight:500;display:inline-flex}.c-btn:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.c-btn:active{box-shadow:var(--shadow-inset);transform:translateY(1px)}.c-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.c-btn:focus-visible{box-shadow:var(--shadow-button), 0 0 0 2px var(--accent-orange);outline:none}.c-btn--primary{color:var(--accent-orange);text-shadow:0 0 15px var(--accent-orange-glow);font-weight:600}.c-btn--primary:hover{text-shadow:0 0 20px var(--accent-orange-glow), 0 0 35px var(--accent-orange-strong)}.c-btn--success{color:var(--status-success)}.c-btn--danger{color:var(--status-error)}.c-btn--sm{min-height:32px;padding:6px 12px;font-size:12px}.c-btn--lg{min-height:52px;padding:14px 28px;font-size:16px}.c-input{background:var(--data-surface);border:1px solid var(--edge-light);border-radius:var(--radius-md);box-shadow:var(--shadow-inset);color:var(--text-primary);font-family:var(--font-body);width:100%;min-height:44px;transition:all var(--transition-fast);padding:10px 16px;font-size:14px}.c-input::placeholder{color:var(--text-muted)}.c-input:focus{border-color:var(--accent-orange);box-shadow:var(--shadow-inset), 0 0 0 2px #ff9f1c26, 0 0 15px var(--accent-orange-glow);outline:none}.c-input:disabled{opacity:.6;cursor:not-allowed}.c-input--error{border-color:var(--status-error);box-shadow:var(--shadow-inset), 0 0 0 2px #f4433626}.c-input--number,.c-input--code{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:15px;font-weight:500}.c-select{appearance:none;background:linear-gradient(145deg, var(--panel-clean) 0%, var(--panel-clean-end) 100%);border:1px solid var(--edge-light);border-radius:var(--radius-md);box-shadow:var(--shadow-button);color:var(--text-primary);cursor:pointer;font-family:var(--font-body);min-height:44px;transition:all var(--transition-fast);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234A4D50' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding:10px 40px 10px 16px;font-size:14px;font-weight:500}.c-select:hover{border-color:var(--accent-orange)}.c-select:focus{border-color:var(--accent-orange);box-shadow:var(--shadow-button), 0 0 15px var(--accent-orange-glow);outline:none}.c-panel{background:linear-gradient(145deg, var(--panel-clean) 0%, var(--panel-clean-end) 100%);border-radius:var(--radius-xl);box-shadow:var(--shadow-panel);padding:var(--space-lg);border-top:1px solid var(--edge-light)}.c-panel--inset{background:var(--panel-inset);box-shadow:var(--shadow-inset);border:1px solid var(--edge-dark);border-top:none}.c-card{background:linear-gradient(145deg, var(--panel-clean) 0%, var(--panel-clean-end) 100%);border-radius:var(--radius-xl);box-shadow:var(--shadow-panel);padding:var(--space-lg);border-top:1px solid var(--edge-light);transition:all var(--transition-normal);cursor:pointer}.c-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px)}.c-card:active{transform:translateY(-1px)}.c-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:var(--space-md);align-items:center;gap:12px;font-size:11px;font-weight:700;display:flex}.c-section-title:after{content:"";background:linear-gradient(90deg, var(--divider), transparent);flex:1;height:1px}.c-tabs{background:var(--panel-inset);border-radius:var(--radius-md);box-shadow:var(--shadow-inset);border:1px solid var(--edge-dark);gap:4px;padding:6px;display:flex}.c-tab{border-radius:var(--radius-md);font-family:var(--font-body);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;flex:1;padding:10px 16px;font-size:13px;font-weight:500}.c-tab:hover{color:var(--text-secondary);background:#ffffff08}.c-tab.is-active{background:linear-gradient(145deg, var(--panel-clean) 0%, var(--panel-clean-end) 100%);color:var(--accent-orange);text-shadow:0 0 15px var(--accent-orange-glow);border-color:#ff9f1c33;border-top:1px solid var(--edge-light);box-shadow:0 0 15px #ff9f1c1a,inset 0 1px #ffffff0d}.c-badge{border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.3px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.c-badge--success{color:var(--status-success);background:#4caf501f;border:1px solid #4caf5040;box-shadow:0 0 8px #4caf5026}.c-badge--warning{color:var(--status-warning);background:#ffc1071f;border:1px solid #ffc10740;box-shadow:0 0 8px #ffc10726}.c-badge--error{color:var(--status-error);background:#f443361f;border:1px solid #f4433640;box-shadow:0 0 8px #f4433626}.c-badge--info{color:var(--status-info);background:#2196f31f;border:1px solid #2196f340;box-shadow:0 0 8px #2196f326}.c-badge--orange{color:var(--accent-orange);box-shadow:0 0 8px var(--accent-orange-glow);background:#ff9f1c1f;border:1px solid #ff9f1c40}.c-progress{margin-bottom:var(--space-md)}.c-progress:last-child{margin-bottom:0}.c-progress__header{justify-content:space-between;margin-bottom:6px;font-size:13px;display:flex}.c-progress__label{color:var(--text-secondary)}.c-progress__value{font-family:var(--font-mono);color:var(--accent-orange);text-shadow:0 0 10px var(--accent-orange-glow);font-weight:600}.c-progress__bar{background:var(--panel-inset);border-radius:var(--radius-sm);height:8px;box-shadow:var(--shadow-inset);overflow:hidden}.c-progress__fill{background:linear-gradient(90deg, #e88a00, var(--accent-orange));border-radius:var(--radius-sm);height:100%;box-shadow:0 0 10px var(--accent-orange-glow), 0 0 20px #ff9f1c4d;transition:width .5s}.c-table-wrapper{background:var(--data-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-inset);border:1px solid var(--edge-light);overflow:hidden}.c-table{border-collapse:collapse;width:100%}.c-table th{background:var(--data-surface-alt);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;text-align:left;border-bottom:1px solid var(--divider);padding:14px 16px;font-size:11px;font-weight:700}.c-table td{border-bottom:1px solid var(--divider);color:var(--text-primary);padding:14px 16px;font-size:14px}.c-table tbody tr:nth-child(2n){background:#ffffff05}.c-table tbody tr:last-child td{border-bottom:none}.c-table tbody tr:hover{background:#ff9f1c0a}.c-table__code{font-family:var(--font-mono);color:var(--text-code);letter-spacing:.3px;font-size:13px}.c-table__number{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600}.c-table__highlight{font-family:var(--font-mono);color:var(--accent-orange);text-shadow:0 0 10px var(--accent-orange-glow), 0 0 20px #ff9f1c4d;font-size:16px;font-weight:700}.c-header{background:linear-gradient(145deg, var(--panel-clean) 0%, var(--panel-clean-end) 100%);box-shadow:var(--shadow-panel);padding:var(--space-lg) 0;border-top:1px solid var(--edge-light)}.c-header__title{color:var(--text-primary);margin:0;font-size:36px;font-weight:700;line-height:1.2}.c-header__subtitle{color:var(--text-secondary);margin:6px 0 0;font-size:16px;line-height:1.4}.c-theme-toggle{background:linear-gradient(145deg, var(--panel-clean) 0%, var(--panel-clean-end) 100%);border:1px solid var(--edge-light);border-radius:var(--radius-md);box-shadow:var(--shadow-button);color:var(--text-secondary);cursor:pointer;z-index:1000;transition:all var(--transition-fast);padding:10px 16px;font-size:12px;position:fixed;bottom:20px;right:20px}.c-theme-toggle:hover{box-shadow:var(--shadow-hover);color:var(--accent-orange);transform:translateY(-2px)}.u-text-orange{color:var(--accent-orange)}.u-text-secondary{color:var(--text-secondary)}.u-text-muted{color:var(--text-muted)}.u-text-bold{font-weight:700}.u-text-mono{font-family:var(--font-mono)}.u-text-glow{text-shadow:0 0 15px var(--accent-orange-glow)}.u-flex{display:flex}.u-flex-center{justify-content:center;align-items:center;display:flex}.u-flex-between{justify-content:space-between;align-items:center;display:flex}.u-gap-sm{gap:var(--space-sm)}.u-gap-md{gap:var(--space-md)}.u-gap-lg{gap:var(--space-lg)}.u-mt-sm{margin-top:var(--space-sm)}.u-mt-md{margin-top:var(--space-md)}.u-mt-lg{margin-top:var(--space-lg)}.u-mt-xl{margin-top:var(--space-xl)}.u-mb-sm{margin-bottom:var(--space-sm)}.u-mb-md{margin-bottom:var(--space-md)}.u-mb-lg{margin-bottom:var(--space-lg)}.u-mb-xl{margin-bottom:var(--space-xl)}.u-p-sm{padding:var(--space-sm)}.u-p-md{padding:var(--space-md)}.u-p-lg{padding:var(--space-lg)}.u-p-xl{padding:var(--space-xl)}@media (width<=768px){.c-header{padding:var(--space-md) 0}.c-header__title{line-height:1.3;font-size:16px!important}.c-header__subtitle{font-size:11px!important}img[alt=StavAgent\ Logo]{width:40px!important;height:40px!important}.c-container{padding-left:var(--space-md);padding-right:var(--space-md)}.c-btn{padding:8px 12px;font-size:12px}.c-btn--sm{padding:6px 10px;font-size:11px}.c-card,.c-panel{padding:var(--space-md)}.c-panel{border-radius:var(--radius-md)}.c-table th,.c-table td{padding:10px 12px;font-size:12px}.c-table__code{font-size:11px}.c-theme-toggle{padding:8px 12px;font-size:11px;bottom:12px;right:12px}}@media (width<=480px){.c-header__title{font-size:14px!important}.c-header__subtitle{display:none}.c-btn{padding:6px 10px;font-size:11px}.c-btn svg{width:14px;height:14px}.c-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.c-tabs__btn{white-space:nowrap;padding:10px 14px!important;font-size:13px!important}}.portal-md{gap:24px;min-height:60vh;display:grid}@media (width>=769px){.portal-md{grid-template-columns:380px 1fr}.portal-md--list-only{grid-template-columns:1fr}.portal-md__back{display:none!important}}@media (width<=768px){.portal-md{grid-template-columns:1fr;gap:0;min-height:auto}.portal-md--detail-open .portal-md__list,.portal-md:not(.portal-md--detail-open) .portal-md__detail{display:none}.portal-md__list,.portal-md__detail{max-height:none!important}.portal-md__back{color:var(--brand-orange);border:none;border-bottom:1px solid var(--border-color,#e5e7eb);cursor:pointer;background:0 0;align-items:center;gap:6px;width:100%;padding:10px 16px;font-size:13px;font-weight:600;display:flex}}
