:root{--jml-purple: #3b0764;--jml-brand-purple: #3b0764;--jml-lime: #b5e51f;--jml-lavender: #ede8f8;--jml-ink: #1a0030;--bg: var(--tg-theme-bg-color, #ffffff);--secondary-bg: var(--tg-theme-secondary-bg-color, #f3f3f5);--section-bg: var(--tg-theme-section-bg-color, #ffffff);--text: var(--tg-theme-text-color, #111111);--hint: var(--tg-theme-hint-color, #6d6d72);--link: var(--tg-theme-link-color, #2678b6);--button: var(--tg-theme-button-color, #2678b6);--button-text: var(--tg-theme-button-text-color, #ffffff);--destructive: var(--tg-theme-destructive-text-color, #cc2929);--separator: var(--tg-theme-section-separator-color, #e3e3e6);--accent-fill: var(--tg-theme-button-color, #5b21b6);--accent-text: var(--tg-theme-link-color, #6d28d9);--accent-soft: color-mix(in srgb, var(--accent-fill) 14%, var(--section-bg));--focus-ring: color-mix(in srgb, var(--accent-fill) 68%, #ffffff);--motion-fast: .12s;--motion-base: .18s;--safe-top: var(--tg-viewport-safe-area-inset-top, 0px);--safe-bottom: var(--tg-viewport-safe-area-inset-bottom, 0px);--safe-left: var(--tg-viewport-safe-area-inset-left, 0px);--safe-right: var(--tg-viewport-safe-area-inset-right, 0px);--content-safe-top: var(--tg-viewport-content-safe-area-inset-top, 0px);--content-safe-bottom: var(--tg-viewport-content-safe-area-inset-bottom, 0px)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{background:var(--bg);color:var(--text);font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.launch-fallback{min-height:100vh;max-width:420px;margin:0 auto;padding:max(28px,env(safe-area-inset-top)) 24px max(28px,env(safe-area-inset-bottom));display:grid;align-content:center;justify-items:start;gap:12px}.launch-fallback .brand-mark{margin-bottom:8px;transform:scale(1.18);transform-origin:left bottom}.launch-fallback h1,.launch-fallback p{margin-top:0}.launch-fallback .muted{max-width:34ch;font-size:15px;line-height:1.55}button,input,select,textarea{font:inherit}button,[role=button]{-webkit-tap-highlight-color:transparent}button:focus-visible,[role=button]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.app-shell{min-height:100vh;padding-top:calc(var(--safe-top) + var(--content-safe-top) + 12px);padding-bottom:calc(var(--safe-bottom) + var(--content-safe-bottom) + 12px);padding-left:calc(var(--safe-left) + 16px);padding-right:calc(var(--safe-right) + 16px);display:flex;flex-direction:column;gap:14px;max-width:760px;margin:0 auto}.app-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:9px;min-height:42px;padding:6px 0;background:color-mix(in srgb,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand-mark{width:79px;height:50px;position:relative;flex:0 0 auto}.mission-logo{display:block;width:52px;height:48px;padding:3px;border-radius:12px;background:var(--jml-brand-purple)}.grandpa-badge{position:absolute;right:0;bottom:-1px;width:40px;height:40px;border:2px solid var(--bg);border-radius:50%;background:#ede8f8;box-shadow:0 2px 7px color-mix(in srgb,var(--text) 22%,transparent)}.app-lockup{display:flex;flex-direction:column;line-height:1;gap:3px}.app-eyebrow,.eyebrow,.section-label{color:var(--hint);font-size:10px;letter-spacing:.12em;font-weight:700;margin:0}.app-name{font-family:"DM Serif Display",Georgia,serif;font-size:17px;color:var(--text)}.card{background:var(--section-bg);border:1px solid var(--separator);border-radius:16px;padding:15px 16px;box-shadow:0 1px 2px color-mix(in srgb,var(--text) 5%,transparent)}.card+.card{margin-top:8px}.muted{color:var(--hint);font-size:13px}.title{font-family:"DM Serif Display",Georgia,serif;font-size:27px;font-weight:400;margin:0 0 4px}.subtitle{font-size:15px;font-weight:600;margin:0 0 8px}.display-title{margin:3px 0 6px;font:400 30px/1.05 "DM Serif Display",Georgia,serif;letter-spacing:-.02em}.workspace-hero{padding:4px 2px 0}.section-label{margin:2px 0 8px}.nav-grid{display:grid;grid-template-columns:1fr;gap:9px}.nav-button{display:flex;align-items:center;gap:12px;width:100%;min-height:68px;padding:11px 13px;border-radius:14px;border:1px solid var(--separator);background:var(--section-bg);color:var(--text);font-size:15px;font-weight:600;text-align:left;cursor:pointer;box-shadow:0 1px 2px color-mix(in srgb,var(--text) 5%,transparent);transition:transform var(--motion-fast) ease,border-color var(--motion-base) ease,background var(--motion-base) ease}.nav-button:active{transform:scale(.985)}.nav-button:hover{border-color:color-mix(in srgb,var(--accent-fill) 45%,var(--separator));background:var(--accent-soft)}.nav-button:disabled{opacity:.42;cursor:not-allowed}.home-section{margin-top:20px}.nav-button-wide{max-width:none}.nav-icon-tile{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:12px;background:var(--accent-soft);color:var(--accent-text)}.nav-icon-primary{background:color-mix(in srgb,var(--jml-lime) 23%,transparent);color:var(--jml-lime)}.nav-copy,.status-card-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:3px}.nav-copy strong,.status-card-copy strong{font-size:14px}.nav-copy small,.status-card-copy small,.status-card-copy>span{color:var(--hint);font-size:12px;line-height:1.35}.nav-arrow{width:18px!important;height:18px!important;flex:0 0 18px;color:var(--hint);transition:transform var(--motion-base) ease}.nav-button:hover .nav-arrow,.status-card:hover .nav-arrow,.start-working-card:hover .nav-arrow{transform:translate(3px)}.start-working-card,.status-card{width:100%;display:flex;align-items:center;gap:12px;border-radius:17px;text-align:left;cursor:pointer;transition:transform var(--motion-fast) ease,box-shadow var(--motion-base) ease}.start-working-card{min-height:82px;margin:16px 0 9px;padding:14px;border:1px solid color-mix(in srgb,var(--jml-lime) 55%,var(--jml-brand-purple));background:linear-gradient(135deg,var(--jml-brand-purple),#5b1591);color:#fff;box-shadow:0 10px 28px color-mix(in srgb,var(--jml-brand-purple) 28%,transparent)}.start-working-card .nav-copy small{color:#ffffffb8}.start-working-card .nav-arrow{color:var(--jml-lime)}.start-working-card:active,.status-card:active{transform:scale(.985)}.status-card{min-height:64px;padding:10px 13px;border:1px solid var(--separator);background:var(--section-bg);color:var(--text)}.status-card .nav-icon-tile{color:var(--jml-lime);background:color-mix(in srgb,var(--jml-lime) 13%,var(--section-bg))}.status-loading{color:var(--hint)}.home-button{margin-left:auto;align-self:flex-end;min-height:44px;padding:8px 13px;border:1px solid var(--separator);border-radius:999px;background:color-mix(in srgb,var(--secondary-bg) 85%,var(--jml-lavender));color:var(--text);font-size:14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:transform var(--motion-fast) ease,background var(--motion-base) ease}.home-button .jml-icon{width:17px;height:17px}.home-button:active{transform:scale(.97)}.route-stage{animation:route-enter var(--motion-base) cubic-bezier(.2,.75,.25,1) both}@keyframes route-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.jml-icon{width:22px;height:22px;display:block;overflow:visible}.jml-icon-draw{stroke-dasharray:36;stroke-dashoffset:0}.nav-button:hover .jml-icon-draw,.nav-button:focus-visible .jml-icon-draw{animation:icon-draw .32s ease both}.nav-button:hover .jml-icon-bar-one,.nav-button:focus-visible .jml-icon-bar-one{transform:translateY(-1px)}.nav-button:hover .jml-icon-bar-two,.nav-button:focus-visible .jml-icon-bar-two{transform:translateY(-2px)}.nav-button:hover .jml-icon-bar-three,.nav-button:focus-visible .jml-icon-bar-three{transform:translateY(-3px)}.jml-icon-bar-one,.jml-icon-bar-two,.jml-icon-bar-three,.jml-icon-head-one,.jml-icon-head-two{transform-box:fill-box;transform-origin:center bottom;transition:transform .24s cubic-bezier(.34,1.35,.64,1)}.nav-button:hover .jml-icon-head-one{transform:translateY(-1.5px)}.nav-button:hover .jml-icon-head-two{transform:translateY(-2.5px)}.start-working-card:hover .jml-icon-play{transform:translate(1px)}.jml-icon-play{transform-box:fill-box;transform-origin:center;transition:transform .22s ease}@keyframes icon-draw{0%{stroke-dashoffset:36}to{stroke-dashoffset:0}}.primary-button{display:inline-block;min-height:44px;padding:10px 16px;border-radius:10px;border:none;background:var(--accent-fill);color:var(--button-text);font-size:14px;font-weight:600;cursor:pointer}.secondary-button{display:inline-block;min-height:44px;padding:10px 16px;border-radius:10px;border:1px solid var(--separator);background:var(--secondary-bg);color:var(--text);font-size:14px;font-weight:600;cursor:pointer}.primary-button:disabled,.secondary-button:disabled{opacity:.55;cursor:wait}.task-actions{margin-top:16px}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.action-confirm{margin-top:14px;padding:12px;border:1px solid var(--accent-fill);border-radius:12px;background:var(--accent-soft)}.action-confirm p{margin:0 0 10px;font-size:14px}.work-start-confirm{margin:0;padding:16px;border-radius:18px;box-shadow:0 18px 60px color-mix(in srgb,#000 42%,transparent);background:var(--section-bg)}.timer-confirm-backdrop{z-index:70}.top-toast{position:fixed;top:calc(var(--safe-top) + var(--content-safe-top) + 70px);left:50%;z-index:80;width:min(728px,calc(100vw - var(--safe-left) - var(--safe-right) - 32px));display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:12px 14px;border:1px solid var(--separator);border-radius:14px;background:color-mix(in srgb,var(--section-bg) 96%,transparent);box-shadow:0 14px 38px color-mix(in srgb,#000 32%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform:translate(-50%);animation:top-toast-enter var(--motion-base) cubic-bezier(.2,.75,.25,1) both}.top-toast>div{display:grid;gap:3px}.top-toast span{color:var(--hint);font-size:12px}.top-toast-success{border-color:color-mix(in srgb,var(--jml-lime) 62%,var(--separator))}.top-toast .top-toast-actions{display:flex;align-items:center;gap:8px}.top-toast .toast-action-button{min-height:42px;padding:9px 12px;white-space:nowrap}.top-toast .toast-action-button span{color:var(--button-text);font-size:12px;font-weight:800}@keyframes top-toast-enter{0%{opacity:0;transform:translate(-50%,-8px) scale(.985)}to{opacity:1;transform:translate(-50%) scale(1)}}@media (max-width:430px){.task-created-toast{align-items:stretch;flex-direction:column}.task-created-toast .top-toast-actions{justify-content:space-between}.task-created-toast .toast-action-button{flex:1}}.sticky-context{position:sticky;top:54px;z-index:20;margin:0 -2px 10px;padding:4px 2px 8px;background:color-mix(in srgb,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.status-badge{display:inline-flex;align-items:center;min-height:24px;margin:2px 4px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:800;line-height:1}.status-badge-neutral{color:var(--hint);background:var(--secondary-bg)}.status-badge-planned{color:#2563eb;background:color-mix(in srgb,#2563eb 15%,var(--section-bg))}.status-badge-active{color:color-mix(in srgb,var(--jml-lime) 75%,var(--text));background:color-mix(in srgb,var(--jml-lime) 15%,var(--section-bg))}.status-badge-attention,.status-badge-overdue{color:var(--destructive);background:color-mix(in srgb,var(--destructive) 14%,var(--section-bg))}.status-badge-review{color:#9b6cff;background:color-mix(in srgb,#8b5cf6 16%,var(--section-bg))}.status-badge-done{color:#16a06a;background:color-mix(in srgb,#16a06a 15%,var(--section-bg))}.review-help{margin:-2px 0 10px}.review-note-label{display:flex;flex-direction:column;gap:7px;margin:0 0 10px;color:var(--hint);font-size:13px;font-weight:600}.review-note{width:100%;min-height:88px;resize:vertical;border:1px solid var(--separator);border-radius:10px;padding:10px 11px;background:var(--section-bg);color:var(--text);font:inherit}.review-note:focus{outline:2px solid color-mix(in srgb,var(--button) 55%,transparent);outline-offset:1px}.assignee-summary{margin-top:12px;padding-top:12px;border-top:1px solid var(--separator)}.assignee-labels{display:flex;flex-wrap:wrap;gap:6px}.assignee-context{margin:8px 0 0}.list-row{padding:10px 0;border-bottom:1px solid var(--separator);display:flex;flex-direction:column;gap:5px;cursor:pointer}.list-row:last-child{border-bottom:none}.list-row-button{width:100%;border-left:0;border-right:0;border-top:0;background:transparent;color:var(--text);text-align:left;font:inherit}.list-row-button:active{background:var(--accent-soft)}.report-facets{display:flex;gap:7px;overflow-x:auto;margin:0 0 12px;padding:2px 2px 6px;scroll-snap-type:x proximity;scrollbar-width:none}.report-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.report-heading-row .title{margin-bottom:8px}.report-all-tasks{min-height:38px;padding:7px 12px;border:1px solid var(--accent-fill);border-radius:999px;background:var(--accent-soft);color:var(--text);font:inherit;font-size:12px;font-weight:800;white-space:nowrap}.report-facets::-webkit-scrollbar{display:none}.report-facet{flex:0 0 auto;min-height:44px;padding:9px 13px;border:1px solid var(--separator);border-radius:12px;background:var(--section-bg);color:var(--text);font-weight:700;scroll-snap-align:start;cursor:pointer;transition:transform var(--motion-fast) ease,background var(--motion-base) ease,border-color var(--motion-base) ease}.report-facet:active{transform:scale(.97)}.report-facet-active{border-color:var(--accent-fill);background:var(--accent-fill);color:var(--button-text)}.report-facet-hint{margin:-8px 2px 12px;color:var(--hint);font-size:10px;text-align:right}.task-kpi-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:10px 0 14px;overflow-x:auto;scroll-snap-type:x proximity}.task-kpi-shortcut{min-width:104px;min-height:72px;display:flex;flex-direction:column;justify-content:space-between;gap:5px;padding:10px;border:1px solid var(--separator);border-radius:13px;background:var(--section-bg);color:var(--text);text-align:left;cursor:pointer;scroll-snap-align:start}.task-kpi-shortcut strong{font:400 22px/1 "DM Serif Display",Georgia,serif}.task-kpi-shortcut span{color:var(--hint);font-size:10px;font-weight:700}@media (max-width: 520px){.task-kpi-shortcuts{grid-template-columns:repeat(4,104px)}}.badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--secondary-bg);color:var(--hint)}.badge-overdue{background:var(--destructive);color:#fff}.error-box{border:1px solid var(--destructive);color:var(--destructive);border-radius:10px;padding:12px 14px;font-size:14px;display:flex;flex-direction:column;gap:3px}.empty-state{min-height:118px;border:1px dashed var(--separator);border-radius:16px;display:grid;place-content:center;gap:6px;text-align:center;color:var(--hint);padding:20px}.empty-state span{color:var(--jml-lime);font-size:22px}.empty-state p{margin:0;font-size:14px}.skeleton{height:16px;border-radius:6px;background:var(--secondary-bg);animation:pulse 1.1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.kv-row{display:flex;justify-content:space-between;font-size:13px;padding:3px 0}.kv-row span:last-child{text-align:right}.kv-row .k{color:var(--hint)}.swatch-row{display:flex;gap:8px;flex-wrap:wrap}.swatch{width:36px;height:36px;border-radius:8px;border:1px solid var(--separator)}.team-intro{margin:0 0 14px}.team-summary-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:8px}.team-summary-head strong{display:block;font:400 30px/1 "DM Serif Display",Georgia,serif}.metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px}.metric-tile{min-height:86px;padding:13px;border:1px solid var(--separator);border-radius:15px;background:var(--section-bg);display:flex;flex-direction:column;justify-content:space-between}.metric-value{font:400 25px/1 "DM Serif Display",Georgia,serif}.metric-label{color:var(--hint);font-size:12px}.metric-warning .metric-value{color:var(--destructive)}.team-people{margin-top:8px}.person-row{width:100%;border:0;border-bottom:1px solid var(--separator);background:transparent;color:var(--text);padding:13px 0;display:flex;align-items:center;justify-content:space-between;text-align:left;font:inherit;cursor:pointer}.person-row:last-child{border-bottom:0}.person-row>span:first-child{display:flex;flex-direction:column;gap:4px}.person-row>span:last-child{color:var(--hint);font-size:24px}.manager-hours-card,.team-pagination{margin-top:8px}.team-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.team-title-row>div{min-width:0}.compact-button{flex:0 0 auto;padding:8px 11px}.person-directory-row>span:first-child{min-width:0}.person-meta{color:var(--text);font-size:12px;overflow-wrap:anywhere}.person-row-side{display:flex!important;flex-direction:column!important;align-items:flex-end;gap:5px!important;color:var(--hint);font-size:18px!important;flex:0 0 auto}.relationship-chip{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;padding:3px 8px;background:var(--accent-soft);color:var(--accent-text);font-size:11px;font-weight:700;letter-spacing:.03em}.person-profile-hero{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:center;margin-bottom:15px}.profile-avatar,.org-avatar{display:grid;place-content:center;border-radius:50%;background:var(--jml-purple);color:#fff;font-weight:700}.profile-avatar{width:56px;height:56px;font-size:17px}.person-profile-hero .title{font-size:25px;overflow-wrap:anywhere}.person-role{margin:2px 0 8px;color:var(--hint);font-size:13px}.profile-contact{display:flex;flex-wrap:wrap;gap:4px 10px;margin:-3px 0 8px;color:var(--hint);font-size:12px}.profile-contact span,.org-contact{overflow-wrap:anywhere}.profile-chips{display:flex;flex-wrap:wrap;gap:5px}.profile-limited-state{margin-top:8px}.profile-limited-state p{margin:5px 0 10px}.profile-section-label{margin-top:4px}.profile-summary-list{margin-top:15px}.profile-summary-row{display:flex;flex-direction:column;gap:3px;padding:10px 0;border-bottom:1px solid var(--separator)}.profile-summary-row:first-child{padding-top:0}.profile-summary-row:last-of-type{padding-bottom:0;border-bottom:0}.summary-empty,.summary-more{margin:0}.summary-more{padding-top:10px;border-top:1px solid var(--separator);margin-top:10px}.org-tree{display:flex;flex-direction:column;gap:8px}.org-node{min-width:0}.org-person-card{display:flex;align-items:stretch;border:1px solid var(--separator);border-radius:14px;background:var(--section-bg);overflow:hidden}.org-profile-button{min-width:0;flex:1;display:flex;align-items:center;gap:10px;border:0;padding:11px;background:transparent;color:var(--text);text-align:left;font:inherit;cursor:pointer}.org-avatar{width:36px;height:36px;flex:0 0 36px;font-size:11px}.org-person-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.org-person-copy strong,.org-person-copy span{overflow-wrap:anywhere}.org-person-copy span{color:var(--hint);font-size:11px}.org-person-copy .org-contact{color:var(--text);font-size:10px}.org-expand-button{width:50px;flex:0 0 50px;border:0;border-left:1px solid var(--separator);background:var(--secondary-bg);color:var(--text);font:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.org-expand-button>span{color:var(--hint);font-size:11px}.org-children{margin:7px 0 0 12px;padding-left:9px;border-left:2px solid color-mix(in srgb,var(--accent-fill) 28%,var(--separator));display:flex;flex-direction:column;gap:7px}.dashboard-updated{margin:5px 0 14px;font-size:11px}.dashboard-section{margin-top:18px}.dashboard-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.dashboard-section-heading>span{color:var(--hint);font-size:12px}.dashboard-link-list{display:flex;flex-direction:column;gap:8px}.dashboard-link-card{width:100%;min-height:64px;border:1px solid var(--separator);border-radius:15px;padding:12px 14px;background:var(--section-bg);color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;font:inherit;cursor:pointer}.dashboard-link-card>span:first-child{min-width:0;display:flex;flex-direction:column;gap:4px}.dashboard-link-card strong,.dashboard-link-card span{overflow-wrap:anywhere}.dashboard-link-card>span:first-child>span{color:var(--hint);font-size:11px}.dashboard-link-card>span:last-child{color:var(--hint);font-size:22px}.dashboard-more{margin:8px 0 0;font-size:11px}.dashboard-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 17px}.dashboard-kpi{min-width:0;min-height:100px;padding:13px;border:1px solid var(--separator);border-radius:15px;background:var(--section-bg);display:flex;flex-direction:column;gap:5px}.dashboard-kpi-link{width:100%;color:var(--text);text-align:left;cursor:pointer;transition:transform var(--motion-fast) ease,border-color var(--motion-base) ease,background var(--motion-base) ease}.dashboard-kpi-link:hover,.dashboard-kpi-link:focus-visible{border-color:var(--accent-fill);background:var(--accent-soft)}.dashboard-kpi-link:active{transform:scale(.98)}.dashboard-kpi-cta{margin-top:6px;color:var(--accent-text);font-size:10px;font-weight:750}.dashboard-kpi strong{font:400 25px/1 "DM Serif Display",Georgia,serif;overflow-wrap:anywhere}.dashboard-kpi .muted{margin-top:auto;font-size:10px}.dashboard-kpi-warning strong{color:var(--destructive)}.chart-empty-state{min-height:120px;display:grid;place-content:center;gap:5px;padding:18px;text-align:center;color:var(--hint)}.chart-empty-state strong{color:var(--text);font-size:14px}.chart-empty-state span{font-size:12px}.dashboard-bars{display:flex;flex-direction:column;gap:13px}.dashboard-bar-copy{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}.dashboard-bar-copy strong{min-width:0;overflow-wrap:anywhere;font-size:12px}.dashboard-bar-copy span{flex:0 0 auto;color:var(--hint);font-size:10px}.dashboard-bar-track{height:9px;overflow:hidden;border-radius:999px;background:var(--secondary-bg)}.dashboard-bar-track>span{display:block;height:100%;border-radius:inherit;background:var(--accent-fill);transition:width .22s ease}.dashboard-bar-warning>span{background:var(--destructive)}.dashboard-trend{height:150px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));align-items:end;gap:5px}.dashboard-trend-column{min-width:0;height:100%;display:grid;grid-template-rows:15px 1fr 26px;align-items:end;gap:3px;text-align:center}.dashboard-trend-count,.dashboard-trend-label{color:var(--hint);font-size:10px;white-space:nowrap}.dashboard-trend-bar{height:100%;min-height:40px;border-radius:6px 6px 2px 2px;overflow:hidden;background:var(--secondary-bg);display:flex;align-items:end}.dashboard-trend-bar>span{width:100%;background:var(--accent-fill);border-radius:inherit;transition:height .22s ease}.dashboard-project-list{padding-top:2px;padding-bottom:2px}.dashboard-project-row{width:100%;padding:12px 0;border:0;border-bottom:1px solid var(--separator);background:transparent;color:var(--text);text-align:left;font:inherit;cursor:pointer;display:block}.dashboard-project-row:last-child{border-bottom:0}.dashboard-project-copy{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:9px}.dashboard-project-copy strong{min-width:0;overflow-wrap:anywhere}.dashboard-project-copy span{flex:0 0 auto;color:var(--hint);font-size:10px}.dashboard-project-summary{cursor:default}.dashboard-project-summary>.muted{display:block;margin-top:7px;font-size:10px}.dashboard-header-chips{margin:5px 0 4px}.dashboard-restricted{color:var(--destructive)}.dashboard-tabs{position:sticky;top:54px;z-index:19;display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:12px 0 8px;padding:4px;border:1px solid var(--separator);border-radius:14px;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dashboard-tab{min-height:42px;border:0;border-radius:10px;background:transparent;color:var(--hint);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.dashboard-tab span{margin-left:4px;font-size:10px}.dashboard-tab-active{background:var(--accent-fill);color:var(--button-text)}.dashboard-kpi-selected{outline:2px solid var(--accent-fill);outline-offset:1px}.dashboard-kpi-drilldown{grid-column:1/-1}.dashboard-drilldown-action{width:100%;margin-top:12px}.dashboard-section-note{margin:-4px 0 10px;font-size:11px;line-height:1.45}.dashboard-people-list{padding-top:1px;padding-bottom:1px}.dashboard-person-row{width:100%;padding:14px 0;border:0;border-bottom:1px solid var(--separator);background:transparent;color:var(--text);text-align:left;font:inherit;display:block}button.dashboard-person-row{cursor:pointer}.dashboard-person-row:last-child{border-bottom:0}.dashboard-person-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.dashboard-person-heading strong{min-width:0;overflow-wrap:anywhere}.dashboard-person-heading span{flex:0 0 auto;color:var(--hint);font-size:10px}.dashboard-person-metrics{margin:4px 0 10px;font-size:11px}.dashboard-person-open{display:block;margin-top:8px;color:var(--accent-text);font-size:11px;font-weight:700}.dashboard-person-summary>.muted{display:block;margin-top:8px;font-size:10px}.dashboard-privacy-state{margin-top:14px;text-align:center}.dashboard-privacy-state p{margin:7px 0 0;color:var(--hint);font-size:12px;line-height:1.5}.presence-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.presence-kpi{min-width:0;min-height:92px;display:flex;flex-direction:column;justify-content:space-between}.presence-kpi span{color:var(--hint);font-size:11px}.presence-kpi strong{font:400 27px/1 "DM Serif Display",Georgia,serif}.period-tabs,.presence-view-tabs{display:grid;gap:4px;margin:10px 0 7px;padding:3px;border:1px solid var(--separator);border-radius:13px;background:var(--section-bg)}.period-tabs{grid-template-columns:repeat(5,minmax(56px,1fr));overflow-x:auto;scrollbar-width:none}.period-tabs::-webkit-scrollbar{display:none}.presence-view-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.presence-time-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:10px}.presence-time-controls label{min-width:0}.presence-time-controls select{width:100%}.presence-now-button{min-height:44px;white-space:nowrap}.period-tab,.presence-view-tab{min-width:0;min-height:44px;padding:7px 5px;border:0;border-radius:9px;background:transparent;color:var(--hint);font:inherit;font-size:11px;font-weight:700;cursor:pointer;transition:color var(--motion-base) ease,background var(--motion-base) ease,transform var(--motion-fast) ease}.period-tab:active,.presence-view-tab:active{transform:scale(.97)}.period-tab-active,.presence-view-tab-active{background:var(--accent-fill);color:var(--button-text)}.performance-period-range{margin:0 0 10px;font-size:11px}.performance-filter-card{margin:14px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 9px}.performance-filter-label{color:var(--hint);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.performance-filter-card select{width:100%;min-width:0;min-height:42px;padding:8px 10px;border:1px solid var(--separator);border-radius:10px;background:var(--secondary-bg);color:var(--text);font:inherit;font-size:12px}.performance-filter-card .dashboard-more{grid-column:1 / -1}.dashboard-performance-list{display:flex;flex-direction:column;gap:9px}.performance-person-card{padding:13px}.period-tabs-prominent{position:static;padding:6px;border:1px solid var(--separator);border-radius:13px;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.performance-view-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0}.performance-view-tab{min-width:0;min-height:44px;padding:8px 6px;border:1px solid var(--separator);border-radius:11px;background:var(--section-bg);color:var(--text);font:inherit;font-size:12px;font-weight:700;transition:transform var(--motion-fast) ease,border-color var(--motion-base) ease,background var(--motion-base) ease}.performance-view-tab:active{transform:scale(.97)}.performance-view-tab.active{border-color:var(--accent-fill);background:var(--accent-soft)}.performance-self-card,.performance-team-card,.manager-rollup-card{margin-top:10px}.performance-self-card p,.performance-team-card p,.manager-rollup-card p{margin:3px 0 10px}.performance-team-card h2{margin:0;font-size:1.05rem}.performance-rollup-grid,.performance-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.performance-list-label{margin-top:18px}.performance-compact-list,.manager-rollup-list{display:grid;gap:8px}.performance-compact-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;color:var(--text);font:inherit}.performance-compact-row>span{display:grid;gap:3px;min-width:0}.performance-compact-row>span:last-child{text-align:right}.performance-compact-row small{color:var(--hint)}.performance-manager-note{margin:10px 0}.profile-period-performance{margin-top:18px}@media (max-width:360px){.performance-view-tabs{grid-template-columns:repeat(3,minmax(92px,1fr));overflow-x:auto}}.performance-profile-link{min-height:44px;border:0;padding:6px 0 6px 10px;background:transparent;color:var(--accent-text);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.performance-metric-group{margin-top:12px}.performance-group-title{margin:0 0 6px;color:var(--hint);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.performance-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.performance-metric-grid-period{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-metric{min-width:0;padding:8px;border-radius:10px;background:var(--secondary-bg);display:flex;flex-direction:column;gap:3px}.performance-metric span{color:var(--hint);font-size:11px;line-height:1.3;overflow-wrap:anywhere}.performance-metric strong{font-size:14px;overflow-wrap:anywhere}.performance-metric-link{border:1px solid transparent;color:var(--text);text-align:left;font:inherit;cursor:pointer}.performance-metric-link:hover,.performance-metric-link:focus-visible{border-color:var(--accent-fill);outline:none}.performance-metric-link small{color:var(--accent-text);font-size:9px;font-weight:800}.performance-drilldown{margin-top:12px}.performance-metric-warning strong{color:var(--destructive)}.presence-panel{margin-top:13px}.presence-person-list{display:flex;flex-direction:column;gap:8px}.presence-person-card{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px}.presence-person-copy,.presence-person-status{min-width:0;display:flex;flex-direction:column;gap:3px}.presence-person-copy strong{overflow-wrap:anywhere}.presence-person-copy span,.presence-person-copy small{color:var(--hint);font-size:11px;overflow-wrap:anywhere}.presence-person-status{flex:0 0 auto;align-items:flex-end}.presence-live-status{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:11px}.presence-live-status strong{color:var(--text)}.presence-live-status small{color:var(--hint);font-size:10px}.presence-state{max-width:120px;padding:5px 8px;border-radius:999px;background:var(--secondary-bg);font-size:10px;font-weight:800;text-align:center}.presence-state-scheduled-now{color:var(--jml-ink);background:var(--jml-lime)}.presence-state-vacation{color:var(--accent-text);background:var(--accent-soft)}.presence-week-scroll,.overlap-chart-scroll{overflow-x:auto;overscroll-behavior-x:contain;padding:0}.presence-week-table{width:100%;min-width:680px;border-collapse:collapse;font-size:11px}.presence-week-table th,.presence-week-table td{padding:9px 7px;border-bottom:1px solid var(--separator);text-align:center;white-space:nowrap}.presence-week-table thead th{color:var(--hint);font-size:10px}.presence-week-table th:first-child{position:sticky;left:0;z-index:1;min-width:128px;background:var(--section-bg);text-align:left}.presence-week-table th:first-child small{display:block;margin-top:3px;color:var(--hint);font-weight:400}.presence-window{display:flex;flex-direction:column;gap:3px}.presence-window small{color:var(--hint);font-size:10px}.overlap-day-tabs{display:flex;gap:5px;overflow-x:auto;padding-bottom:4px}.overlap-day{flex:0 0 54px;min-height:44px;border:1px solid var(--separator);border-radius:10px;background:var(--section-bg);color:var(--hint);font:inherit;font-size:11px;font-weight:700}.overlap-day-active{border-color:var(--accent-fill);background:var(--accent-soft);color:var(--text)}.overlap-chart-scroll{margin-top:9px;padding:12px}.overlap-chart{min-width:720px;height:70px;display:grid;grid-template-columns:repeat(48,1fr);align-items:end;gap:2px}.overlap-cell{height:max(5px,calc(var(--overlap-level) * 64px));border-radius:2px 2px 0 0;background:var(--accent-fill);opacity:calc(.25 + var(--overlap-level) * .75);display:flex;align-items:flex-start;justify-content:center;color:var(--button-text);font-size:8px;font-weight:800}.overlap-cell-now{outline:2px solid var(--jml-lime);outline-offset:1px;box-shadow:0 0 0 4px color-mix(in srgb,var(--jml-lime) 18%,transparent)}.overlap-axis{min-width:720px;display:flex;justify-content:space-between;margin-top:5px;color:var(--hint);font-size:10px}.overlap-best-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px}.overlap-best{min-width:0;padding:10px;display:flex;flex-direction:column;gap:3px}.overlap-best strong{font-size:12px}.overlap-best span{color:var(--hint);font-size:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-color-scheme: dark){:root{--jml-lavender: #2d1a42}}:root[data-theme=dark]{--jml-lavender: #2d1a42;--accent-soft: color-mix(in srgb, var(--accent-fill) 20%, var(--section-bg))}@media (max-width: 360px){.nav-grid{grid-template-columns:1fr}.app-name{font-size:16px}.team-title-row{display:block}.person-directory-row{gap:8px}.person-row-side{max-width:72px}.metrics-grid{gap:6px}.metric-tile{min-height:78px;padding:11px}.org-children{margin-left:7px;padding-left:6px}.person-profile-hero{grid-template-columns:44px 1fr;padding:13px}.profile-avatar{width:44px;height:44px;font-size:14px}.dashboard-kpi{min-height:92px;padding:11px}.dashboard-project-copy,.dashboard-person-heading{align-items:flex-start;flex-direction:column;gap:3px}.period-tab{font-size:11px}.performance-metric-grid-period{grid-template-columns:1fr 1fr}.presence-person-card{gap:6px}.presence-person-status{max-width:112px}.dashboard-trend{gap:3px}.dashboard-trend-label{font-size:9px}}@media (max-width:520px){.presence-time-controls{grid-template-columns:1fr}.presence-now-button{width:100%}}.work-filter-card{margin:16px 0}.work-filter-heading h2{margin:0 0 2px;font-size:1rem}.work-filter-heading p{margin:0 0 14px}.work-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px}.work-filters label{display:grid;gap:6px;font-weight:700}.work-filter-field{min-width:0}.select-control{position:relative;display:block;min-width:0}.select-control:after{content:"↓";position:absolute;right:13px;top:50%;transform:translateY(-52%);color:var(--hint);font-size:13px;line-height:1;pointer-events:none}.work-filters select,.work-filters input,.card select{width:100%;min-height:46px;border:1px solid var(--separator);border-radius:12px;padding:10px 38px 10px 12px;color:var(--text);background:var(--secondary-bg);font:inherit}.work-filters select{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}.work-filters select:disabled{cursor:not-allowed;opacity:.55}.work-filters select:focus-visible,.work-filters input:focus-visible,.card select:focus-visible{outline:2px solid var(--button);outline-offset:2px}.work-search{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px}.work-search label{min-width:0}.work-search button,.work-task-card button,.create-work-task button,.running-card button{min-height:44px;padding:10px 14px;border:0;border-radius:11px;background:var(--accent-fill);color:var(--button-text);font-weight:700;cursor:pointer;transition:transform var(--motion-fast) ease,filter var(--motion-base) ease}.create-role-pickers{display:grid;gap:12px}.create-role-pickers fieldset{min-width:0;margin:0;padding:10px;border:1px solid var(--separator);border-radius:12px}.create-role-pickers legend{padding:0 5px;font-weight:800}.create-role-pickers legend span{color:var(--hint);font-size:10px;font-weight:600}.create-person-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:150px;overflow-y:auto}.create-person-option{min-width:0;display:flex!important;flex-direction:row!important;align-items:center;gap:7px;margin:0!important;padding:8px;border-radius:9px;background:var(--secondary-bg);font-size:12px}.create-work-task .create-person-option input[type=checkbox]{width:20px;min-width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:0;padding:0;border-radius:6px;accent-color:var(--accent-fill)}.create-person-option span{min-width:0;overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.create-role-help{color:var(--hint);font-size:10px;font-weight:600;line-height:1.35}@media (max-width:420px){.create-person-options{grid-template-columns:1fr}}.work-search button:active,.work-task-card button:active,.create-work-task button:active,.running-card button:active{transform:scale(.97)}.work-search button:disabled,.work-task-card button:disabled,.create-work-task button:disabled,.running-card button:disabled{opacity:.55;cursor:wait}.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.icon-button .jml-icon{width:18px;height:18px}.work-task-list{display:grid;gap:12px}.work-task-card{display:flex;align-items:center;justify-content:space-between;gap:14px}.work-task-card h2,.running-card h2{margin:0 0 6px;font-size:1rem}.status-pill{display:inline-flex;margin-top:8px;border-radius:999px;padding:4px 9px;background:var(--secondary-bg);font-size:.82rem}.timer-note{margin:10px 0 14px}.danger-button{background:#b42318!important;color:#fff}.pager{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin:14px 0}.pager span{color:var(--hint);font-size:12px;text-align:center}.pager button{min-height:44px;padding:9px 12px;border:1px solid var(--separator);border-radius:11px;background:var(--section-bg);color:var(--text);font-weight:700;cursor:pointer}.pager button:disabled{opacity:.42;cursor:not-allowed}.pager button:last-child{justify-self:stretch}.page-size-control{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--hint);font-size:11px;font-weight:700}.page-size-control select{min-height:36px;padding:5px 28px 5px 9px;border:1px solid var(--separator);border-radius:9px;background:var(--secondary-bg);color:var(--text)}.task-filter-bar{display:flex;justify-content:flex-end;margin:10px 0}.task-filter-bar label{display:flex;align-items:center;gap:8px;color:var(--hint);font-size:12px;font-weight:700}.task-filter-bar select{min-height:44px;max-width:190px}.people-local-nav{display:flex;gap:6px;overflow-x:auto;margin:0 0 12px;padding:3px;border:1px solid var(--separator);border-radius:14px;background:var(--section-bg);scrollbar-width:none}.people-local-nav button{flex:1 0 auto;min-height:42px;padding:8px 11px;border:0;border-radius:10px;background:transparent;color:var(--hint);font:inherit;font-size:12px;font-weight:750}.people-local-nav button.people-local-nav-active{background:var(--accent-fill);color:var(--button-text)}.create-work-task{display:grid;gap:12px;margin-top:12px}.create-work-task label{display:grid;gap:6px;color:var(--hint);font-size:12px;font-weight:700}.create-work-task input{width:100%;min-height:46px;border:1px solid var(--separator);border-radius:12px;padding:10px 12px;color:var(--text);background:var(--secondary-bg)}.work-primary-actions{display:flex;justify-content:flex-end;margin:12px 0}.work-created-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;border-color:color-mix(in srgb,var(--jml-lime) 55%,var(--separator))}.work-created-banner h2,.work-success-summary h2{margin:0 0 5px;font-size:1rem}.work-success-summary{border-color:color-mix(in srgb,var(--jml-lime) 60%,var(--separator))}.work-success-summary p{margin:5px 0}.modal-backdrop{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;display:grid;align-items:end;padding:max(16px,var(--safe-top)) max(16px,var(--safe-right)) calc(16px + var(--safe-bottom)) max(16px,var(--safe-left));background:color-mix(in srgb,#000 58%,transparent)}.modal-sheet{width:min(100%,560px);max-height:min(84vh,680px);overflow:auto;margin:0 auto;border-radius:20px;box-shadow:0 22px 70px color-mix(in srgb,#000 50%,transparent)}.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-heading h2{margin:0}.icon-only-button{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border:1px solid var(--separator);border-radius:50%;background:var(--secondary-bg);color:var(--text);font-size:25px;line-height:1;cursor:pointer}.status-choice-section{margin-top:18px;padding-top:16px;border-top:1px solid var(--separator)}.status-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.status-choice{min-height:48px;display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--separator);border-radius:12px;background:var(--secondary-bg);color:var(--text);text-align:left;font-weight:650;cursor:pointer}.status-choice-active{border-color:var(--accent-fill);background:var(--accent-soft);color:var(--accent-text)}.success-message{color:color-mix(in srgb,var(--jml-lime) 78%,var(--text));font-weight:700}.participant-chips{display:flex;flex-wrap:wrap;gap:7px}.participant-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 9px 4px 4px;border-radius:999px;background:var(--accent-soft);color:var(--text);font-size:12px;font-weight:700}.participant-avatar{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--accent-fill);color:var(--button-text);font-size:9px;letter-spacing:.02em}.participant-more{padding-left:10px;background:var(--secondary-bg);color:var(--hint)}.participant-link{border:1px solid transparent;cursor:pointer;font:inherit;text-align:left}.participant-link:hover,.participant-link:focus-visible{border-color:var(--accent-fill);outline:none}.participant-link small{color:var(--hint);font-size:9px}.task-participant-links{margin:7px 0 13px}.task-role-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.role-chip{padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.03em}.role-watcher{color:#2563eb;background:color-mix(in srgb,#2563eb 14%,var(--section-bg))}.role-verifier{color:#8b5cf6;background:color-mix(in srgb,#8b5cf6 16%,var(--section-bg))}.role-creator{color:#b45309;background:color-mix(in srgb,#f59e0b 17%,var(--section-bg))}@media (max-width: 430px){.work-filters{grid-template-columns:1fr}.work-search{grid-column:auto}}@media (max-width: 360px){.work-task-card{align-items:stretch;flex-direction:column}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
