:root{--bg:#f7f8fb;--panel:#ffffff;--text:#0f172a;--muted:#475569;--border:#e2e8f0;--primary:#2f7cf6;--ring:#2f7cf6;--ring-soft: rgba(47,124,246,.15);--success:#16a34a;--danger:#dc2626;--control-bg:#ffffff;--control-text:#0f172a;--control-border:#d6dee6;--control-border-hover:#c8d3df;--control-border-error:#ef9a9a;--btn-bg:#eef2ff;--btn-text:#0f172a;--btn-border:#d6dee6;--btn-primary-bg:#1d4ed8;--btn-primary-bg-hover:#1e40af;--btn-primary-text:#ffffff;--sidebar-w:240px;--sidebar-w-collapsed:64px}:root[data-theme=dark]{--bg:#0b0d10;--panel:#12151a;--text:#eaeef2;--muted:#9aa4af;--border:#1e232b;--primary:#6da4ff;--ring:#6da4ff;--ring-soft: rgba(109,164,255,.18);--success:#20c997;--danger:#ef4444;--control-bg:#0f1116;--control-text:#eaeef2;--control-border:#2a3240;--control-border-hover:#354055;--control-border-error:#40252a;--btn-bg:#171b22;--btn-text:#eaeef2;--btn-border:#2a3240;--btn-primary-bg:#2748a5;--btn-primary-bg-hover:#1e3a8a;--btn-primary-text:#ffffff;--panel-elev-1:#161a1f;--panel-elev-2:#1b2230;--border-soft-d:#262d3a}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,Noto Sans,"Apple Color Emoji","Segoe UI Emoji";background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100dvh}.app-content{padding:24px}.sidebar{position:sticky;top:0;height:100dvh;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:16px;padding:12px;transition:width .2s ease;width:var(--sidebar-w)}.sidebar.is-collapsed{width:var(--sidebar-w-collapsed)}.sidebar__top{display:flex;flex-direction:column;gap:12px}.sidebar__bottom{margin-top:auto;display:flex;flex-direction:column;gap:8px}.brand{display:flex;align-items:center;gap:8px;padding:6px 8px}.brand__logo{width:24px;height:24px}.brand__name{font-weight:600}.menu{display:flex;flex-direction:column;gap:4px}.menu__item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:var(--text);border:1px solid transparent}.menu__item:hover{background:var(--ring-soft)}.menu__item.active,.menu__item[aria-current=page]{background:var(--ring-soft);border-left:3px solid var(--ring)}.menu__icon{width:20px;text-align:center}.is-disabled{opacity:.5;cursor:not-allowed}.user{display:flex;align-items:center;gap:10px;padding:8px}.user--lg{padding:10px 8px}.user__avatar{width:28px;height:28px;display:grid;place-items:center;background:var(--ring-soft);border-radius:50%}.user__avatar--lg{width:40px;height:40px;font-size:18px}.user__email{font-size:12px;color:var(--muted);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user__email--lg{font-size:13.5px;color:var(--text);font-weight:600}.btn{height:36px;border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--btn-text);border-radius:10px;padding:0 12px;cursor:pointer;transition:filter .15s ease,background .15s ease}.btn:hover{filter:brightness(.98)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:transparent}.btn--primary:hover{background:var(--btn-primary-bg-hover)}.btn--ghost{background:transparent}.btn--icon-left{display:flex;align-items:center;gap:8px}.btn--icon-only{display:grid;place-items:center;padding:0;height:36px;width:36px;border-radius:10px}.btn--icon-only svg,.btn--icon-left svg{flex:0 0 auto;fill:currentColor}.collapse-btn{font-size:13px;opacity:.9}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px}.stack{display:flex;flex-direction:column;gap:16px}.title{margin:0 0 8px;font-size:20px;font-weight:700;color:var(--text)}.subtitle{margin:0 0 10px;font-size:16px;font-weight:600;color:var(--muted)}.badges{display:flex;gap:8px;padding:0;margin:0;list-style:none;flex-wrap:wrap}.badge{font-size:12px;background:var(--ring-soft);border:1px solid var(--border);padding:6px 10px;border-radius:999px;color:var(--muted)}.form-field{display:flex;flex-direction:column;gap:6px}.label{font-size:14px;color:var(--muted)}.input{height:40px;border:1px solid var(--control-border);border-radius:10px;padding:0 12px;background:var(--control-bg);color:var(--control-text);transition:border-color .15s ease,box-shadow .15s ease}.input:hover{border-color:var(--control-border-hover)}.input:focus{outline:0;border-color:var(--ring);box-shadow:0 0 0 4px var(--ring-soft)}.input--error{border-color:var(--control-border-error)}.error{color:#b42318;font-size:12px}.muted{color:var(--muted)}.small{font-size:12px}.auth-wrap{min-height:100dvh;display:grid;place-items:center;padding:16px}.auth{width:100%;max-width:380px}.splash{min-height:100dvh;display:grid;place-items:center;gap:12px;text-align:center;color:var(--muted)}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--ring);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.switch{display:flex;align-items:center;gap:10px;border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--btn-text);border-radius:12px;padding:6px 10px;cursor:pointer}.switch--compact{justify-content:center;width:36px;height:36px;padding:0}.switch__label{font-weight:600}.switch__track{position:relative;width:42px;height:22px;border-radius:999px;background:var(--border);display:inline-block}.switch__thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--panel);box-shadow:0 1px 2px #0000001a;transition:transform .2s ease}html[data-theme=dark] .switch__track{background:var(--ring-soft)}html[data-theme=dark] .switch__thumb{transform:translate(20px)}.switch:hover{filter:brightness(.98)}.switch:focus-visible{outline:0;box-shadow:0 0 0 4px var(--ring-soft)}.hero{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--panel);padding:28px 20px;isolation:isolate}.hero__bg{position:absolute;inset:-20%;z-index:0;background:radial-gradient(40% 30% at 10% 10%,var(--ring-soft),transparent 60%),radial-gradient(40% 30% at 90% 20%,var(--ring-soft),transparent 60%),radial-gradient(60% 50% at 50% 120%,color-mix(in oklab,var(--ring) 20%,transparent),transparent 60%);filter:blur(22px);opacity:.9}.eyebrow{font-size:12px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}.hero__title{margin:0;font-size:clamp(20px,3.2vw,28px);line-height:1.2;font-weight:800}.accent{background:linear-gradient(90deg,var(--ring),color-mix(in oklab,var(--ring) 60%,var(--text)));-webkit-background-clip:text;background-clip:text;color:transparent}.hero__subtitle{margin:8px 0 12px;color:var(--muted)}.hero__chips{display:flex;gap:8px;flex-wrap:wrap}.chip{font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:var(--ring-soft);color:var(--muted)}.cta-grid{display:grid;gap:14px;margin-top:14px;grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width: 720px){.cta-grid{grid-template-columns:1fr}}.cta-card{position:relative;display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--panel);cursor:pointer;text-align:left;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.cta-card:hover{transform:translateY(-1px);box-shadow:0 8px 24px #00000014;border-color:color-mix(in oklab,var(--ring) 40%,var(--border))}.cta-card__icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--ring-soft);font-size:22px}.cta-card__title{margin:0 0 6px;font-size:16px;font-weight:700}.cta-card__desc{margin:0;color:var(--muted)}.cta-card__meta{margin-top:8px;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}.kbd{display:inline-block;padding:2px 6px;border-radius:6px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.cta-card__shine{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(600px 80px at var(--mx, 50%) var(--my, 0%),color-mix(in oklab,var(--ring) 25%,transparent),transparent 40%);opacity:0;transition:opacity .2s ease}.cta-card:hover .cta-card__shine{opacity:.9}.cta-card:focus-visible{outline:0;box-shadow:0 0 0 4px var(--ring-soft)}@media (hover:hover){.cta-card{--mx:50%;--my:0%}.cta-card:hover{will-change:transform}}@media (prefers-reduced-motion: reduce){.cta-card,.cta-card__shine{transition:none}}:root[data-theme=dark] .cta-card{background:var(--panel-elev-1);border-color:var(--border-soft-d);box-shadow:0 1px #00000059 inset,0 8px 20px #00000059}:root[data-theme=dark] .cta-card:hover{border-color:color-mix(in oklab,var(--ring) 30%,var(--border-soft-d));box-shadow:0 1px #00000059 inset,0 10px 26px #00000073}:root[data-theme=dark] .cta-card__icon{background:var(--panel-elev-2);border:1px solid var(--border-soft-d)}:root[data-theme=dark] .cta-card__shine{opacity:.55}:root[data-theme=dark] .cta-card__title{color:var(--text)}:root[data-theme=dark] .cta-card__desc{color:#b6c2d0}:root[data-theme=dark] .kbd{background:var(--panel-elev-2);border-color:var(--border-soft-d)}code{background:var(--ring-soft);padding:2px 6px;border-radius:6px}.result-wrap{padding-bottom:2rem}.hero{position:relative;overflow:hidden;border-radius:16px;padding:1.25rem;background:linear-gradient(135deg,#dd87251f,#00000008);border:1px solid #eee}.hero__bg{position:absolute;inset:-40%;background:radial-gradient(60rem 60rem at 10% 10%,rgba(221,135,37,.18),transparent 60%),radial-gradient(40rem 40rem at 90% 20%,rgba(0,0,0,.06),transparent 60%),radial-gradient(50rem 50rem at 50% 110%,rgba(221,135,37,.12),transparent 60%);filter:blur(20px);pointer-events:none}.hero__content{position:relative;z-index:1}.hero__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.hero__title{margin:0;font-size:1.4rem}.hero__actions{display:flex;gap:.5rem;flex-wrap:wrap}.hero__stat{margin-top:1rem;padding:1rem 1.25rem;background:#fff;border-radius:14px;box-shadow:0 4px 20px #0000000d;border:1px solid #f0f0f0}.hero__label{font-size:.9rem;color:#6b7280;margin-bottom:.25rem}.hero__value{font-size:clamp(1.8rem,3.8vw,2.6rem);font-weight:800;letter-spacing:-.02em}.hero__hint{font-size:.85rem;color:#6b7280;margin-top:.25rem}.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .55rem;border-radius:999px;font-size:.8rem;border:1px dashed rgba(0,0,0,.12)}.badge--soft{background:#dd87251a;border-color:#dd87254d}.btn{cursor:pointer}.btn--primary{background:#dd8725;color:#fff;border:none;padding:.6rem .9rem;border-radius:10px;font-weight:600;box-shadow:0 6px 18px #dd872540}.btn--primary:hover{filter:brightness(1.02)}.btn--ghost{background:transparent;border:1px solid #e5e7eb;color:#111827;padding:.55rem .85rem;border-radius:10px}.stat-card{background:#fff;border:1px solid #eee;border-radius:14px;padding:1rem 1.1rem;box-shadow:0 4px 20px #0000000a}.stat-card--accent{background:linear-gradient(180deg,#fff,#dd87250f)}.stat-card__label{font-size:.9rem;color:#6b7280}.stat-card__value{font-size:clamp(1.3rem,3vw,1.8rem);font-weight:700;margin-top:.2rem}.stat-card__hint{font-size:.85rem;color:#6b7280;margin-top:.2rem}.card__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.input--sm{padding:.4rem .6rem;font-size:.9rem}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.6rem .7rem;border-bottom:1px solid #f1f1f1;text-align:left}.table thead th{background:#fafafa;font-weight:700}.th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.sort-icon{margin-left:.35rem;display:inline-block;width:10px;height:10px;opacity:.25}.sort-icon--active{opacity:.8}.sort-icon.asc{clip-path:polygon(50% 0,0 100%,100% 100%);background:currentColor}.sort-icon.desc{clip-path:polygon(0 0,100% 0,50% 100%);background:currentColor}.result-cta{display:flex;justify-content:center;margin-top:1.25rem}.stats-row{display:flex;gap:1rem;overflow-x:auto;padding:.25rem .1rem;margin-top:1.25rem;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}.stats-row .stat-card{flex:1 0 260px;scroll-snap-align:start}@media (min-width: 900px){.stats-row .stat-card{flex:1 0 0}}.collapsible{padding:0}.collapsible>.collapsible__summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;cursor:pointer;border-bottom:1px solid #eee}.collapsible>.collapsible__summary::-webkit-details-marker{display:none}.collapsible .collapsible__content{padding:.9rem 1rem 1rem}.chevron{width:12px;height:12px;background:currentColor;opacity:.5;clip-path:polygon(10% 30%,50% 70%,90% 30%,100% 40%,50% 90%,0 40%);transition:transform .18s ease}.collapsible[open] .chevron{transform:rotate(180deg)}.table-toolbar{display:flex;justify-content:flex-end;margin-bottom:.35rem}:root[data-theme=dark] .sidebar__bottom .btn--ghost{color:var(--text);border-color:var(--border-soft-d);background:transparent}:root[data-theme=dark] .sidebar__bottom .btn--ghost:hover{background:var(--panel-elev-2)}:root[data-theme=dark] .sidebar__bottom .btn--icon-only{color:var(--muted);border-color:var(--border-soft-d);background:transparent}:root[data-theme=dark] .sidebar__bottom .btn--icon-only:hover{color:var(--text);background:var(--panel-elev-2)}:root[data-theme=dark] .sidebar__bottom .btn--ghost:hover,:root[data-theme=dark] .sidebar__bottom .btn--icon-only:hover{border-color:color-mix(in oklab,var(--ring) 35%,var(--border-soft-d))}:root[data-theme=dark] .hero{background:linear-gradient(180deg,#0e1014,#0b0d10);border-color:var(--border-soft-d)}:root[data-theme=dark] .hero__bg{opacity:.6;filter:blur(18px)}:root[data-theme=dark] .hero__label{color:#c7d1df}:root[data-theme=dark] .hero__value{color:#f2f5fb;opacity:1}:root[data-theme=dark] .hero__hint{color:#9fb0c6}:root[data-theme=dark] .stats-row .stat-card{background:var(--panel-elev-1);border:1px solid var(--border-soft-d);box-shadow:0 1px #00000059 inset,0 8px 22px #00000059}:root[data-theme=dark] .stats-row .stat-card__label{color:#c7d1df}:root[data-theme=dark] .stats-row .stat-card__value{color:#f2f5fb}:root[data-theme=dark] .stats-row .stat-card__hint{color:#9fb0c6}:root[data-theme=dark] .stats-row .stat-card--accent{background:linear-gradient(180deg,#6da4ff2e,#6da4ff0f),var(--panel-elev-1);border:1px solid color-mix(in oklab,var(--ring) 30%,var(--border-soft-d));box-shadow:0 1px #00000059 inset,0 10px 26px #00000073}:root[data-theme=dark] .stats-row .stat-card--accent .stat-card__label{color:#d6e3ff}:root[data-theme=dark] .stats-row .stat-card--accent .stat-card__value{color:#fff}:root[data-theme=dark] .stats-row .stat-card--accent .stat-card__hint{color:#b9c9e6}@media (hover:hover){:root[data-theme=dark] .stats-row .stat-card:hover{border-color:color-mix(in oklab,var(--ring) 35%,var(--border-soft-d));box-shadow:0 1px #00000059 inset,0 12px 28px #00000080}}:root[data-theme=dark] .result-wrap .hero{background:var(--panel-elev-1);border-color:var(--border-soft-d)}:root[data-theme=dark] .result-wrap .hero__bg{opacity:.35;filter:blur(18px);background:radial-gradient(40% 30% at 12% 12%,color-mix(in oklab,var(--ring) 12%,transparent),transparent 60%),radial-gradient(40% 30% at 88% 18%,rgba(255,255,255,.04),transparent 60%),radial-gradient(60% 50% at 50% 120%,rgba(255,255,255,.03),transparent 60%)}:root[data-theme=dark] .result-wrap .hero__stat{background:var(--panel-elev-1);border-color:var(--border-soft-d);box-shadow:0 1px #00000059 inset,0 8px 18px #00000059}:root[data-theme=dark] .result-wrap .hero__label{color:#c7d1df}:root[data-theme=dark] .result-wrap .hero__value{color:#f2f5fb}:root[data-theme=dark] .result-wrap .hero__hint{color:#9fb0c6}:root[data-theme=dark] .result-wrap .stats-row .stat-card{background:var(--panel-elev-1);border:1px solid var(--border-soft-d);box-shadow:0 1px #0000004d inset,0 6px 16px #0000004d}:root[data-theme=dark] .result-wrap .stats-row .stat-card--accent{background:linear-gradient(180deg,#6da4ff24,#6da4ff0d),var(--panel-elev-1);border:1px solid color-mix(in oklab,var(--ring) 26%,var(--border-soft-d));box-shadow:0 1px #0000004d inset,0 8px 18px #00000059}:root[data-theme=dark] .result-wrap .table thead th{background:var(--panel-elev-2);border-bottom-color:var(--border-soft-d);color:#d7e0ec}:root[data-theme=dark] .result-wrap .table-toolbar .input{background:var(--panel-elev-2);border-color:var(--border-soft-d);color:var(--text)}:root[data-theme=dark] .table thead th{background:var(--panel-elev-2);color:#d7e0ec;border-bottom:1px solid var(--border-soft-d)}:root[data-theme=dark] .table td{border-bottom:1px solid var(--border-soft-d);color:var(--text)}:root[data-theme=dark] .table tbody tr:hover{background:color-mix(in oklab,var(--panel-elev-2) 60%,transparent)}:root[data-theme=dark] .table tbody tr:nth-child(2n){background:color-mix(in oklab,var(--panel-elev-1) 40%,transparent)}:root[data-theme=dark] .table-toolbar .input{background:var(--panel-elev-2);border-color:var(--border-soft-d);color:var(--text)}:root[data-theme=dark] .card .table{border-color:var(--border-soft-d)}.btn.btn--ghost{background:transparent;border:1px solid transparent;color:#444;transition:all .2s}.btn.btn--ghost:hover{border-color:currentColor;background:#0000000d}:root[data-theme=dark] .btn.btn--ghost{color:#eee;background:transparent}:root[data-theme=dark] .btn.btn--ghost:hover{background:#ffffff1a;border-color:#888}.spinner{display:inline-flex;vertical-align:middle;line-height:0}.spinner__svg{width:100%;height:100%;animation:spinner-rotate 1s linear infinite}.spinner__track,.spinner__arc{fill:none;stroke-width:4;stroke-linecap:round}.spinner__track{opacity:.18}.spinner__arc{stroke-dasharray:140;stroke-dashoffset:100}:root .spinner__track{stroke:#111}:root .spinner__arc{stroke:#111}:root[data-theme=dark] .spinner__track{stroke:#fff}:root[data-theme=dark] .spinner__arc{stroke:#fff}@media (prefers-reduced-motion: reduce){.spinner__svg{animation:none}}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.loading-overlay__wrap{position:relative}.loading-overlay{position:absolute;inset:0;display:grid;place-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000000f;border-radius:inherit}.loading-overlay--fullscreen{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000001a}.loading-overlay__content{display:grid;gap:10px;place-items:center;padding:16px 18px;border-radius:12px;background:#fff;color:#111;box-shadow:0 8px 30px #0000001f}.loading-overlay__text{font-size:.95rem}:root[data-theme=dark] .loading-overlay{background:#ffffff0f}:root[data-theme=dark] .loading-overlay--fullscreen{background:#ffffff14}:root[data-theme=dark] .loading-overlay__content{background:#1c1c1c;color:#f2f2f2;box-shadow:0 8px 30px #00000059}.btn.btn--loading{pointer-events:none;opacity:.9}.btn.btn--loading .btn__content{display:inline-flex;align-items:center;gap:8px}.spinner--inline{margin:0 6px}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-top:1px solid var(--border, #e5e7eb)}.pager__info{white-space:nowrap}.pager__nav{display:flex;align-items:center;gap:6px}.btn[disabled]{opacity:.5;pointer-events:none}.combo{position:relative}.combo__field{display:flex;align-items:center;gap:8px;padding:0 8px;cursor:text;background:var(--control-bg);color:var(--control-text)}.combo__field[aria-disabled=true]{cursor:not-allowed;opacity:.7}.combo__input{flex:1 1 auto;height:38px;border:0;outline:0;background:transparent;color:var(--control-text)}.combo__chev{-webkit-user-select:none;user-select:none;opacity:.7}.combo__list{position:absolute;z-index:50;top:calc(100% + 6px);left:0;right:0;max-height:280px;overflow-y:auto;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0000002e}.combo__hint{padding:10px 12px;font-size:14px;color:var(--muted)}.combo__error{padding:10px 12px;font-size:14px;color:var(--danger)}.combo__option{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;cursor:pointer}.combo__option.is-active{background:color-mix(in oklab,var(--ring-soft) 65%,transparent)}.combo__brand{color:var(--text)}.combo__country{font-size:12px;color:var(--muted)}
