/* PCLab — Frontend PC Builder */
.pcb-topbar{background:var(--color-dark-bg);color:var(--color-text-inverse);padding:var(--space-4) 0;margin-bottom:var(--space-6)}
.pcb-topbar__inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.pcb-topbar__title{margin:0;font-size:20px;font-family:var(--font-display);color:#fff;display:flex;align-items:center;gap:8px}
.pcb-topbar__title i{color:var(--color-accent)}
.pcb-topbar__stats{display:flex;gap:24px}
.pcb-stat{text-align:center}
.pcb-stat__val{display:block;font-size:22px;font-weight:700;font-family:var(--font-display)}
.pcb-stat__label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:rgba(255,255,255,.5)}
.pcb-stat--score .pcb-stat__val{color:#27ae60}

.pcb-layout{display:grid;grid-template-columns:320px 1fr;gap:var(--space-6);min-height:70vh;padding-bottom:var(--space-10)}
.pcb-sidebar{position:sticky;top:calc(var(--header-height,60px) + 12px);align-self:start}
.pcb-scope{margin-bottom:var(--space-4)}
.pcb-scope__label{display:block;font-size:11px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.pcb-scope__desc{font-size:11px;color:var(--color-text-tertiary);font-style:italic;display:block;margin-top:4px}
.pcb-select{width:100%;padding:8px 12px;border:1px solid var(--color-border-strong);border-radius:8px;font-size:13px;background:var(--color-surface);color:var(--color-text-primary)}
.pcb-select--sm{width:auto;padding:6px 10px;font-size:12px}
.pcb-slots{display:flex;flex-direction:column;gap:8px}

.pcb-slot{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:var(--space-3) var(--space-4);transition:all .2s}
.pcb-slot:hover{border-color:var(--color-accent)}
.pcb-slot--active{border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(43,123,191,.12)}
.pcb-slot--filled{border-color:#27ae60;background:#f0fdf4}
.pcb-slot--dimmed{opacity:.4}
.pcb-slot--dimmed:hover{opacity:.7}
.pcb-slot--dimmed.pcb-slot--filled{opacity:1}
.pcb-slot__header{display:flex;align-items:center;gap:8px}
.pcb-slot__header i{color:var(--color-accent);font-size:16px}
.pcb-slot__name{font-size:13px;font-weight:600;color:var(--color-text-primary)}
.pcb-slot__status{margin-left:auto}
.pcb-slot__badge{display:inline-block;padding:1px 6px;border-radius:8px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-left:6px}
.pcb-slot__badge--req{background:rgba(239,68,68,.1);color:#ef4444}
.pcb-slot__badge--opt{background:rgba(148,163,184,.1);color:#94A3B8}
.pcb-slot__tier-hint{display:flex;align-items:center;gap:6px;margin-top:6px;padding:5px 8px;background:rgba(43,123,191,.05);border:1px solid rgba(43,123,191,.1);border-radius:6px;font-size:11px;color:var(--color-text-secondary)}
.pcb-slot__tier-badge{display:inline-block;padding:1px 6px;border-radius:6px;font-size:9px;font-weight:700;color:#fff;background:var(--tier-color,var(--color-accent));white-space:nowrap}
.pcb-slot__add{width:100%;padding:6px;margin-top:6px;background:var(--color-surface-secondary);border:1px dashed var(--color-border-strong);border-radius:6px;color:var(--color-text-secondary);font-size:12px;cursor:pointer;transition:all .2s}
.pcb-slot__add:hover{background:var(--color-accent);color:#fff;border-style:solid;border-color:var(--color-accent)}
.pcb-slot__selected{display:flex;align-items:center;gap:8px;margin-top:6px;padding:6px 8px;background:var(--color-surface-secondary);border-radius:6px}
.pcb-slot__thumb{width:36px;height:36px;object-fit:contain;border-radius:4px;background:var(--color-surface);flex-shrink:0}
.pcb-slot__info{flex:1;min-width:0}
.pcb-slot__comp-name{font-size:12px;font-weight:600;color:var(--color-text-primary);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pcb-slot__comp-specs{font-size:10px;color:var(--color-text-tertiary)}
.pcb-slot__remove{background:none;border:none;color:#e74c3c;cursor:pointer;font-size:14px;padding:2px 6px}
.pcb-show-more{width:100%;padding:8px;background:transparent;border:1px dashed var(--color-border);border-radius:6px;color:var(--color-text-tertiary);font-size:12px;cursor:pointer}
.pcb-show-more:hover{color:var(--color-accent);border-color:var(--color-accent)}

.pcb-warning{padding:6px 10px;border-radius:6px;font-size:12px;border:1px solid;margin-bottom:4px}
.pcb-warning--ok{background:#f0fdf4;border-color:#86efac;color:#166534}
.pcb-warning--warning{background:#fffbeb;border-color:#fde68a;color:#92400e}
.pcb-warning--error{background:#fef2f2;border-color:#fca5a5;color:#991b1b}

.pcb-browser{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px}
.pcb-browser__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--color-text-tertiary);gap:8px}
.pcb-browser__empty i{font-size:48px;color:var(--color-border-strong)}
.pcb-browser__empty h2{margin:0;font-size:18px;color:var(--color-text-secondary)}
.pcb-browser__header{display:flex;align-items:center;gap:12px;padding:var(--space-3) var(--space-5);background:var(--color-surface-secondary);border-bottom:1px solid var(--color-border);flex-wrap:wrap}
.pcb-browser__header h2{margin:0;font-size:16px;font-weight:700;color:var(--color-text-primary)}
.pcb-browser__controls{display:flex;gap:8px;margin-left:auto;align-items:center}
.pcb-search-input{padding:6px 12px;border:1px solid var(--color-border-strong);border-radius:6px;font-size:13px;width:200px}
.pcb-search-input:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px rgba(43,123,191,.1)}
.pcb-browser__body{display:grid;grid-template-columns:220px 1fr}
.pcb-filters{background:var(--color-surface-secondary);padding:var(--space-3);border-right:1px solid var(--color-border);position:sticky;top:calc(var(--header-height,60px) + 12px);align-self:start}
.pcb-filter-group{margin-bottom:var(--space-4)}
.pcb-filter-group__title{font-size:11px;font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.pcb-filter-item{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:12px;color:var(--color-text-primary);cursor:pointer}
.pcb-filter-item input{margin:0}
.pcb-filter-count{margin-left:auto;font-size:11px;color:var(--color-text-tertiary)}
.pcb-filter-item--disabled{opacity:.3;pointer-events:none}
.pcb-range-wrap{padding:4px 0}
.pcb-range-display{font-size:13px;font-weight:600;color:var(--color-text-primary);text-align:center;margin-bottom:4px}
.pcb-range-sliders{position:relative;height:24px}
.pcb-slider{position:absolute;width:100%;top:0;height:24px;-webkit-appearance:none;appearance:none;background:transparent;pointer-events:none;margin:0}
.pcb-slider::-webkit-slider-runnable-track{height:4px;background:var(--color-surface-tertiary);border-radius:2px}
.pcb-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--color-accent);border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.15);margin-top:-6px;pointer-events:all;cursor:pointer}
.pcb-slider::-moz-range-track{height:4px;background:var(--color-surface-tertiary);border-radius:2px;border:none}
.pcb-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--color-accent);border:2px solid #fff;pointer-events:all;cursor:pointer}
.pcb-slider--min{z-index:2}
.pcb-slider--max{z-index:1}
.pcb-range-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--color-text-tertiary);margin-top:2px}

.pcb-grid-wrap{padding:var(--space-3)}
.pcb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.pcb-loading,.pcb-empty{text-align:center;padding:60px 20px;color:var(--color-text-tertiary)}
.pcb-empty i{font-size:36px;display:block;margin-bottom:8px}
.pcb-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;overflow:hidden;transition:all .2s;display:flex;flex-direction:column}
.pcb-card:hover{border-color:var(--color-accent);box-shadow:0 4px 20px rgba(0,0,0,.08);transform:translateY(-2px)}
.pcb-card__img{height:130px;background:var(--color-surface-secondary);display:flex;align-items:center;justify-content:center;overflow:hidden}
.pcb-card__img img{max-height:100%;max-width:100%;object-fit:contain;padding:8px}
.pcb-card__img i{font-size:36px;color:var(--color-border-strong)}
.pcb-card__body{padding:10px 12px;flex:1}
.pcb-card__title{font-size:12px;font-weight:600;color:var(--color-text-primary);line-height:1.3;margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pcb-card__specs{font-size:11px;color:var(--color-text-secondary);line-height:1.5}
.pcb-card__specs span{display:block}
.pcb-card__specs strong{color:var(--color-text-primary)}
.pcb-card__add{display:block;width:100%;padding:8px;background:var(--color-surface-secondary);border:none;border-top:1px solid var(--color-border);color:var(--color-accent);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}
.pcb-card__add:hover{background:var(--color-accent);color:#fff}
.pcb-pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding:var(--space-4)}
.pcb-pagination span{font-size:12px;color:var(--color-text-tertiary)}
.pcb-pagination button{padding:6px 14px;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:6px;color:var(--color-text-primary);font-size:12px;cursor:pointer}
.pcb-pagination button:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}

@media(max-width:1024px){.pcb-layout{grid-template-columns:1fr}.pcb-sidebar{position:static;max-height:none}}
@media(max-width:768px){.pcb-browser__body{grid-template-columns:1fr}.pcb-filters{position:static;border-right:none;border-bottom:1px solid var(--color-border)}.pcb-topbar__stats{gap:12px}.pcb-stat__val{font-size:16px}.pcb-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}
/* ══════════════════════════════════════
   PC Builder v2.1 — APPEND to pc-builder-frontend.css
   ══════════════════════════════════════ */

/* Summary bar */
.pcb-topbar__summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1);flex-wrap:wrap}
.pcb-summary-parts{display:flex;gap:6px;flex-wrap:wrap;flex:1;min-width:0}
.pcb-summary-chip{display:inline-block;padding:3px 10px;background:rgba(255,255,255,.1);border-radius:99px;font-size:11px;color:rgba(255,255,255,.8);white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}
.pcb-topbar__actions{display:flex;gap:8px;flex-shrink:0}

/* Buttons */
.pcb-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;border:none;text-decoration:none}
.pcb-btn--ghost{background:rgba(255,255,255,.1);color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.2)}
.pcb-btn--ghost:hover{background:rgba(255,255,255,.2);color:#fff}
.pcb-btn--save{background:#27ae60;color:#fff;box-shadow:0 2px 8px rgba(39,174,96,.3)}
.pcb-btn--save:hover{background:#219a52;box-shadow:0 4px 16px rgba(39,174,96,.4)}

@keyframes pcbPulse{0%,100%{box-shadow:0 2px 8px rgba(39,174,96,.3)}50%{box-shadow:0 2px 20px rgba(39,174,96,.6)}}
.pcb-btn--pulse{animation:pcbPulse 2s ease-in-out infinite}

/* Modal */
.pcb-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}
.pcb-modal{background:var(--color-surface,#fff);border-radius:16px;width:100%;max-width:480px;box-shadow:0 20px 60px rgba(0,0,0,.2);overflow:hidden}
.pcb-modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--color-border,#e2e8f0)}
.pcb-modal__header h3{margin:0;font-size:18px;font-weight:700;color:var(--color-text-primary,#2C3E50)}
.pcb-modal__close{background:none;border:none;font-size:20px;color:var(--color-text-tertiary,#94A3B8);cursor:pointer;padding:4px 8px}
.pcb-modal__close:hover{color:var(--color-text-primary,#2C3E50)}
.pcb-modal__body{padding:20px 24px 24px}
.pcb-modal__body p{margin:0 0 16px;font-size:14px;color:var(--color-text-secondary,#64748b)}

.pcb-modal__options{display:flex;flex-direction:column;gap:10px}
.pcb-modal__opt{display:flex;align-items:center;gap:12px;padding:16px 20px;border:2px solid var(--color-border,#e2e8f0);border-radius:12px;background:var(--color-surface,#fff);cursor:pointer;text-align:left;transition:all .2s}
.pcb-modal__opt:hover:not([disabled]){border-color:var(--color-accent,#2B7BBF)}
.pcb-modal__opt[disabled]{opacity:.4;cursor:not-allowed}
.pcb-modal__opt--active{border-color:var(--color-accent,#2B7BBF);background:rgba(43,123,191,.04)}
.pcb-modal__opt i{font-size:24px;color:var(--color-accent,#2B7BBF)}
.pcb-modal__opt strong{display:block;font-size:15px;color:var(--color-text-primary,#2C3E50)}
.pcb-modal__opt small{font-size:12px;color:var(--color-text-tertiary,#94A3B8);display:block;margin-top:2px}

.pcb-modal__field{margin-bottom:14px}
.pcb-modal__field label{display:block;font-size:13px;font-weight:600;color:var(--color-text-primary,#2C3E50);margin-bottom:4px}
.pcb-modal__field small{font-weight:400;color:var(--color-text-tertiary,#94A3B8)}
.pcb-modal__field input,.pcb-modal__field textarea{width:100%;padding:10px 14px;border:1px solid var(--color-border-strong,#cbd5e1);border-radius:8px;font-size:14px;font-family:inherit;resize:vertical}
.pcb-modal__field input:focus,.pcb-modal__field textarea:focus{border-color:var(--color-accent,#2B7BBF);outline:none;box-shadow:0 0 0 3px rgba(43,123,191,.1)}

.pcb-modal__actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}

/* Mobile sticky save */
@media(max-width:768px){
    #pcb-btn-save{position:fixed;bottom:16px;right:16px;z-index:999;padding:12px 24px;font-size:15px;border-radius:99px;box-shadow:0 4px 20px rgba(39,174,96,.4)}
    .pcb-modal{max-width:100%;margin:0 12px;border-radius:12px}
}

/* Modal benefits */
.pcb-modal__benefits{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;padding:14px 16px;background:linear-gradient(135deg,rgba(43,123,191,.06),rgba(39,174,96,.06));border:1px solid rgba(43,123,191,.12);border-radius:10px}
.pcb-modal__benefit{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--color-text-primary,#2C3E50);line-height:1.4}
.pcb-modal__benefit i{font-size:16px;color:var(--color-accent,#2B7BBF);flex-shrink:0;width:20px;text-align:center}
.pcb-modal__benefit:nth-child(2) i{color:#27ae60}
.pcb-modal__benefit:nth-child(3) i{color:#f39c12}
.pcb-modal__benefit:nth-child(4) i{color:#8e44ad}
