@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}:root{--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--bg:#f5f5f7;--surface:#fff;--text:#1d1d1f;--text-secondary:#6e6e73;--accent:#0071e3;--accent-hover:#0077ed;--danger:#ff3b30;--success:#34c759;--border:#d2d2d7;--radius-lg:18px;--radius-md:12px;--radius-sm:8px;--shadow:0 2px 12px #0000000f;--shadow-hover:0 6px 20px #0000001a;--nav-active-bg:#e8f0fe;--hover-bg:#f0f0f2;--ghost-hover-bg:#ececee;--scrollbar-thumb:#c7c7cc;--track-bg:#e8e8ed;--header-bg:#fffc;--warning-bg:#fff8ee;--warning-border:#f3ddb0;--pill-bg:#f0f0f2;--header-edge-shadow:0 8px 20px -14px #00000059}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#000;--surface:#1c1c1e;--text:#f5f5f7;--text-secondary:#98989d;--accent:#0a84ff;--accent-hover:#3396ff;--danger:#ff453a;--success:#32d74b;--border:#38383a;--shadow:0 2px 12px #0006;--shadow-hover:0 6px 20px #00000080;--nav-active-bg:#0a2540;--hover-bg:#2c2c2e;--ghost-hover-bg:#2c2c2e;--scrollbar-thumb:#48484a;--track-bg:#38383a;--header-bg:#1c1c1ecc;--warning-bg:#3a2f1a;--warning-border:#5c4a24;--pill-bg:#2c2c2e;--header-edge-shadow:0 8px 20px -14px #000000b3}}:root[data-theme=dark]{--bg:#000;--surface:#1c1c1e;--text:#f5f5f7;--text-secondary:#98989d;--accent:#0a84ff;--accent-hover:#3396ff;--danger:#ff453a;--success:#32d74b;--border:#38383a;--shadow:0 2px 12px #0006;--shadow-hover:0 6px 20px #00000080;--nav-active-bg:#0a2540;--hover-bg:#2c2c2e;--ghost-hover-bg:#2c2c2e;--scrollbar-thumb:#48484a;--track-bg:#38383a;--header-bg:#1c1c1ecc;--warning-bg:#3a2f1a;--warning-border:#5c4a24;--pill-bg:#2c2c2e;--header-edge-shadow:0 8px 20px -14px #000000b3}*{box-sizing:border-box}html,body,#root{overscroll-behavior-y:contain;height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;letter-spacing:0;margin:0}h1,h2,h3{letter-spacing:-.01em}button,input,select,textarea{font-family:inherit;font-size:15px}button{cursor:pointer;background:var(--accent);color:#fff;border:1px solid #0000;border-radius:980px;padding:10px 20px;font-weight:600;transition:background .15s,transform .1s}button:hover{background:var(--accent-hover)}button:active{transform:scale(.98)}button.secondary{background:var(--surface);color:var(--accent);border:1px solid var(--border)}button.secondary:hover{background:var(--hover-bg)}button.ghost{color:var(--text-secondary);background:0 0;padding:6px 10px}button.ghost:hover{background:var(--ghost-hover-bg);color:var(--text)}button.danger{background:var(--danger)}button.link{color:var(--accent);text-underline-offset:2px;background:0 0;border-radius:0;padding:4px 0;font-size:13px;font-weight:600;text-decoration:underline}button.link:hover{color:var(--accent-hover)}button:disabled{opacity:.5;cursor:default}input,select,textarea{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);padding:10px 14px}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 2px var(--accent);outline:none}input::placeholder,textarea::placeholder{color:var(--text-secondary);opacity:1}.facet-grid select:has(option[value=""]:checked){color:var(--text-secondary)}button:focus-visible{box-shadow:0 0 0 2px var(--accent);outline:none}@media (forced-colors:active){input:focus,select:focus,button:focus-visible{outline:2px solid}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-reduced-transparency:reduce){.app-header{background:var(--surface)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}.password-field{position:relative}.password-field input{width:100%;padding-right:40px}.password-field .password-toggle{border-radius:var(--radius-sm);background:0 0;border:none;padding:4px 8px;line-height:1;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.password-field .password-toggle:hover{background:var(--ghost-hover-bg)}.password-field .password-toggle:active{transform:translateY(-50%)scale(.95)}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:24px}.card.clickable{cursor:pointer;transition:box-shadow .15s,transform .1s}.card.clickable:hover{box-shadow:var(--shadow-hover)}a{color:var(--accent);text-decoration:none}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:10px}.app-header{z-index:10;background:var(--header-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;transition:box-shadow .2s;display:flex;position:sticky;top:0;box-shadow:0 0 #0000}.app-header--scrolled{box-shadow:var(--header-edge-shadow)}.app-nav{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:4px;display:flex;overflow-x:auto}.app-nav::-webkit-scrollbar{display:none}.app-nav a{flex-shrink:0}.app-header-left{flex:auto;align-items:center;gap:20px;min-width:0;display:flex}.app-header-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.pill{background:var(--pill-bg);color:var(--text-secondary);border-radius:980px;align-items:center;gap:4px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}a.pill{cursor:pointer;text-decoration:none;transition:background .15s}a.pill:hover{background:var(--hover-bg);color:var(--text)}.app-nav--scrollable{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000 100%)}.results-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.facet-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:start;gap:12px;display:grid}.facet-grid>label{min-width:0}.facet-grid input,.facet-grid select,.facet-grid .combobox{box-sizing:border-box;width:100%;min-width:0}.combobox,.input-clear-row{position:relative}.input-clear-row input{padding-right:32px}.input-clear-btn{border-radius:var(--radius-sm);color:var(--text-secondary);background:0 0;border:none;padding:4px 8px;font-size:16px;line-height:1;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.input-clear-btn:hover{background:var(--ghost-hover-bg);color:var(--text)}.combobox-list{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);max-height:260px;box-shadow:var(--shadow-hover);padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.combobox-option{text-align:left;width:100%;color:var(--text);border-radius:var(--radius-sm);background:0 0;padding:8px 10px;font-weight:400;display:block}.combobox-option:hover,.combobox-option--active{background:var(--hover-bg)}.combobox-empty{color:var(--text-secondary);padding:8px 10px;font-size:13px}.field-grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.kpi-tile{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow);flex-direction:column;gap:4px;padding:16px;display:flex}.kpi-value{font-size:26px;font-weight:600}.kpi-label{color:var(--text-secondary);font-size:13px}table.data-table{border-collapse:collapse;width:100%;font-size:14px}table.data-table th,table.data-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:8px 10px}table.data-table th{color:var(--text-secondary);white-space:nowrap;font-weight:600}@media (width<=700px){main{padding:16px!important}.app-header-left{gap:12px}.app-header-actions span{display:none}.field-grid-2{grid-template-columns:1fr}}@media print{.app-header,.no-print{display:none!important}.card{box-shadow:none;border-radius:0;padding:0 0 16px}a{color:inherit;text-decoration:none}.pill{border:1px solid #999}}
