:root{--color-paper:#f8fafd;--color-paper-2:#f0f4f9;--color-paper-3:#e4eaf1;--color-ink:#151b23;--color-ink-2:#323841;--color-muted:#585e67;--color-rule:#d2d8df;--color-rule-2:#afb8c3;--color-accent:#005cc2;--color-accent-hover:#004ba8;--color-accent-soft:#dfedff;--color-accent-ink:#f8fafd;--color-focus:#0055ad;--color-success:#005e2d;--color-success-soft:#e3f4e7;--color-warning:#845000;--color-warning-soft:#ffefdc;--color-error:#ac1922;--color-error-soft:#ffe8e6;--color-overlay:#0d121a7a;--font-display:"Segoe UI", "Microsoft YaHei", ui-sans-serif, sans-serif;--font-body:"Segoe UI", "Microsoft YaHei", ui-sans-serif, sans-serif;--font-mono:"Cascadia Mono", "SFMono-Regular", ui-monospace, monospace;--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.5625rem;--text-xl:1.953rem;--text-2xl:2.441rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--rule-thin:1px;--radius-sm:.375rem;--radius-md:.625rem;--radius-lg:1rem;--z-base:1;--z-raised:10;--z-sticky:200;--z-modal:400;--z-toast:500}@supports (color:lab(0% 0 0)){:root{--color-paper:lab(98.257% -.443965 -1.43218);--color-paper-2:lab(95.9336% -.878274 -2.85884);--color-paper-3:lab(92.4495% -1.30168 -4.27958);--color-ink:lab(9.44877% -.742614 -6.50458);--color-ink-2:lab(23.3822% -1.01292 -6.54257);--color-muted:lab(39.6377% -1.09029 -5.83521);--color-rule:lab(86.0694% -1.2989 -4.27808);--color-rule-2:lab(74.4528% -1.69539 -6.46606);--color-accent:lab(39% 11.0151 -65.2395);--color-accent-hover:lab(31.787% 15.0404 -65.1787);--color-accent-soft:lab(92.9614% -2.05731 -10.9472);--color-accent-ink:lab(98.257% -.443965 -1.43218);--color-focus:lab(34.9677% 17.8361 -72.0389);--color-success:lab(34.2345% -38.0495 21.9083);--color-success-soft:lab(94.5374% -7.60585 4.26582);--color-warning:lab(39.3529% 21.4309 72.2302);--color-warning-soft:lab(95.3805% 3.29205 11.067);--color-error:lab(37.8417% 57.0877 36.6463);--color-error-soft:lab(93.9415% 8.58101 4.62683);--color-overlay:lab(5.20991% -.474341 -5.76866/.48)}}
:root{--background:var(--color-paper);--foreground:var(--color-ink)}html,body{min-height:100%;overflow-x:clip}body{background:var(--background);color:var(--foreground);font-family:var(--font-body);font-size:var(--text-base);-webkit-font-smoothing:antialiased;line-height:1.55}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.app-shell{min-height:100dvh}.app-nav{z-index:var(--z-sticky);border-block-end:var(--rule-thin) solid var(--color-rule);background:var(--color-paper);position:sticky;inset-block-start:0}.nav-inner{max-width:82rem;min-height:4rem;padding:var(--space-xs) clamp(var(--space-md), 4vw, var(--space-xl));align-items:center;gap:var(--space-xs) var(--space-md);grid-template-columns:minmax(0,1fr) auto;margin-inline:auto;display:grid}.brand{font-family:var(--font-display);letter-spacing:-.025em;white-space:nowrap;font-weight:700}.brand-button{min-height:2.75rem;color:inherit;text-align:start;background:0 0;border:0;line-height:1}.nav-tabs{align-items:center;gap:var(--space-2xs);flex-wrap:wrap;grid-column:1/-1;display:flex}.nav-tab{min-height:2.75rem;padding-inline:var(--space-md);border:var(--rule-thin) solid transparent;border-radius:var(--radius-sm);color:var(--color-muted);font-size:var(--text-sm);white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out);line-height:1}.nav-tab[aria-current=page]{background:var(--color-accent-soft);color:var(--color-accent)}.account{justify-self:end;align-items:center;gap:var(--space-sm);color:var(--color-muted);font-size:var(--text-sm);min-width:0;display:flex}.role-badge{border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-sm);padding:var(--space-2xs) var(--space-xs);color:var(--color-ink-2);font-family:var(--font-mono);font-size:var(--text-xs);white-space:nowrap;line-height:1;display:none}.account-email{display:none}.signout-link{min-height:2.75rem;color:var(--color-ink-2);white-space:nowrap;text-decoration:underline;-webkit-text-decoration-color:var(--color-rule-2);text-decoration-color:var(--color-rule-2);text-underline-offset:var(--space-2xs);cursor:pointer;background:0 0;border:0;align-items:center;padding:0;line-height:1;display:inline-flex}.workspace{width:min(100%,82rem);padding:clamp(var(--space-lg), 4vw, var(--space-2xl)) clamp(var(--space-md), 4vw, var(--space-xl));margin-inline:auto}.page-heading{margin-block-end:var(--space-xl)}.page-heading h1{min-width:0;max-width:18ch;font-family:var(--font-display);font-size:clamp(var(--text-xl), 3vw, var(--text-2xl));letter-spacing:-.035em;overflow-wrap:anywhere;line-height:1.12}.page-heading p{max-width:62ch;color:var(--color-muted);margin-block-start:var(--space-xs)}.workbench-grid{gap:var(--space-xl);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.panel{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper)}.panel-main{padding:clamp(var(--space-lg), 4vw, var(--space-xl))}.panel-side{padding:var(--space-lg);background:var(--color-paper-2);display:none}.panel h2{font-family:var(--font-display);font-size:var(--text-md);letter-spacing:-.02em;font-weight:700}.field-grid{gap:var(--space-md);margin-block-start:var(--space-lg);display:grid}.field-row{gap:var(--space-md);grid-template-columns:minmax(0,1fr);display:grid}.field{gap:var(--space-2xs);display:grid}.field label{color:var(--color-ink-2);font-size:var(--text-sm);font-weight:650}.field input,.field select{border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-sm);outline-offset:1px;background:var(--color-paper);width:100%;min-height:2.75rem;color:var(--color-ink);padding-inline:var(--space-sm);outline:2px solid #0000}.field input:focus-visible,.field select:focus-visible{outline-color:var(--color-focus)}.field input:disabled,.field select:disabled{background:var(--color-paper-2);opacity:.55;cursor:not-allowed}.field small{min-height:1lh;color:var(--color-muted);font-size:var(--text-xs)}.send-action{width:100%;justify-content:flex-end;margin-block-start:var(--space-xs);display:flex}.primary-button{border:var(--rule-thin) solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-accent);width:100%;min-height:2.75rem;color:var(--color-accent-ink);padding-inline:var(--space-lg);white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);font-weight:700}.primary-button:active,.secondary-button:active,.danger-button:active{transform:translateY(1px)}.nav-tab:active,.brand-button:active,.signout-link:active{color:var(--color-accent)}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled{opacity:.52;cursor:not-allowed}.primary-button[data-state=success]{background:var(--color-success);border-color:var(--color-success)}.primary-button[data-state=error]{background:var(--color-error);border-color:var(--color-error)}.secondary-button,.danger-button{border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-sm);background:var(--color-paper);min-height:2.75rem;color:var(--color-ink-2);padding-inline:var(--space-md);white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);font-weight:700}.danger-button{border-color:var(--color-error);color:var(--color-error)}.summary-list{gap:var(--space-md);margin-block-start:var(--space-lg);display:grid}.summary-item{border-block-end:var(--rule-thin) solid var(--color-rule);padding-block-end:var(--space-md)}.summary-item:last-child{border-block-end:0;padding-block-end:0}.summary-label{color:var(--color-muted);font-size:var(--text-xs);display:block}.summary-value{color:var(--color-ink-2);overflow-wrap:anywhere;margin-block-start:var(--space-2xs);font-weight:650;display:block}.foot-line{width:min(100%,82rem);padding:var(--space-lg) clamp(var(--space-md), 4vw, var(--space-xl));border-block-start:var(--rule-thin) solid var(--color-rule);color:var(--color-muted);font-size:var(--text-xs);margin-inline:auto}.auth-shell{min-height:100dvh;padding:var(--space-lg) var(--space-md);background:var(--color-paper-2);place-items:center;display:grid}.auth-card{width:min(100%,30rem);padding:clamp(var(--space-lg), 6vw, var(--space-xl))}.auth-brand{color:var(--color-accent);font-family:var(--font-display);font-size:var(--text-sm);font-weight:700}.auth-card h1{min-width:0;font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.03em;overflow-wrap:anywhere;margin-block-start:var(--space-lg);line-height:1.12}.auth-card>p{max-width:55ch;color:var(--color-muted);margin-block-start:var(--space-xs)}.auth-form{gap:var(--space-md);margin-block-start:var(--space-xl);display:grid}.auth-form .primary-button{width:100%;margin-block-start:var(--space-xs)}.auth-setup{border-block-start:var(--rule-thin) solid var(--color-rule);justify-content:space-between;align-items:center;gap:var(--space-md);color:var(--color-muted);font-size:var(--text-sm);margin-block-start:var(--space-lg);padding-block-start:var(--space-md);display:flex}.auth-setup a{color:var(--color-accent);white-space:nowrap;font-weight:700}.notice,.inline-status{border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);color:var(--color-ink-2);margin-block-end:var(--space-lg)}.inline-status{margin-block:var(--space-2xs) 0}.notice--loading,.inline-status--loading{background:var(--color-accent-soft);border-color:var(--color-accent)}.notice--success,.inline-status--success{background:var(--color-success-soft);border-color:var(--color-success);color:var(--color-success)}.notice--error,.inline-status--error{background:var(--color-error-soft);border-color:var(--color-error);color:var(--color-error)}.empty-state{align-content:center;gap:var(--space-xs);border:var(--rule-thin) dashed var(--color-rule-2);border-radius:var(--radius-md);min-height:11rem;padding:var(--space-xl);color:var(--color-muted);display:grid}.empty-state strong{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-md)}.access-action{width:fit-content;align-items:center;margin-block-start:var(--space-md);text-decoration:none;display:inline-flex}.empty-inline{padding:var(--space-lg);color:var(--color-muted)}.recent-section{margin-block-start:var(--space-2xl)}.section-heading{gap:var(--space-xs);grid-template-columns:minmax(0,1fr);margin-block-end:var(--space-md);display:grid}.section-heading h2{font-family:var(--font-display);font-size:var(--text-md);font-weight:700}.section-heading span{color:var(--color-muted);font-size:var(--text-sm)}.admin-grid{gap:var(--space-lg);grid-template-columns:minmax(0,1fr);margin-block-end:var(--space-xl);display:grid}.admin-panel{padding:var(--space-lg)}.admin-panel h2{margin-block-end:var(--space-lg)}.compact-form{gap:var(--space-md);display:grid}.compact-form .secondary-button{justify-self:start}.manager-list,.user-list{gap:var(--space-lg);display:grid}.manager-block{padding:var(--space-lg)}.manager-head{gap:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule);grid-template-columns:minmax(0,1fr);align-items:end;padding-block-end:var(--space-lg);display:grid}.inline-field{max-width:none}.toggle-label{align-items:center;gap:var(--space-xs);min-height:2.75rem;color:var(--color-ink-2);font-size:var(--text-sm);white-space:nowrap;display:inline-flex}.toggle-label input{width:1.15rem;height:1.15rem;accent-color:var(--color-accent)}.link-rows{display:grid}.link-row{gap:var(--space-sm);padding-block:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule);grid-template-columns:minmax(0,1fr);align-items:end;display:grid}.link-row:last-child{border-block-end:0;padding-block-end:0}.user-create{margin-block-end:var(--space-xl)}.user-create-form{gap:var(--space-md);grid-template-columns:minmax(0,1fr);align-items:end;display:grid}.user-row{gap:var(--space-md);padding:var(--space-lg);grid-template-columns:minmax(0,1fr);align-items:end;display:grid}.manager-head .secondary-button,.link-row .secondary-button,.user-create-form .secondary-button,.user-row .secondary-button{width:100%}.user-identity{align-content:center;min-height:2.75rem;display:grid}.user-identity strong{overflow-wrap:anywhere}.user-identity span{color:var(--color-muted);font-size:var(--text-xs)}.log-list{border-block-start:var(--rule-thin) solid var(--color-rule-2)}.log-row,.log-list--compact .log-row{gap:var(--space-md);padding-block:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule);font-variant-numeric:tabular-nums;grid-template-columns:minmax(0,1fr);align-items:center;display:grid}.log-primary,.log-user{min-width:0;display:grid}.log-primary strong,.log-user strong{overflow-wrap:anywhere}.log-primary span,.log-user span,.log-row time{color:var(--color-muted);font-size:var(--text-xs)}.status-chip{border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-sm);padding:var(--space-2xs) var(--space-xs);font-family:var(--font-mono);font-size:var(--text-xs);white-space:nowrap;justify-self:start}.status-chip--sent{border-color:var(--color-success);color:var(--color-success);background:var(--color-success-soft)}.status-chip--failed{border-color:var(--color-error);color:var(--color-error);background:var(--color-error-soft)}.status-chip--pending{border-color:var(--color-warning);color:var(--color-warning);background:var(--color-warning-soft)}.log-error{color:var(--color-error);font-size:var(--text-sm);grid-column:1/-1}@media (hover:hover) and (pointer:fine){.nav-tab:hover{background:var(--color-paper-2);color:var(--color-ink)}.primary-button:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.secondary-button:hover{background:var(--color-paper-2);transform:translateY(-1px)}.danger-button:hover{background:var(--color-error-soft);transform:translateY(-1px)}.field input:hover,.field select:hover{background:var(--color-paper-2)}}@media (min-width:40rem){.role-badge{display:inline-flex}.field-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.send-action,.primary-button{width:auto}.section-heading{justify-content:space-between;align-items:baseline;gap:var(--space-md);display:flex}.manager-head{grid-template-columns:minmax(0,1fr) auto}.manager-head .inline-field{grid-column:1/-1}.link-row{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.link-row .toggle-label,.link-row .secondary-button{justify-self:start}.user-create-form,.user-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.user-identity{grid-column:1/-1}.manager-head .secondary-button,.link-row .secondary-button,.user-create-form .secondary-button,.user-row .secondary-button{width:auto}.log-row,.log-list--compact .log-row{grid-template-columns:minmax(0,1fr) auto}.log-user{grid-column:1/2}.status-chip{justify-self:end}}@media (min-width:60rem){.nav-inner{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.nav-tabs{flex-wrap:nowrap;grid-column:auto}.account-email{text-overflow:ellipsis;display:inline;overflow:hidden}.workbench-grid{grid-template-columns:minmax(0,1.35fr) minmax(17rem,.65fr)}.panel-side{display:block}.admin-grid{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)}.manager-head{grid-template-columns:minmax(12rem,1fr) auto auto}.manager-head .inline-field{grid-column:auto;max-width:26rem}.link-row{grid-template-columns:minmax(8rem,.45fr) minmax(14rem,1.55fr) auto auto}.user-create-form{grid-template-columns:minmax(9rem,.8fr) minmax(9rem,.7fr) minmax(10rem,.8fr) minmax(7rem,.4fr) auto}.user-row{grid-template-columns:minmax(9rem,.9fr) minmax(9rem,.7fr) minmax(10rem,.8fr) minmax(7rem,.4fr) auto auto}.user-identity{grid-column:auto}.log-row{grid-template-columns:minmax(12rem,1.2fr) minmax(10rem,.9fr) auto auto}.log-list--compact .log-row{grid-template-columns:minmax(12rem,1fr) auto auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.15s!important;animation-duration:.15s!important;animation-iteration-count:1!important}.primary-button,.secondary-button,.danger-button{transform:none!important}}
