:root{color-scheme:light}:root{--color-primary: #246b53;--color-primary-hover: #1f5c47;--color-primary-pressed: #1a4e3c;--color-primary-light: #2c5340;--color-primary-text: #ffffff;--color-primary-soft: color-mix(in srgb, var(--color-primary) 10%, transparent);--color-bg-app: #f1f5f9;--color-bg-sidebar: #ffffff;--color-bg-card: #ffffff;--color-bg-input: #ffffff;--color-bg-hover: #f8fafc;--color-bg-selected: #ecfdf7;--color-bg-elevated: #ffffff;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-muted: #94a3b8;--color-text-inverse: #ffffff;--color-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-state-hover: rgb(15 23 42 / .045);--color-state-pressed: rgb(15 23 42 / .09);--color-focus-ring: color-mix(in srgb, var(--color-primary) 55%, transparent);--color-danger: #dc2626;--color-danger-bg: #fef2f2;--color-danger-text: #991b1b;--color-warning: #d97706;--color-warning-bg: #fffbeb;--color-warning-text: #92400e;--color-success: #16a34a;--color-success-bg: #f0fdf4;--color-success-text: #166534;--color-info: #0284c7;--color-info-bg: #f0f9ff;--color-info-text: #0c4a6e;--color-link: #246b53;--palette-orange: #ea580c;--palette-amber: #d97706;--palette-red: #dc2626;--color-on-palette: #ffffff;--palette-fill-strength: 100%;--palette-pink: #db2777;--palette-violet: #7c3aed;--palette-indigo: #4f46e5;--palette-blue: #2563eb;--palette-sky: #0284c7;--palette-teal: #0d9488;--palette-green: #16a34a;--palette-lime: #65a30d;--palette-gray: #94a3b8;--color-sidebar-bg: #1e293b;--color-sidebar-text: #94a3b8;--color-sidebar-text-active: #ffffff;--color-sidebar-hover: #334155;--color-sidebar-active: #246b53;--color-sidebar-border: #334155;--color-sidebar-accent: #47d1a3;--color-tabbar-bg: rgb(255 255 255 / .86);--color-tabbar-border: rgb(15 23 42 / .08);--color-topbar-bg: rgb(255 255 255 / .86);--color-topbar-border: rgb(15 23 42 / .08);--shadow-sm: 0 1px 2px 0 rgb(15 23 42 / .05);--shadow-md: 0 1px 2px rgb(15 23 42 / .04), 0 4px 12px -2px rgb(15 23 42 / .08);--shadow-lg: 0 12px 35px rgb(0 0 0 / .25);--shadow-card-hover: 0 1px 2px rgb(15 23 42 / .04), 0 6px 16px -4px rgb(15 23 42 / .1);--shadow-popover: 0 0 0 1px rgb(15 23 42 / .06), 0 4px 8px -2px rgb(15 23 42 / .08), 0 16px 32px -8px rgb(15 23 42 / .16);--shadow-dialog: 0 0 0 1px rgb(15 23 42 / .05), 0 24px 64px -12px rgb(15 23 42 / .32);--shadow-sheet: 0 -8px 32px -8px rgb(15 23 42 / .2);--color-overlay: rgb(15 23 42 / .5);--color-media-backdrop: rgb(0 0 0 / .85);--color-media-shade: rgb(0 0 0 / .55);--color-media-control: rgb(0 0 0 / .45);--color-media-control-border: rgb(255 255 255 / .35);--color-media-guide: rgb(255 255 255 / .85);--color-on-media: #fff;--color-media-page: #fff;--color-mail-paper: #ffffff;--color-mail-paper-text: #0f172a;--color-mail-paper-muted: #64748b;--color-mail-well: #f2f4f7;--shadow-mail-sheet: 0 0 0 1px rgb(15 23 42 / .05), 0 1px 2px rgb(15 23 42 / .05), 0 8px 24px -6px rgb(15 23 42 / .12);--color-mail-token-bg: #e6f2ec;--color-mail-token-text: #1f5c46;--shadow-media: 0 8px 30px rgb(0 0 0 / .5);--spacing-2xs: 2px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-smd: 12px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--page-gutter: 16px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 22px;--radius-full: 999px;--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-2xs: 10px;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 13px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 22px;--font-size-3xl: 28px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-snug: 1.35;--line-height-normal: 1.5;--letter-spacing-title: -.02em;--sidebar-width: 232px;--sidebar-rail-width: 64px;--topbar-height: 52px;--tabbar-height: 56px;--content-max-width: 1360px;--touch-target: 44px;--control-height: 36px;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--z-sticky: 100;--z-nav-backdrop: 190;--z-nav: 200;--z-popover: 300;--z-dialog: 500;--z-toast: 600;--duration-instant: 90ms;--duration-fast: .15s;--duration-base: .22s;--duration-slow: .32s;--duration-sheet: .42s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-spring: cubic-bezier(.34, 1.26, .64, 1);--press-scale: .97;--duration-fade: .3s;--stagger-step: 50ms;--stagger-max: .25s;--reveal-hold-max: .4s;--duration-count: .8s;--duration-grow: .7s;--transition: var(--duration-fast) var(--ease-standard)}@supports (transition-timing-function: linear(0,1)){:root{--ease-spring: linear(0, .009, .035 2.1%, .141 4.4%, .723 12.9%, .938 16.7%, 1.017 19.4%, 1.067, 1.099 24.3%, 1.108 26%, 1.1, 1.077 30.6%, 1.022 35.4%, .995 39.4%, .987 41.9%, .988 49.6%, .998 61.1%, 1)}}@media (max-width: 767px),(pointer: coarse){:root{--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 17px;--font-size-2xl: 26px;--control-height: var(--touch-target)}}@media (min-width: 768px){:root{--page-gutter: 24px}}@media (min-width: 1440px){:root{--page-gutter: 32px}}.dark{color-scheme:dark;--color-bg-app: #0f172a;--color-bg-sidebar: #1e293b;--color-bg-card: #1e293b;--color-bg-input: #0f172a;--color-bg-hover: #334155;--color-bg-selected: #12382c;--color-bg-elevated: #243247;--color-text-primary: #f1f5f9;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-border: #334155;--color-border-strong: #475569;--color-state-hover: rgb(255 255 255 / .06);--color-state-pressed: rgb(255 255 255 / .11);--color-focus-ring: color-mix(in srgb, var(--color-sidebar-accent) 70%, transparent);--color-primary-soft: color-mix(in srgb, var(--color-sidebar-accent) 14%, transparent);--color-danger-bg: #3b0a0a;--color-danger-text: #fca5a5;--color-warning-bg: #2d1a00;--color-warning-text: #fcd34d;--color-success-bg: #052e16;--color-success-text: #86efac;--color-info-bg: #082f49;--color-info-text: #7dd3fc;--color-link: #47d1a3;--palette-orange: #fb923c;--palette-amber: #fbbf24;--palette-red: #f87171;--color-on-palette: #ffffff;--palette-fill-strength: 72%;--palette-pink: #f472b6;--palette-violet: #a78bfa;--palette-indigo: #818cf8;--palette-blue: #60a5fa;--palette-sky: #38bdf8;--palette-teal: #2dd4bf;--palette-green: #4ade80;--palette-lime: #a3e635;--palette-gray: #64748b;--color-sidebar-bg: #0f172a;--color-sidebar-border: #1e293b;--color-tabbar-bg: rgb(30 41 59 / .62);--color-tabbar-border: rgb(255 255 255 / .12);--color-topbar-bg: rgb(15 23 42 / .82);--color-topbar-border: rgb(255 255 255 / .08);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 1px 2px rgb(0 0 0 / .3), 0 4px 12px -2px rgb(0 0 0 / .4);--shadow-card-hover: 0 1px 2px rgb(0 0 0 / .3), 0 8px 20px -4px rgb(0 0 0 / .5);--shadow-popover: 0 0 0 1px rgb(255 255 255 / .08), 0 16px 40px -8px rgb(0 0 0 / .6);--color-mail-well: #0b1322;--color-mail-paper: #1a2435;--color-mail-paper-text: #e2e8f0;--color-mail-paper-muted: #94a3b8;--color-mail-token-bg: #173a2d;--color-mail-token-text: #86e0b8;--color-mail-ink-gray: #a3b0c2;--color-mail-ink-blue: #93b4ff;--color-mail-ink-green: #6fdc9f;--color-mail-ink-red: #fca5a5;--color-mail-ink-orange: #fdba74;--shadow-mail-sheet: 0 0 0 1px rgb(255 255 255 / .06), 0 2px 4px rgb(0 0 0 / .35), 0 16px 40px -8px rgb(0 0 0 / .6);--shadow-dialog: 0 0 0 1px rgb(255 255 255 / .08), 0 24px 64px -12px rgb(0 0 0 / .7);--shadow-sheet: 0 0 0 1px rgb(255 255 255 / .06), 0 -8px 32px -8px rgb(0 0 0 / .6);--color-overlay: rgb(2 6 23 / .62)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--font-size-base);font-family:var(--font-sans);color:var(--color-text-primary);background-color:var(--color-bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;text-size-adjust:100%;font-variant-numeric:tabular-nums;scrollbar-gutter:stable}body{min-height:100vh;min-height:100dvh;line-height:var(--line-height-normal);background-color:var(--color-bg-app)}button{cursor:pointer;font-family:var(--font-sans);color:inherit}input,select,textarea{font-family:var(--font-sans)}select{max-width:100%;text-overflow:ellipsis}img,svg,video,canvas{max-width:100%}img{height:auto}a{color:var(--color-link);text-decoration:none}::selection{background:color-mix(in srgb,var(--color-primary) 22%,transparent)}.grecaptcha-badge{visibility:hidden}@media (hover: hover) and (pointer: fine){::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full);border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-muted)}}.page{width:100%;max-width:var(--content-max-width);margin-inline:auto;min-width:0}.page-header{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-smd) var(--spacing-md);margin-bottom:var(--spacing-lg)}.page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm)}.page-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-title);color:var(--color-text-primary)}.page-subtitle{margin-top:var(--spacing-xs);font-size:var(--font-size-base);color:var(--color-text-secondary)}.section-title{margin-bottom:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--color-text-primary)}.btn{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);min-height:var(--control-height);padding:0 var(--spacing-md);font:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);white-space:nowrap;text-decoration:none;-webkit-user-select:none;user-select:none;color:var(--color-text-primary);background:var(--color-bg-card);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;background:var(--color-state-hover);opacity:0;transition:opacity var(--duration-fast) var(--ease-standard);pointer-events:none}.btn>*{position:relative}@media (hover: hover) and (pointer: fine){.btn:not(:disabled):not([aria-disabled=true]):hover:after{opacity:1}}.btn:not(:disabled):not([aria-disabled=true]):active{transform:scale(var(--press-scale))}.btn:not(:disabled):not([aria-disabled=true]):active:after{opacity:1;background:var(--color-state-pressed);transition-duration:var(--duration-instant)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;box-shadow:none}.btn--primary{color:var(--color-primary-text);background:var(--color-primary);border-color:transparent;font-weight:var(--font-weight-semibold)}.btn--primary:after{background:#0000001a}.btn--primary:not(:disabled):active:after{background:#0000002e}.btn--ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--color-text-secondary)}.btn--ghost:hover{color:var(--color-text-primary)}.btn--danger{color:var(--color-danger-text);background:var(--color-bg-card);border-color:color-mix(in srgb,var(--color-danger) 40%,var(--color-border))}.btn--danger-solid{color:var(--color-text-inverse);background:var(--color-danger);border-color:transparent;font-weight:var(--font-weight-semibold)}.btn--danger-solid:after{background:#0000001a}.btn--warning-solid{color:var(--color-text-inverse);background:var(--color-warning);border-color:transparent;font-weight:var(--font-weight-semibold)}.btn--warning-solid:after{background:#0000001a}.btn--link{min-height:auto;padding:0;background:none;border:0;box-shadow:none;color:var(--color-link);font-weight:var(--font-weight-medium)}.btn--link:after{display:none}@media (hover: hover) and (pointer: fine){.btn--link:hover{text-decoration:underline;text-underline-offset:3px}}.btn--lg{min-height:48px;padding:0 var(--spacing-lg);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);border-radius:var(--radius-lg)}.btn--sm{min-height:30px;padding:0 var(--spacing-smd);font-size:var(--font-size-sm)}.btn--icon{width:var(--control-height);padding:0;flex-shrink:0}.btn--icon.btn--sm{width:30px}.btn--block{width:100%}.btn .icon{flex-shrink:0}@media (pointer: coarse){.btn--sm{min-height:var(--touch-target)}.btn--icon.btn--sm{width:var(--touch-target)}}.field{display:block;width:100%;min-height:var(--control-height);padding:0 var(--spacing-smd);font:inherit;font-size:var(--font-size-base);line-height:var(--line-height-snug);color:var(--color-text-primary);background:var(--color-bg-input);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:inset 0 1px 1px #0f172a08}input.field[type=date],input.field[type=month],input.field[type=time],input.field[type=datetime-local],input.field[type=week]{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0;height:var(--control-height);line-height:calc(var(--control-height) - 2px)}input.field::-webkit-date-and-time-value{min-height:1.4em;text-align:left}textarea.field{padding:var(--spacing-sm) var(--spacing-smd);min-height:88px;resize:vertical}.field:focus{border-color:var(--color-primary)}.field:disabled,.field[readonly]{color:var(--color-text-secondary);background:var(--color-bg-hover)}.field[aria-invalid=true]{border-color:var(--color-danger)}.field-label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.field-hint{margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-muted)}.field-error{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-danger-text)}.back-link{display:inline-flex;align-items:center;gap:var(--spacing-2xs);min-height:var(--touch-target);padding:0;border:0;background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);white-space:nowrap;cursor:pointer}@media (hover: hover) and (pointer: fine){.back-link:hover{color:var(--color-text-primary)}}.form-stack{display:grid;gap:var(--spacing-md);min-width:0}.form-stack .segmented{justify-self:start;max-width:100%}.form-field{display:grid;gap:var(--spacing-xs);min-width:0;margin:0;padding:0;border:0}.form-field .field-label{display:inline-flex;align-items:center;gap:var(--spacing-xs);margin:0}.form-field .field-hint,.form-field .field-error{margin:0}.form-row{display:flex;flex-wrap:wrap;gap:var(--spacing-smd)}.form-row>.form-field{flex:1 1 180px}.form-row>.form-field--narrow{flex:0 1 110px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:var(--spacing-smd)}.form-wide{grid-column:1 / -1;margin:0}.card{position:relative;min-width:0;padding:var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl)}@media (min-width: 768px){.card{padding:var(--spacing-lg)}}.card--flush{padding:0;overflow:hidden}.card--interactive{cursor:pointer;transition:transform var(--duration-base) var(--ease-standard)}.card--interactive:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;box-shadow:var(--shadow-card-hover);opacity:0;transition:opacity var(--duration-base) var(--ease-standard);pointer-events:none}@media (hover: hover) and (pointer: fine){.card--interactive:hover:before{opacity:1}.card--interactive:hover{transform:translateY(-1px)}}.card--interactive:active{transform:scale(.995)}.notice{padding:var(--spacing-sm) var(--spacing-smd);font-size:var(--font-size-sm);line-height:var(--line-height-normal);border-radius:var(--radius-md);border:1px solid transparent}.notice--danger{color:var(--color-danger-text);background:var(--color-danger-bg);border-color:color-mix(in srgb,var(--color-danger) 30%,transparent)}.notice--success{color:var(--color-success-text);background:var(--color-success-bg);border-color:color-mix(in srgb,var(--color-success) 30%,transparent)}.notice--info{color:var(--color-info-text);background:var(--color-info-bg);border-color:color-mix(in srgb,var(--color-info) 30%,transparent)}.notice--warning{color:var(--color-warning-text);background:var(--color-warning-bg);border-color:color-mix(in srgb,var(--color-warning) 30%,transparent)}.dialog-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-dialog);display:flex;align-items:center;justify-content:center;padding:max(var(--spacing-xl),var(--safe-top)) max(var(--spacing-lg),var(--safe-right)) max(var(--spacing-xl),var(--safe-bottom)) max(var(--spacing-lg),var(--safe-left))}.overlay-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);opacity:0;transition:opacity var(--duration-fast) var(--ease-in)}.dialog-root[data-state=open] .overlay-backdrop{opacity:1;transition:opacity var(--duration-slow) var(--ease-standard)}.dialog-panel{position:relative;width:100%;max-width:var(--dialog-width, 560px);max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding:var(--spacing-lg);color:var(--color-text-primary);background:var(--color-bg-elevated);border-radius:var(--radius-2xl);box-shadow:var(--shadow-dialog);opacity:0;transform:translateY(6px) scale(.97);transition:opacity var(--duration-fast) var(--ease-in),transform var(--duration-fast) var(--ease-in)}.dialog-root[data-state=open] .dialog-panel{opacity:1;transform:none;transition:opacity var(--duration-base) var(--ease-standard),transform var(--duration-slow) var(--ease-spring)}.dialog-panel[data-tone=danger]{box-shadow:0 0 0 1px color-mix(in srgb,var(--color-danger) 45%,transparent),var(--shadow-dialog)}.dialog-panel[data-dragging]{transition:none!important}.sheet-grabber{display:none}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.dialog-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--color-text-primary)}.dialog-subtitle{margin-top:var(--spacing-2xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.dialog-close{margin:calc(var(--spacing-sm) * -1) calc(var(--spacing-sm) * -1) 0 0}.dialog-close:focus-visible,.person-card-close:focus-visible{outline-offset:-3px}.dialog-header-leading{flex:none;line-height:0}.dialog-header-text{flex:1 1 auto;min-width:0}.dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}@media (max-width: 639px){.dialog-root[data-variant=sheet]{align-items:flex-end;padding:max(var(--spacing-xl),var(--safe-top)) 0 0}.dialog-root[data-variant=sheet] .dialog-panel{max-width:none;max-height:92dvh;padding:0 max(var(--spacing-md),var(--safe-right)) calc(var(--spacing-lg) + var(--safe-bottom)) max(var(--spacing-md),var(--safe-left));border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;box-shadow:var(--shadow-sheet);opacity:1;transform:translateY(100%);transition:transform var(--duration-slow) var(--ease-in)}.dialog-root[data-variant=sheet][data-state=open] .dialog-panel{transform:none;transition:transform var(--duration-sheet) var(--ease-out)}.keyboard-open .dialog-root[data-variant=sheet] .dialog-panel{max-height:100%;padding-bottom:calc(var(--keyboard-inset, 0px) + var(--spacing-md))}.dialog-root[data-variant=sheet] .sheet-grabber{display:block;position:sticky;top:0;z-index:1;height:24px;margin:0 calc(max(var(--spacing-md),var(--safe-left))*-1) var(--spacing-xs);background:var(--color-bg-elevated);touch-action:none;cursor:grab}.dialog-root[data-variant=sheet] .sheet-grabber:after{content:"";position:absolute;top:8px;left:50%;width:36px;height:5px;margin-left:-18px;border-radius:var(--radius-full);background:var(--color-border-strong)}.dialog-root[data-variant=sheet] .dialog-close{margin-top:0}.dialog-root[data-variant=sheet] .dialog-actions{flex-direction:column-reverse}.dialog-root[data-variant=sheet] .dialog-actions>.btn{width:100%;--press-scale: .99}}@media (prefers-reduced-motion: reduce){.dialog-panel,.dialog-root[data-state=open] .dialog-panel,.dialog-root[data-variant=sheet] .dialog-panel,.dialog-root[data-variant=sheet][data-state=open] .dialog-panel{transform:none;transition:opacity var(--duration-fast) linear}.dialog-root[data-state=closed] .dialog-panel{opacity:0}.dialog-root[data-state=open] .dialog-panel{opacity:1}}.media-viewer{z-index:var(--z-dialog);animation:overlay-fade-in var(--duration-base) var(--ease-standard)}@keyframes overlay-fade-in{0%{opacity:0}}.popover-anchor{position:relative}.popover-panel{position:absolute;top:calc(100% + var(--spacing-sm));z-index:var(--z-popover);width:min(var(--popover-width, 360px),calc(100vw - 2 * var(--spacing-md)));max-height:min(70vh,560px);overflow-y:auto;overscroll-behavior:contain;padding:var(--spacing-sm);background:var(--color-bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover);opacity:0;transform:scale(.96) translateY(-4px);transition:opacity var(--duration-fast) var(--ease-in),transform var(--duration-fast) var(--ease-in)}.popover-panel[data-align=end]{right:0;transform-origin:top right}.popover-panel[data-align=start]{left:0;transform-origin:top left}.popover-panel[data-floating]{position:fixed;right:auto;z-index:calc(var(--z-dialog) + 10)}.popover-panel[data-state=open]{opacity:1;transform:none;transition:opacity var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-out)}@media (prefers-reduced-motion: reduce){.popover-panel,.popover-panel[data-state=open]{transform:none}}.tabs{position:relative;display:flex;gap:var(--spacing-2xs);margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{position:relative;flex-shrink:0;min-height:var(--touch-target);padding:0 var(--spacing-smd);font:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);white-space:nowrap;color:var(--color-text-secondary);background:none;border:0;border-radius:var(--radius-md) var(--radius-md) 0 0}.tab[aria-selected=true]{color:var(--color-text-primary)}@media (hover: hover) and (pointer: fine){.tab:hover{color:var(--color-text-primary)}}.tab:focus-visible{outline-offset:-2px}.tabs-indicator{position:absolute;left:0;bottom:0;width:1px;height:2px;background:var(--color-primary);border-radius:var(--radius-full);transform-origin:left center;transition:transform var(--duration-base) var(--ease-standard);pointer-events:none}.dark .tabs-indicator{background:var(--color-sidebar-accent)}.segmented{display:inline-flex;padding:2px;gap:2px;background:var(--color-bg-app);border:1px solid var(--color-border);border-radius:var(--radius-md)}.segmented>button{min-height:calc(var(--control-height) - 6px);padding:0 var(--spacing-smd);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:transparent;border:0;border-radius:calc(var(--radius-md) - 2px)}.segmented--sm>button{min-height:28px;padding:0 var(--spacing-sm);font-size:var(--font-size-xs)}@media (pointer: coarse){.segmented--sm>button{min-height:36px}}.segmented>button[aria-pressed=true],.segmented>button[aria-selected=true]{color:var(--color-text-primary);background:var(--color-bg-card);box-shadow:var(--shadow-sm)}.badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-2xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);white-space:nowrap;border-radius:var(--radius-full);color:var(--color-text-secondary);background:var(--color-bg-app)}.table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.toast{position:fixed;left:max(var(--spacing-md),var(--safe-left));right:max(var(--spacing-md),var(--safe-right));bottom:calc(var(--spacing-md) + var(--safe-bottom));z-index:var(--z-toast);max-width:480px;margin:0 auto;display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm) var(--spacing-md);padding:var(--spacing-smd) var(--spacing-md);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover);animation:toast-in var(--duration-slow) var(--ease-out)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}@media (max-width: 767px){.toast{bottom:calc(var(--tabbar-height) + var(--safe-bottom) + var(--spacing-sm))}}.loading-fallback{display:flex;align-items:center;justify-content:center;font-size:var(--font-size-base);color:var(--color-text-secondary);animation:loading-appear var(--duration-fast) var(--ease-standard) .25s both}@keyframes loading-appear{0%{opacity:0}}.menu-title{padding:var(--spacing-xs) var(--spacing-smd) var(--spacing-xs);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.menu{display:flex;flex-direction:column}.menu-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);width:100%;min-height:36px;padding:0 var(--spacing-smd);font:inherit;font-size:var(--font-size-base);text-align:left;color:var(--color-text-primary);background:none;border:0;border-radius:var(--radius-md);--press-scale: 1}@media (pointer: coarse){.menu-item{min-height:48px;font-size:var(--font-size-md)}}.menu-item[aria-checked=true]{font-weight:var(--font-weight-semibold)}.menu-item>svg{color:var(--color-link);flex-shrink:0}.menu-item:disabled{opacity:.5}.menu-item--danger,.menu-item--danger>svg{color:var(--color-danger-text)}.menu-separator{height:1px;margin:var(--spacing-xs) var(--spacing-smd);background:var(--color-border)}.menu-item-hint{margin-left:auto;font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.data-table{width:100%;border-collapse:collapse;font-size:var(--font-size-base)}.data-table th{font-weight:var(--font-weight-semibold);white-space:nowrap;color:var(--color-text-secondary)}@media (hover: hover) and (pointer: fine){.data-table tbody tr{transition:background-color var(--duration-fast) var(--ease-standard)}.data-table tbody tr:hover{background-color:var(--color-bg-hover)}}.people-picker{display:flex;flex-direction:column;gap:var(--spacing-sm)}.people-picker-selected{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.people-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:2px;font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-primary-soft);border-radius:var(--radius-full)}.people-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:2px}.people-chip>button{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;color:var(--color-text-secondary);background:none;border:0;border-radius:var(--radius-full)}.people-picker-list{list-style:none;max-height:min(320px,45dvh);overflow-y:auto;overscroll-behavior:contain;margin:0 calc(var(--spacing-sm) * -1);padding:0}.people-picker-row{display:flex;align-items:center;gap:var(--spacing-smd);width:100%;min-height:52px;padding:var(--spacing-xs) var(--spacing-sm);font:inherit;text-align:left;color:var(--color-text-primary);background:none;border:0;border-radius:var(--radius-md)}.people-picker-text{flex:1;min-width:0;display:flex;flex-direction:column}.people-picker-name{font-size:var(--font-size-md);overflow-wrap:anywhere}.people-picker-sub{font-size:var(--font-size-xs);color:var(--color-text-secondary);overflow-wrap:anywhere}.people-picker-check{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;color:var(--color-primary-text);border:2px solid var(--color-border-strong);border-radius:var(--radius-full)}.people-picker-check[data-checked]{background:var(--color-primary);border-color:var(--color-primary)}.people-picker-empty{padding:var(--spacing-md) var(--spacing-sm);color:var(--color-text-secondary)}.period-nav{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.period-nav-label{width:10.5em;text-align:center;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);white-space:nowrap;text-transform:capitalize}.period-nav[data-size=wide]{max-width:100%}.period-nav[data-size=wide] .period-nav-label{width:15em;max-width:calc(100vw - 2 * var(--page-gutter) - 2 * var(--touch-target) - 2 * var(--spacing-xs));overflow:hidden;text-overflow:ellipsis;font-size:var(--font-size-base)}@media (max-width: 767px){.page-header>.period-nav{display:flex;width:100%;justify-content:space-between}.page-header>.period-nav .period-nav-label{flex:1;width:auto}}.pager{display:flex;align-items:center;justify-content:center;gap:var(--spacing-smd);margin-top:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-secondary)}@media (max-width: 767px){.data-table--stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.data-table--stack,.data-table--stack tbody{display:block;width:100%}.data-table--stack tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-smd) var(--spacing-md);padding:var(--spacing-md);border-bottom:1px solid var(--color-border)!important}.data-table--stack tr:last-child{border-bottom:0!important}.data-table--stack td{display:block;min-width:0;padding:0!important;border:0!important;white-space:normal!important;text-align:left!important}.data-table--stack td:before{content:attr(data-label);display:block;margin-bottom:2px;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.data-table--stack td[data-label=""]:before,.data-table--stack td:first-child:before{display:none}.data-table--stack td:first-child{grid-column:1 / -1;font-size:var(--font-size-md)}.data-table--stack td[data-wide]{grid-column:1 / -1}.data-table--stack td:empty{display:none}}@media (max-width: 767px){.data-table--wide{min-width:720px}.data-table--wide td,.data-table--wide td *{white-space:nowrap!important}.data-table--wide td>div[style*=flex]{flex-wrap:nowrap!important;flex-direction:row!important;gap:var(--spacing-xs)!important}.data-table--wide td[colspan]{position:static;box-shadow:none;background:transparent}.table-group-label{position:sticky;left:var(--spacing-smd);display:inline-block}.data-table--wide td>div:not([style*=flex]){display:inline-block;margin-right:var(--spacing-sm)}.data-table--wide th:first-child,.data-table--wide td:first-child{position:sticky;left:0;z-index:1;background:var(--color-bg-card);box-shadow:1px 0 0 var(--color-border)}}.attachment-thumb{width:44px;height:44px;flex-shrink:0;padding:0;overflow:hidden;cursor:zoom-in;background:var(--color-bg-hover);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.attachment-thumb--file{cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;line-height:1}.filter-disclosure{margin-bottom:var(--spacing-md)}.filter-disclosure-toggle{width:100%;justify-content:flex-start}.filter-disclosure-toggle>svg:last-child{margin-left:auto;transition:transform var(--duration-base) var(--ease-standard)}.filter-disclosure[data-open] .filter-disclosure-toggle>svg:last-child{transform:rotate(180deg)}.filter-disclosure-count{color:var(--color-primary-text);background:var(--color-primary)}.filter-disclosure-body{margin-top:var(--spacing-sm);animation:overlay-fade-in var(--duration-base) var(--ease-standard)}.analytics-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.analytics-filters>.field{width:auto;flex:0 1 auto}@media (max-width: 767px){.analytics-filters>.field{flex:1 1 100%}.analytics-filters .analytics-filters{margin-bottom:0}}.info-popover{display:inline-flex;vertical-align:middle}.info-popover-button{color:var(--color-text-muted)}.info-popover-body{padding:var(--spacing-xs) var(--spacing-sm) var(--spacing-sm);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-secondary)}.info-popover-terms{margin:var(--spacing-sm) 0 0}.info-popover-terms dt{margin-top:var(--spacing-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.info-popover-terms dd{margin:2px 0 0}.auth-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:max(var(--spacing-lg),var(--safe-top)) max(var(--spacing-md),var(--safe-right)) max(var(--spacing-lg),var(--safe-bottom)) max(var(--spacing-md),var(--safe-left));background:var(--color-bg-app)}.auth-card{width:100%;max-width:400px;padding:var(--spacing-xl) var(--spacing-lg);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md)}@media (max-width: 479px){.auth-screen{align-items:flex-start;padding-top:max(var(--spacing-3xl),var(--safe-top))}.auth-card{padding:0;background:transparent;border:0;box-shadow:none}}.auth-brand{margin-bottom:var(--spacing-xl);text-align:center}.auth-logo{display:flex;justify-content:center;margin-bottom:var(--spacing-md)}.auth-title{margin-top:var(--spacing-lg);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}svg.icon{flex-shrink:0;vertical-align:-.2em}.count-up{display:inline-grid}.count-up>.count-up-sizer,.count-up>.count-up-value{grid-area:1 / 1;white-space:nowrap}.count-up>.count-up-sizer{visibility:hidden}.grow-x{transform-origin:left center;animation:grow-x var(--duration-grow) var(--ease-out) both}.grow-y{transform-origin:center bottom;animation:grow-y var(--duration-grow) var(--ease-out) both}@keyframes grow-x{0%{transform:scaleX(0)}}@keyframes grow-y{0%{transform:scaleY(0)}}html.reasy-splash-active .grow-x,html.reasy-splash-active .grow-y{animation-play-state:paused}.loading-text{animation:loading-text-show 1ms linear .4s backwards}@keyframes loading-text-show{0%{opacity:0}}.profile-hero{display:flex;align-items:center;gap:var(--spacing-md)}.profile-hero-text{flex:1;min-width:0}.profile-hero-photo{display:inline-flex;flex:none;padding:0;border:0;border-radius:var(--radius-full);background:transparent;cursor:pointer;line-height:0}@media (hover: hover) and (pointer: fine){.profile-hero-photo:hover{opacity:.88}}.profile-hero-name{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}.profile-hero-position{margin-top:var(--spacing-xs);font-size:var(--font-size-base);color:var(--color-text-secondary)}.profile-hero-mail{margin-top:2px;font-size:var(--font-size-sm);color:var(--color-text-muted);overflow-wrap:anywhere}@media (max-width: 767px){.profile-hero{gap:var(--spacing-smd)}.profile-hero-name{font-size:var(--font-size-xl)}.profile-hero-position{margin-top:2px;font-size:var(--font-size-sm)}}@media (max-width: 767px){.holiday-table,.holiday-table tbody{display:block}.holiday-table tr{display:grid;grid-template-columns:5.75em minmax(0,1fr) auto;align-items:center;gap:2px var(--spacing-sm);padding:var(--spacing-smd) 0}.holiday-table td{display:block;padding:0!important;white-space:normal!important;overflow-wrap:break-word}.holiday-table td:nth-child(1){grid-row:1;grid-column:1;align-self:start}.holiday-table td:nth-child(2){grid-row:1;grid-column:2}.holiday-table td:nth-child(3){grid-row:2;grid-column:2}.holiday-table td:nth-child(4){grid-row:1 / 3;grid-column:3}}@media (max-width: 767px){.log-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.log-table,.log-table tbody{display:block}.log-table tr{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:var(--spacing-sm);row-gap:2px;padding:var(--spacing-smd) var(--spacing-md)}.log-table tr:after{content:"";order:3;flex-basis:100%;height:0}.log-table td{display:block;padding:0!important;white-space:normal!important}.log-table td:nth-child(6){order:1;flex:1 1 0;min-width:0;font-size:var(--font-size-base);color:var(--color-text-primary)!important;overflow-wrap:anywhere}.log-table td:nth-child(5){order:2}.log-table td:nth-child(-n+4){order:4;font-size:var(--font-size-xs);color:var(--color-text-muted)!important}.log-table td:nth-child(n+2):nth-child(-n+4):before{content:"·";margin-right:var(--spacing-sm)}.log-table td[colspan]{order:5;flex-basis:100%;margin-top:var(--spacing-sm);padding:var(--spacing-smd)!important;border-radius:var(--radius-md)}.log-table td[colspan]:before{content:none}}.disclosure-icon{display:inline-flex;margin-left:var(--spacing-xs);color:var(--color-text-muted);vertical-align:middle;transition:transform var(--duration-base) var(--ease-standard)}.disclosure-icon[data-open]{transform:rotate(180deg)}.info-hint{display:inline-flex;vertical-align:middle;margin-left:4px}.info-hint-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;border-radius:var(--radius-full);background:transparent;color:var(--color-text-muted);cursor:pointer}.info-hint-button:before{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px}.info-hint-button[aria-expanded=true]{color:var(--color-link)}@media (hover: hover) and (pointer: fine){.info-hint-button:hover{color:var(--color-text-primary)}}.info-hint-body{white-space:pre-line;font-weight:var(--font-weight-regular);text-align:left}.brand-logo{display:inline-flex;flex-shrink:0}.brand-logo img{display:block;max-width:100%;height:auto}.brand-logo .brand-logo-dark,.dark .brand-logo .brand-logo-light{display:none}.dark .brand-logo .brand-logo-dark{display:block}.title-with-status{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-xs) var(--spacing-smd)}.live-status{display:inline-flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.live-status-warning{color:var(--color-warning-text)}.section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.section-header>.section-title{margin-bottom:0}.section-header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:var(--spacing-smd);margin-bottom:var(--spacing-md)}.stat-label{display:flex;align-items:center;min-height:20px;gap:var(--spacing-2xs);margin-bottom:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-muted)}.stat-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.stat-sub{margin-top:var(--spacing-2xs);font-size:var(--font-size-xs);color:var(--color-text-muted)}.data-table tr.is-today{background:var(--color-bg-selected)}.data-table--cells th{padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.data-table--cells td{padding:var(--spacing-sm) var(--spacing-md);vertical-align:middle;border-bottom:1px solid var(--color-border)}.data-table--cells tbody tr:last-child td{border-bottom:0}.absence-table-kind{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.absence-table-note{display:block;max-width:240px;margin-top:2px;font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:normal}.absence-table-proof{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-xs)}.absence-table-missing{font-size:var(--font-size-sm);color:var(--color-warning-text)}@media (min-width: 768px){.absence-table-actions{width:1%;text-align:right}}@media (max-width: 767px){.absence-table tr{position:relative}.absence-table td.absence-table-actions{position:absolute;top:var(--spacing-xs);right:var(--spacing-xs)}.absence-table td:first-child{padding-right:48px!important}}.overview-week{margin-bottom:var(--spacing-md)}.dashboard.overview-week .dashboard-card.dashboard-week{contain:none;overflow:visible}.day-changes{margin-top:2px;font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:normal}.day-changes-note{color:var(--color-text-primary)}.dialog-root[data-variant=dialog] .dialog-panel--anchored{align-self:flex-start;margin-top:min(8vh,72px)}.dialog-root[data-variant=sheet] .dialog-panel--anchored{height:92dvh}.history-row{cursor:pointer}.history-row:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:-2px}.history-detail{display:grid;margin:0 0 var(--spacing-sm)}.history-detail-row{display:grid;grid-template-columns:minmax(120px,40%) 1fr;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-xs);border-bottom:1px solid var(--color-border);border-radius:var(--radius-sm)}.history-detail-row dt{color:var(--color-text-muted);font-size:var(--font-size-sm)}.history-detail-row dd{margin:0;color:var(--color-text-primary);overflow-wrap:anywhere}.history-detail-row[data-changed]{background:var(--color-primary-soft)}.history-detail-row[data-changed] dd{font-weight:var(--font-weight-semibold)}.history-detail-before{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--color-text-secondary)}.month-status{display:flex;align-items:center;gap:6px;margin-top:2px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:normal}.month-status:before{content:"";flex-shrink:0;width:8px;height:8px;border-radius:var(--radius-full);background:currentColor}.month-payout{display:block;font-size:var(--font-size-xs);white-space:normal}.month-status[data-status=RUNNING],.month-payout[data-status=RUNNING]{color:var(--color-info-text)}.month-status[data-status=OPEN],.month-payout[data-status=OPEN]{color:var(--color-warning-text)}.month-status[data-status=CLOSED],.month-payout[data-status=CLOSED]{color:var(--color-success-text)}.month-status[data-status=LOCKED]{color:var(--color-text-secondary)}.perm-roles{list-style:none;margin:0;padding:0}.perm-roles li+li{border-top:1px solid var(--color-border)}.perm-role{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;min-height:64px;padding:var(--spacing-sm) var(--spacing-md);font:inherit;text-align:left;color:var(--color-text-muted);background:none;border:0;cursor:pointer}.perm-role-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.perm-role-name{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-xs);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.perm-role-summary{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.perm-system-badge{font-size:var(--font-size-2xs)}.perm-back{display:inline-flex;align-items:center;gap:2px;min-height:var(--touch-target);padding:0}.perm-title{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm)}.perm-matrix{--perm-col: 64px}.perm-head,.perm-row{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,var(--perm-col));align-items:center}.perm-head{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-card);border-bottom:1px solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.perm-head-label{display:inline-flex;align-items:center;gap:2px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.perm-head-level{text-align:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.perm-group-title{margin:0;padding:var(--spacing-md) var(--spacing-md) var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.perm-row{min-height:56px;padding:var(--spacing-xs) var(--spacing-md);border-top:1px solid var(--color-border)}.perm-group-title+.perm-row{border-top:0}.perm-module{display:flex;flex-direction:column;gap:2px;min-width:0;padding-right:var(--spacing-sm)}.perm-module-name{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-xs);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.perm-module-info{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--line-height-snug)}.perm-planned,.perm-sensitive{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:var(--color-bg-hover);border:1px solid var(--color-border-strong);border-radius:var(--radius-full)}.perm-sensitive{color:var(--color-warning-text);background:var(--color-warning-bg);border-color:transparent}.perm-cell{position:relative;display:flex;align-items:center;justify-content:center;min-height:var(--touch-target);cursor:pointer}.perm-cell input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:inherit}.perm-radio{width:22px;height:22px;border:2px solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-bg-input);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.perm-cell input:checked+.perm-radio{border-color:var(--perm-tone);box-shadow:inset 0 0 0 4px var(--color-bg-input),inset 0 0 0 11px var(--perm-tone)}.perm-cell[data-level=NONE]{--perm-tone: var(--color-text-secondary)}.perm-cell[data-level=READ]{--perm-tone: var(--color-info)}.perm-cell[data-level=FULL]{--perm-tone: var(--color-success)}.perm-cell input:focus-visible+.perm-radio{outline:2px solid var(--color-focus-ring);outline-offset:2px}.perm-cell input:disabled{cursor:default}.perm-cell input:disabled:not(:checked)+.perm-radio{opacity:.45}@media (hover: hover) and (pointer: fine){.perm-cell:hover input:not(:disabled):not(:checked)+.perm-radio{border-color:var(--perm-tone)}}@media (max-width: 767px){.perm-matrix{--perm-col: 50px}.perm-head,.perm-row{padding-left:var(--spacing-sm);padding-right:var(--spacing-xs)}.perm-group-title{padding-left:var(--spacing-sm)}}.role-list{list-style:none;margin:0;padding:0}.role-item{display:flex;align-items:center;gap:var(--spacing-sm);min-height:64px;padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-sm) var(--spacing-md);transition:opacity var(--duration-fast) var(--ease-standard)}.role-item+.role-item{border-top:1px solid var(--color-border)}.role-item[data-busy]{opacity:.55}.role-item-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.role-item-name{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-xs);flex:1;min-width:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.role-item-name--muted{font-weight:var(--font-weight-regular);color:var(--color-text-secondary)}.role-item-meta{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.role-list--deleted{border-top:1px solid var(--color-border)}.role-list--deleted .role-item{min-height:52px}.role-deleted-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:var(--touch-target);padding:var(--spacing-sm) var(--spacing-md);font:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:none;border:0;cursor:pointer}.perm-title-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-sm)}.edit-mode-hint{margin-top:var(--spacing-xs)}.edit-mode-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-warning-text);background:var(--color-warning-bg);border-radius:var(--radius-md)}.edit-mode-frame[data-editing]{box-shadow:0 0 0 2px var(--color-warning)}.perm-sensitive-check{display:flex;align-items:flex-start;gap:var(--spacing-sm);margin-top:var(--spacing-md);font-size:var(--font-size-base);color:var(--color-text-primary);cursor:pointer}.perm-sensitive-check input{flex-shrink:0;width:20px;height:20px;margin-top:1px}.perm-user-confirm{flex-basis:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-warning-bg);border-radius:var(--radius-md)}.perm-user-confirm p{display:flex;align-items:flex-start;gap:var(--spacing-xs);margin:0;font-size:var(--font-size-sm);color:var(--color-warning-text)}.perm-user-confirm .perm-sensitive-check{margin-top:var(--spacing-sm);font-size:var(--font-size-sm)}.perm-user-confirm-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.search-field{position:relative;flex:1 1 240px;min-width:0}.search-field-icon{position:absolute;left:var(--spacing-smd);top:50%;display:inline-flex;color:var(--color-text-muted);transform:translateY(-50%);pointer-events:none}.search-field-input.field{padding-left:calc(var(--spacing-smd) + 26px)}.search-field-list{position:absolute;z-index:var(--z-popover);top:calc(100% + var(--spacing-xs));left:0;min-width:100%;width:max-content;max-width:min(400px,calc(100vw - 2 * var(--page-gutter)));max-height:min(360px,50dvh);overflow-y:auto;overscroll-behavior:contain;padding:var(--spacing-xs);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover)}.search-field-group{padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-2xs);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.search-field-option{display:flex;align-items:center;gap:var(--spacing-sm);min-height:var(--touch-target);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);cursor:pointer}.search-field-option[aria-selected=true]{background:var(--color-state-hover)}.search-field-option-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;color:var(--color-link);background:var(--color-primary-soft);border-radius:var(--radius-full)}.search-field-option-text{display:flex;flex-direction:column;min-width:0}.search-field-option-label{font-size:var(--font-size-base);color:var(--color-text-primary);overflow-wrap:anywhere}.search-field-option-sub{font-size:var(--font-size-xs);color:var(--color-text-secondary);overflow-wrap:anywhere}.search-field-option mark{color:inherit;font-weight:var(--font-weight-semibold);background:none;text-decoration:underline;text-decoration-color:var(--color-primary);text-underline-offset:2px}.search-field-empty{margin:0;padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.icon-choice-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.icon-choice-field .field-label{margin:0}.icon-choice{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(112px,100%),1fr));gap:var(--spacing-sm)}.icon-choice-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs);min-height:76px;padding:var(--spacing-sm) var(--spacing-xs);font:inherit;font-size:var(--font-size-sm);text-align:center;color:var(--color-text-primary);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.icon-choice-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--color-primary-text);background:var(--choice-tone, var(--color-primary));border-radius:10px}.icon-choice-label{line-height:var(--line-height-tight);overflow-wrap:anywhere}.icon-choice-option[aria-checked=true]{background:var(--color-primary-soft);border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);font-weight:var(--font-weight-semibold)}@media (hover: hover) and (pointer: fine){.icon-choice-option[aria-checked=false]:hover{background:var(--color-state-hover)}}.settings-choice{display:grid;gap:var(--spacing-xs);justify-items:start;margin-top:var(--spacing-xs)}.settings-choice .segmented{max-width:100%}.settings-choice .field-hint{max-width:72ch}.settings-panel{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.settings-panel-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.settings-panel-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.settings-panel-intro{font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-secondary)}.integration-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.integration-card{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-card)}.integration-card-head{display:flex;align-items:flex-start;gap:var(--spacing-sm)}.integration-card-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:var(--radius-md);color:var(--color-text-secondary);background:var(--color-bg-app)}.integration-card-title{flex:1;min-width:0}.integration-card-title h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.integration-card-title p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.integration-status[data-status=connected]{color:var(--color-success-text);background:var(--color-success-bg)}.integration-status[data-status=notConfigured]{color:var(--color-warning-text);background:var(--color-warning-bg)}.integration-facts{display:flex;flex-direction:column;gap:var(--spacing-2xs);font-size:var(--font-size-sm)}.integration-facts>div{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.integration-facts dt{color:var(--color-text-secondary)}.integration-facts dd{color:var(--color-text-primary)}.integration-code{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);border-radius:var(--radius-md);background:var(--color-bg-app)}.integration-code-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.integration-code-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);letter-spacing:.12em;color:var(--color-text-primary);font-variant-numeric:tabular-nums;-webkit-user-select:all;user-select:all}.integration-steps{margin:0;padding-left:var(--spacing-lg);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-primary)}.integration-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm)}.security-legend{display:grid;gap:var(--spacing-xs);margin:0;font-size:var(--font-size-sm)}.security-legend div{display:flex;flex-wrap:wrap;gap:0 var(--spacing-xs)}.security-legend dt{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.security-legend dt:after{content:":"}.security-legend dd{margin:0;color:var(--color-text-secondary)}.security-head,.security-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 150px;gap:var(--spacing-md);align-items:center}.security-head{padding:var(--spacing-sm) 0 var(--spacing-xs);margin-top:var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.security-list{list-style:none;margin:0;padding:0}.security-row{padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border)}.security-row:last-child{border-bottom:0}.security-area{display:flex;flex-direction:column;gap:2px;min-width:0}.security-area-name{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.security-area-hint{font-size:var(--font-size-xs);line-height:var(--line-height-tight);color:var(--color-text-secondary)}.security-cell{display:inline-flex;align-items:center;gap:var(--spacing-xs);min-height:var(--touch-target);color:var(--color-text-secondary);cursor:pointer}.security-cell input{width:20px;height:20px}.security-cell input:disabled{cursor:default}.security-cell--na{color:var(--color-text-muted);cursor:default}.security-cell-label{display:none;font-size:var(--font-size-sm)}@media (max-width: 640px){.security-head{display:none}.security-row{grid-template-columns:1fr;gap:2px}.security-cell-label{display:inline}.security-cell--na{display:none}}.vacation-forecast{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:var(--spacing-sm)}.vacation-forecast-year{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-hover);border-radius:var(--radius-md)}.vacation-forecast-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--spacing-xs) var(--spacing-sm);margin-bottom:var(--spacing-xs)}.vacation-forecast-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.vacation-forecast-result{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-success-text)}.vacation-forecast-year[data-short] .vacation-forecast-result{color:var(--color-danger-text)}.vacation-forecast-line{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.vacation-forecast-calc{margin:0;display:grid;gap:2px;font-size:var(--font-size-sm);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.vacation-forecast-calc div{display:flex;justify-content:space-between;gap:var(--spacing-sm)}.vacation-forecast-calc dt{display:inline-flex;align-items:center;gap:4px}.vacation-forecast-calc dd{margin:0;white-space:nowrap}.vacation-forecast-sum{padding-top:2px;border-top:1px solid var(--color-border);color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.range-calendar{position:relative;max-width:440px;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-card)}.range-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.range-calendar-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.range-calendar-step{display:inline-flex;align-items:center;justify-content:center;width:var(--touch-target);height:var(--touch-target);color:var(--color-text-secondary);background:transparent;border:0;border-radius:var(--radius-md);cursor:pointer}.range-calendar-weekdays,.range-calendar-grid{display:grid;grid-template-columns:26px repeat(7,minmax(0,1fr));gap:2px}.range-calendar-week{display:flex;align-items:center;justify-content:center;font-size:var(--font-size-2xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums;border-right:1px solid var(--color-border)}.range-calendar-week-head{border-right:1px solid transparent}.range-calendar-weekday{padding:2px 0 4px;font-size:var(--font-size-2xs);text-align:center;color:var(--color-text-muted)}.range-calendar-blank{aspect-ratio:1;min-height:38px}.range-calendar-grid[data-direction=next]{animation:range-calendar-next var(--duration-base) var(--ease-out)}.range-calendar-grid[data-direction=previous]{animation:range-calendar-previous var(--duration-base) var(--ease-out)}@keyframes range-calendar-next{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}@keyframes range-calendar-previous{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.range-calendar-grid[data-direction]{animation:none}}.range-calendar-day{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;min-height:38px;font:inherit;font-size:var(--font-size-sm);color:var(--color-text-primary);background:transparent;border:0;border-radius:var(--radius-md);cursor:pointer;font-variant-numeric:tabular-nums;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.range-calendar-day[data-calendar-day],.range-calendar-day[data-calendar-day][data-off]{color:var(--color-on-palette);background:color-mix(in srgb,var(--day-mark) var(--palette-fill-strength),var(--color-bg-app));font-weight:var(--font-weight-semibold)}.range-calendar-day[data-calendar-day][data-in-range]:not([data-edge]){box-shadow:inset 0 0 0 2px var(--color-primary)}.range-calendar-day[data-off]{color:var(--color-text-muted)}.range-calendar-day[data-in-range]{background:var(--color-primary-soft)}.range-calendar-day[data-edge]{color:var(--color-primary-text);background:var(--color-primary);font-weight:var(--font-weight-semibold)}.range-calendar-day[aria-disabled=true]:not([data-calendar-day]){cursor:help}.range-calendar-day[data-calendar-day]{cursor:help}.range-calendar-day[data-blocked]{color:var(--color-text-secondary);text-decoration:line-through;background:repeating-linear-gradient(135deg,var(--color-bg-hover) 0 4px,var(--color-border-strong) 4px 6px)}.range-calendar-day[data-blocked][data-edge]{color:var(--color-primary-text);background:var(--color-primary);text-decoration:none}.range-calendar-day[data-blocked][data-in-range]:not([data-edge]){box-shadow:inset 0 0 0 2px var(--color-primary)}.range-calendar-own{position:absolute;left:22%;right:22%;bottom:4px;height:3px;border-radius:2px}.range-calendar-own[data-pending]{opacity:.5}.range-calendar-legend{display:flex;flex-wrap:wrap;gap:var(--spacing-xs) var(--spacing-md);margin-top:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.range-calendar-legend>span{display:inline-flex;align-items:center;gap:6px}.range-calendar-swatch{display:inline-block;width:12px;height:12px;border-radius:3px}.range-calendar-swatch--own{width:14px;height:3px;border-radius:2px;background:var(--color-text-secondary)}.range-calendar-swatch--blocked{border-radius:2px;background:repeating-linear-gradient(135deg,var(--color-bg-hover) 0 2px,var(--color-border-strong) 2px 4px)}.range-calendar-hint{position:absolute;z-index:2;display:flex;flex-direction:column;gap:2px;width:max-content;max-width:220px;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);line-height:var(--line-height-snug);color:var(--color-text-primary);background:var(--color-bg-card);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transform:translate(-50%,calc(-100% - 6px));pointer-events:none;animation:range-calendar-hint-in var(--duration-fast) var(--ease-out)}.range-calendar-hint strong{font-weight:var(--font-weight-semibold)}@keyframes range-calendar-hint-in{0%{opacity:0;transform:translate(-50%,calc(-100% - 2px))}to{opacity:1;transform:translate(-50%,calc(-100% - 6px))}}@media (prefers-reduced-motion: reduce){.range-calendar-hint{animation:none}}.range-calendar-message{margin-top:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-danger-text)}@media (hover: hover) and (pointer: fine){.range-calendar-day:not([data-edge]):not([data-calendar-day]):not([aria-disabled]):hover{background:var(--color-state-hover)}.range-calendar-step:hover{background:var(--color-state-hover)}}.team-calendar-pending{opacity:.45}.team-calendar-highlight{box-shadow:inset 0 0 0 2px var(--color-primary)}.security-pin{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);margin-top:var(--spacing-xs);background:var(--color-bg-hover);border-radius:var(--radius-md)}.security-pin-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-xs) var(--spacing-sm)}.security-pin-status{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.security-pin-status[data-active]{color:var(--color-success-text)}.security-pin-info{font-size:var(--font-size-sm);color:var(--color-success-text)}.security-pin-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.security-pin-form{display:grid;gap:var(--spacing-xs);max-width:360px;margin-top:var(--spacing-xs)}.pin-input{font-variant-numeric:tabular-nums;letter-spacing:.3em;-webkit-text-security:disc}.sensitive-locked{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.task-check{display:inline-flex;align-items:center;justify-content:center;width:var(--touch-target);height:var(--touch-target);flex-shrink:0;padding:0;background:none;border:0;border-radius:var(--radius-full)}.task-check-circle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:var(--color-primary-text);border:2px solid var(--color-border-strong);border-radius:var(--radius-full);transition:transform var(--duration-instant) var(--ease-standard)}.task-check:active .task-check-circle{transform:scale(.9)}@media (hover: hover) and (pointer: fine){.task-check:hover .task-check-circle{border-color:var(--color-primary)}}.task-check[data-checked] .task-check-circle{background:var(--color-primary);border-color:var(--color-primary)}.task-check[data-size=sm] .task-check-circle{width:18px;height:18px;border-width:1.5px}.progress-bar{display:block;height:6px;overflow:hidden;background:var(--color-bg-hover);border-radius:var(--radius-full)}.progress-bar-fill{display:block;height:100%;background:var(--color-primary);border-radius:inherit;transform-origin:left center;transition:transform var(--duration-base) var(--ease-standard)}.progress-bar-fill[data-tone=success]{background:var(--color-success)}@media (prefers-reduced-motion: reduce){.progress-bar-fill{transition:none}}.rte-field{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--spacing-xs);min-width:0}.rte-field>.field-label{margin:0}.rte{display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden;container-type:inline-size;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.rte:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.rte-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-smd);border-bottom:1px solid var(--color-border)}.rte-group{display:inline-flex;flex-wrap:wrap;align-items:center;gap:2px}.rte-divider{width:1px;height:20px;margin:0 var(--spacing-2xs);background:var(--color-border)}.rte-select{flex:0 1 auto;min-width:0;height:32px;width:auto;max-width:170px;padding:0 22px 0 var(--spacing-sm);font:inherit;font-size:var(--font-size-sm);color:var(--color-text-primary);background-color:transparent;border:0;border-radius:var(--radius-md);cursor:pointer}.rte-select--narrow{max-width:84px}.rte-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;color:var(--color-text-secondary);background:transparent;border:0;border-radius:var(--radius-md);cursor:pointer}@media (hover: hover) and (pointer: fine){.rte-select:hover:not(:disabled),.rte-button:hover:not(:disabled){color:var(--color-text-primary);background-color:var(--color-bg-hover)}}.rte-button[aria-pressed=true]{color:var(--color-link);background:var(--color-primary-soft)}.rte-select:focus-visible,.rte-button:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:1px}.rte-button:disabled,.rte-select:disabled{opacity:.4;cursor:default}.rte[data-disabled] .rte-toolbar{opacity:.6}.rte-link{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-smd);border-bottom:1px solid var(--color-border)}.rte-link .field{flex:1 1 220px;min-width:0}.rte-page{padding:var(--spacing-md);color:var(--color-text-primary);line-height:1.6;overflow-wrap:anywhere}.rte[data-surface=sheet] .rte-body{padding:var(--spacing-lg);background:var(--color-mail-well)}.rte[data-surface=sheet] .rte-page{max-width:680px;margin:0 auto;padding:var(--spacing-lg) var(--spacing-xl);color:var(--color-mail-paper-text);background:var(--color-mail-paper);border-radius:var(--radius-lg);box-shadow:var(--shadow-mail-sheet)}.rte-content{min-height:200px;outline:none;cursor:text}.rte[data-disabled] .rte-content{cursor:default}.rte-content>:first-child{margin-top:0}.rte-content>:last-child{margin-bottom:0}.rte-content p{margin:0 0 1em}.rte-content h2{margin:0 0 .6em;font-size:1.4em}.rte-content h3{margin:0 0 .6em;font-size:1.15em}.rte-content ul,.rte-content ol{margin:0 0 1em;padding-left:1.5em}.rte-content a{color:inherit;text-decoration:underline}.rte-token{padding:1px 4px;color:var(--color-mail-token-text);background:var(--color-mail-token-bg);border-radius:var(--radius-sm)}@container (max-width: 700px){.rte-toolbar>.rte-group:first-child{flex:1 0 100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:2px}.rte-toolbar>.rte-group:first-child .rte-select{width:100%;max-width:none}.rte-toolbar>.rte-group:first-child+.rte-divider{display:none}}.rte-footer{padding:var(--spacing-sm) var(--spacing-smd);border-top:1px solid var(--color-border)}@media (max-width: 767px){.rte-toolbar{padding:var(--spacing-xs)}.rte-divider{display:none}.rte[data-surface=sheet] .rte-body{padding:var(--spacing-sm)}.rte[data-surface=sheet] .rte-page{padding:var(--spacing-md)}}.mail-well{padding:var(--spacing-lg);background:var(--color-mail-well)}.mail-sheet{max-width:680px;margin:0 auto;padding:var(--spacing-lg) var(--spacing-xl);color:var(--color-mail-paper-text);background:var(--color-mail-paper);border-radius:var(--radius-lg);box-shadow:var(--shadow-mail-sheet);overflow-wrap:anywhere}.mail-sheet p{margin:0 0 1em}.mail-sheet h2,.mail-sheet h3{margin:0 0 .6em}.mail-sheet ul,.mail-sheet ol{margin:0 0 1em;padding-left:1.5em}.mail-sheet a{color:inherit}.mail-sheet div>:last-child{margin-bottom:0}@media (max-width: 767px){.mail-well{padding:var(--spacing-sm)}.mail-sheet{padding:var(--spacing-md)}}.dark :is(.rte-page,.mail-sheet) [style*="0f172a"]{color:var(--color-mail-paper-text)!important}.dark :is(.rte-page,.mail-sheet) [style*="64748b"]{color:var(--color-mail-ink-gray)!important}.dark :is(.rte-page,.mail-sheet) [style*="1d4ed8"]{color:var(--color-mail-ink-blue)!important}.dark :is(.rte-page,.mail-sheet) [style*="15803d"]{color:var(--color-mail-ink-green)!important}.dark :is(.rte-page,.mail-sheet) [style*=b91c1c]{color:var(--color-mail-ink-red)!important}.dark :is(.rte-page,.mail-sheet) [style*=c2410c]{color:var(--color-mail-ink-orange)!important}.mail-sheet a{pointer-events:none}.device-list{list-style:none;margin:0 0 var(--spacing-sm);padding:0}.device-row{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border)}.device-row:last-child{border-bottom:0}.device-row-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:var(--radius-md);background:var(--color-bg-hover);color:var(--color-text-secondary)}.device-row-text{flex:1 1 200px;min-width:0}.device-row-name{display:block;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);overflow-wrap:anywhere}.device-row-meta{display:block;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.device-row-badge{margin-left:var(--spacing-xs);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-success-text)}.push-devices{display:grid;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.push-devices-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-xs) var(--spacing-sm)}.push-devices-status{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.push-devices-status[data-on]{color:var(--color-success-text)}.push-devices .device-list{margin:0}[data-reorder-id],[data-drag-id]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.is-reordering [data-reorder-id]{transition:transform var(--duration-base) var(--ease-out)}.is-reordering .is-dragged{position:relative;z-index:1;transition:none;scale:1.06;box-shadow:var(--shadow-lg);cursor:grabbing}.drag-ghost{position:fixed;top:0;left:0;z-index:var(--z-toast);margin:0;pointer-events:none;background:var(--color-bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover);opacity:.96;cursor:grabbing;will-change:transform}.is-drag-source{opacity:.35}.is-dragging [data-drop-id]{transition:background-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}[data-drop-id][data-drop-active]{background:var(--color-primary-soft);box-shadow:0 0 0 2px var(--color-primary);border-radius:var(--radius-lg)}@media (prefers-reduced-motion: reduce){.is-reordering [data-reorder-id],.is-dragging [data-drop-id]{transition:none}.is-reordering .is-dragged{scale:1}}[data-drop-before],[data-drop-after]{position:relative}[data-drop-before]:before,[data-drop-after]:after{content:"";position:absolute;left:var(--spacing-sm);right:var(--spacing-sm);height:2px;background:var(--color-primary);border-radius:var(--radius-full);pointer-events:none;z-index:1}[data-drop-before]:before{top:-1px}[data-drop-after]:after{bottom:-1px}.task-composer{display:flex;align-items:stretch;gap:var(--spacing-sm)}.task-composer-field{flex:1;min-width:0;display:flex;align-items:center;min-height:var(--touch-target);padding-left:var(--spacing-smd);background:var(--color-bg-input);border:1px solid var(--color-border-strong);border-radius:var(--radius-md)}.task-composer-field:focus-within{border-color:var(--color-primary);outline:2px solid var(--color-focus-ring);outline-offset:-1px}.task-composer-input{flex:1;min-width:0;height:100%;min-height:40px;padding:0;font:inherit;font-size:var(--font-size-md);color:var(--color-text-primary);background:transparent;border:0}.task-composer-input:focus,.task-composer-input:focus-visible{outline:none}.task-composer-tools{display:flex;align-items:center;flex-shrink:0;padding-right:var(--spacing-2xs)}.task-composer-submit{flex-shrink:0;min-height:var(--touch-target)}.task-composer-submit-label{display:none}@media (min-width: 768px){.task-composer-submit-label{display:inline}}@media (max-width: 767px){.task-composer-submit{width:var(--touch-target);padding:0;border-radius:var(--radius-full)}}.task-tool{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;color:var(--color-text-muted);border-radius:var(--radius-md)}@media (pointer: coarse){.task-tool{width:var(--touch-target);height:var(--touch-target)}}@media (hover: hover) and (pointer: fine){.task-tool:hover{color:var(--color-text-primary);background:var(--color-state-hover)}}.task-tool[data-active]{color:var(--color-link)}.task-tool[data-busy]{opacity:.5}.task-tool:focus-within{outline:2px solid var(--color-focus-ring);outline-offset:-2px}.task-tool-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;outline:none!important;font-size:16px}.task-tool-overlay::-webkit-calendar-picker-indicator{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:pointer}button.task-tool{padding:0;border:0;background:transparent;font:inherit;cursor:pointer}.task-chips{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.task-chip{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:2px 2px 2px var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-primary-soft);border-radius:var(--radius-full)}.task-chip>svg{color:var(--color-link)}.task-chip>button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--color-text-secondary);background:none;border:0;border-radius:var(--radius-full)}.task-list{list-style:none;margin:var(--spacing-sm) 0 0;padding:0}.tasks-empty{padding:var(--spacing-md) 0;color:var(--color-text-secondary)}.tasks-done-toggle{min-height:var(--touch-target);margin-top:var(--spacing-xs)}.task-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:var(--spacing-xs);padding:2px 0;border-bottom:1px solid var(--color-border)}.task-row:last-child{border-bottom:0}.task-body{min-width:0}.task-text{display:block;width:100%;min-height:var(--touch-target);padding:11px 0;font:inherit;font-size:var(--font-size-md);line-height:var(--line-height-snug);text-align:left;color:var(--color-text-primary);background:none;border:0;overflow-wrap:anywhere;cursor:text}.task-row[data-done] .task-text{color:var(--color-text-muted);text-decoration:line-through;cursor:default}.task-meta{display:block;margin-top:2px;font-size:var(--font-size-xs);color:var(--color-text-muted);text-decoration:none}.task-meta[data-overdue]{color:var(--color-danger-text)}.task-more{padding-top:2px}.task-action{color:var(--color-text-muted)}@media (pointer: coarse){.task-action{width:var(--touch-target);min-height:var(--touch-target)}}@media (hover: hover) and (pointer: fine){.task-row .task-action{opacity:.45;transition:opacity var(--duration-fast) var(--ease-standard)}.task-row:hover .task-action,.task-row:focus-within .task-action,.task-action[aria-expanded=true]{opacity:1}}.task-menu-title{color:var(--color-text-primary);font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-done-label{display:inline-block;margin-left:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-success-text)}[data-completing=true] .task-check-circle{animation:task-check-pop .26s var(--ease-out)}[data-completing=true] :is(.task-title,.goal-card-title){text-decoration:line-through;color:var(--color-text-muted);transition:color var(--duration-fast) var(--ease-standard)}[data-completing=true] .task-done-label{animation:task-label-in .18s var(--ease-out)}[data-completing=true]{animation:task-row-out .26s var(--ease-in) .39s forwards;overflow:hidden}@keyframes task-check-pop{0%{transform:scale(1)}50%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes task-label-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:none}}@keyframes task-row-out{to{opacity:0;transform:translate(16px)}}@media (prefers-reduced-motion: reduce){[data-completing=true],[data-completing=true] .task-check-circle,[data-completing=true] .task-done-label{animation:none}}.worktime-break-options{display:grid;gap:var(--spacing-xs);margin-bottom:var(--spacing-smd)}.worktime-check{display:flex;align-items:center;gap:var(--spacing-sm);min-height:var(--touch-target);font-size:var(--font-size-base)}.worktime-check-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-xs) var(--spacing-sm)}.worktime-inline-hours{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-base)}.worktime-inline-hours .field{width:88px}.worktime-break-options .field-hint{margin:0;max-width:72ch}.file-drop{position:relative}.file-drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);min-height:var(--touch-target);font-size:var(--font-size-sm);font-weight:600;color:var(--color-link);background:color-mix(in srgb,var(--color-bg-card) 88%,transparent);border:2px dashed var(--color-link);border-radius:var(--radius-md);pointer-events:none}.file-drop-error{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-danger-text)}.file-field{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm);padding:var(--spacing-sm);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-input)}.file-field[data-dragging]{border-color:var(--color-link)}.file-field-hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.file-field-name{display:inline-flex;align-items:center;gap:var(--spacing-2xs);min-width:0;max-width:100%;font-size:var(--font-size-sm);color:var(--color-text-primary)}.file-field-name>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-field-remove{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;color:var(--color-text-secondary);background:none;border:0;border-radius:var(--radius-full);cursor:pointer}@media (pointer: coarse){.file-field-remove{width:var(--touch-target);height:var(--touch-target)}}@media (hover: hover) and (pointer: fine){.file-field-remove:hover{color:var(--color-text-primary);background:var(--color-state-hover)}}@media (pointer: coarse){.file-field-hint{display:none}}.file-button{display:inline-flex;flex-direction:column;align-items:flex-start}.todo-done-form{flex-basis:100%}.todo-done-field{position:relative;display:block;margin-top:var(--spacing-xs)}.todo-done-field>textarea{display:block;width:100%;padding-right:calc(var(--touch-target) + var(--spacing-xs))}.todo-done-field>.task-tool{position:absolute;right:var(--spacing-2xs);bottom:var(--spacing-2xs)}.task-row[data-file-over]{background:var(--color-primary-soft);outline:2px dashed var(--color-link);outline-offset:-2px;border-radius:var(--radius-md)}
