*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--brand-blue:#4f55d7;--brand-indigo:#5b5ce2;--brand-violet:#8757e8;--brand-lavender:#b084f5;--bg-primary:#0a0e1a;--bg-secondary:#111827;--bg-card:#111827bf;--bg-card-solid:#131b2e;--bg-input:#1a2234;--bg-hover:#1e293b;--bg-glass:#ffffff08;--bg-topbar:#0a0e1ad9;--accent:var(--brand-indigo);--accent-secondary:var(--brand-violet);--accent-hover:#7474ef;--accent-glow:#5b5ce229;--accent-glow-strong:#5b5ce252;--green:#10b981;--green-hover:#34d399;--green-glow:#10b9811f;--green-glow-strong:#10b98140;--red:#f43f5e;--red-hover:#fb7185;--red-glow:#f43f5e1f;--yellow:#f59e0b;--yellow-glow:#f59e0b1f;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--text-accent:#a5b4fc;--border:#ffffff0f;--border-accent:#5b5ce247;--border-glass:#ffffff14;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 2px 8px #00000040;--shadow-md:0 8px 24px #00000059;--shadow-lg:0 16px 48px #00000073;--shadow-glow-accent:0 0 30px #5b5ce229;--shadow-glow-green:0 0 30px #10b98126;--gradient-hero:linear-gradient(135deg, var(--brand-blue) 0%, var(--brand-indigo) 45%, var(--brand-lavender) 100%);--gradient-savings:linear-gradient(135deg, #10b981, #34d399);--gradient-card:linear-gradient(135deg, #5b5ce214, #8757e80a);--bg-ambient-1:#5b5ce20f;--bg-ambient-2:#8757e80a;--bg-table-header:#5b5ce20f;--bg-row-alt:#ffffff03;--bg-row-total:#5b5ce20d;--bg-overlay:#000000bf;--bg-overlay-photo:#000000b3;--bg-best:linear-gradient(135deg, #10b9811a, #34d3990d);--border-best:#10b98133;--bg-best-card:linear-gradient(135deg, #10b98114, #34d3990a);--border-best-card:#10b98126;--bg-merchant-logo:#ffffff14;--bg-spinner-ring:#5b5ce21a;--bg-mobile-total:#5b5ce20d;--border-error:#f43f5e40;--transition:.2s ease;--transition-slow:.35s cubic-bezier(.4, 0, .2, 1);--font-display:"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}[data-theme=light]{--bg-primary:#f4f6fb;--bg-secondary:#eef2f8;--bg-card:#fffffff2;--bg-card-solid:#fff;--bg-input:#fff;--bg-hover:#eef2ff;--bg-glass:#5b5ce208;--bg-topbar:#f4f6fbe0;--accent:#5b5ce2;--accent-secondary:#8757e8;--accent-hover:#4b4cd2;--accent-glow:#5b5ce224;--accent-glow-strong:#5b5ce247;--green:#0e9f6e;--green-hover:#0b8a5f;--green-glow:#0e9f6e1c;--green-glow-strong:#0e9f6e38;--red:#cc0c39;--red-hover:#e31b54;--red-glow:#cc0c391f;--yellow:#e67e22;--yellow-glow:#f0c14b2e;--text-primary:#161827;--text-secondary:#5f6578;--text-muted:#8a91a3;--text-accent:#4f55d7;--border:#d8deea;--border-accent:#5b5ce257;--border-glass:#dde3ef;--shadow-sm:0 2px 8px #1f294414;--shadow-md:0 8px 20px #1f29441f;--shadow-lg:0 16px 36px #1f294426;--shadow-glow-accent:0 0 18px #5b5ce22e;--shadow-glow-green:0 0 14px #0e9f6e24;--gradient-hero:linear-gradient(135deg, #4f55d7 0%, #5b5ce2 48%, #a070f0 100%);--gradient-savings:linear-gradient(135deg, #0e9f6e, #26b888);--gradient-card:linear-gradient(135deg, #5b5ce20e, #a070f009);--bg-ambient-1:#5b5ce20b;--bg-ambient-2:#a070f00a;--bg-table-header:#f0f2ff;--bg-row-alt:#f8fafe;--bg-row-total:#f1f3ff;--bg-overlay:#0f1111a6;--bg-overlay-photo:#0f111199;--bg-best:linear-gradient(135deg, #5b5ce214, #a070f00b);--border-best:#5b5ce23d;--bg-best-card:linear-gradient(135deg, #5b5ce212, #a070f00a);--border-best-card:#5b5ce233;--bg-merchant-logo:#5b5ce20f;--bg-spinner-ring:#5b5ce221;--bg-mobile-total:#5b5ce20f;--border-error:#cc0c3940}[data-theme=light] .topbar{box-shadow:none;border-bottom:none}[data-theme=light] .topbar-city-icon{stroke:var(--text-secondary)}[data-theme=light] .city-select{background-color:var(--bg-input);border-color:var(--border);color:var(--text-primary)}[data-theme=light] .city-select:focus{border-color:var(--accent);background-color:var(--bg-hover)}[data-theme=light] .city-select option{color:var(--text-primary);background:#fff}[data-theme=light] .btn-search{color:#fff;border:1px solid #5b5ce247;font-weight:800}[data-theme=light] .btn-search:not(:disabled):hover{box-shadow:0 8px 22px #5b5ce247}[data-theme=light] .product-list,[data-theme=light] .result-card,[data-theme=light] .summary-card,[data-theme=light] .table-container,[data-theme=light] .detail-card,[data-theme=light] .results-tabs{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:var(--shadow-sm);border:1px solid var(--border-glass);border-radius:var(--radius-lg)}[data-theme=light] .btn-import{color:var(--text-accent);border-color:var(--border-accent)}[data-theme=light] .btn-import:hover{background:var(--accent-glow);border-color:var(--accent)}[data-theme=light] .summary-card__label,[data-theme=light] .result-card__merchant-name,[data-theme=light] .mobile-total-card__label,[data-theme=light] .summary-card--merchant .summary-card__value{color:var(--text-secondary)}.app-logo-img{object-fit:contain;border-radius:inherit;width:100%;height:100%}.topbar-logo-icon,.logo-icon{background:#fff;border:1px solid #5b5ce21a;overflow:hidden;box-shadow:0 10px 24px #5b5ce21f}[data-theme=light] .topbar-logo-icon{background:#fff}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6}body:before{content:"";background:radial-gradient(circle, var(--bg-ambient-1) 0%, transparent 70%);pointer-events:none;z-index:0;width:60%;height:60%;position:fixed;top:-20%;left:-10%}body:after{content:"";background:radial-gradient(circle, var(--bg-ambient-2) 0%, transparent 70%);pointer-events:none;z-index:0;width:50%;height:50%;position:fixed;bottom:-20%;right:-10%}.app,.app-shell{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative}.topbar{z-index:100;background:0 0;border-bottom:none;justify-content:space-between;align-items:center;padding:.75rem 2rem;animation:.3s fadeIn;display:flex;position:sticky;top:0}.topbar-brand{align-items:center;gap:.6rem;display:flex}.logo-link{color:inherit;cursor:pointer;transition:opacity var(--transition);text-decoration:none}.logo-link:hover{opacity:.85}.topbar-logo-icon{border-radius:var(--radius-sm);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:inline-flex}.topbar-logo-icon svg{stroke:#fff;width:18px;height:18px}.topbar-logo{font-family:var(--font-display);letter-spacing:0;font-size:1.3rem;font-weight:800}.app-name{background:var(--gradient-hero);-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 2px #5b5ce229);-webkit-background-clip:text;background-clip:text}.app-name-brand{letter-spacing:0;font-weight:800}.app-name-suffix{letter-spacing:0;font-weight:600}[data-theme=light] .app-name{background:var(--gradient-hero);-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 3px #5b5ce22e);-webkit-background-clip:text;background-clip:text}.topbar-controls{align-items:center;gap:1rem;display:flex}.topbar-city{align-items:center;gap:.4rem;display:flex}.topbar-city-icon{stroke:var(--accent);flex-shrink:0}.workspace{flex-direction:column;flex:1;width:100%;max-width:960px;margin:0 auto;padding:1.25rem 2rem 2rem;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;animation:.4s fadeIn;display:flex}.toolbar-inputs{flex:1;gap:.5rem;min-width:0;display:flex}.workspace-content{flex:1;min-height:0;animation:.4s .1s both fadeIn}.hint{color:var(--text-muted);text-align:center;margin-top:.25rem;font-size:.85rem}.page{width:100%;max-width:860px;margin:0 auto;padding:2rem 1.5rem}.header{text-align:center;margin-bottom:2.5rem;animation:.6s fadeInDown}.logo{font-family:var(--font-display);letter-spacing:0;align-items:center;gap:.6rem;font-size:2.4rem;font-weight:800;display:inline-flex}.logo-icon{border-radius:var(--radius-md);-webkit-text-fill-color:initial;color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;display:inline-flex}.logo-icon svg{stroke:#fff;width:24px;height:24px}.subtitle{color:var(--text-secondary);letter-spacing:.01em;margin-top:.4rem;font-size:1.05rem;font-weight:400}.city-select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right .6rem center;background-repeat:no-repeat;outline:none;padding:.5rem 2.25rem .5rem .75rem;font-size:.85rem}.city-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);background-color:var(--bg-hover)}.city-select option{background:var(--bg-secondary);color:var(--text-primary)}.city-loading{color:var(--text-muted);font-size:.85rem}.error-banner{background:var(--red-glow);border:1px solid var(--border-error);border-radius:var(--radius-md);color:var(--red);text-align:center;margin:0 2rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;animation:.3s fadeIn}.btn-import{color:var(--accent);border:1px solid var(--border-accent);transition:all var(--transition);white-space:nowrap;background:0 0;align-items:center;gap:.35rem;padding:.5rem 1rem;font-size:.82rem;display:inline-flex}.btn-import svg{width:14px;height:14px}.btn-import:hover{background:var(--accent-glow);border-color:var(--accent);transform:translateY(-1px)}.quantity-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);width:72px;min-width:72px;color:var(--text-primary);font-family:var(--font-body);text-align:center;transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);-moz-appearance:textfield;outline:none;padding:.625rem .5rem;font-size:.9rem}.quantity-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.quantity-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.quantity-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);background:var(--bg-hover)}.quantity-input::placeholder{color:var(--text-muted)}.product-name-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;color:var(--text-primary);font-family:var(--font-body);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);outline:none;flex:1;padding:.625rem 1rem;font-size:.9rem}.product-name-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);background:var(--bg-hover)}.product-name-input::placeholder{color:var(--text-muted)}.description-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;color:var(--text-primary);font-family:var(--font-body);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);outline:none;flex:1;padding:.625rem 1rem;font-size:.9rem}.description-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);background:var(--bg-hover)}.description-input::placeholder{color:var(--text-muted)}.component-description{color:var(--text-secondary);letter-spacing:.01em;font-size:.8rem;font-weight:400;line-height:1.3;display:block}.product-edit-description{flex:1.5}.btn{border-radius:var(--radius-sm);font-family:var(--font-body);cursor:pointer;transition:all var(--transition);white-space:nowrap;border:none;align-items:center;gap:.4rem;padding:.625rem 1.25rem;font-size:.85rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:disabled{opacity:.35;cursor:not-allowed;transform:none!important}.btn-add{background:var(--accent);color:#fff}.btn-add svg{width:16px;height:16px}.btn-add:not(:disabled):hover{background:var(--accent-hover);box-shadow:0 4px 16px var(--accent-glow-strong);transform:translateY(-1px)}.btn-search{background:var(--gradient-hero);color:#fff;font-family:var(--font-display);border-radius:var(--radius-sm);letter-spacing:.01em;padding:.625rem 1.5rem;font-size:.9rem;font-weight:700}.btn-search svg{width:16px;height:16px}.btn-search:not(:disabled):hover{box-shadow:0 6px 24px var(--accent-glow-strong);transform:translateY(-1px)}.btn-search:not(:disabled):active{transform:translateY(0)}.btn-home{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);padding:.75rem 1.5rem;font-size:.9rem;font-weight:600}.btn-home svg{width:18px;height:18px}.btn-home:hover{background:var(--bg-hover);border-color:var(--border-glass);transform:translateY(-1px)}.btn-icon{border-radius:var(--radius-xs);background:0 0;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:1rem;display:inline-flex}.btn-icon svg{width:15px;height:15px}.btn-edit{color:var(--text-secondary)}.btn-edit:hover{background:var(--accent-glow);color:var(--accent)}.btn-remove{color:var(--text-secondary)}.btn-remove:hover{background:var(--red-glow);color:var(--red)}.btn-clear-list{color:var(--text-secondary);border:1px solid var(--border);background:0 0;padding:.4rem .65rem;font-size:.72rem}.btn-clear-list svg{width:13px;height:13px}.btn-clear-list:hover{background:var(--red-glow);border-color:var(--border-error);color:var(--red)}.btn-confirm{color:var(--green)}.btn-confirm:hover{background:var(--green-glow)}.btn-cancel{color:var(--red)}.btn-cancel:hover{background:var(--red-glow)}.product-list{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:1rem 1.25rem;animation:.3s fadeIn}.product-list-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.product-list-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);align-items:center;gap:.5rem;margin:0;font-size:.78rem;font-weight:700;display:flex}.product-list-title svg{width:14px;height:14px;stroke:var(--accent)}.product-items{list-style:none}.product-item{border-radius:var(--radius-sm);transition:all var(--transition);padding:.6rem .75rem;animation:.25s both slideIn}.product-item:hover{background:var(--bg-hover)}.product-item+.product-item{border-top:1px solid var(--border)}.product-display-row{justify-content:space-between;align-items:center;display:flex}.product-name{align-items:center;font-size:.9rem;font-weight:500;display:flex}.product-actions{opacity:0;transition:opacity var(--transition);gap:.15rem;display:flex}.product-item:hover .product-actions{opacity:1}.product-edit-row{flex-direction:column;gap:.5rem;display:flex}.product-edit-fields{align-items:center;gap:.4rem;display:flex}.product-info{flex-direction:column;flex:1;gap:.3rem;min-width:0;display:flex}.product-edit-input{background:var(--bg-input);border:1px solid var(--accent);border-radius:var(--radius-xs);color:var(--text-primary);font-family:var(--font-body);box-shadow:0 0 0 3px var(--accent-glow);outline:none;flex:1;padding:.4rem .6rem;font-size:.9rem}.product-edit-quantity{background:var(--bg-input);border:1px solid var(--accent);border-radius:var(--radius-xs);width:56px;min-width:56px;color:var(--text-primary);font-family:var(--font-body);text-align:center;box-shadow:0 0 0 3px var(--accent-glow);-moz-appearance:textfield;outline:none;padding:.4rem;font-size:.9rem}.product-edit-quantity::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.product-edit-quantity::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.product-quantity-badge{background:var(--gradient-hero);color:#fff;border-radius:var(--radius-full);letter-spacing:.02em;box-shadow:0 2px 6px var(--accent-glow);justify-content:center;align-items:center;margin-right:.5rem;padding:.15rem .45rem;font-size:.7rem;font-weight:700;display:inline-flex}.product-list-empty{text-align:center;color:var(--text-muted);padding:2rem 1.5rem .25rem;animation:.3s fadeIn}.empty-icon{opacity:.35;justify-content:center;margin-bottom:.75rem;display:flex}.empty-icon svg{width:44px;height:44px;stroke:var(--text-muted)}.empty-text{font-size:.9rem}.search-section{text-align:center;margin-top:2rem}.results-page{max-width:none;padding:2rem 2.5rem}.results-summary{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;animation:.5s fadeIn;display:grid}.summary-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all var(--transition);padding:1.25rem}.summary-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.summary-card--best{background:var(--bg-best);border-color:var(--border-best)}.summary-card--merchant{background:var(--gradient-card);border-color:var(--border-accent)}.summary-card__label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);align-items:center;gap:.3rem;margin-bottom:.4rem;font-size:.72rem;font-weight:600;display:flex}.summary-card__label svg{width:13px;height:13px}.summary-card__value{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:800}.summary-card--best .summary-card__value{color:var(--accent)}.summary-card--merchant .summary-card__value{color:var(--text-primary)}.summary-card__diff{font-variant-numeric:tabular-nums;margin-top:.2rem;font-size:.78rem;font-weight:600}.summary-card__diff--positive{color:var(--yellow)}.summary-card__diff--negative,.summary-card__diff--zero{color:var(--green)}.summary-card__unavailable{color:var(--yellow);margin-top:.25rem;font-size:.72rem;font-weight:600}.table-container{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:.5s .1s both fadeIn;overflow:hidden}.results-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.88rem}.results-table thead{background:var(--bg-table-header);z-index:10;position:sticky;top:0}.results-table th{text-align:left;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:var(--text-accent);border-bottom:1px solid var(--border);white-space:nowrap;padding:.875rem 1.25rem;font-size:.72rem;font-weight:700}.th-merchant .merchant-logo{vertical-align:middle;margin-right:.35rem;position:relative;top:-1px}.merchant-logo{border-radius:var(--radius-xs);object-fit:contain;background:var(--bg-merchant-logo);flex-shrink:0;width:22px;height:22px}.merchant-logo--summary{border-radius:4px;width:16px;height:16px}.results-table td{border-bottom:1px solid var(--border);transition:background var(--transition);padding:.75rem 1.25rem}.results-table tbody tr:hover td{background:var(--bg-hover)}.row-even{background:0 0}.row-odd{background:var(--bg-row-alt)}.cell-product-name{color:var(--text-primary);overflow-wrap:break-word;word-break:break-word;font-weight:600}.cell-product-heading{align-items:center;gap:.45rem;display:flex}.result-expand-button{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--bg-input);width:26px;height:26px;color:var(--text-secondary);cursor:pointer;transition:color var(--transition), border-color var(--transition), background var(--transition), transform var(--transition);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.result-expand-button:hover{color:var(--accent);border-color:var(--border-accent);background:var(--accent-glow)}.result-expand-button svg{transition:transform var(--transition)}.result-expand-button--expanded svg{transform:rotate(180deg)}.cell-part-numbers{color:var(--text-muted);margin-top:.15rem;font-size:.75rem;font-weight:400;line-height:1.4;display:block}.cell-merchant{color:var(--text-secondary);font-size:.82rem}.cell-price{color:var(--green);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.cell-merchant-detail{white-space:normal;overflow-wrap:break-word;word-break:break-word}.cell-unit-price{color:var(--text-muted);white-space:nowrap;margin-left:.35rem;font-size:.75rem;font-weight:400}.cell-product-found{color:var(--text-secondary);margin-top:.2rem;font-size:.75rem;font-weight:400;line-height:1.3;display:block}.cell-best-merchant{color:var(--text-muted);margin-top:.15rem;font-size:.7rem;font-weight:500;display:block}.cell-offer-meta{color:var(--text-muted);margin-top:.15rem;font-size:.68rem;font-weight:400;line-height:1.3;display:block}.row-expanded td{background:var(--bg-glass);padding:0}.results-table tbody tr.row-expanded:hover td{background:var(--bg-glass)}.part-number-breakdown{padding:.75rem 1.25rem .9rem}.part-number-breakdown__title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-accent);margin-bottom:.65rem;font-size:.72rem;font-weight:700}.part-number-breakdown__rows{flex-direction:column;gap:.45rem;display:flex}.part-number-breakdown__row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card-solid);grid-template-columns:minmax(8.5rem,.75fr) repeat(3,minmax(7.5rem,1fr));align-items:stretch;gap:.75rem;padding:.6rem .75rem;display:grid}.part-number-breakdown__row--missing{border-color:var(--border-error);background:var(--red-glow)}.part-number-breakdown__part{flex-direction:column;align-self:center;gap:.15rem;min-width:0;display:flex}.part-number-breakdown__part-number{color:var(--text-primary);overflow-wrap:anywhere;font-size:.84rem;font-weight:700}.part-number-breakdown__quantity{color:var(--text-muted);font-size:.72rem}.part-number-breakdown__price{color:var(--green);font-variant-numeric:tabular-nums;font-weight:800}.part-number-breakdown__offer{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-glass);grid-template-columns:auto minmax(0,1fr);gap:.55rem;min-width:0;padding:.45rem .55rem;display:grid}.part-number-breakdown__rank{background:var(--accent-glow);width:1.35rem;height:1.35rem;color:var(--text-accent);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;font-size:.7rem;font-weight:800;display:inline-flex}.part-number-breakdown__offer-body{flex-direction:column;gap:.12rem;min-width:0;display:flex}.part-number-breakdown__missing{color:var(--red);grid-column:2/-1;align-self:center;font-size:.78rem;font-weight:600;line-height:1.4}.cell-buy-link{color:var(--accent);margin-top:.25rem;font-size:.72rem;font-weight:700;text-decoration:none;display:inline-block}.cell-buy-link:hover{text-decoration:underline}.cell-rejections{color:var(--text-muted);font-size:.72rem;font-weight:500;line-height:1.35;display:block}.cell-not-found-comment{color:var(--text-secondary);overflow-wrap:break-word;word-break:break-word;font-size:.78rem;line-height:1.45}.merchant-logo--inline{vertical-align:middle;border-radius:3px;width:14px;height:14px;margin-right:.25rem;position:relative;top:-1px}.cell-cheapest{border-left:3px solid var(--green);background:var(--green-glow)!important}.cell-diff-label{opacity:.85;margin-top:.15rem;font-size:.72rem;font-weight:500;display:block}.row-total{background:var(--bg-row-total);border-top:2px solid var(--accent)}.cell-total-label{text-align:right;font-family:var(--font-display);color:var(--text-primary);padding-right:1.25rem;font-size:.95rem;font-weight:700}.cell-total-value{font-family:var(--font-display);color:var(--green);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1rem;font-weight:800}.cell-diff-positive{color:var(--yellow);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.cell-diff-negative,.cell-diff-zero{color:var(--green);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.empty-state{text-align:center;color:var(--text-muted);padding:4rem 2rem}.empty-state__details{text-align:left;gap:.5rem;max-width:720px;margin:1rem auto 0;display:grid}.empty-state__detail{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-glass);color:var(--text-secondary);gap:.2rem;padding:.65rem .75rem;font-size:.78rem;display:grid}.empty-state__detail strong{color:var(--text-primary)}.not-found-section{margin-top:2rem;animation:.5s .2s both fadeIn}.not-found-section__title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:var(--yellow);align-items:center;gap:.4rem;margin-bottom:.75rem;font-size:.82rem;font-weight:700;display:flex}.not-found-section__title:before{content:"⚠";font-size:.9rem}.not-found-section .table-container{opacity:.75}.result-card--not-found{opacity:.7;border-color:var(--border)}.modal-overlay{background:var(--bg-overlay);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;justify-content:center;align-items:center;animation:.25s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-card-solid);border-radius:var(--radius-xl);border:1px solid var(--border-glass);text-align:center;box-shadow:var(--shadow-lg), var(--shadow-glow-accent);width:90%;max-width:400px;padding:3rem 2.5rem;animation:.35s scaleIn}.modal-title{font-family:var(--font-display);color:var(--text-primary);margin-top:1.5rem;font-size:1.25rem;font-weight:700}.modal-text{color:var(--text-secondary);margin-top:.5rem;font-size:.88rem;line-height:1.7}.spinner-container{width:60px;height:60px;margin:0 auto;position:relative}.spinner{border:3px solid var(--bg-spinner-ring);border-top-color:var(--accent);border-radius:50%;width:60px;height:60px;animation:.8s linear infinite spin}.spinner-icon{color:var(--accent);animation:1.5s ease-in-out infinite pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.spinner-icon svg{width:22px;height:22px;stroke:var(--accent)}.search-progress{margin-top:1.25rem}.search-progress__bar{background:var(--bg-spinner-ring);border-radius:999px;width:100%;height:8px;overflow:hidden}.search-progress__bar span{border-radius:inherit;background:var(--accent);height:100%;transition:width .25s;display:block}.search-progress__text{color:var(--text-secondary);margin-top:.45rem;font-size:.78rem;display:block}.search-steps{color:var(--text-muted);justify-content:center;gap:1.5rem;margin-top:1.25rem;font-size:.78rem;display:flex}.search-step{align-items:center;gap:.3rem;transition:color .3s;display:flex}.search-step--active{color:var(--accent)}.search-step__dot{background:var(--text-muted);border-radius:50%;width:6px;height:6px;transition:background .3s}.search-step--active .search-step__dot{background:var(--accent);box-shadow:0 0 8px var(--accent-glow-strong);animation:1.5s ease-in-out infinite pulse}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (width<=900px){.results-page{padding:1.5rem 1rem}.results-summary{grid-template-columns:repeat(2,1fr)}.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (width<=700px){.topbar{flex-direction:column;gap:.75rem;padding:.75rem 1rem}.topbar-brand{justify-content:center;width:100%}.topbar-controls{justify-content:space-between;width:100%}.btn-search{flex:1;justify-content:center}.toolbar{flex-direction:column;align-items:stretch}.toolbar-inputs{flex-flow:wrap}.quantity-input{flex-shrink:0;width:60px;min-width:60px}.product-name-input{flex:1;min-width:0}.btn-add{justify-content:center;width:100%}.description-input{flex-basis:100%;min-width:0}.workspace{padding:1rem}.product-actions{opacity:1}.product-item{padding:.75rem}.btn-icon{width:36px;height:36px}.toolbar{gap:.5rem}.toolbar-import-row{gap:.5rem;width:100%;display:flex}.btn-import{flex:1;justify-content:center;padding:.5rem;font-size:.78rem}}@media (width<=600px){.page{padding:1.5rem .75rem}.logo{font-size:1.8rem}.logo-icon{width:36px;height:36px}.logo-icon svg{width:20px;height:20px}.results-summary{grid-template-columns:1fr}.summary-card__value{font-size:1.1rem}.table-container{display:none}.results-cards-mobile{display:flex!important}}.results-cards-mobile{flex-direction:column;gap:.75rem;animation:.5s fadeIn;display:none}.result-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:1rem 1.1rem}.result-card__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;padding-bottom:.6rem;display:flex}.result-card__product{color:var(--text-primary);flex:1;min-width:0;font-size:.92rem;font-weight:600}.result-card__header-actions{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.result-card__qty{background:var(--gradient-hero);color:#fff;border-radius:var(--radius-full);box-shadow:0 2px 6px var(--accent-glow);flex-shrink:0;justify-content:center;align-items:center;padding:.15rem .5rem;font-size:.7rem;font-weight:700;display:inline-flex}.result-card__best{background:var(--bg-best-card);border:1px solid var(--border-best-card);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.6rem .75rem;display:flex}.result-card__best-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.68rem;font-weight:600}.result-card__best-price{font-family:var(--font-display);color:var(--green);font-variant-numeric:tabular-nums;font-size:1rem;font-weight:800}.result-card__best-info{color:var(--text-secondary);font-size:.72rem;line-height:1.4}.result-card__best-merchant{color:var(--text-muted);align-items:center;gap:.25rem;margin-top:.1rem;font-size:.7rem;display:flex}.result-card__best-merchant img{border-radius:3px;width:14px;height:14px}.result-card__merchants{flex-direction:column;gap:.35rem;margin-top:.5rem;display:flex}.result-card__merchant-row{border-radius:var(--radius-xs);background:var(--bg-glass);justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .6rem;display:flex}.result-card__merchant-row--cheapest{background:var(--green-glow);border-left:3px solid var(--green)}.result-card__merchant-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:.35rem;min-width:0;font-size:.78rem;display:flex;overflow:hidden}.result-card__merchant-name img{border-radius:4px;flex-shrink:0;width:18px;height:18px}.result-card__merchant-price{color:var(--green);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.82rem;font-weight:700}.result-card__merchant-product{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;text-align:right;max-width:140px;font-size:.68rem;overflow:hidden}.result-card__no-result{color:var(--text-muted);padding:.5rem 0;font-size:.82rem;font-style:italic}.result-card__no-result-comment{color:var(--text-secondary);padding-bottom:.35rem;font-size:.78rem;line-height:1.45}.result-card .part-number-breakdown{border-top:1px solid var(--border);margin-top:.5rem;padding:.75rem 0 0}.result-card .part-number-breakdown__row{grid-template-columns:1fr;gap:.45rem;padding:.65rem}.result-card .part-number-breakdown__missing{grid-column:auto}.mobile-totals{flex-direction:column;gap:.75rem;margin-top:1rem;display:none}@media (width<=600px){.mobile-totals{display:flex!important}}.mobile-total-card{background:var(--bg-mobile-total);border:1px solid var(--border-accent);border-radius:var(--radius-lg);padding:1rem 1.1rem}.mobile-total-card__title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.4rem;font-size:.72rem;font-weight:700}.mobile-total-card__row{justify-content:space-between;align-items:center;padding:.35rem 0;display:flex}.mobile-total-card__row+.mobile-total-card__row{border-top:1px solid var(--border)}.mobile-total-card__label{color:var(--text-secondary);align-items:center;gap:.35rem;font-size:.82rem;display:flex}.mobile-total-card__label img{border-radius:4px;width:18px;height:18px}.mobile-total-card__value{font-family:var(--font-display);color:var(--green);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:800}.mobile-total-card__diff{margin-left:.5rem;font-size:.72rem;font-weight:600}.mobile-total-card__unavailable{color:var(--yellow);margin-top:.15rem;font-size:.72rem;font-weight:600}.results-tabs{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-sm);gap:0;margin-bottom:2rem;padding:.35rem;animation:.4s fadeIn;display:flex;position:relative}.results-tab{border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-display);cursor:pointer;letter-spacing:.01em;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.5rem;font-size:.88rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative}.results-tab svg{flex-shrink:0;width:16px;height:16px;transition:stroke .25s}.results-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.results-tab--active{background:var(--gradient-hero);color:#fff;box-shadow:0 4px 14px var(--accent-glow-strong);font-weight:700}.results-tab--active svg{stroke:#fff}.results-tab--active:hover{background:var(--gradient-hero);color:#fff;box-shadow:0 6px 20px var(--accent-glow-strong);transform:translateY(-1px)}.component-details-tab{animation:.4s fadeIn}.component-select-wrapper{align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.component-select-wrapper label{font-family:var(--font-display);color:var(--text-secondary);white-space:nowrap;font-size:.85rem;font-weight:600}.component-select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);max-width:400px;color:var(--text-primary);font-family:var(--font-body);cursor:pointer;transition:border-color var(--transition);flex:1;padding:.6rem 1rem;font-size:.9rem}.component-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow);outline:none}.component-combobox{flex:1;min-width:220px;max-width:520px;position:relative}.component-combobox .component-select{cursor:text;width:100%;max-width:none}.component-combobox__input[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.component-combobox__list{z-index:30;background:var(--bg-card-solid);border:1px solid var(--border);border-radius:var(--radius-sm);max-height:18rem;padding:.35rem;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow-y:auto;box-shadow:0 12px 30px #00000059}.component-combobox__option{border-radius:var(--radius-xs);width:100%;color:var(--text-primary);font-family:var(--font-body);text-align:left;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;padding:.55rem .65rem;font-size:.86rem;line-height:1.35;display:block}.component-combobox__option:hover,.component-combobox__option--active{background:var(--bg-hover);color:var(--accent)}.component-combobox__option[aria-selected=true]{font-weight:700}.component-combobox__empty{color:var(--text-muted);padding:.65rem;font-size:.84rem;line-height:1.35}.distributor-section{margin-bottom:1.5rem}.distributor-header{background:var(--bg-hover);border:1px solid var(--border-glass);border-radius:var(--radius-md) var(--radius-md) 0 0;font-family:var(--font-display);color:var(--accent);letter-spacing:.02em;border-bottom:none;padding:.7rem 1.25rem;font-size:.85rem;font-weight:700}.distributor-section .table-container{border-radius:0 0 var(--radius-lg) var(--radius-lg);animation:none}.component-details-table{border-collapse:collapse;width:100%;font-size:.85rem}.component-details-table thead{background:var(--bg-table-header)}.component-details-table th{text-align:left;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:var(--text-accent);border-bottom:1px solid var(--border);white-space:nowrap;padding:.65rem .85rem;font-size:.68rem;font-weight:700}.component-details-table td{border-bottom:1px solid var(--border);transition:background var(--transition);vertical-align:top;padding:.6rem .85rem}.component-details-table tbody tr:hover td{background:var(--bg-hover)}.component-details-table .row-even{background:0 0}.component-details-table .row-odd{background:var(--bg-row-alt)}.cell-part-number{white-space:nowrap;font-weight:600}.cell-description{text-overflow:ellipsis;max-width:200px;overflow:hidden}.price-breaks-list{font-variant-numeric:tabular-nums;margin:0;padding:0;list-style:none}.price-breaks-list li{white-space:nowrap;line-height:1.5}.availability-badge{border-radius:var(--radius-xs);white-space:nowrap;padding:.2rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}.availability-badge--in_stock{background:var(--green-glow);color:var(--green)}.availability-badge--out_of_stock{background:var(--red-glow);color:var(--red)}.availability-badge--rfq_only{background:var(--yellow-glow);color:var(--yellow)}.availability-badge--unknown{background:var(--bg-hover);color:var(--text-secondary)}.component-details-cards-mobile{flex-direction:column;gap:.75rem;display:none}.detail-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-md);padding:1rem}.detail-card__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.detail-card__part{color:var(--text-primary);font-size:.95rem;font-weight:700}.detail-card__row{justify-content:space-between;padding:.3rem 0;font-size:.85rem;display:flex}.detail-card__row>span:first-child{color:var(--text-secondary);font-weight:500}.detail-card__row>span:last-child{color:var(--text-primary);text-align:right}.detail-card__prices{flex-direction:column;gap:.25rem}.detail-card__buy-link{text-align:center;background:var(--accent-glow);color:var(--accent);border-radius:var(--radius-sm);transition:background var(--transition);margin-top:.75rem;padding:.5rem;font-size:.85rem;font-weight:600;text-decoration:none;display:block}.detail-card__buy-link:hover{background:var(--accent-glow-strong)}@media (width<=900px){.component-select,.component-combobox{max-width:none}.distributor-section .table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (width<=600px){.component-select-wrapper{flex-direction:column;align-items:stretch;gap:.45rem}.component-combobox{width:100%;min-width:0}.results-tabs{flex-direction:column;gap:.25rem}.results-tab{justify-content:center;padding:.75rem 1rem;font-size:.82rem}.distributor-section .table-container{display:none}.component-details-cards-mobile{display:flex!important}}.part-number-chips{flex-wrap:wrap;gap:.35rem;display:flex}.part-number-chip{background:var(--accent-glow);border:1px solid var(--border-accent);border-radius:var(--radius-full);color:var(--text-accent);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.25rem;max-width:200px;padding:.2rem .5rem;font-size:.75rem;font-weight:500;display:inline-flex;overflow:hidden}.part-number-chip__remove{width:16px;height:16px;color:var(--text-muted);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.part-number-chip__remove:hover{background:var(--red-glow);color:var(--red)}.part-number-chip__remove svg{width:10px;height:10px}.toolbar-part-numbers{flex-direction:column;gap:.4rem;width:100%;display:flex}.toolbar-pn-label{color:var(--text-secondary);font-size:.78rem;font-weight:600}.toolbar-pn-input-row{align-items:center;gap:.35rem;display:flex}.part-number-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;color:var(--text-primary);font-family:var(--font-body);transition:border-color var(--transition), box-shadow var(--transition);outline:none;flex:1;padding:.45rem .75rem;font-size:.85rem}.part-number-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.part-number-input::placeholder{color:var(--text-muted)}.btn-add-pn{border-radius:var(--radius-xs);background:var(--accent);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.btn-add-pn:not(:disabled):hover{background:var(--accent-hover)}.btn-add-pn svg{width:12px;height:12px}.part-number-input-area{flex-direction:column;gap:.35rem;width:100%;display:flex}.part-number-input-area .part-number-input-row{align-items:center;gap:.35rem;display:flex}.part-number-input-area .part-number-input{padding:.35rem .6rem;font-size:.82rem}.empty-state__pn{color:var(--text-muted);font-size:.72rem;font-weight:400}.hidden-file-input{display:none}.import-status,.pdf-import-status{border-radius:6px;justify-content:space-between;align-items:flex-start;gap:.5rem;width:100%;margin-top:.5rem;padding:.5rem .75rem;font-size:.82rem;display:flex}.import-status__content,.pdf-import-status__content{flex:1;min-width:0}.import-status--loading,.pdf-import-status--loading{background:var(--accent-glow);color:var(--text-accent)}.import-status--success,.pdf-import-status--success{background:var(--green-glow);color:var(--green)}.import-status--error,.pdf-import-status--error{background:var(--red-glow);color:var(--red)}.import-status--warning,.pdf-import-status--warning{background:var(--yellow-glow);color:var(--yellow)}.import-status__details,.pdf-import-status__details{margin:.35rem 0 0;padding:0;font-size:.78rem;list-style:none}.import-status__details li,.pdf-import-status__details li{opacity:.9;padding:.15rem 0}.import-status__close,.pdf-import-status__close{cursor:pointer;color:inherit;opacity:.7;background:0 0;border:none;align-items:center;padding:2px;display:flex}.import-status__close:hover,.pdf-import-status__close:hover{opacity:1}.cell-quote{vertical-align:top;padding:.5rem .75rem;font-size:.82rem}.cell-quote span{display:block}.cell-quote__code{color:var(--text-muted);font-size:.78rem;font-weight:600}.cell-quote__price{color:var(--text-muted);font-size:.75rem}.cell-quote__subtotal{font-size:.9rem;font-weight:600}.comparison-indicator{border-radius:4px;margin-top:.2rem;padding:.1rem .35rem;font-size:.75rem;font-weight:600;display:inline-block}.comparison-savings{color:var(--green);background:var(--green-glow)}.comparison-more-expensive{color:var(--red);background:var(--red-glow)}.summary-card__comparison{flex-direction:column;gap:.2rem;margin-top:.35rem;font-size:.8rem;display:flex}.summary-card__quote-label{color:var(--text-muted);font-size:.78rem}.result-card__quote{border-bottom:1px solid var(--border-color,#e0e0e0);padding:.5rem 0}.result-card__quote-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);margin-bottom:.25rem;font-size:.72rem;font-weight:600}.result-card__quote-detail{justify-content:space-between;align-items:center;gap:.5rem;font-size:.82rem;display:flex}.result-card__quote-subtotal{font-weight:700}.auth-loading{justify-content:center;align-items:center;width:100%;min-height:200px;display:flex}.auth-loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:.7s linear infinite authSpin}.auth-loading-spinner--small{border-width:2px;width:18px;height:18px}@keyframes authSpin{to{transform:rotate(360deg)}}.login-page{background:var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-page:before{content:"";background:radial-gradient(at 20%,#5b5ce226 0%,#0000 50%),radial-gradient(at 80% 20%,#8757e81f 0%,#0000 50%),radial-gradient(at 50% 80%,#a070f014 0%,#0000 50%);animation:8s ease-in-out infinite alternate loginBgPulse;position:absolute;inset:0}@keyframes loginBgPulse{0%{opacity:.7;transform:scale(1)}to{opacity:1;transform:scale(1.05)}}.login-bg-pattern{opacity:.03;background-image:linear-gradient(90deg, var(--accent) 1px, transparent 1px), linear-gradient(180deg, var(--accent) 1px, transparent 1px);pointer-events:none;background-size:40px 40px;position:absolute;inset:0}.login-card{z-index:1;background:var(--bg-card);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-glass);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-lg), var(--shadow-glow-accent);margin:1rem;padding:2.5rem;animation:.6s cubic-bezier(.4,0,.2,1) loginCardAppear;position:relative}@keyframes loginCardAppear{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.login-card--shake{animation:.5s ease-in-out loginShake}@keyframes loginShake{0%,to{transform:translate(0)}10%,50%,90%{transform:translate(-6px)}30%,70%{transform:translate(6px)}}.login-logo-area{text-align:center;margin-bottom:2rem}.login-logo-img{border-radius:var(--radius-md);filter:drop-shadow(0 4px 14px #5b5ce247);background:#fff;border:1px solid #5b5ce21a;width:72px;height:72px;margin-bottom:.75rem;box-shadow:0 10px 24px #5b5ce21f}.login-title{font-family:var(--font-display);letter-spacing:0;font-size:1.75rem;font-weight:800}.login-subtitle{color:var(--text-muted);margin-top:.25rem;font-size:.9rem}.login-field{margin-bottom:1.25rem}.login-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem;font-size:.8rem;font-weight:600;display:block}.login-input-wrapper{align-items:center;display:flex;position:relative}.login-input-icon{color:var(--text-muted);pointer-events:none;transition:color var(--transition);position:absolute;left:.85rem}.login-input-wrapper:focus-within .login-input-icon{color:var(--accent)}.login-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-size:.95rem;font-family:var(--font-body);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:.75rem .85rem .75rem 2.75rem}.login-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.login-input:disabled{opacity:.5}.login-toggle-password{cursor:pointer;color:var(--text-muted);border-radius:var(--radius-xs);transition:color var(--transition);background:0 0;border:none;align-items:center;padding:.4rem;display:flex;position:absolute;right:.5rem}.login-toggle-password:hover{color:var(--text-secondary)}.login-submit{background:var(--gradient-hero);color:#fff;border-radius:var(--radius-sm);width:100%;font-size:1rem;font-weight:700;font-family:var(--font-display);cursor:pointer;transition:transform var(--transition), box-shadow var(--transition), opacity var(--transition);letter-spacing:.02em;border:none;margin-top:.5rem;padding:.85rem}.login-submit:hover:not(:disabled){box-shadow:0 6px 20px var(--accent-glow-strong);transform:translateY(-2px)}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-submit-loading{justify-content:center;align-items:center;gap:.5rem;display:flex}.login-error{background:var(--red-glow);border:1px solid var(--border-error);border-radius:var(--radius-sm);color:var(--red);align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.85rem;font-weight:500;display:flex}.login-lockout{border-radius:var(--radius-sm);color:var(--red);background:#f43f5e14;border:1px solid #f43f5e33;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;padding:1rem;animation:2s ease-in-out infinite lockoutPulse;display:flex}.login-lockout svg{flex-shrink:0;margin-top:2px}.login-lockout div{flex-direction:column;gap:.2rem;display:flex}.login-lockout strong{font-size:.85rem}.login-lockout span{opacity:.85;font-size:.8rem}@keyframes lockoutPulse{0%,to{box-shadow:0 0 #f43f5e00}50%{box-shadow:0 0 15px #f43f5e1a}}@media (width<=480px){.login-card{border-radius:var(--radius-lg);margin:.75rem;padding:1.75rem}}.btn-logout{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.8rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all var(--transition);background:0 0;align-items:center;gap:.4rem;padding:.45rem .85rem;display:flex}.btn-logout:hover{color:var(--red);border-color:var(--red);background:var(--red-glow)}.btn-user-management{border:1px solid var(--border-accent);border-radius:var(--radius-sm);color:var(--text-accent);font-size:.8rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all var(--transition);background:0 0;align-items:center;gap:.4rem;padding:.45rem .85rem;text-decoration:none;display:flex}.btn-user-management:hover{background:var(--accent-glow);border-color:var(--accent);color:var(--accent-hover)}.results-logout{margin-left:auto}.topbar-page-title{color:var(--text-secondary);margin-right:auto;font-size:.85rem;font-weight:600}.um-workspace{max-width:800px;margin:0 auto;padding:1.5rem}.um-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.um-title{font-family:var(--font-display);color:var(--text-primary);font-size:1.35rem;font-weight:700}.um-btn-new{white-space:nowrap}.um-feedback{border-radius:var(--radius-sm);margin-bottom:1rem;padding:.7rem 1rem;font-size:.85rem;font-weight:500;animation:.3s loginCardAppear}.um-feedback--error{background:var(--red-glow);border:1px solid var(--border-error);color:var(--red)}.um-feedback--success{background:var(--green-glow);color:var(--green);border:1px solid #10b98140}.um-user-list{flex-direction:column;gap:.75rem;display:flex}.um-user-card{background:var(--bg-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-glass);border-radius:var(--radius-md);transition:border-color var(--transition), box-shadow var(--transition);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.um-user-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-sm)}.um-user-info{flex-direction:column;gap:.35rem;min-width:0;display:flex}.um-user-email{color:var(--text-primary);word-break:break-word;font-size:.95rem;font-weight:600}.um-user-meta{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.um-role-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;padding:.15rem .6rem;font-size:.7rem;font-weight:700;display:inline-flex}.um-role-badge--admin{background:var(--accent-glow-strong);color:var(--accent-hover);border:1px solid var(--border-accent)}.um-role-badge--user{background:var(--bg-hover);color:var(--text-muted);border:1px solid var(--border)}.um-user-date{color:var(--text-muted);font-size:.75rem}.um-user-actions{flex-shrink:0;gap:.4rem;display:flex}.um-btn-edit{color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-xs);cursor:pointer;transition:all var(--transition);background:0 0;padding:.4rem}.um-btn-edit:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-glow)}.um-btn-delete{color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-xs);cursor:pointer;transition:all var(--transition);background:0 0;padding:.4rem}.um-btn-delete:hover{color:var(--red);border-color:var(--red);background:var(--red-glow)}.um-modal-overlay{z-index:1000;background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;animation:.2s loginCardAppear;display:flex;position:fixed;inset:0}.um-modal{background:var(--bg-card-solid);border:1px solid var(--border-glass);border-radius:var(--radius-lg);width:100%;max-width:460px;box-shadow:var(--shadow-lg);margin:1rem;padding:1.75rem}.um-modal--small{max-width:380px}.um-modal-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.um-modal-header h3{font-family:var(--font-display);color:var(--text-primary);font-size:1.15rem;font-weight:700}.um-modal-close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-xs);transition:color var(--transition);background:0 0;border:none;padding:.25rem}.um-modal-close:hover{color:var(--text-primary)}.um-form-field{margin-bottom:1rem}.um-form-field label{color:var(--text-secondary);margin-bottom:.35rem;font-size:.8rem;font-weight:600;display:block}.um-optional{color:var(--text-muted);font-size:.75rem;font-weight:400}.um-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-size:.9rem;font-family:var(--font-body);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:.65rem .85rem}.um-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.um-select{cursor:pointer;appearance:auto}.um-modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.um-delete-message{color:var(--text-secondary);margin-bottom:.5rem;font-size:.9rem;line-height:1.5}.um-btn-confirm-delete{background:var(--red);color:#fff;border-radius:var(--radius-sm);font-weight:600;font-family:var(--font-body);cursor:pointer;transition:background var(--transition);border:none;padding:.5rem 1.25rem}.um-btn-confirm-delete:hover{background:var(--red-hover)}@media (width<=600px){.um-workspace{padding:1rem}.um-user-card{flex-direction:column;align-items:flex-start;gap:.75rem}.um-user-actions{align-self:flex-end}}.settings-workspace{max-width:640px;margin:0 auto;padding:1.5rem}.settings-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-glass);border-radius:var(--radius-sm);width:100%;box-shadow:var(--shadow-sm);padding:1.25rem}.settings-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.settings-toggle{color:var(--text-primary);cursor:pointer;align-items:center;gap:.65rem;font-size:.9rem;font-weight:600;display:inline-flex}.settings-toggle input{opacity:0;pointer-events:none;position:absolute}.settings-toggle__track{border-radius:var(--radius-full);background:var(--bg-hover);border:1px solid var(--border);width:42px;height:24px;transition:background var(--transition), border-color var(--transition), box-shadow var(--transition);flex-shrink:0;position:relative}.settings-toggle__thumb{background:var(--text-secondary);width:18px;height:18px;transition:transform var(--transition), background var(--transition);border-radius:50%;position:absolute;top:50%;left:3px;transform:translateY(-50%)}.settings-toggle input:checked+.settings-toggle__track{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.settings-toggle input:checked+.settings-toggle__track .settings-toggle__thumb{background:#fff;transform:translate(18px,-50%)}.settings-field{max-width:260px}.settings-actions{justify-content:flex-end;align-items:center;gap:.75rem;margin-top:1.25rem;display:flex}.btn-user-management svg{width:16px;height:16px}[data-theme=light] .login-page:before{background:radial-gradient(at 20%,#5b5ce21a 0%,#0000 50%),radial-gradient(at 80% 20%,#a070f017 0%,#0000 50%),radial-gradient(at 50% 80%,#4f55d70f 0%,#0000 50%)}[data-theme=light] .login-card{box-shadow:var(--shadow-lg);background:#ffffffeb}[data-theme=light] .um-user-card{background:var(--bg-card)}
