@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--bg: #eef1f6;--bg-canvas: #f5f7fa;--bg-elevated: #ffffff;--bg-subtle: #eef1f6;--ink: #101a2e;--ink-muted: #5b6778;--ink-faint: #8892a3;--line: #dfe4ec;--line-strong: #cbd3e0;--accent: #e8720c;--accent-hover: #cf6408;--accent-ink: #ffffff;--accent-soft: rgba(232, 114, 12, .1);--ok: #12795a;--ok-soft: rgba(18, 121, 90, .1);--info: #0b2c5c;--info-soft: rgba(11, 44, 92, .08);--warn: #9a6700;--warn-soft: rgba(154, 103, 0, .12);--danger: #b3231e;--danger-soft: rgba(179, 35, 30, .1);--sidebar-bg: #0b2c5c;--sidebar-bg-deep: #081f42;--sidebar-ink: #cfdaee;--sidebar-ink-muted: #7e93bb;--sidebar-line: rgba(255, 255, 255, .1);--sidebar-scrollbar-thumb: rgba(207, 218, 238, .3);--sidebar-scrollbar-thumb-hover: rgba(207, 218, 238, .52);--sidebar-active-bg: rgba(255, 255, 255, .08);--sidebar-accent: #f2811d;--sidebar-width: 260px;--topbar-height: 60px;--radius: 12px;--radius-sm: 8px;--z-modal: 100;--z-popover: 110;--shadow: 0 1px 0 rgba(11, 26, 51, .03), 0 10px 28px rgba(11, 26, 51, .06);--shadow-lg: 0 20px 48px rgba(11, 26, 51, .16);--font: "Geist Variable", "Segoe UI", sans-serif;--mono: "Geist Mono Variable", ui-monospace, monospace;font-family:var(--font);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}[data-theme=dark]{color-scheme:dark;--bg: #0a121f;--bg-canvas: #0b1420;--bg-elevated: #121c2d;--bg-subtle: #101827;--ink: #e7ecf5;--ink-muted: #94a1b8;--ink-faint: #616f88;--line: rgba(148, 163, 184, .15);--line-strong: rgba(148, 163, 184, .26);--accent: #f2924a;--accent-hover: #f5a668;--accent-ink: #241000;--accent-soft: rgba(242, 146, 74, .16);--ok: #6ee0b5;--ok-soft: rgba(110, 224, 181, .12);--info: #7fa8e0;--info-soft: rgba(127, 168, 224, .14);--warn: #f4c26b;--warn-soft: rgba(244, 194, 107, .12);--danger: #f2a3a0;--danger-soft: rgba(242, 163, 160, .12);--sidebar-bg-deep: #050f22;--sidebar-active-bg: rgba(255, 255, 255, .06);--shadow: 0 1px 0 rgba(0, 0, 0, .2), 0 10px 28px rgba(0, 0, 0, .4);--shadow-lg: 0 20px 48px rgba(0, 0, 0, .5)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}#root:has(.signin-shell-auth-error){padding:8px}body{margin:0;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none;appearance:none;-webkit-appearance:none;text-align:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.app-shell{min-height:100dvh;display:grid;grid-template-columns:var(--sidebar-width) 1fr}.sidebar{background:var(--sidebar-bg);color:var(--sidebar-ink);display:flex;flex-direction:column;position:sticky;top:0;height:100dvh;z-index:30}.sidebar-brand{display:flex;align-items:center;gap:.65rem;padding:1.15rem 1.15rem 1rem;border-bottom:1px solid var(--sidebar-line)}.brand-mark{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(155deg,#f2924a,var(--sidebar-accent));color:#fff;font-weight:700;font-size:.95rem;flex-shrink:0}.brand-title{display:block;font-size:.95rem;letter-spacing:-.02em;color:#fff;font-weight:650;line-height:1.25}.brand-subtitle{display:block;font-size:.7rem;color:var(--sidebar-ink-muted);letter-spacing:.06em;text-transform:uppercase;font-weight:600;margin-top:.1rem}.sidebar-nav{flex:1;overflow-y:auto;scrollbar-color:var(--sidebar-scrollbar-thumb) transparent;scrollbar-width:thin;padding:.9rem .7rem;display:flex;flex-direction:column;gap:1.25rem}.sidebar-nav::-webkit-scrollbar{width:8px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:var(--sidebar-scrollbar-thumb);background-clip:padding-box}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--sidebar-scrollbar-thumb-hover);background-clip:padding-box}.nav-group{display:flex;flex-direction:column;gap:.15rem}.nav-group-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:var(--sidebar-ink-muted);font-weight:700;padding:0 .6rem;margin-bottom:.35rem}.nav-item{display:flex;align-items:center;gap:.65rem;padding:.55rem .65rem .55rem .6rem;border-radius:var(--radius-sm);border-left:3px solid transparent;color:var(--sidebar-ink);font-size:.87rem;font-weight:500;transition:background .14s ease,color .14s ease,border-color .14s ease}.nav-item-icon{flex-shrink:0;opacity:.85}.nav-item:hover{background:#ffffff0f;color:#fff}.nav-item.active{background:var(--sidebar-active-bg);border-left-color:var(--sidebar-accent);color:#fff;font-weight:650}.sidebar-foot{display:flex;align-items:center;gap:.6rem;padding:.9rem 1.05rem;border-top:1px solid var(--sidebar-line);flex-wrap:wrap}.sidebar-foot .sign-out{flex-basis:100%;justify-content:center;margin-top:.4rem}.sidebar-foot-text{display:flex;flex-direction:column;min-width:0}.sidebar-foot .identity-name{color:#fff;font-size:.83rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-foot .identity-email{color:#ffffff8c;font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-scrim{display:none}.signin-shell{position:relative;min-height:100dvh;display:grid;place-items:center;padding:1.5rem;background:var(--bg-canvas);overflow-x:clip}.signin-shell-auth-error{min-height:calc(100dvh - 16px);margin:0;padding:4rem 2rem;background:#fff;border:1px solid #e5e5e5;border-radius:28px;color:#111;color-scheme:light;overflow-y:hidden}.signin-shell-auth-error .signin-bg{display:none}.signin-bg{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(560px 420px at 18% 8%,var(--info-soft),transparent 70%),radial-gradient(640px 480px at 85% 92%,var(--accent-soft),transparent 72%),radial-gradient(420px 320px at 78% 12%,var(--sidebar-active-bg),transparent 70%)}.signin-bg:after{content:"";position:absolute;inset:0;background-image:radial-gradient(var(--line) 1px,transparent 1px);background-size:26px 26px;mask-image:radial-gradient(ellipse 90% 70% at 50% 45%,black 0%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 45%,black 0%,transparent 78%);opacity:.5}.signin-theme-toggle{position:absolute;top:1.1rem;right:1.1rem;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-elevated);color:var(--ink-muted);transition:color .15s ease,border-color .15s ease,transform .12s ease}.signin-theme-toggle:hover{color:var(--ink);border-color:var(--line-strong)}.signin-theme-toggle:active{transform:translateY(1px)}.signin-inner{position:relative;z-index:1;width:min(400px,100%);display:flex;flex-direction:column;gap:1.4rem;animation:signin-rise .55s cubic-bezier(.16,1,.3,1) both}.signin-inner-auth-error{width:min(748px,100%);gap:0;animation:none}.signin-brand{display:flex;align-items:center;gap:.7rem;justify-content:center}.signin-mark{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--radius-sm);background:var(--sidebar-bg);color:#fff;font-weight:700;font-size:1.15rem;letter-spacing:.01em;box-shadow:inset 0 1px 0 var(--sidebar-line)}.signin-brand-auth-error .signin-mark{width:30px;height:30px;border-radius:50%;background:var(--warn-soft);color:var(--warn);box-shadow:none}.signin-brand-auth-error .signin-mark svg{width:17px;height:17px}.signin-brand-copy{display:flex;flex-direction:column;line-height:1.25}.signin-brand-copy strong{font-size:.98rem;font-weight:650}.signin-brand-copy span{font-size:.78rem;color:var(--ink-muted)}.signin-card{display:grid;gap:.85rem;padding:1.7rem 1.6rem 1.5rem;background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.signin-card-checking{justify-items:center;padding:1.9rem 1.6rem}.signin-card-auth-error{width:100%;max-width:none;align-items:center;justify-items:center;gap:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;text-align:center;transform:translateY(-19px)}.signin-auth-error-icon{display:inline-flex;align-items:center;justify-content:center;width:86px;height:86px;margin-bottom:45px;border-radius:50%;background:#eff3fb;color:#2d5797}.signin-auth-error-icon svg{width:38px;height:38px;stroke-width:2.2}.signin-error-actions{width:100%;margin-top:42px;display:grid;gap:17px}.signin-link-row{display:flex;align-items:center;gap:.75rem;min-height:5.3rem;padding:.72rem 1.7rem;border:1px solid var(--line);border-radius:16px;color:#171717;transition:border-color .16s ease,background .16s ease}.signin-link-row:hover{border-color:var(--line-strong);background:var(--bg-subtle)}.signin-link-row-emphasized{border-color:#dcdcdc}.signin-link-row-emphasized:hover{border-color:#c9c9c9;background:#fafafa}.signin-link-icon{display:inline-flex;color:#606060;flex-shrink:0}.signin-link-icon svg{width:29px;height:29px;stroke-width:1.8}.signin-link-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:.18rem;align-items:flex-start;font-size:1.6rem;font-weight:600;line-height:1.3;text-align:left}.signin-link-copy small{color:#969696;font-size:1.25rem;font-weight:400}.signin-link-arrow{width:28px;height:28px;color:#989898;flex-shrink:0}.signin-card-auth-error .signin-title{font-size:clamp(2rem,4vw,2.25rem);line-height:1.2;letter-spacing:-.025em}.signin-card-auth-error .signin-sub{max-width:45rem;margin-top:27px;color:#5e5e5e;font-size:clamp(1.35rem,3vw,1.75rem);font-weight:500;line-height:1.55}.signin-card-auth-error .signin-link-row:last-child{min-height:9rem;align-items:flex-start;padding-top:1.5rem}.signin-card-auth-error .signin-link-row:last-child .signin-link-arrow{margin-top:.05rem}.signin-pulse{width:148px;height:3px;border-radius:999px;background:var(--line);overflow:hidden;position:relative}.signin-pulse:after{content:"";position:absolute;inset:0;width:42%;border-radius:inherit;background:var(--accent);animation:signin-sweep 1.4s cubic-bezier(.45,0,.55,1) infinite}.signin-title{margin:0;font-size:1.18rem;font-weight:650;letter-spacing:-.01em}.signin-sub{margin:0;font-size:.88rem;line-height:1.55;color:var(--ink-muted)}.signin-note{margin:0;font-size:.8rem;line-height:1.5;color:var(--ink-muted)}.signin-error-text{color:var(--danger)}.signin-cta{width:100%;padding:.72rem .92rem;font-size:.92rem;margin-top:.2rem}.usage-view-control{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.usage-cost-disclaimer{max-width:19rem;margin:0;font-size:.75rem;line-height:1.35;text-align:right}.impersonation-panel{max-width:680px;overflow:visible}.impersonation-form{display:grid;gap:.8rem;max-width:480px;margin-top:1.1rem}.row-actions{position:relative;display:inline-flex}.row-actions-trigger{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--ink-muted);cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.row-actions-trigger:hover,.row-actions-trigger[aria-expanded=true]{background:var(--surface-muted, rgba(0, 0, 0, .04));border-color:var(--line);color:var(--ink)}.row-actions-trigger:disabled{opacity:.4;cursor:not-allowed}.row-actions-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:20;min-width:11rem;padding:.3rem;display:flex;flex-direction:column;gap:.1rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:var(--shadow-lg, 0 8px 24px rgba(0, 0, 0, .14))}.row-actions-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.45rem .6rem;border:none;border-radius:calc(var(--radius-sm) - 3px);background:transparent;color:var(--ink);font-size:.85rem;text-align:left;cursor:pointer;white-space:nowrap}.row-actions-item:hover:not(:disabled){background:var(--surface-muted, rgba(0, 0, 0, .04))}.row-actions-item.danger{color:#dc2626}.row-actions-item:disabled{opacity:.45;cursor:not-allowed}.signin-footer{margin:0;text-align:center;font-size:.78rem;color:var(--ink-muted)}@keyframes signin-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes signin-sweep{0%{transform:translate(-110%)}to{transform:translate(340%)}}@media(prefers-reduced-motion:reduce){.signin-inner,.signin-theme-toggle{animation:none;transition:none}.signin-pulse:after{animation:none;width:100%;opacity:.5}}.shell-main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;height:var(--topbar-height);border-bottom:1px solid var(--line);background:#f6f8fbdb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;gap:.9rem;padding:0 1.4rem}[data-theme=dark] .topbar{background:#0b1322d1}.nav-toggle{display:none;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-elevated);padding:.4rem .5rem;color:var(--ink);align-items:center}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--ink-muted);flex-shrink:0;transition:color .14s ease,border-color .14s ease,transform .12s ease}.theme-toggle:hover{color:var(--accent);border-color:var(--line-strong)}.theme-toggle:active{transform:scale(.94)}.topbar-title{font-size:.78rem;color:var(--ink-muted);letter-spacing:.04em;text-transform:uppercase;font-weight:700}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:.6rem}.page{width:min(1240px,100%);margin:0 auto;padding:1.6rem 1.6rem 3rem;flex:1;display:block}.stack{display:grid;gap:1.1rem}.back-link{align-self:start}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:.2rem}.page-header h1{margin:0;font-size:clamp(1.4rem,3vw,1.85rem);letter-spacing:-.03em;line-height:1.15}.eyebrow{margin:0 0 .2rem;font-size:.74rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}.page-header p{margin:.4rem 0 0;color:var(--ink-muted);max-width:68ch;line-height:1.55;font-size:.92rem}.header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.time-travel{display:flex;align-items:center;gap:.4rem;font-size:.85rem}.time-travel label{color:var(--ink-muted);white-space:nowrap}.time-travel input[type=date]{padding:.3rem .5rem;font-size:.85rem}.user-detail-heading{display:flex;align-items:center;gap:.9rem}.btn-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--ink-muted);font-size:.82rem;font-weight:600;margin-bottom:.6rem}.btn-link:hover{color:var(--accent)}.section-title{margin:0;font-size:1rem;font-weight:650}.section-sub{margin:.3rem 0 0;font-size:.85rem}.section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.section-head h2{margin:0;font-size:1rem}.grid{display:grid;gap:1rem}.grid.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.metrics.recurring-group-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.recurring-usage-head{align-items:flex-end}.period-range-form{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.period-range-form label{display:grid;gap:.36rem;color:var(--ink-muted);font-size:.78rem;font-weight:700}.period-range-form input{min-height:2.35rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:.5rem .65rem;background:var(--bg-elevated);color:var(--ink)}.period-range-error{flex-basis:100%;margin:0}.recurring-roster-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;border-top:1px solid var(--line)}.recurring-roster-search{width:min(100%,24rem)}.recurring-roster-search>span{color:var(--ink-muted);font-size:.78rem;font-weight:700}.recurring-roster-count{padding-bottom:.58rem}.recurring-access-panel{overflow:visible}.recurring-access-heading{display:flex;align-items:flex-start;gap:.8rem}.recurring-access-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex:0 0 2rem;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent)}.recurring-access-icon svg{width:1rem;height:1rem}.recurring-access-grant{display:grid;grid-template-columns:minmax(280px,1fr) auto;align-items:end;gap:.75rem;padding:.95rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-subtle)}.recurring-access-empty{display:grid;gap:.25rem;padding:1.1rem;border:1px dashed var(--line-strong);border-radius:var(--radius-sm)}.table-secondary{display:block;margin-top:.15rem;color:var(--ink-muted);font-size:.78rem;font-weight:400}.grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.panel-body{padding:1.05rem 1.15rem}.organization-admin-panel{overflow:visible}.organization-admin-actions{align-items:flex-end}.organization-admin-actions .user-picker{flex:1 1 320px;min-width:min(100%,320px)}.admin-role-cell{vertical-align:middle}.enroll-members-panel{overflow:visible}.sync-cycle{border-left:3px solid transparent}.sync-cycle.latest{border-left-color:var(--accent)}.sync-cycle-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding-bottom:.85rem}.sync-cycle-heading{display:flex;align-items:center;gap:.5rem}.sync-cycle-time{display:flex;align-items:baseline;gap:.5rem;font-size:.85rem}.sync-pipeline{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;padding:0 1.15rem 1.15rem}.sync-pipeline-track{position:absolute;top:20px;left:calc(12.5% + 1.15rem);right:calc(12.5% + 1.15rem);height:2px;background:var(--line);z-index:0}.sync-node{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.4rem;text-align:center}.sync-node-circle{width:2.5rem;height:2.5rem;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:2px solid var(--line-strong);color:var(--ink-muted)}.sync-node-circle svg{width:18px;height:18px}.sync-node-circle.ok{border-color:var(--ok);color:var(--ok);background:var(--ok-soft)}.sync-node-circle.running{border-color:var(--info);color:var(--info);background:var(--info-soft);animation:sync-pulse 1.6s ease-in-out infinite}.sync-node-circle.failed{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}@keyframes sync-pulse{0%,to{box-shadow:0 0 0 0 var(--info-soft)}50%{box-shadow:0 0 0 5px var(--info-soft)}}.sync-node-label{font-size:.85rem;font-weight:700}.sync-node-meta{font-size:.75rem;color:var(--ink-muted);max-width:11rem;overflow-wrap:anywhere}.sync-node-meta.error{color:var(--danger)}.sync-node-meta{line-height:1.35}.sync-cycle-errors{display:grid;gap:.3rem;padding:0 1.15rem 1.15rem}.sync-cycle-errors .error{margin:0;font-size:.82rem}.sync-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2.75rem 1.5rem;text-align:center}.sync-empty-icon{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:999px;background:var(--bg-subtle);color:var(--ink-muted)}.sync-empty-title{margin:0;font-weight:650;color:var(--ink)}.sync-empty-desc{margin:0;max-width:32rem;font-size:.85rem;color:var(--ink-muted)}.sync-summary-row{display:flex;flex-wrap:wrap;gap:1.5rem}.sync-summary-stat{display:flex;flex-direction:column;gap:.15rem}.sync-summary-value{font-size:1.3rem;font-weight:700;line-height:1}.sync-summary-value.error{color:var(--danger)}.sync-summary-label{font-size:.78rem;color:var(--ink-muted)}.sync-skeleton{height:110px;border-radius:var(--radius);background:linear-gradient(90deg,var(--surface-muted, rgba(0, 0, 0, .04)) 25%,var(--line) 50%,var(--surface-muted, rgba(0, 0, 0, .04)) 75%);background-size:200% 100%;animation:sync-skeleton-shimmer 1.4s ease-in-out infinite}@keyframes sync-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.link-card{display:flex;flex-direction:column;gap:.35rem;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.link-card:hover{transform:translateY(-1px);border-color:var(--line-strong);box-shadow:var(--shadow-lg)}.link-card strong{font-size:.98rem}.link-card .muted{font-size:.84rem;line-height:1.5}.doc-formula{margin:.8rem 0 0;padding:.75rem .95rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--ink);font-family:var(--mono);font-size:.78rem;line-height:1.75;overflow-x:auto;white-space:pre}.doc-note{margin:0;padding:.6rem .85rem;border-left:3px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--accent-soft);color:var(--ink);font-size:.84rem;line-height:1.55}.doc-steps{margin:.9rem 0 0;padding-left:1.3rem;display:grid;gap:.45rem;color:var(--ink);font-size:.88rem;line-height:1.55}.metric-label{color:var(--ink-muted);font-size:.74rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.metric-value{margin-top:.35rem;font-size:clamp(1.15rem,2.6vw,1.55rem);font-weight:650;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.participation-metric-card .metric-value{color:var(--accent);font-size:clamp(1.45rem,3vw,1.9rem)}.metric-foot{margin-top:.4rem;font-size:.78rem}.progress-track{margin-top:.55rem;height:6px;border-radius:999px;background:var(--bg-subtle);overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-hover))}.usage-breakdown{padding:0 1.15rem 1.05rem;display:grid;gap:.55rem}.usage-breakdown-row{display:flex;align-items:center;justify-content:space-between;font-size:.88rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}.usage-breakdown-total{border-bottom:none;font-weight:700;padding-top:.15rem}.usage-breakdown-label{display:flex;align-items:center;gap:.5rem;color:var(--ink-muted)}.usage-breakdown-total .usage-breakdown-label{color:var(--ink)}.usage-dot{width:9px;height:9px;border-radius:999px;flex-shrink:0}.usage-dot.recurring{background:var(--info)}.usage-dot.extension{background:var(--ok)}.usage-dot.unfunded{background:var(--danger)}.chart-card{padding:1.05rem 1.15rem 1.2rem}.usage-chart{width:100%;height:230px;display:block;overflow:visible}.chart-gridline{stroke:var(--line);stroke-width:1}.chart-axis-label{font-family:var(--font);font-size:11px;fill:var(--ink-faint)}.chart-area{fill:var(--accent-soft);stroke:none}.chart-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-point{fill:var(--bg-elevated);stroke:var(--accent);stroke-width:1.5}.chart-bar{transition:opacity .12s ease}.chart-bar.recurring{fill:var(--info)}.chart-bar.extension{fill:var(--ok)}.chart-bar.unfunded{fill:var(--danger)}.chart-empty{padding:2.5rem 1rem;text-align:center;color:var(--ink-muted);font-size:.86rem}.usage-period-select{min-width:11rem}.usage-period-select>span{color:var(--ink-muted);font-size:.78rem;font-weight:700}.usage-month-summary{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.75rem 1.15rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-subtle)}.usage-month-summary strong{font-size:1.05rem;font-variant-numeric:tabular-nums}@media(max-width:520px){.usage-period-select{width:100%}.usage-month-summary{align-items:flex-start;flex-direction:column;gap:.25rem}}.usage-report-panel{overflow:hidden}.usage-report-controls{display:flex;align-items:end;flex-wrap:wrap;gap:.75rem}.usage-report-controls .field{min-width:150px;flex:1 1 150px}.usage-report-controls .field>span{color:var(--ink-muted);font-size:.78rem;font-weight:700}.report-view-toggle{align-self:end}.usage-report-sections{gap:0}.usage-report-section{border-top:1px solid var(--line)}.usage-report-metrics{margin-top:.2rem}.usage-report-date{font-size:1rem}.usage-chart-wrap{min-width:0}.chart-point.incomplete{fill:var(--warning);stroke:var(--warning)}.chart-note,.report-footer{font-size:.78rem;margin:0}.usage-data-details{border-top:1px solid var(--line);padding-top:.75rem}.usage-data-details summary{color:var(--accent);cursor:pointer;font-size:.82rem;font-weight:700}.usage-data-details .table-wrap{margin-top:.75rem}.report-error{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.report-error .error{margin:0}.chart-subtitle{margin:0 0 .4rem;font-size:.8rem;font-weight:700;color:var(--ink-muted)}.granularity-toggle{display:inline-flex;gap:.2rem;padding:.2rem;background:var(--bg-subtle);border-radius:999px;flex-shrink:0}.granularity-toggle button{border:none;background:transparent;color:var(--ink-muted);font:inherit;font-size:.78rem;font-weight:600;padding:.32rem .7rem;border-radius:999px;cursor:pointer;white-space:nowrap}.granularity-toggle button.active{background:var(--bg-elevated);color:var(--accent);box-shadow:var(--shadow)}.stats-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.stat-tile{display:grid;gap:.25rem}.stat-tile-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-weight:700}.stat-tile-value{font-size:1.15rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-tile-trend{font-size:.78rem;font-weight:600}.stat-tile-trend.up{color:var(--danger)}.stat-tile-trend.down{color:var(--ok)}.detail-list{margin:0;display:grid;gap:.6rem}.detail-list>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.6rem;border-bottom:1px solid var(--line)}.detail-list>div:last-child{border-bottom:none;padding-bottom:0}.detail-list dt{color:var(--ink-muted);font-size:.84rem}.detail-list dd{margin:0;font-size:.9rem;font-weight:600}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.writeback-table{width:100%;min-width:760px;table-layout:fixed;border-collapse:collapse;font-size:.86rem}.writeback-table th,.writeback-table td{padding:.7rem .8rem;border-top:1px solid var(--line);text-align:left;vertical-align:middle}.writeback-table th{color:var(--ink-muted);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:var(--bg-subtle)}.writeback-table tbody tr{transition:background .12s ease}.writeback-table tbody tr:hover{background:var(--bg-subtle)}.writeback-table th:first-child,.writeback-table td:first-child{padding-left:1rem}.writeback-table th:last-child,.writeback-table td:last-child{padding-right:1rem}.writeback-col-select{width:2.9rem}.writeback-col-user{width:min(34%,18rem)}.writeback-col-status{width:9.5rem}.writeback-col-cap{width:8.2rem}.writeback-col-attempted{width:8.5rem}.writeback-col-failures{width:5.4rem}.writeback-col-actions{width:7.2rem}.writeback-table td:nth-child(2){overflow:hidden;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.writeback-table td:nth-child(4),.writeback-table td:nth-child(5),.writeback-table td:nth-child(6){color:var(--ink-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.writeback-failure-count{color:var(--danger)!important;font-weight:700}.writeback-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:.35rem}.writeback-retry-button{min-height:1.9rem;padding:.28rem .6rem;font-size:.75rem}.writeback-details{position:relative}.writeback-cap-heading{display:inline-flex;align-items:center;gap:.3rem}.writeback-info-icon{position:relative;display:inline-flex;width:.95rem;height:.95rem;align-items:center;justify-content:center;color:var(--ink-muted);cursor:help}.writeback-info-icon:after{position:absolute;z-index:10;top:calc(100% + .55rem);left:50%;width:min(22rem,calc(100vw - 2rem));padding:.6rem .7rem;border:1px solid var(--line-strong);border-radius:.45rem;background:var(--ink);box-shadow:0 8px 18px #141f302e;color:var(--bg-elevated);content:attr(data-tooltip);font-size:.75rem;font-weight:500;line-height:1.4;opacity:0;pointer-events:none;transform:translate(-50%,-.25rem);transition:opacity .12s ease,transform .12s ease;white-space:normal}.writeback-info-icon:hover:after,.writeback-info-icon:focus-visible:after{opacity:1;transform:translate(-50%)}.writeback-info-icon svg{width:.9rem;height:.9rem}.icon-button{display:inline-grid;width:2rem;height:2rem;place-items:center;border:1px solid transparent;border-radius:.45rem;color:var(--ink-muted);cursor:pointer}.icon-button:hover,.icon-button:focus-visible{border-color:var(--line-strong);background:var(--bg-subtle);color:var(--ink);outline:none}.writeback-details-popover{position:absolute;z-index:5;top:calc(100% + .4rem);right:0;width:min(25rem,calc(100vw - 2rem));padding:.85rem 1rem;border:1px solid var(--line-strong);border-radius:.55rem;background:var(--bg);box-shadow:0 10px 24px #141f3024}.writeback-details-popover dl{display:grid;gap:.75rem;margin:0}.writeback-details-popover dl>div{display:grid;gap:.25rem}.writeback-details-popover dt{color:var(--ink-muted);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.writeback-details-popover dd{max-height:7rem;margin:0;overflow:auto;color:var(--ink);font-size:.8rem;line-height:1.45;overflow-wrap:anywhere}.writeback-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem .2rem .1rem;color:var(--ink-muted);font-size:.8rem}.writeback-pagination-controls{display:flex;align-items:center;gap:.35rem}.writeback-pagination-controls .btn{min-height:2rem;padding:.3rem .62rem;font-size:.75rem}.writeback-pagination-page{min-width:6rem;color:var(--ink);text-align:center;font-variant-numeric:tabular-nums}.writeback-queue-section{overflow:visible;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elevated)}.writeback-queue-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem .85rem}.writeback-section-kicker{margin:0 0 .2rem;color:var(--ink-muted);font-size:.67rem;font-weight:750;letter-spacing:.08em;line-height:1;text-transform:uppercase}.writeback-queue-count{flex:0 0 auto;padding:.35rem .62rem;border:1px solid var(--info-soft);border-radius:999px;background:var(--info-soft);color:var(--info);font-size:.74rem;font-weight:700;white-space:nowrap}.writeback-queue-table{width:100%;min-width:760px;table-layout:fixed;border-collapse:collapse;font-size:.84rem}.writeback-queue-table th,.writeback-queue-table td{padding:.72rem 1.1rem;border-top:1px solid var(--line);text-align:left;vertical-align:middle}.writeback-queue-table th{color:var(--ink-muted);font-size:.67rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:var(--bg-subtle)}.writeback-queue-table tbody tr{transition:background .12s ease}.writeback-queue-table tbody tr:hover{background:var(--bg-subtle)}.writeback-queue-col-user{width:34%}.writeback-queue-col-reason{width:25%}.writeback-queue-col-cap,.writeback-queue-col-enqueued{width:15%}.writeback-queue-col-actions{width:11%}.writeback-queue-user{display:flex;align-items:center;min-width:0;gap:.65rem}.writeback-queue-user>span:last-child{display:grid;min-width:0;gap:.14rem}.writeback-queue-user strong,.writeback-queue-user small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.writeback-queue-user strong{font-size:.84rem;font-weight:650}.writeback-queue-user small{color:var(--ink-muted);font-size:.75rem}.writeback-queue-status-dot{width:.46rem;height:.46rem;flex:0 0 auto;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.writeback-queue-reason{display:inline-block;max-width:100%;overflow:hidden;padding:.25rem .45rem;border-radius:.35rem;background:var(--bg-subtle);color:var(--ink-muted);font-size:.72rem;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.writeback-queue-table td:last-child{color:var(--ink-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.writeback-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.writeback-toolbar-controls{display:flex;align-items:center;justify-content:flex-end;gap:.4rem}.writeback-toolbar-button{min-height:2.25rem;padding:.42rem .68rem;font-size:.76rem;white-space:nowrap}.writeback-status-filter{min-width:8.5rem}.writeback-status-filter select{min-height:2.25rem;padding-top:.42rem;padding-bottom:.42rem;font-size:.8rem}@media(max-width:700px){.writeback-toolbar{align-items:stretch;flex-direction:column}.writeback-toolbar-controls{align-items:stretch;flex-wrap:wrap}.writeback-toolbar-button,.writeback-status-filter{flex:1 1 auto}.writeback-pagination{align-items:stretch;flex-direction:column}.writeback-pagination-controls{justify-content:space-between}}table.data{width:100%;border-collapse:collapse;font-size:.88rem;min-width:540px}table.data th,table.data td{padding:.75rem 1rem;text-align:left;border-top:1px solid var(--line);vertical-align:top}table.data th{color:var(--ink-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700;border-top:none;background:var(--bg-subtle)}table.data tbody tr:hover{background:var(--bg-subtle)}table.data tbody tr.clickable-row{cursor:pointer}table.data tbody tr.clickable-row:hover{background:var(--accent-soft)}table.data tbody tr.clickable-row a{position:relative;z-index:1}.tabs{display:flex;gap:.3rem;border-bottom:1px solid var(--line);padding-bottom:0}.tab{display:flex;align-items:center;gap:.4rem;padding:.6rem .9rem;font-size:.86rem;font-weight:600;color:var(--ink-muted);border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--ink)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.3rem;padding:.05rem .35rem;border-radius:999px;background:var(--bg-subtle);color:var(--ink-muted);font-size:.72rem;font-weight:700}.tab.active .tab-badge{background:var(--accent-soft);color:var(--accent)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:700;flex-shrink:0}.sidebar-foot .avatar{background:#ffffff1a;color:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid transparent;border-radius:var(--radius-sm);padding:.58rem .92rem;background:var(--accent);color:var(--accent-ink);font-weight:650;font-size:.87rem;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease;box-shadow:0 10px 16px #1d4ed824}.btn:hover{filter:brightness(1.04)}.btn:active{transform:translateY(1px)}.btn.secondary{background:transparent;color:var(--ink);border-color:var(--line-strong);box-shadow:none}.btn.retry{background:var(--info-soft);color:var(--info);border-color:color-mix(in srgb,var(--info) 24%,transparent);box-shadow:none}.btn.danger{background:var(--danger);color:#fff;box-shadow:0 10px 16px #b91c1c24}.btn.btn-ghost{background:transparent;color:var(--accent);border-color:var(--line);box-shadow:none;padding:.42rem .72rem;font-size:.82rem}.btn-icon{gap:.4rem}.btn:disabled{opacity:.55;cursor:not-allowed}.field{display:grid;gap:.36rem}.field label{font-size:.78rem;color:var(--ink-muted);font-weight:700}.field input,.field select,.field textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:.58rem .7rem;background:var(--bg-elevated);color:var(--ink);width:100%;max-width:100%}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.search-field{max-width:420px}.search-input-wrap{position:relative;display:flex;align-items:center}.search-spinner{position:absolute;right:.7rem;width:14px;height:14px;border-radius:999px;border:2px solid var(--line-strong);border-top-color:var(--accent);animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-spinner-state{display:flex;min-height:3rem;align-items:center;justify-content:center;gap:.6rem;color:var(--ink-muted)}.loading-spinner{width:16px;height:16px;flex:0 0 auto;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}.muted{color:var(--ink-muted)}.error{color:var(--danger)}.success{color:var(--ok)}.empty{padding:1.5rem;color:var(--ink-muted);text-align:center}.status-pill{display:inline-flex;align-items:center;min-height:1.65rem;padding:.2rem .6rem;border-radius:999px;font-size:.73rem;font-weight:700;background:var(--ok-soft);color:var(--ok)}.status-pill.ended,.status-pill.failed,.status-pill.deactivated,.status-pill.archived,.status-pill.removed,.status-pill.inactive,.status-pill.unknown,.status-pill.unassigned,.status-pill.cancelled,.status-pill.needs_attention{background:var(--danger-soft);color:var(--danger)}.status-pill.scheduled,.status-pill.running,.status-pill.pending,.status-pill.queued,.status-pill.review,.status-pill.active,.status-pill.enabled,.status-pill.healthy,.status-pill.succeeded,.status-pill.success{background:var(--info-soft);color:var(--info)}.badge{display:inline-flex;align-items:center;padding:.16rem .55rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.7rem;font-weight:700}.badge-soft{background:var(--bg-subtle);color:var(--ink-muted)}.pager{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.pager-actions{display:flex;gap:.5rem}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-scale-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-overlay{position:fixed;inset:0;z-index:var(--z-modal);background:#09101e80;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:6vh 1rem 2rem;overflow-y:auto;animation:modal-fade-in .16s ease}.modal-panel{width:min(640px,100%);background:var(--bg-elevated);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);animation:modal-scale-in .18s cubic-bezier(.16,1,.3,1)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem .9rem;border-bottom:1px solid var(--line)}.modal-title{margin:0;font-size:1.05rem;letter-spacing:-.02em}.modal-description{margin:.35rem 0 0;font-size:.84rem;color:var(--ink-muted);max-width:52ch}.modal-close{flex-shrink:0;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;color:var(--ink-muted);font-size:1.3rem;line-height:1}.modal-close:hover{background:var(--bg-subtle);color:var(--ink)}.modal-body{padding:1.15rem 1.25rem 1.3rem}@media(max-width:960px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:min(80vw,300px);transform:translate(-100%);transition:transform .2s ease}.app-shell.nav-open .sidebar{transform:translate(0);box-shadow:var(--shadow-lg)}.app-shell.nav-open .shell-scrim{display:block;position:fixed;inset:0;background:#060b1673;z-index:25}.nav-toggle{display:inline-flex}.topbar{height:auto;min-height:var(--topbar-height);flex-wrap:wrap;padding:.6rem 1rem;row-gap:.5rem}.topbar-title{display:none}.topbar-actions{width:100%;margin-left:0}.grid.metrics,.grid.two-col,.form-grid{grid-template-columns:1fr}.period-range-form{align-items:stretch;width:100%}.period-range-form label{flex:1 1 100%}.recurring-roster-toolbar{align-items:stretch;flex-direction:column;gap:.5rem}.recurring-roster-search{width:100%}.recurring-roster-count{padding-bottom:0}.recurring-access-grant{grid-template-columns:1fr}.recurring-access-grant .btn{width:100%}.stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}.usage-report-controls .field{flex-basis:220px}.page{padding:1.1rem 1rem 2.5rem}.page-header{align-items:flex-start}}@media(max-width:520px){.usage-report-controls .field,.report-view-toggle{width:100%;flex-basis:100%}.report-view-toggle{justify-content:center}.signin-shell-auth-error{padding:2.5rem 1.25rem;overflow-y:auto}.signin-inner-auth-error{width:100%}.signin-auth-error-icon{width:72px;height:72px;margin-bottom:1.75rem}.signin-card-auth-error{transform:none}.signin-auth-error-icon svg{width:32px;height:32px}.signin-card-auth-error .signin-title{font-size:2rem}.signin-card-auth-error .signin-sub{margin-top:1.25rem;font-size:1.25rem}.signin-error-actions{margin-top:2.5rem}.signin-link-row{padding-right:1rem;padding-left:1rem}.signin-link-copy{font-size:1.2rem}.signin-link-copy small{font-size:.95rem}table.data{min-width:420px;font-size:.82rem}.panel-body{padding:.9rem .95rem}}@media(min-width:1000px){.signin-inner-auth-error{width:min(620px,100%)}.signin-card-auth-error{transform:none}.signin-auth-error-icon{width:70px;height:70px;margin-bottom:28px}.signin-auth-error-icon svg{width:32px;height:32px}.signin-card-auth-error .signin-title{font-size:1.8rem}.signin-card-auth-error .signin-sub{max-width:600px;margin-top:18px;font-size:1.3rem;line-height:1.45}.signin-error-actions{margin-top:34px;gap:12px}.signin-link-row{min-height:4.25rem;padding-right:1.25rem;padding-left:1.25rem;border-radius:12px}.signin-link-icon svg{width:24px;height:24px}.signin-link-copy{font-size:1.2rem}.signin-link-copy small{font-size:.95rem}.signin-link-arrow{width:24px;height:24px}.signin-card-auth-error .signin-link-row:last-child{min-height:7rem;padding-top:1.15rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.user-picker{position:relative;display:grid;gap:.36rem}.user-picker>label{font-size:.78rem;color:var(--ink-muted);font-weight:700}.user-picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:.5rem .7rem;background:var(--bg-elevated);color:var(--ink);font:inherit;cursor:pointer;text-align:left}.user-picker-trigger:focus-visible{outline:2px solid var(--accent-soft);border-color:var(--accent)}.user-picker-trigger-value{display:flex;align-items:center;gap:.5rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-picker-chevron{flex-shrink:0;width:16px;height:16px;color:var(--ink-faint)}.user-picker-chips{display:flex;flex-wrap:wrap;gap:.35rem}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .3rem .22rem .6rem;border-radius:999px;background:var(--accent-soft);color:var(--ink);font-size:.8rem;font-family:var(--mono)}.chip button{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:transparent;color:var(--ink-muted);cursor:pointer;padding:0}.chip button svg{width:12px;height:12px}.chip button:hover{color:var(--danger)}.user-picker-panel{position:fixed;z-index:var(--z-popover);background:var(--bg-elevated);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden;animation:picker-in .12s ease-out}@keyframes picker-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.user-picker-search{display:flex;align-items:center;gap:.5rem;padding:.6rem .7rem;border-bottom:1px solid var(--line);color:var(--ink-faint)}.user-picker-search svg{width:16px;height:16px;flex-shrink:0}.user-picker-search input{border:none;outline:none;background:transparent;color:var(--ink);font:inherit;width:100%}.user-picker-list{max-height:280px;overflow-y:auto;padding:.3rem}.user-picker-empty{padding:1rem .7rem;color:var(--ink-faint);font-size:.85rem;text-align:center}.user-picker-row{display:flex;align-items:center;gap:.6rem;width:100%;border:none;border-radius:var(--radius-sm);padding:.45rem .5rem;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.user-picker-row:hover{background:var(--bg-subtle)}.user-picker-row.selected{background:var(--accent-soft)}.user-picker-row-text{display:grid;min-width:0;flex:1}.user-picker-row-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-picker-row-text .muted{font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-picker-row-check{width:16px;height:16px;color:var(--accent);flex-shrink:0}.user-picker-checkbox{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:5px;border:1.5px solid var(--line-strong);flex-shrink:0;color:var(--accent-ink)}.user-picker-checkbox.checked{background:var(--accent);border-color:var(--accent)}.user-picker-checkbox svg{width:12px;height:12px}.unit-toggle{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.unit-toggle-label{font-size:.78rem;font-weight:600;color:var(--ink-muted)}.unit-toggle-buttons{display:inline-flex;padding:.2rem;border-radius:999px;background:var(--bg-subtle);border:1px solid var(--line)}.unit-toggle-btn{padding:.32rem .85rem;border-radius:999px;font-size:.8rem;font-weight:650;color:var(--ink-muted)}.unit-toggle-btn.active{background:var(--bg-elevated);color:var(--accent);box-shadow:0 1px #0b1a3308,0 4px 10px #0b1a3314}.state-banner{display:flex;flex-direction:column;gap:.4rem;padding:1.4rem 1.3rem;text-align:center;align-items:center}.state-banner-icon{width:34px;height:34px;color:var(--ink-faint);margin-bottom:.2rem}.state-banner.error .state-banner-icon{color:var(--danger)}.state-banner-title{margin:0;font-size:1rem;font-weight:650}.state-banner-message{margin:0;color:var(--ink-muted);font-size:.88rem;max-width:34rem;line-height:1.55}.state-banner-actions{margin-top:.3rem}.status-note{display:flex;align-items:center;gap:.5rem;padding:.6rem .85rem;border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--ink-muted);font-size:.82rem}.credit-bar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--bg-subtle);margin-top:.6rem}.credit-bar-segment.used{background:var(--accent)}.credit-bar-segment.remaining{background:var(--ok);opacity:.35}.credit-bar-legend{display:flex;gap:1.1rem;margin-top:.6rem;flex-wrap:wrap}.credit-bar-legend-item{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--ink-muted)}.credit-bar-legend-dot{width:9px;height:9px;border-radius:999px;flex-shrink:0}.credit-bar-legend-dot.used{background:var(--accent)}.credit-bar-legend-dot.remaining{background:var(--ok)}.credit-bar-legend-dot.expired{background:var(--danger)}.distribution-row{display:grid;grid-template-columns:minmax(9rem,14rem) 1fr auto auto;align-items:center;gap:.75rem;padding:.5rem 0}.distribution-track{height:8px;border-radius:999px;background:var(--bg-subtle);overflow:hidden}.distribution-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-hover))}.distribution-count{font-variant-numeric:tabular-nums;font-size:.85rem;color:var(--ink);white-space:nowrap}.distribution-pct{font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:650;color:var(--ink-muted);min-width:3rem;text-align:right}.group-select-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.7rem}.group-select-card{display:flex;flex-direction:column;gap:.35rem;padding:.85rem 1rem;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-elevated);text-align:left;transition:border-color .14s ease,box-shadow .14s ease}.group-select-card:hover{border-color:var(--line-strong)}.group-select-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.group-select-card-title{display:flex;align-items:center;gap:.5rem;font-weight:650}.group-select-card-selected-mark{color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.role-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.16rem .55rem;border-radius:999px;font-size:.7rem;font-weight:700}.role-badge.platform-admin{background:var(--accent-soft);color:var(--accent)}.role-badge.group-admin{background:var(--info-soft);color:var(--info)}.role-badge.member,.status-pill.draft{background:var(--bg-subtle);color:var(--ink-muted)}
