:root{--canvas:var(--jc-bg);--surface:var(--jc-paper);--surface-soft:var(--jc-soft);--surface-mint:var(--jc-soft);--surface-warm:var(--jc-soft);--ink:var(--jc-ink);--ink-muted:var(--jc-muted);--ink-faint:var(--jc-muted);--brand:var(--jc-accent);--brand-strong:var(--jc-accent-strong);--brand-soft:var(--jc-soft);--accent:var(--jc-accent);--danger:var(--jc-bad);--danger-soft:color-mix(in srgb, var(--jc-bad) 12%, var(--jc-paper));--warning:var(--jc-warn);--warning-soft:color-mix(in srgb, var(--jc-warn) 14%, var(--jc-paper));--success:var(--jc-ok);--line:var(--jc-line);--line-strong:var(--jc-line);--shadow-sm:none;--shadow-md:var(--jc-shadow);--radius-sm:var(--jc-radius-s);--radius-md:var(--jc-radius);--radius-lg:var(--jc-radius);--control-radius:var(--jc-radius-s);--card-radius:var(--jc-radius);--admin-orange:var(--jc-accent);--admin-orange-dark:var(--jc-accent-strong);--admin-orange-action-hover:var(--jc-accent-strong);--admin-brown:var(--jc-ink);--admin-muted:var(--jc-muted);--admin-paper:var(--jc-bg);--admin-cream:var(--jc-soft);--admin-line:var(--jc-line);--admin-surface:var(--jc-paper);--admin-soft:var(--jc-soft);--admin-shadow:none;--page-title-size:26px;--page-title-weight:400;--page-title-tracking:0;--page-title-leading:1.25;--header-height:64px;--jc-m-daycare:var(--jc-accent);--accent-soft:color-mix(in srgb, var(--jc-accent) 16%, var(--jc-paper));--accent-line:color-mix(in srgb, var(--jc-accent) 45%, var(--jc-paper));--success-soft:color-mix(in srgb, var(--jc-ok) 12%, var(--jc-paper));--success-line:color-mix(in srgb, var(--jc-ok) 40%, var(--jc-paper));--warning-line:color-mix(in srgb, var(--jc-warn) 40%, var(--jc-paper));--danger-line:color-mix(in srgb, var(--jc-bad) 40%, var(--jc-paper));--info-soft:color-mix(in srgb, var(--jc-m-apm) 30%, var(--jc-paper));--info-line:color-mix(in srgb, var(--jc-m-apm) 75%, var(--jc-paper));--paper-glass:color-mix(in srgb, var(--jc-paper) 90%, transparent)}html{font-synthesis-weight:none}body{--font-sans:var(--font-huninn), "Huninn", var(--font-noto-sans-tc), "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;--jc-font:var(--font-sans)}::selection{background:color-mix(in srgb, var(--jc-accent) 35%, var(--jc-paper));color:var(--jc-ink)}.app-shell .jc-app__body{position:relative}.app-shell .topbar.jc-appbar{background:var(--jc-paper);border-bottom:1.5px dashed var(--jc-stitch);height:auto;min-height:64px;box-shadow:inset 0 5px 0 var(--jc-mod);flex:none;gap:10px;padding:10px 16px 10px 20px;display:flex}.app-shell .topbar__heading{flex:0 auto;gap:8px;min-width:0}.app-shell .topbar__title{min-width:4em}.app-shell .topbar__system,.app-shell .topbar__divider{color:var(--jc-ink);flex:none;font-size:17px;font-weight:400;display:block}.app-shell .topbar__divider{color:var(--jc-stitch)}.app-shell .topbar__title{letter-spacing:0;font-size:17px;font-weight:400}.app-shell .topbar .notification-button{border-radius:50%;flex:none}.app-shell .topbar .notification-button svg{width:20px;height:20px}.app-shell .topbar__context.jc-appbar__user{flex:0 auto;gap:8px;min-width:0;display:flex}.app-shell .topbar__date,.app-shell .topbar__separator,.app-shell .topbar__clock{color:var(--jc-muted);font-size:13px;font-weight:400}.app-shell .topbar__actions{flex:none;gap:4px}.app-shell .topbar__actions .button{color:var(--jc-ink);padding:0 14px;font-size:14px;font-weight:400}.app-shell .sidebar{background:var(--jc-paper);border-right:1.5px dashed var(--jc-stitch);flex:0 0 clamp(196px,19vw,248px);width:clamp(196px,19vw,248px)}.app-shell .sidebar__header{display:none}.app-shell .sidebar__branch{padding:12px 12px 4px}.app-shell .sidebar__branch .branch-switcher__button{border:1.5px solid var(--jc-line);border-radius:var(--jc-radius-s);background:var(--jc-bg);min-height:48px;box-shadow:var(--jc-puff)}.app-shell .sidebar .sidebar__nav.jc-nav{background:0 0;border-right:0;flex:auto;gap:2px;width:auto;min-height:0;padding:8px 12px 16px;overflow-y:auto}.jc-nav .nav-group{margin:6px 0 0}.jc-nav .nav-group__items{gap:2px;display:grid}.jc-nav .nav-group__label{min-height:44px;color:var(--jc-muted);letter-spacing:.06em;white-space:normal;justify-content:space-between;margin:0;padding:0 12px;font-size:12.5px;font-weight:400}.jc-nav .nav-group__label svg{width:15px;height:15px}.jc-nav .nav-link{min-height:44px;color:var(--jc-ink);white-space:normal;border-radius:14px;align-items:center;gap:10px;margin:0;padding:8px 12px;font-size:15px;font-weight:400;line-height:1.35;display:flex}.jc-nav .nav-link .nav-link__icon{color:var(--jc-muted);display:contents}.jc-nav .nav-link:hover{background:var(--jc-soft);color:var(--jc-ink)}.jc-nav .nav-link[aria-current=page]{background:var(--jc-mod);color:var(--jc-on-pastel);box-shadow:var(--jc-puff)}.jc-nav .nav-link[aria-current=page] .nav-link__icon{color:var(--jc-on-pastel)}.app-shell .sidebar__footer{background:0 0;border:0;border-radius:0;gap:8px;margin:0;padding:0 12px 12px;display:grid}.app-shell .sidebar__footer small{color:var(--jc-muted);font-size:12.5px;line-height:1.5}.app-shell .user-summary{display:none}.jc-app--embedded .user-summary{display:flex}.app-shell .main-stage.jc-main{background:var(--jc-bg);padding:24px;display:block}@media (max-width:1180px){.app-shell .topbar__separator,.app-shell .topbar__clock{display:none}.app-shell .topbar__date{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (max-width:900px){.app-shell .topbar__actions .button svg{display:none}}@media (max-width:760px){.app-shell .topbar.jc-appbar{gap:6px;min-height:60px;padding:8px 8px 8px 14px}.app-shell .topbar__heading{flex:1 0 auto}.app-shell .topbar__context.jc-appbar__user{display:none}.app-shell .topbar .jc-appbar__badge{width:34px;height:34px}.app-shell .topbar__system{font-size:16px}.app-shell .topbar__divider,.app-shell .topbar__title,.app-shell .jc-appbar__spacer{display:none}.app-shell .sidebar{width:min(84vw,340px);padding:0 12px calc(12px + env(safe-area-inset-bottom,0px));border-radius:0 var(--jc-radius-l) var(--jc-radius-l) 0;box-shadow:var(--jc-shadow-lift);border-right:0}.app-shell .sidebar__header{border-bottom:1.5px dashed var(--jc-stitch);min-height:72px;margin:0 -12px;padding:12px 12px 12px 16px;display:flex}.app-shell .sidebar .brand-lockup{gap:10px}.app-shell .sidebar .brand-lockup strong{color:var(--jc-ink);letter-spacing:0;font-size:17px;font-weight:400}.app-shell .sidebar .brand-lockup small{color:var(--jc-muted);letter-spacing:0;font-size:12.5px;font-weight:400}.app-shell .sidebar__branch{padding:12px 0 4px}.app-shell .sidebar .sidebar__nav.jc-nav{padding:8px 0}.app-shell .sidebar .jc-nav .nav-link{min-height:48px;font-size:16px}.app-shell .sidebar__footer{border-top:1.5px dashed var(--jc-stitch);padding:10px 0 0}.app-shell .sidebar__module-return{width:100%}.app-shell .user-summary{display:flex}.sidebar-backdrop[data-open=true]{background:var(--jc-scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.app-shell .main-stage.jc-main{padding:16px 16px calc(78px + env(safe-area-inset-bottom,0px) + 16px)}.app-shell .mobile-primary-nav.jc-tabbar{height:auto;padding:6px max(8px, env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px, env(safe-area-inset-left,0px));background:var(--jc-paper);border-top:1.5px dashed var(--jc-stitch);box-shadow:0 -6px 16px color-mix(in srgb, var(--jc-scrim) 40%, transparent);gap:4px;display:grid}.app-shell .jc-tabbar a,.app-shell .jc-tabbar button{min-height:54px;color:var(--jc-muted);border-radius:14px;align-content:center;justify-items:center;gap:2px;padding:4px 2px;font-size:12px;font-weight:400;display:grid}.app-shell .jc-tabbar svg{width:22px;height:22px}.app-shell .jc-tabbar [aria-current=page],.app-shell .jc-tabbar [data-current=true],.app-shell .jc-tabbar button[aria-expanded=true]{background:var(--jc-mod);color:var(--jc-on-pastel);box-shadow:var(--jc-puff)}}.page-heading{flex-wrap:wrap;gap:12px 16px}.page-heading h1{letter-spacing:0;font-size:26px;font-weight:400;line-height:1.25}.page-heading__description{color:var(--jc-muted);margin-top:4px;font-size:13.5px}.eyebrow{color:var(--jc-muted);letter-spacing:0;text-transform:none;margin:0 0 2px;font-size:13px;font-weight:400}.context-bar{color:var(--jc-muted);font-size:13px;font-weight:400}.context-bar__crumb{color:var(--jc-ink)}.jc-pagehead{margin-bottom:20px}.jc-pagehead__title p{margin:0}.jc-pagehead>.jc-pagehead__title{flex:12em}.jc-pagehead .button,.jc-pagehead .jc-btn{white-space:nowrap}.main-stage h2,.main-stage h3,.main-stage h4,.main-stage strong,.main-stage b,.main-stage th,.main-stage dt,.main-stage summary{font-weight:400}.button{border:1.5px solid var(--jc-line);background:var(--jc-paper);min-height:44px;color:var(--jc-ink);box-shadow:var(--jc-puff);border-radius:999px;padding:0 18px;font-size:15px;font-weight:400;transition:border-color .15s,transform .15s,background-color .15s}.button svg{flex:none;width:20px;height:20px}.button:hover:not(:disabled){border-color:var(--jc-accent)}.button:disabled{opacity:.5}.button--primary{border-color:var(--jc-accent);background:var(--jc-accent);color:var(--jc-on-accent)}.button--primary:hover:not(:disabled){border-color:var(--jc-accent-strong);background:var(--jc-accent);color:var(--jc-on-accent)}.button--secondary{border-color:var(--jc-line);background:var(--jc-paper);color:var(--jc-ink)}.button--secondary:hover:not(:disabled){border-color:var(--jc-accent);background:var(--jc-paper);color:var(--jc-ink)}.button--quiet{box-shadow:none;color:var(--jc-ink);background:0 0;border-color:#0000}.button--quiet:hover:not(:disabled){background:var(--jc-soft);border-color:#0000}.button--danger{border-color:var(--jc-line);background:var(--jc-paper);color:var(--jc-bad)}.button--danger:hover:not(:disabled){border-color:var(--jc-bad)}.icon-button{border:1.5px solid var(--jc-line);background:var(--jc-paper);width:44px;height:44px;color:var(--jc-ink);box-shadow:var(--jc-puff);border-radius:50%}.icon-button:hover:not(:disabled){border-color:var(--jc-accent)}.field{color:var(--jc-muted);gap:6px;font-size:13px;font-weight:400}.field input,.field select,.field textarea,.control{border:1.5px solid var(--jc-line);border-radius:var(--jc-radius-s);background:var(--jc-paper);box-shadow:inset 0 2px 4px color-mix(in srgb, var(--jc-scrim) 25%, transparent);color:var(--jc-ink);padding:10px 14px;font-size:16px;font-weight:400}.field input::placeholder,.field textarea::placeholder{color:var(--jc-muted)}.field input:focus,.field select:focus,.field textarea:focus,.control:focus{border-color:var(--jc-accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--jc-accent) 22%, transparent)}.field-hint{color:var(--jc-muted);font-size:12.5px;font-weight:400}.check-field{color:var(--jc-ink);font-size:15px;font-weight:400}.check-field input,.jc-check input{accent-color:var(--jc-accent-strong)}.form-error{border:1.5px solid var(--jc-bad);background:var(--jc-paper);color:var(--jc-ink);border-radius:18px;padding:12px 14px;font-size:14px;font-weight:400}.filter-search input{border:1.5px solid var(--jc-line);border-radius:var(--jc-radius-s);background:var(--jc-paper);box-shadow:inset 0 2px 4px color-mix(in srgb, var(--jc-scrim) 25%, transparent)}.filter-chip{border:1.5px solid var(--jc-line);background:var(--jc-paper);color:var(--jc-muted);border-radius:999px;font-weight:400}.filter-chip[aria-pressed=true]{border-color:var(--jc-accent);background:var(--jc-soft);color:var(--jc-ink)}.filter-bar{border-bottom:1.5px dashed var(--jc-stitch);background:0 0}.panel{border:1.5px solid var(--jc-line);border-radius:var(--jc-radius);background:var(--jc-paper);box-shadow:none}.panel__header{border-bottom:1.5px dashed var(--jc-stitch);border-radius:var(--jc-radius) var(--jc-radius) 0 0;background:0 0}.panel__title h2{font-size:18px;font-weight:400}.panel__title p{color:var(--jc-muted);font-size:13px}.metric-card{border:1.5px solid var(--jc-line);border-radius:var(--jc-radius);background:var(--jc-paper);box-shadow:none;padding:14px 18px}.metric-card__top{color:var(--jc-muted);font-size:13px;font-weight:400}.metric-card__icon{background:var(--jc-soft);color:var(--jc-muted);box-shadow:var(--jc-puff);border-radius:50%}.metric-card__value{margin-top:6px}.metric-card__value strong{letter-spacing:0;font-variant-numeric:tabular-nums;font-size:28px;font-weight:400}.metric-card__value span,.metric-card__foot{color:var(--jc-muted);font-size:12.5px;font-weight:400}.record-card{border:1.5px solid var(--jc-line);background:var(--jc-paper);box-shadow:var(--jc-puff);border-radius:16px}.record-card h3{font-size:16px;font-weight:400}.record-card__meta span{color:var(--jc-muted);font-size:12.5px;font-weight:400}.record-card__meta strong{font-size:14px;font-weight:400}.record-card__action{border-top:1.5px dashed var(--jc-stitch);color:var(--jc-accent-strong);font-size:14px;font-weight:400}.data-table{font-variant-numeric:tabular-nums;font-size:15px}.data-table th{border-bottom:1.5px dashed var(--jc-stitch);color:var(--jc-muted);background:0 0;font-size:13px;font-weight:400}.data-table td{border-top:1px solid var(--jc-line)}.data-table tbody tr:first-child td{border-top:0}.data-table tbody tr:hover{background:var(--jc-soft)}.data-table__primary{font-weight:400}.data-table__secondary{color:var(--jc-muted);font-size:12.5px;font-weight:400}.status-pill{min-height:26px;color:var(--jc-muted);background:0 0;border:1.5px solid;border-radius:999px;padding:0 10px;font-size:12.5px;font-weight:400}.status-pill:before{width:7px;height:7px}.status-pill--success{color:var(--jc-ok);background:0 0}.status-pill--warning{color:var(--jc-warn);background:0 0}.status-pill--danger{color:var(--jc-bad);background:0 0}.status-pill--info{color:var(--jc-accent-strong);background:0 0}.app-shell .jc-avatar{--c:var(--jc-mod)}.avatar{background:var(--jc-mod,var(--jc-m-daycare));width:40px;height:40px;color:var(--jc-on-pastel);box-shadow:var(--jc-puff);outline:1.5px dashed color-mix(in srgb, var(--jc-paper) 70%, transparent);outline-offset:-5px;border-radius:50%;flex:0 0 40px;font-size:16px;font-weight:400}.empty-card,.loading-card{border:1.5px dashed var(--jc-stitch);border-radius:var(--jc-radius);background:var(--jc-paper);color:var(--jc-muted)}.empty-card h1,.empty-card h2{color:var(--jc-ink);letter-spacing:0;font-size:20px;font-weight:400}.empty-card__icon{background:var(--jc-soft);width:72px;height:72px;color:var(--jc-muted);box-shadow:var(--jc-puff);border-radius:50%}.empty-card__icon--warning{background:var(--jc-soft);color:var(--jc-warn)}.callout{border:1.5px solid var(--jc-line);background:var(--jc-paper);color:var(--jc-ink);border-radius:18px;padding:14px 16px;font-size:14px}.callout svg{width:20px;height:20px;color:var(--jc-accent-strong);flex-basis:20px}.drawer-backdrop{background:var(--jc-scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.drawer{background:var(--jc-bg);border-left:1.5px solid var(--jc-line);border-radius:var(--jc-radius-l) 0 0 var(--jc-radius-l);box-shadow:var(--jc-shadow-lift);overflow:hidden}.drawer__header{background:var(--jc-paper);border-bottom:1.5px dashed var(--jc-stitch)}.drawer__header h2{font-size:18px;font-weight:400}.drawer__footer{background:var(--jc-paper);border-top:1.5px dashed var(--jc-stitch)}.core-dialog{border-radius:var(--jc-radius-l);box-shadow:var(--jc-shadow-lift)}.core-dialog::backdrop{background:var(--jc-scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.core-dialog__surface{border:1.5px solid var(--jc-line);border-radius:var(--jc-radius-l);background:var(--jc-bg)}.jc-steps.core-workflow-steps{grid-template-columns:none;gap:0;margin:16px 0 14px}.core-workflow-step{min-height:44px;color:var(--jc-ink);border-radius:14px;padding:4px 10px;text-decoration:none}a.core-workflow-step:hover{background:var(--jc-soft)}.core-workflow-step[aria-current=step]{background:var(--jc-mod);color:var(--jc-on-pastel);box-shadow:var(--jc-puff)}.core-workflow-step[aria-current=step] .jc-step__meta{color:var(--jc-on-pastel)}.core-workflow-step[aria-disabled=true]{color:var(--jc-muted)}.branch-switcher__menu{border:1.5px solid var(--jc-line);background:var(--jc-paper);box-shadow:var(--jc-shadow);border-radius:18px}.branch-switcher__menu button{color:var(--jc-ink);border-radius:12px;font-weight:400}.branch-switcher__menu button:hover,.branch-switcher__menu button[aria-current=true]{background:var(--jc-soft);color:var(--jc-ink)}.module-loading{background:var(--jc-bg)}.module-loading__card{border:1.5px solid var(--jc-line);border-radius:var(--jc-radius);background:var(--jc-paper);box-shadow:var(--jc-shadow)}.module-loading__card strong{color:var(--jc-ink);font-weight:400}.today-split{margin-bottom:20px}.today-work{align-content:start;gap:14px;display:grid}.today-work:focus{outline:none}.today-work .today-find-row{margin:0}.today-work .today-search{background:0 0;border:0;padding:0;position:relative}.today-work .today-search .jc-search{flex:1}.today-work .today-search .jc-input{border:1.5px solid var(--jc-line);background:var(--jc-paper);padding-right:48px;font-size:16px}.today-work .today-counters{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0}.today-work .today-counter.jc-stat{min-height:0;color:var(--jc-ink);text-align:left;cursor:pointer;grid-template-columns:none;gap:4px;padding:14px 18px}.today-work .today-counter>strong{grid-row:auto;font-weight:400}.today-work .today-counter:hover:not(:disabled){border-color:var(--jc-accent)}.today-work .today-counter[aria-pressed=true]{border-color:var(--jc-accent);background:var(--jc-soft);box-shadow:var(--jc-puff)}.today-work .today-counter:disabled{opacity:.6}.today-work .today-list-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 16px;display:flex}.today-work .today-list-head h2{margin:0;font-size:20px;font-weight:400}.today-work .today-list-head p{color:var(--jc-muted);margin:2px 0 0;font-size:13px}.today-work .today-list-panel{gap:12px;display:grid}.today-work .today-filter-controls{gap:10px 12px}.today-work .today-toolbar{align-items:flex-end;padding:0}.today-work .today-filter-controls .today-toolbar+.today-toolbar{padding-left:0}.today-work .today-toolbar .field{min-width:160px}.today-work .today-result{color:var(--jc-muted);padding:0;font-size:13px}.today-work .jc-people{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}.today-work .today-client{border-top:1.5px solid var(--jc-line);grid-template-columns:minmax(0,1fr);align-content:start;gap:10px;padding:12px 14px}.today-work .today-client:focus-visible{outline:2.5px solid var(--jc-accent-strong);outline-offset:2px}.today-work .today-client__identity{flex-wrap:nowrap}.today-work .today-client__identity h3{margin:0;font-size:16px;font-weight:400}.today-work .today-client__status{grid-area:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.today-work .today-client__status dt{font-size:12.5px}.today-work .today-client__status dd{margin-top:2px;font-size:14px;font-weight:400}.today-work .today-client__status .jc-status{white-space:normal}.today-work .today-client__action{justify-content:space-between;width:100%}.today-work .today-client__schedule{border-top:1.5px dashed var(--jc-stitch);grid-column:auto}.today-work .today-client__schedule summary{font-size:14px;font-weight:400}.today-work .today-empty{padding:28px 20px}.today-work .today-empty h3,.today-work .today-empty p{margin:0}.today-work .today-pagination{border-top:0;justify-content:center;padding:4px 0 0}.today-mobile-filter-toggle.jc-btn{padding:0 14px}.today-mobile-filter-toggle.jc-btn[aria-expanded=true]{border-color:var(--jc-accent);background:var(--jc-soft)}.today-mobile-filter-toggle strong{color:var(--jc-ink);font-weight:400}.today-heading .jc-pagehead__title p{color:var(--jc-muted);font-size:13px}.today-footer{color:var(--jc-muted);font-size:13.5px}.today-split>.jc-felt{padding:20px}@media (max-width:760px){.page-heading{gap:10px}.today-heading.jc-pagehead{flex-wrap:nowrap;align-items:center;margin-bottom:14px}.today-work .today-counters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.today-work .today-counter.jc-stat{padding:12px 14px}.today-work .today-counter .jc-stat__value{font-size:24px}.today-work .today-view-buttons.jc-seg{width:100%}.today-work .today-view-buttons.jc-seg button{flex:1}.today-work .today-toolbar,.today-work .today-toolbar .field{width:100%}.today-split>.jc-felt{padding:16px}}@media (prefers-reduced-motion:reduce){.button,.jc-btn{transition:none}}
