:root{--bg: #f4f6f8;--surface: #ffffff;--surface-2: #edf0f4;--ink: #16191d;--muted: #5d6672;--line: #e2e6eb;--accent: #1a56db;--accent-ink: #ffffff;--accent-soft: #e9effd;--danger: #b42318;--danger-soft: #fdecea;--radius: 14px;--radius-sm: 9px;--shadow: 0 1px 2px rgb(22 25 29 / .05);--shadow-lg: 0 12px 40px rgb(10 12 15 / .14);--chart-1: #4f46e5;--chart-2: #0ea5e9;--chart-3: #10b981;--chart-4: #f59e0b;--chart-5: #ec4899;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}.app{max-width:1120px;margin:0 auto;padding:0 1.25rem 4rem}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}@keyframes pop{0%{opacity:0;transform:scale(.92)}}@keyframes fade{0%{opacity:0}}@keyframes fill-x{0%{width:0}}@keyframes fill-y{0%{height:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(22px) scale(.98)}}.view-enter{animation:rise .32s ease-out both}.nav-right{display:flex;align-items:center;gap:.75rem;margin-left:auto}.user-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .35rem .25rem .25rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);box-shadow:var(--shadow);max-width:240px}.user-avatar,.user-avatar-fallback{width:26px;height:26px;border-radius:50%;flex:none}.user-avatar{object-fit:cover;display:block}.user-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--muted);font-size:.75rem;font-weight:700}.user-name{font-size:.82rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border:none;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}.icon-btn:hover{color:var(--ink);background:var(--surface-2)}.icon-btn:active{transform:scale(.94)}.login-shell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;max-width:560px;width:100%;margin:0 auto;padding:1rem 0 4rem;min-height:calc(100vh - 120px);min-height:calc(100dvh - 120px)}.login-card{width:min(420px,100%);text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);padding:2.5rem 2rem 2rem;animation:modal-in .36s cubic-bezier(.21,1.02,.73,1) both}.login-brand{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:18px;background:var(--accent-soft);color:var(--accent);margin-bottom:1rem}.login-brand-img{width:72px;height:72px;border-radius:20px;margin-bottom:1rem;box-shadow:var(--shadow)}.login-card h1{margin:0 0 1.4rem;font-size:1.6rem;letter-spacing:-.025em}.login-error{display:flex;align-items:center;justify-content:center;gap:.45rem;font-size:.86rem;color:var(--danger);background:var(--danger-soft);border-radius:10px;padding:.65rem .8rem;margin:0 0 1.1rem}.discord-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;width:100%;min-height:48px;font:inherit;font-size:.95rem;font-weight:650;text-decoration:none;padding:.8rem 1.2rem;border:none;border-radius:12px;background:#5865f2;color:#fff;cursor:pointer;transition:filter .16s ease,transform 80ms ease}.discord-btn:hover{filter:brightness(1.07)}.discord-btn:active{transform:scale(.98)}.discord-btn:focus-visible,.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.brand{display:inline-flex;align-items:center;gap:.55rem;font-weight:700;letter-spacing:-.01em;white-space:nowrap}.brand svg{color:var(--accent)}.tabs{display:inline-flex;gap:.25rem;padding:.25rem;background:var(--surface-2);border-radius:999px}.tab{display:inline-flex;align-items:center;gap:.45rem;border:none;background:transparent;color:var(--muted);font:inherit;font-size:.88rem;font-weight:600;padding:.45rem 1rem;border-radius:999px;cursor:pointer;transition:background .16s ease,color .16s ease}.tab.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.app.landing{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.app.landing .view-enter{flex:1;display:flex;flex-direction:column;justify-content:center}.hero{max-width:720px;margin:0 auto;padding:3.25rem 0 1.25rem;text-align:center}.hero-landing{padding:0 0 1rem}.hero-landing h1{font-size:clamp(2.4rem,5vw,3.5rem)}.hero h1{margin:0;font-size:clamp(2rem,4vw,2.75rem);letter-spacing:-.03em;line-height:1.1;animation:rise .4s ease-out both}.hero .lede{color:var(--muted);margin:.6rem 0 1.4rem;font-size:1rem;animation:rise .4s 60ms ease-out both}.search-wrap{position:relative;max-width:560px;margin:0 auto;animation:rise .4s .12s ease-out both}.search-icon{position:absolute;left:1.1rem;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.search{width:100%;font:inherit;font-size:1.05rem;padding:1rem 1.25rem 1rem 3rem;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:inherit;box-shadow:var(--shadow);transition:border-color .16s ease,box-shadow .16s ease}.search::placeholder{color:var(--muted);opacity:.85}.search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.hero-actions{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-top:1rem}.filter-btn{display:inline-flex;align-items:center;gap:.5rem;font:inherit;font-size:.9rem;font-weight:600;padding:.55rem 1.1rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:inherit;cursor:pointer;box-shadow:var(--shadow);transition:border-color .16s ease,transform 80ms ease}.filter-btn:hover{border-color:var(--ink)}.filter-btn:active{transform:scale(.97)}.filter-btn.open{border-color:var(--accent);color:var(--accent)}.count-badge{min-width:1.35rem;height:1.35rem;display:inline-flex;align-items:center;justify-content:center;padding:0 .3rem;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:.75rem;font-weight:700}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;font:inherit;font-size:.9rem;font-weight:650;padding:.6rem 1.25rem;border:none;border-radius:10px;background:var(--accent);color:var(--accent-ink);cursor:pointer;transition:transform 80ms ease,filter .16s ease}.btn-primary:hover{filter:brightness(1.07)}.btn-primary:active{transform:scale(.98)}.btn-ghost{display:inline-flex;align-items:center;gap:.45rem;font:inherit;font-size:.88rem;font-weight:600;padding:.55rem 1rem;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer}.btn-ghost:hover{color:var(--ink);border-color:var(--line)}.collapsible{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .35s ease,opacity .3s ease,margin .35s ease;margin-top:0}.collapsible.open{grid-template-rows:1fr;opacity:1;margin-top:1rem}.collapsible-inner{overflow:hidden;min-height:0}.filters-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem;text-align:left}.filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:.7rem;align-items:end}.field{display:grid;gap:.3rem;font-size:.78rem;font-weight:650;color:var(--muted)}.field select,.field input{font:inherit;font-weight:400;font-size:.88rem;color:var(--ink);padding:.55rem .65rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%}.field select:focus-visible,.field input:focus-visible,.clear:focus-visible,.pager button:focus-visible,.close:focus-visible,.tab:focus-visible,.filter-btn:focus-visible,.chip:focus-visible,.btn-primary:focus-visible,.btn-ghost:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.check{display:inline-flex;align-items:center;gap:.5rem;font-size:.88rem;font-weight:500;color:var(--ink);padding:.55rem .7rem;border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.check input{accent-color:var(--accent);margin:0}.clear{font:inherit;font-size:.88rem;padding:.55rem .9rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;color:inherit;transition:border-color .12s ease,transform 60ms ease}.clear:hover{border-color:var(--ink)}.clear:active{transform:scale(.98)}.chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0 0 1rem;padding:0}.chips li{animation:pop .22s ease-out both}.chip{display:inline-flex;align-items:center;gap:.45rem;font:inherit;font-size:.82rem;font-weight:550;padding:.35rem .75rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:inherit;cursor:pointer;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:border-color .14s ease}.chip:hover{border-color:var(--danger);color:var(--danger)}.results-meta{color:var(--muted);font-size:.88rem;margin:0 0 .7rem}.results-meta strong{color:var(--ink);font-weight:600}.empty-state,.error-page{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:3.25rem 1.5rem;margin:1.5rem auto;max-width:560px;animation:rise .3s ease-out both}.empty-state h2,.error-page h2{margin:0 0 .4rem;font-size:1.25rem;letter-spacing:-.02em}.empty-state p,.error-page p{margin:0 0 1.4rem;color:var(--muted);font-size:.94rem}.error-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--danger-soft);color:var(--danger);margin-bottom:1rem}.error-code{display:block;color:var(--muted);font-size:.8rem;letter-spacing:.08em;margin-bottom:.4rem}.error-actions{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}.skel-row{display:grid;grid-template-columns:40px 1.4fr 1fr 1fr 1fr;gap:.9rem;align-items:center;padding:.8rem .85rem;border-bottom:1px solid var(--line)}.skel-row:last-child{border-bottom:none}.skel{height:.8rem;border-radius:4px;background:var(--surface-2)}.skel.circle{width:32px;height:32px;border-radius:50%}.skel.circle-lg{width:112px;height:112px;border-radius:24px}@media(prefers-reduced-motion:no-preference){.skel{animation:skel-pulse 1.4s ease-in-out infinite}@keyframes skel-pulse{50%{opacity:.45}}}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:.68rem .9rem;border-bottom:1px solid var(--line)}thead th{color:var(--muted);font-weight:650;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;background:var(--surface)}tbody tr{cursor:pointer;transition:background .12s ease;animation:rise .3s ease-out both}tbody tr:nth-child(2){animation-delay:30ms}tbody tr:nth-child(3){animation-delay:60ms}tbody tr:nth-child(4){animation-delay:90ms}tbody tr:nth-child(5){animation-delay:.12s}tbody tr:nth-child(6){animation-delay:.15s}tbody tr:nth-child(n+7){animation-delay:.18s}tbody tr:hover,tbody tr:focus-visible{background:var(--accent-soft)}tbody tr:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}tbody tr:active{transform:scale(.998)}tbody tr:last-child td{border-bottom:none}.person{display:flex;align-items:center;gap:.7rem;min-width:180px}.person .name{font-weight:600}td .sub-cell{display:block;color:var(--muted);font-size:.8rem;font-weight:400}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}.major-cell{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.mini-pill{font-size:.68rem;font-weight:700;letter-spacing:.03em;padding:.12rem .5rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}.city-cell{color:var(--muted)}.hover-preview{position:fixed;z-index:40;width:340px;max-width:calc(100vw - 16px);background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:1rem 1.1rem .9rem;pointer-events:none;animation:pop .18s ease-out both}.hover-head{display:flex;align-items:center;gap:.8rem;margin-bottom:.75rem}.hover-avatar{width:56px;height:56px;border-radius:16px;object-fit:cover;flex:none;border:2px solid var(--accent);display:block}.hover-avatar-fallback{width:56px;height:56px;border-radius:16px;flex:none;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--muted);font-weight:700;font-size:1.3rem;border:2px solid var(--accent)}.hover-id-block{min-width:0}.hover-name{font-weight:700;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hover-id{color:var(--muted);font-size:.78rem}.hover-grid{display:grid;gap:.35rem;margin:0 0 .7rem}.hover-grid>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:.6rem;font-size:.83rem}.hover-grid dt{color:var(--muted);white-space:nowrap}.hover-grid dd{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hover-meta{display:flex;align-items:center;gap:.45rem;font-size:.8rem;color:var(--muted);margin-bottom:.55rem}.hover-hint{font-size:.75rem;color:var(--accent);font-weight:600}.pager{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;color:var(--muted);font-size:.88rem}.pager .controls{display:flex;gap:.5rem;flex-wrap:wrap}.pager button{padding:.5rem 1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;color:inherit;font:inherit;font-size:.88rem;transition:transform 60ms ease,border-color .12s ease}.pager button:hover:not(:disabled){border-color:var(--ink)}.pager button:active:not(:disabled){transform:scale(.98)}.pager button:disabled{opacity:.4;cursor:default}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0c0f80;display:flex;align-items:center;justify-content:center;padding:1.5rem 1rem;overflow-y:auto;z-index:10;animation:fade .22s ease-out both}.modal{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:2rem 2.25rem;max-width:880px;width:min(880px,calc(100vw - 2rem));margin:auto;position:relative;box-shadow:var(--shadow-lg);animation:modal-in .36s cubic-bezier(.21,1.02,.73,1) both}.detail-head{display:flex;align-items:center;gap:1.1rem;margin:.25rem 0 1.25rem}.detail-head h2{margin:0;font-size:1.45rem;letter-spacing:-.02em;line-height:1.2}.detail-head .idline{color:var(--muted);font-size:.85rem;margin-top:.2rem;display:block}.pills{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.55rem}.pill{font-size:.75rem;font-weight:600;padding:.22rem .7rem;border-radius:999px;background:var(--surface-2);color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill.accent{background:var(--accent-soft);color:var(--accent)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.detail-card.wide{grid-column:1 / -1}.detail-card{border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem;background:var(--surface)}.detail-card h3{display:flex;align-items:center;gap:.45rem;margin:0 0 .7rem;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.detail-card h3 svg{color:var(--accent)}.detail-card dl{display:grid;gap:0;margin:0}.field-row{display:grid;grid-template-columns:148px minmax(0,1fr);gap:.75rem;padding:.32rem 0}.field-row+.field-row{border-top:1px dashed var(--line)}.field-row dt{color:var(--muted);font-size:.83rem;white-space:nowrap}.field-row dd{margin:0;font-size:.9rem}.field-row dd.nowrap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.detail-foot{display:flex;align-items:center;gap:.45rem;margin:1.1rem 0 0;color:var(--muted);font-size:.85rem;overflow-wrap:anywhere}.detail-error{text-align:center;padding:2rem 1rem}.detail-error h2{margin:.6rem 0 .4rem;font-size:1.2rem}.detail-error p{color:var(--muted);margin:0 0 1.3rem;font-size:.92rem}.detail-head-skel{display:grid;gap:.6rem;margin-bottom:1.2rem}.close{position:absolute;top:.7rem;right:.7rem;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:50%;background:var(--surface-2);cursor:pointer;color:var(--muted);transition:color .14s ease,transform 80ms ease}.close:hover{color:var(--ink)}.close:active{transform:scale(.94)}.thumb{width:34px;height:34px;border-radius:50%;object-fit:cover;display:block;flex:none}.thumb-fallback,.avatar-fallback{display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--muted);font-weight:700}.thumb-fallback{width:34px;height:34px;font-size:.95rem}.avatar-btn{padding:3px;border:2px solid var(--accent);border-radius:28px;background:var(--surface);cursor:zoom-in;flex:none;line-height:0;transition:transform .14s ease,box-shadow .16s ease}.avatar-btn:hover{transform:scale(1.03);box-shadow:var(--shadow-lg)}.avatar-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.avatar{width:112px;height:112px;border-radius:24px;object-fit:cover;flex:none;box-shadow:var(--shadow);display:block}.avatar-click{width:106px;height:106px;box-shadow:none}.avatar-fallback{width:112px;height:112px;border-radius:24px;font-size:2.4rem}.detail-id{min-width:0}.detail-id h2{overflow-wrap:break-word}.zoom-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;padding:2rem 1rem;background:#0a0c0fc7;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:zoom-out;animation:fade .22s ease-out both}.zoom-img{max-width:min(520px,calc(100vw - 3rem));max-height:min(70vh,560px);width:auto;height:auto;border-radius:20px;border:3px solid var(--surface);box-shadow:var(--shadow-lg);object-fit:contain;animation:modal-in .32s cubic-bezier(.21,1.02,.73,1) both}.zoom-name{color:#fff;font-weight:600;font-size:1rem}.zoom-close{background:#ffffff24;color:#fff}.zoom-close:hover{color:#fff;background:#ffffff3d}.page-title{max-width:720px;margin:0 auto;padding:2.75rem 0 1.5rem;text-align:center}.page-title h1{margin:0;font-size:clamp(1.7rem,3.4vw,2.3rem);letter-spacing:-.025em;line-height:1.12}.page-title p{color:var(--muted);margin:.5rem 0 0}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-bottom:.8rem}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem 1.2rem;display:grid;gap:.25rem;animation:rise .35s ease-out both}.kpi:nth-child(2){animation-delay:60ms}.kpi:nth-child(3){animation-delay:.12s}.kpi:nth-child(4){animation-delay:.18s}.kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:10px;background:var(--accent-soft);color:var(--accent);margin-bottom:.4rem}.kpi-value{font-size:1.45rem;font-weight:700;letter-spacing:-.02em;overflow-wrap:anywhere}.kpi-label{color:var(--muted);font-size:.83rem}.panels{display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:dense;gap:.8rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem 1.35rem 1.4rem;animation:rise .35s ease-out both}.panel:nth-child(2){animation-delay:70ms}.panel:nth-child(3){animation-delay:.14s}.panel:nth-child(4){animation-delay:.21s}.panel:nth-child(5){animation-delay:.28s}.panel.wide{grid-column:span 2}.panel h2{margin:0 0 1rem;font-size:.95rem;font-weight:700;letter-spacing:-.01em}.bars{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.bar-row{display:grid;grid-template-columns:minmax(120px,200px) 1fr 64px;gap:.7rem;align-items:center;animation:rise .3s ease-out both;animation-delay:calc(var(--i, 0) * 45ms)}.bar-label{font-size:.83rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{height:10px;border-radius:999px;background:var(--surface-2);overflow:hidden}.bar-fill{display:block;height:100%;border-radius:999px;animation:fill-x 1.1s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--i, 0) * 60ms + .15s)}.bar-value{font-size:.8rem;color:var(--muted);text-align:right}.donut-wrap{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.donut{width:150px;height:150px;flex:none;animation:pop .5s ease-out both}.donut-base{fill:none;stroke:var(--surface-2);stroke-width:16}.donut-total{font-size:1.15rem;font-weight:700;fill:var(--ink)}.donut-cap{font-size:.6rem;fill:var(--muted)}.legend{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;font-size:.88rem;flex:1;min-width:160px}.legend li{display:flex;align-items:center;gap:.55rem}.legend .dot{width:.65rem;height:.65rem;border-radius:50%;flex:none}.legend-val{margin-left:auto;color:var(--muted);font-size:.8rem}.years{display:flex;gap:.55rem;align-items:stretch;min-height:190px}.year-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:.4rem;min-width:0;animation:rise .3s ease-out both;animation-delay:calc(var(--i, 0) * 45ms)}.year-val{font-size:.72rem;color:var(--muted)}.year-track{flex:1;width:100%;min-height:90px;border-radius:8px;background:var(--surface-2);display:flex;align-items:flex-end;overflow:hidden}.year-fill{width:100%;border-radius:8px;background:linear-gradient(180deg,var(--chart-1),var(--chart-2));animation:fill-y 1.1s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--i, 0) * 60ms + .15s)}.year-label{font-size:.72rem;color:var(--muted)}@media(max-width:900px){.kpis{grid-template-columns:1fr 1fr}.panels{grid-template-columns:1fr}.panel.wide{grid-column:span 1}}@media(max-width:640px){.app{padding:0 .9rem 3rem}.hero{padding:2.25rem 0 1rem}.hero h1{font-size:clamp(1.65rem,8vw,2.2rem)}.hero-landing h1{font-size:clamp(1.9rem,9vw,2.6rem)}.search{font-size:1rem;padding:.9rem 1rem .9rem 2.75rem}.hero-actions{flex-wrap:wrap}.filter-btn,.clear,.btn-primary,.btn-ghost{min-height:44px}.nav{flex-wrap:wrap;gap:.6rem}.brand{font-size:.95rem}.nav-right{flex:1 1 100%;flex-wrap:wrap}.tabs{flex:1 1 100%}.tab{flex:1;justify-content:center;min-height:44px;padding:.6rem .5rem}.user-chip{max-width:100%}.user-name{max-width:none;flex:1}.login-card{padding:2rem 1.25rem 1.75rem}.login-shell{padding:2.5rem 0}.filters{grid-template-columns:1fr 1fr}.filters>:nth-child(1),.filters>:nth-child(2),.filters>:nth-child(7),.filters>:nth-child(8),.filters>:nth-child(9){grid-column:span 2}.field select,.field input{font-size:16px}.table-wrap{overflow:visible;border:none;background:transparent;box-shadow:none}.table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td{display:block;width:100%}.table-wrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.table-wrap tbody tr{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:.35rem 1rem;margin-bottom:.65rem}.table-wrap tbody td{border-bottom:1px solid var(--line);padding:.55rem 0;display:grid;grid-template-columns:78px minmax(0,1fr);gap:.6rem;align-items:start}.table-wrap tbody td:last-child{border-bottom:none}.table-wrap tbody td:before{content:attr(data-label);color:var(--muted);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding-top:.15rem}.table-wrap tbody td:first-child{display:block}.table-wrap tbody td:first-child:before{display:none}.person{min-width:0}.skel-row{grid-template-columns:32px 1fr}.skel-row>:nth-child(2),.skel-row>:nth-child(3){grid-column:2}.skel-row>:nth-child(n+4){display:none}.pager{flex-direction:column;align-items:stretch}.pager-meta{text-align:center}.pager .controls{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.25rem}.pager button{min-height:44px;flex:none}.modal-backdrop{align-items:flex-end;padding:0}.modal{width:100%;max-width:100%;margin:auto 0 0;border-radius:20px 20px 0 0;border-left:none;border-right:none;border-bottom:none;padding:1.25rem 1.1rem calc(1.5rem + env(safe-area-inset-bottom));max-height:92dvh;overflow-y:auto}.detail-head{gap:.85rem;align-items:flex-start}.detail-head h2{font-size:1.15rem}.avatar,.avatar-fallback{width:76px;height:76px;border-radius:18px;font-size:1.7rem}.avatar-click{width:70px;height:70px}.detail-grid{grid-template-columns:1fr}.field-row{grid-template-columns:112px minmax(0,1fr)}.field-row dt{white-space:normal}.field-row dd{overflow-wrap:anywhere}.page-title{padding:1.75rem 0 1.1rem}.kpi{padding:.9rem}.kpi-value{font-size:1.15rem}.panel{padding:1rem}.bar-row{grid-template-columns:minmax(90px,130px) 1fr 56px}.donut-wrap{justify-content:center}.years{overflow-x:auto;padding-bottom:.25rem}.year-col{min-width:34px}.empty-state,.error-page{padding:2.25rem 1.1rem}}@media(prefers-color-scheme:dark){:root{--bg: #0f1114;--surface: #171a1f;--surface-2: #23282f;--ink: #e8eaed;--muted: #9aa3ad;--line: #2a2f36;--accent: #8babff;--accent-ink: #101828;--accent-soft: #1d2a45;--danger-soft: #3a1d19;--chart-1: #a5b4fc;--chart-2: #38bdf8;--chart-3: #34d399;--chart-4: #fbbf24;--chart-5: #f472b6;color-scheme:dark}.modal-backdrop{background:#0009}tbody tr:hover,tbody tr:focus-visible{background:var(--accent-soft)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.collapsible{opacity:1}.collapsible:not(.open){display:none}.collapsible.open{display:grid}}
