:root{--button-color: #229f65;--button-hover-color: #2ebd80;--error-color: #ff4d4d;--border-color: #3ecf8e;--header-bg: white;--header-color: #1c1c1c;--menu-bg: #e2e2e2;--menu-border: #ccc;--menu-text: #000;--main-bg: #ffffff;--body-bg: #fafafa;--input-color: #000;--input-bg:white;--home-accent: #3ecf8e;--home-bg-1: #f4f7f5;--home-bg-2: #e9efeb;--home-surface: rgba(255, 255, 255, .72);--home-tile: rgba(18, 40, 29, .04);--home-tile-hover: rgba(18, 40, 29, .07);--home-border: rgba(15, 30, 22, .1);--home-text: #10231a;--home-muted: rgba(20, 40, 30, .62);--home-elev: 0 20px 50px rgba(20, 50, 35, .12);--home-status-ring: #ffffff;--app-bg: #f4f6f8;--app-surface: #ffffff;--app-card: #ffffff;--app-sidebar-bg: #ffffff;--app-border: rgba(15, 30, 22, .1);--app-border-strong: rgba(15, 30, 22, .16);--app-text: #10161d;--app-text-muted: #5b6672;--app-text-subtle: #8A939E;--app-primary: #229f65;--app-accent: #3ecf8e;--app-primary-soft: rgba(34, 159, 101, .12);--app-hover: rgba(15, 30, 22, .04);--app-raised: #e4e8eb;--app-pos: #17845a;--app-neg: #c0453f;--app-shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 12px 28px rgba(16, 24, 40, .06);--app-radius: 14px;--app-radius-sm: 10px;--app-sidebar-w: 264px;--app-topbar-h: 52px}:root.dark{--header-bg: #1c1c1c;--header-color: white;--menu-bg: #2a2a2a;--menu-border: #333;--menu-text: white;--main-bg: #1c1c1c;--input-color: white;--input-bg:#3a3a3a;--home-bg-1: #1c1c1c;--home-bg-2: #171717;--home-surface: rgba(42, 42, 42, .75);--home-tile: rgba(255, 255, 255, .035);--home-tile-hover: rgba(255, 255, 255, .065);--home-border: rgba(255, 255, 255, .09);--home-text: #f2f2f2;--home-muted: rgba(233, 240, 237, .58);--home-elev: 0 24px 60px rgba(0, 0, 0, .5);--home-status-ring: #2a2a2a;--app-bg: #08090A;--app-surface: #0E1011;--app-card: #121415;--app-sidebar-bg: #08090A;--app-border: #1E2123;--app-border-strong: #26292B;--app-text: #EDEEEF;--app-text-muted: #8A9198;--app-text-subtle: #5A6167;--app-primary: #229f65;--app-accent: #3ecf8e;--app-primary-soft: rgba(34, 159, 101, .12);--app-hover: rgba(255, 255, 255, .05);--app-raised: #17191B;--app-pos: #3ECF8E;--app-neg: #E8837F;--app-shadow: none}@media (max-width: 1024px){.main-container{width:90%;height:85%;padding:1.5em}.header-left,.right-section{width:10%;max-width:20vw;min-width:3rem}.center-section{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-menu{right:0;width:max-content;min-width:8rem}.batch-card{flex-direction:column;align-items:flex-start}.batch-right{align-items:flex-start;width:100%}}*{margin:0;padding:0;box-sizing:border-box;font-family:Geist,system-ui,-apple-system,sans-serif;transition:background-color .3s}.batch-timer,.kpi-value,.donut-center-value,.task-timer-value,.tcard-clock,.timer-row-clock,.stats-summary-value,.timer-preview-inner,.tclock-label,.items-table td.numeric{font-family:Geist Mono,ui-monospace,SFMono-Regular,monospace;font-variant-numeric:tabular-nums;letter-spacing:-.02em}h1,h2,.kpi-value{letter-spacing:-.03em}.route-loading{display:flex;align-items:center;justify-content:center;min-height:40vh;width:100%}.route-loading:after{content:"";width:30px;height:30px;border-radius:50%;border:3px solid var(--app-border, #333);border-top-color:var(--app-primary, #229f65);animation:route-spin .7s linear infinite}@keyframes route-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.route-loading:after{animation-duration:1.5s}}*{scrollbar-width:thin;scrollbar-color:var(--app-border-strong, #4a4a4a) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:var(--app-border-strong, #4a4a4a);border-radius:8px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:var(--app-text-muted, #888);background-clip:padding-box}*::-webkit-scrollbar-corner{background:transparent}html{background-color:var(--app-bg, var(--main-bg, #1c1c1c))}body{background-color:var(--app-bg, var(--main-bg, #1c1c1c));color:var(--menu-text, white);min-height:100vh}main{display:flex;flex-direction:column;align-items:center;margin-top:10vh}a{text-decoration:none}.header-text{display:flex;gap:.5em;align-items:center;padding:.5em 1em;font-weight:700;background:none;text-align:center}.home-page{display:flex;flex-direction:column;min-height:100vh;width:100%}.header-bar{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background-color:var(--header-bg, #2a2a2a);color:var(--header-color, white);position:fixed;top:0;width:100%;z-index:1000;height:3.5rem}.header-left{width:10%;min-width:3rem;max-width:10vw}.main-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background-color:var(--menu-bg, #2a2a2a);color:var(--menu-text, white);margin:auto;margin-top:5rem;padding:2em;width:80%;height:80%;border-radius:4px;border-top:5px;border-width:10px 0px 0px 0px;border-style:solid;border-color:var(--border-color)}.main-container>*{flex-grow:1;width:100%;display:flex;justify-content:center;align-items:center}.main-container.page-container{height:auto;min-height:calc(100vh - 7rem);justify-content:flex-start}.main-container.page-container>*{flex-grow:0}.main-container.auth-form{width:90%;max-width:420px;position:relative;overflow:hidden;padding:2.25rem 1.75rem;border-radius:18px;border-width:1px;border-color:var(--app-border, var(--menu-border));background:var(--app-card, var(--menu-bg));box-shadow:var(--app-shadow, 0 0 60px rgba(0, 0, 0, .2))}.main-container.auth-form:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--app-primary, #229f65),var(--app-accent, #3ecf8e),var(--app-primary, #229f65),transparent)}.auth-field{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;width:100%;max-width:300px;margin:0 auto 1rem;text-align:left}.auth-field>label{align-self:flex-start}.auth-field>label{font-size:.74rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--app-text-muted, var(--menu-text))}.auth-field input,.auth-field .password-field{width:100%;max-width:100%;margin-top:0}.auth-field .password-field input{max-width:100%}.auth-sub{width:100%;text-align:center;font-size:.85rem;color:var(--app-text-muted, var(--menu-text));margin:-.25rem 0 .75rem}#github-repo-link{display:flex;gap:.5em;margin-top:0;align-items:center;padding:.5em 1em;font-weight:700;background:none;cursor:pointer;color:var(--border-color)}#github-repo-link:hover{background-color:#3ecf8e1a}input{padding:1rem;border-radius:4px;outline:none;background-color:var(--input-bg, #3a3a3a);border:1px solid #4a4a4a;font-size:1rem;color:var(--input-color, white);margin-top:7px;width:100%;max-width:300px}button,a{font-size:16px;padding:1em;background:none;cursor:pointer;color:#fff;background:#229f65;border:none;border-radius:4px;transition:background-color .3s;width:100%;max-width:300px;text-align:center;margin-top:1em;display:flex;justify-content:center;align-items:center;height:40px;font-weight:700;border:1px solid #33b379}a{border:none}button:hover,a:hover{background:#2ebd80}.home-link{position:absolute;min-width:3rem;width:auto;padding:.5em .8em;top:0;left:1rem;text-decoration:none;border-radius:4px;z-index:1000;font-weight:500}.home-link:hover{text-decoration:underline}.auth-link{background:transparent;color:var(--border-color)}.auth-link:hover{background:transparent;text-decoration:underline}.auth-head{display:flex;flex-direction:column;align-items:center;gap:.4rem;width:100%;margin-bottom:1.35rem}.auth-title{margin:.35rem 0 0;padding:0;font-size:1.6rem;font-weight:800;letter-spacing:-.02em;color:var(--app-text, var(--menu-text))}.auth-subtitle{margin:0;font-size:.88rem;color:var(--app-text-muted, var(--menu-text))}.auth-field input{height:46px;padding:0 .9rem;margin-top:0;border-radius:10px;border:1px solid var(--app-border-strong, #4a4a4a);background-color:var(--app-bg, var(--input-bg));color:var(--app-text);box-shadow:none;transition:border-color .15s ease,box-shadow .15s ease}.auth-field input:-webkit-autofill,.auth-field input:-webkit-autofill:hover,.auth-field input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--app-bg) inset!important;-webkit-text-fill-color:var(--app-text)}.auth-field input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 3px var(--app-primary-soft, rgba(34, 159, 101, .22)),0 0 0 1000px var(--app-bg) inset!important}.auth-field input::placeholder{color:var(--app-text-muted, #888);opacity:1}.auth-field input:focus{border-color:var(--app-primary, #229f65);box-shadow:0 0 0 3px var(--app-primary-soft, rgba(34, 159, 101, .22))}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,select:-webkit-autofill,textarea:-webkit-autofill{-webkit-text-fill-color:var(--input-color, #fff);-webkit-box-shadow:0 0 0 1000px var(--input-bg) inset;caret-color:var(--input-color, #fff);transition:background-color 9999s ease-out 0s}input:-webkit-autofill:focus,select:-webkit-autofill:focus,textarea:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 3px var(--app-primary-soft, rgba(34, 159, 101, .22)),0 0 0 1000px var(--input-bg) inset!important}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;margin-top:0;padding:32px 16px;background:var(--app-bg)}.auth-mark{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:var(--app-primary);color:#fff}.auth-alt{width:100%;margin:.75rem 0 0;text-align:center;font-size:.82rem;color:var(--app-text-muted)}.auth-alt+.auth-alt{margin-top:.35rem}.auth-alt-btn,.auth-alt-link{display:inline;width:auto;max-width:none;height:auto;margin:0 0 0 .3em;padding:0;background:none;border:none;box-shadow:none;color:var(--app-primary, var(--button-color));font-size:.82rem;font-weight:700;cursor:pointer}.auth-alt-btn:hover,.auth-alt-link:hover{background:none;text-decoration:underline}.main-container.auth-form .auth-submit{width:100%;max-width:100%;height:46px;margin-top:1.15rem;border-radius:10px;font-weight:700}.auth-field-error{width:100%;max-width:100%;margin:.3rem auto 0;text-align:left;font-size:.78rem;color:#ff6b6b}.auth-error{width:100%;max-width:100%;margin:.85rem auto 0;padding:.6rem .85rem;text-align:center;font-size:.82rem;font-weight:600;color:#ff6b6b;background:#ef44441a;border:1px solid rgba(239,68,68,.32);border-radius:10px}.auth-status{width:100%;text-align:center;font-size:.85rem;color:var(--app-text-muted, var(--menu-text));margin-top:.7rem}#divider{flex-grow:0;width:100%;height:2px;background-color:var(--border-color);margin:1em 0;border-radius:100%}.user-menu{position:relative}.dropdown-menu{position:absolute;top:100%;right:0;background-color:var(--header-bg, #2a2a2a);border:1px solid var(--menu-border, #4a4a4a);border-radius:4px;padding:.5rem;display:flex;flex-direction:column;gap:.5rem;z-index:999}.dropdown-menu a,.dropdown-menu button{color:var(--header-color, white);text-decoration:none;background:none;border:none;cursor:pointer;text-align:left;font-size:14px;padding:.25rem .5rem}.dropdown-menu a:hover,.dropdown-menu button:hover{text-decoration:underline}.dropdown-menu .active{font-weight:700;text-decoration:underline}.center-section{width:80vw;text-align:justify;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.right-section{display:flex;gap:.5rem;justify-content:flex-end;width:10%;min-width:3rem;max-width:10vw}.icon-button{background:none;border:none;color:inherit;cursor:pointer;font-size:1.5rem;display:flex;justify-content:center;align-items:center;width:2rem;height:2rem;flex-shrink:0}.header-bar .icon-button{background:transparent;color:var(--header-color, #ffffff);padding:0}.header-bar .icon-button svg{display:block}.header-bar .icon-button:hover{color:var(--border-color)}.batch-card{position:relative;display:flex;align-items:flex-start;justify-content:space-between;background-color:var(--menu-bg, #2a2a2a);border:1px solid var(--menu-border, #3a3a3a);border-radius:12px;padding:13px 15px;margin-bottom:1rem;width:100%;max-width:600px;gap:1rem;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.batch-card:hover{transform:translateY(-2px);border-color:#3ecf8e73}.batch-remove{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.85rem;height:1.85rem;padding:0;margin:0;border:1.5px solid var(--menu-border, #3a3a3a);border-radius:8px;background:none;color:var(--error-color);font-size:1.05rem;font-weight:700;line-height:1;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.batch-remove:hover{background-color:var(--error-color);border-color:var(--error-color);color:#fff}.batch-left{display:flex;align-items:center;height:100%;gap:1em;flex:1;cursor:pointer}.batch-right{display:flex;flex-direction:column;align-items:flex-end}.batch-timer{font-size:1.6rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--button-color)}.batch-image{width:3em;height:3em;border-radius:50%;object-fit:cover}.batch-title{font-size:1.2em;font-weight:700;color:var(--menu-text, white)}.batch-subtext{color:var(--menu-text, white);font-size:.9em}.batch-button{padding:.5rem 1rem;background-color:var(--button-color);color:#fff;border:none;border-radius:.5rem;cursor:pointer;max-width:30%;min-width:100px;width:100%}.batch-button:hover{background-color:var(--button-hover-color)}.batch-button.compact{width:auto;max-width:none;white-space:nowrap}.recharts-cartesian-grid line{stroke:#88888829;stroke-dasharray:none!important}.recharts-cartesian-grid-vertical{display:none}.recharts-cartesian-axis-tick-value{fill:#8a8a8a;font-size:11px}.recharts-cartesian-axis-line,.recharts-cartesian-axis-tick-line{stroke:#8888884d}.recharts-line-curve{stroke-width:2px}.recharts-line-dot{r:3}.recharts-line-dots circle{stroke-width:1.5px}.recharts-default-tooltip{background-color:var(--menu-bg)!important;border:1px solid var(--menu-border)!important;border-radius:8px!important;padding:.5rem .75rem!important}.recharts-default-tooltip .recharts-tooltip-label{color:var(--menu-text)!important;font-weight:700;margin-bottom:.3rem}.grid-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1rem;align-items:start}.batches-layout{display:flex;gap:20px;align-items:stretch;width:100%}.batches-col-active,.batches-col-boxes{background:var(--app-surface, var(--main-bg));border:1px solid var(--app-border, var(--menu-border));border-radius:12px;padding:16px 18px}.batches-col-active{flex:1;min-width:0}.batches-col-boxes{width:30%;min-height:50vh;display:flex;flex-direction:column;justify-content:space-between}.batches-layout h2.header-text{padding:0;margin:0 0 14px;font-size:18px;justify-content:center;text-align:center}.batches-layout .batch-card{max-width:none;margin-bottom:0}.create-box-button{background-color:var(--button-color);color:#fff;padding:15px 20px;border-radius:8px;border:none;cursor:pointer;font-size:1rem;font-weight:700;width:100%;max-width:none;white-space:nowrap;margin-top:1rem}.create-box-button{display:flex;align-items:center;justify-content:center;gap:.4rem;transition:background-color .15s ease,transform .15s ease}.create-box-button:hover{background-color:var(--button-hover-color);transform:translateY(-1px)}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;margin-top:1rem}.item-card{max-width:none;align-items:center}.item-card .batch-image,.item-thumb-fallback{width:3.25rem;height:3.25rem;border-radius:12px;flex-shrink:0}.item-card .batch-image{object-fit:cover}.item-thumb-fallback{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.35rem;color:#fff;text-transform:uppercase;background:linear-gradient(135deg,var(--button-color),var(--button-hover-color))}.item-card .batch-title{font-size:1.15rem}.item-card .batch-subtext{display:inline-flex;align-items:center;gap:.35rem;width:fit-content;margin-top:.2rem;padding:.2rem .65rem;font-size:.76rem;color:var(--menu-text);opacity:.85;background:#88888829;border-radius:999px}.item-card .batch-subtext:before{content:"⏱";font-size:.8rem}.item-card .batch-button{align-self:center;width:auto;max-width:none;white-space:nowrap;padding:.55rem 1.2rem}.items-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:1rem;width:100%}.items-search{position:relative;flex:1 1 260px;min-width:200px;display:flex;align-items:center}.items-search-icon{position:absolute;left:.85rem;font-size:1.25rem;color:var(--menu-text);opacity:.55;pointer-events:none}.items-search input{width:100%;max-width:none;height:44px;margin:0;padding:0 2.4rem;font-size:.95rem;color:var(--input-color);background-color:var(--input-bg);border:1px solid var(--menu-border, #3a3a3a);border-radius:10px;transition:border-color .15s ease,box-shadow .15s ease}.items-search input:focus{outline:none;border-color:var(--button-color);box-shadow:0 0 0 3px #229f6538}.items-search-clear{position:absolute;right:.5rem;width:1.6rem;height:1.6rem;min-width:0;max-width:none;margin:0;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.15rem;line-height:1;color:var(--menu-text);background:transparent;border:none;border-radius:50%;cursor:pointer;opacity:.6}.items-search-clear:hover{opacity:1;background:#8883}.items-categories{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.category-chip{width:auto;min-width:0;max-width:none;height:auto;margin:0;padding:.4rem .9rem;font-size:.85rem;font-weight:500;color:var(--menu-text);background-color:#88888824;border:1px solid var(--menu-border, #3a3a3a);border-radius:999px;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.category-chip:hover{border-color:var(--button-color);background-color:#88888824}.category-chip.active{background-color:var(--button-color);border-color:var(--button-color);color:#fff;font-weight:600}.category-chip.clear{color:var(--error-color);background:transparent;border-color:transparent}.category-chip.clear:hover{background:#ef44441f;border-color:transparent}.items-empty{grid-column:1 / -1;text-align:center;color:var(--menu-text);opacity:.6;padding:2rem 0}.app-shell .waste-rail .items-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;flex:1;min-height:180px;padding:24px 16px;opacity:1;color:var(--app-text-subtle)}.app-shell .waste-rail .items-empty svg{opacity:.55}.app-shell .waste-rail .items-empty span{max-width:30ch;font-size:12.8px;line-height:1.45;text-wrap:balance}.app-shell .waste-rail .items-empty-clear{width:auto;max-width:none;height:30px;margin:0;padding:0 12px;background:transparent;border:1px solid var(--app-border-strong);border-radius:8px;color:var(--app-text-muted);font-size:12.2px;font-weight:500;cursor:pointer}.app-shell .waste-rail .items-empty-clear:hover{background:var(--app-hover);border-color:var(--app-primary);color:var(--app-text)}.home-page{position:relative;isolation:isolate;height:auto;min-height:100vh;background:var(--app-bg)}.main-container.home-menu{position:relative;height:auto;max-width:400px;width:92%;margin-top:auto;margin-bottom:auto;gap:1.15rem;padding:2rem 1.6rem 1.4rem;border:1px solid var(--home-border);border-radius:20px;background:var(--home-surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--home-elev);overflow:hidden}.main-container.home-menu:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--home-accent),var(--button-hover-color),var(--home-accent),transparent);background-size:200% 100%;animation:home-sheen 6s linear infinite}.main-container.home-menu>*{flex-grow:0}.home-brand{display:flex;flex-direction:column;align-items:center;gap:.55rem;text-align:center}.home-wordmark{margin:0;font-size:1.4rem;font-weight:800;letter-spacing:-.02em;color:var(--home-text)}.home-greeting{margin:0;font-size:.88rem;color:var(--home-muted)}.home-profile{display:flex;align-items:center;gap:.8rem;padding:.7rem .85rem;border:1px solid var(--home-border);border-radius:14px;background:var(--home-tile)}.home-profile-avatar{position:relative;flex-shrink:0;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;color:#fff;text-transform:uppercase;background:linear-gradient(135deg,var(--button-hover-color),var(--button-color))}.home-profile-status{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;background:var(--home-accent);border:2px solid var(--home-status-ring);animation:home-pulse 2.6s ease-out infinite}.home-profile-meta{display:flex;flex-direction:column;min-width:0;text-align:left;line-height:1.3}.home-profile-name{font-size:.95rem;font-weight:700;color:var(--home-text)}.home-profile-email{font-size:.8rem;color:var(--home-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-divider{height:1px;background:linear-gradient(90deg,transparent,var(--home-border),transparent)}.home-nav{display:flex;flex-direction:column;align-items:stretch;gap:.55rem;width:100%}.home-card{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:.85rem;width:100%;max-width:none;height:auto;margin:0;padding:.85rem 1rem;background:var(--home-tile);color:var(--home-text);border:1px solid var(--home-border);border-radius:16px;text-align:left;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.home-card:hover{transform:translateY(-2px);background:var(--home-tile-hover);border-color:#229f658c}.home-card:focus-visible{outline:2px solid var(--home-accent);outline-offset:2px}.home-card-icon{flex-shrink:0;width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--button-hover-color),var(--button-color));transition:transform .2s ease}.home-card:hover .home-card-icon{transform:scale(1.06)}.home-card-text{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.home-card-title{font-size:1rem;font-weight:700;color:var(--home-text)}.home-card-desc{font-size:.8rem;color:var(--home-muted)}.home-card-arrow{flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--home-muted);transition:transform .2s ease,color .2s ease}.home-card:hover .home-card-arrow{transform:translate(4px);color:var(--home-accent)}.home-card.is-primary{background:linear-gradient(#229f651f,#229f651f),var(--home-tile);border-color:#229f6573}.home-signout{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:auto;min-width:0;max-width:none;height:auto;align-self:center;margin:.15rem 0 0;padding:.55rem 1.25rem;background:transparent;color:var(--home-muted);border:1px solid var(--home-border);border-radius:12px;font-weight:600;font-size:.88rem;transition:color .2s ease,border-color .2s ease,background-color .2s ease}.home-signout-icon{display:inline-flex}.home-signout:hover{background:#ef44441f;border-color:#ef444480;color:var(--error-color)}.home-signout:focus-visible{outline:2px solid var(--error-color);outline-offset:2px}@keyframes home-sheen{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes home-pulse{0%{box-shadow:0 0 #229f658c}70%{box-shadow:0 0 0 6px #229f6500}to{box-shadow:0 0 #229f6500}}@media (prefers-reduced-motion: reduce){.main-container.home-menu:before,.home-profile-status{animation:none}.home-card,.home-card-icon,.home-card-arrow,.home-signout{transition:none}}.batch-right .batch-subtext{font-size:.8rem;color:var(--menu-text);opacity:.7}.batch-progress{position:absolute;left:0;right:0;bottom:0;height:4px;background:#8888882e;border-radius:0 0 12px 12px;overflow:hidden}.batch-progress-fill{height:100%;transition:width 1s linear,background-color .3s ease}.box-component-button{max-width:none;height:auto;margin-top:0;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.box-component-button:hover{transform:translateY(-2px)}.box-drop-over{border-color:var(--button-color)!important;background-color:#3ecf8e1f!important}.date-range{display:flex;gap:1rem;align-items:center;justify-content:center;flex-wrap:wrap;width:100%}.date-range-field{display:flex;align-items:center;gap:.5rem}.date-range-field input{margin-top:0;width:auto}.chart-controls{display:flex;align-items:flex-start;justify-content:center;gap:1rem;flex-wrap:wrap;width:100%}@media (max-width: 480px){.date-range-field{flex-direction:column;align-items:flex-start;gap:.2rem}}@media (max-width: 768px){.batches-layout{flex-direction:column}.batches-col-boxes{width:100%;min-height:auto;margin-top:1.5rem}}.dialog-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;padding:1rem;z-index:10000;animation:dialogOverlayIn .16s ease-out}@keyframes dialogOverlayIn{0%{opacity:0}to{opacity:1}}.dialog{background-color:var(--menu-bg);padding:1.75rem;border-radius:16px;border:1px solid var(--menu-border, #3a3a3a);box-shadow:0 24px 64px #00000080;display:flex;flex-direction:column;gap:1rem;width:90%;max-width:420px;text-align:center;animation:dialogIn .18s ease-out}@keyframes dialogIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.dialog h3{margin:0 0 .25rem;font-size:1.25rem;font-weight:700;color:var(--menu-text)}.dialog input:not([type=checkbox]),.dialog select{height:44px;margin:0;padding:0 .8rem;border-radius:10px;border:1px solid var(--menu-border, #3a3a3a);background-color:var(--input-bg);color:var(--input-color);font-size:1rem;transition:border-color .15s ease,box-shadow .15s ease}.dialog input:not([type=checkbox]):focus,.dialog select:focus{outline:none;border-color:var(--button-color);box-shadow:0 0 0 3px #229f6538}.dialog-actions{display:flex;justify-content:space-between;gap:.75rem}.dialog-actions button{flex:1;height:44px;margin:0;border-radius:10px;font-weight:700;font-size:.95rem;border:none;cursor:pointer;transition:filter .15s ease,background-color .15s ease}.dialog-actions button:hover{filter:brightness(1.06)}.dialog-btn-secondary{background-color:#8888882e!important;color:var(--menu-text)!important;border:1px solid var(--menu-border, #3a3a3a)!important}.dialog-btn-secondary:hover{background-color:#8888884d!important;filter:none}.dialog-remove-btn{width:auto;min-width:0;max-width:none;height:34px;margin:0;padding:0 .9rem;border-radius:8px;font-size:.82rem;font-weight:600;color:var(--error-color);background-color:#ef44441f;border:1px solid rgba(239,68,68,.4);cursor:pointer;transition:background-color .15s ease,color .15s ease}.dialog-remove-btn:hover{background-color:var(--error-color);color:#fff}.tabs-container{display:flex;width:100%;margin:1rem 0;gap:0}.tab-button{width:50%;padding:1em;font-weight:700;border:none;color:#fff;cursor:pointer;background-color:var(--menu-bg);transition:background-color .3s}.unit-select{padding:1rem;border-radius:4px;outline:none;background-color:var(--input-bg, #3a3a3a);border:1px solid #4a4a4a;font-size:1rem;color:var(--input-color, white);margin-top:7px;width:100%;max-width:300px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url('data:image/svg+xml;utf8,<svg fill="%23FFFFFF" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>');background-repeat:no-repeat;background-position:right 1rem center;background-size:1em;cursor:pointer}:root.dark .unit-select{background-image:url('data:image/svg+xml;utf8,<svg fill="%23FFFFFF" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>')}:root:not(.dark) .unit-select{background-image:url('data:image/svg+xml;utf8,<svg fill="%23000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>')}.unit-select:focus{border-color:var(--border-color)}.unit-select.time-select{width:auto;min-width:4.5rem;margin-top:0;padding:.55rem 2rem .55rem .7rem;background-position:right .6rem center}.week-picker{display:flex;flex-direction:column;gap:.4rem;padding:1rem;border:1px solid var(--menu-border);border-radius:8px;background-color:var(--menu-bg)}.week-picker-label{color:var(--menu-text);font-size:.9rem;font-weight:600;text-align:left}.week-picker-controls{display:flex;align-items:center;gap:.4rem}.week-picker-controls input[type=date]{width:auto;min-width:9.5rem;max-width:none;height:36px;margin-top:0;padding:0 .6rem;font-size:.9rem}.week-picker-controls .week-step{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;min-width:0;max-width:none;height:36px;margin:0;padding:0;border:1px solid var(--menu-border);border-radius:6px;background-color:var(--main-bg);color:var(--menu-text);font-size:1.2rem;line-height:1;font-weight:700;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.week-picker-controls .week-step:hover{background-color:var(--button-color);border-color:var(--button-color);color:#fff}.week-picker-range{color:var(--menu-text);font-size:.78rem;text-align:left;opacity:.75;white-space:nowrap}.item-select-panel{position:absolute;z-index:30;top:calc(100% + 4px);left:0;min-width:100%;max-height:260px;overflow-y:auto;padding:.3rem;background-color:var(--menu-bg);border:1px solid var(--menu-border);border-radius:8px;text-align:left}.item-select-row{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;width:100%;margin:0;padding:.4rem .5rem;border-radius:6px;color:var(--menu-text);font-size:.92rem;font-weight:400;text-align:left;white-space:nowrap;cursor:pointer}.item-select-row:hover{background-color:#7f7f7f2e}.item-select-row input[type=checkbox]{flex:none;width:16px;height:16px;min-width:0;margin:0;accent-color:var(--button-color);cursor:pointer}.item-select-row-all{font-weight:600}.item-select-divider{height:1px;margin:.3rem .25rem;background-color:var(--menu-border)}.week-picker .unit-select.item-select{width:100%;min-width:11rem;max-width:none;height:36px;margin-top:0;padding:0 2rem 0 .6rem;font-size:.9rem;background-position:right .6rem center}.dialog-content input,.dialog-content .unit-select{margin-bottom:.5rem}.dialog-field{display:flex;flex-direction:column;gap:.3rem;width:100%;margin-top:10px;text-align:left}.dialog-field>label{font-size:.74rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--menu-text);opacity:.65;text-align:left}.dialog-field input:not([type=checkbox]),.dialog-field select{width:100%;max-width:100%;margin:0}.dialog-field .password-field{width:100%;max-width:100%;margin:0}.duration-parts{display:flex;gap:8px;width:100%;min-width:0}.duration-part{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.duration-box{position:relative;display:block;width:100%;min-width:0}.dialog-field .duration-box input{width:100%;min-width:0;margin:0;padding:0 22px 0 10px;height:42px;font-family:Geist Mono,ui-monospace,SFMono-Regular,monospace;font-size:16px;font-weight:600;text-align:center;letter-spacing:.01em;background:var(--app-bg, #101113);color:var(--app-text, #fff);border:1px solid var(--app-border-strong, #2b2f33);border-radius:10px;touch-action:none;cursor:ns-resize;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.dialog-field .duration-box input:hover:not(:disabled){border-color:var(--app-primary, #3ecf8e)}.dialog-field .duration-box input:focus,.dialog-field .duration-box input:focus-visible{outline:none;border-color:var(--app-primary, #3ecf8e);box-shadow:0 0 0 3px var(--app-primary-soft, rgba(62, 207, 142, .16))}.duration-box input::-webkit-outer-spin-button,.duration-box input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.duration-steppers{position:absolute;top:4px;right:4px;bottom:4px;display:flex;flex-direction:column;justify-content:center;gap:2px;opacity:0;pointer-events:none;transition:opacity .15s ease}.duration-box:hover .duration-steppers,.duration-box:focus-within .duration-steppers{opacity:1;pointer-events:auto}.app-shell .duration-steppers button,.duration-steppers button{display:flex;align-items:center;justify-content:center;width:17px;min-width:0;max-width:none;height:15px;margin:0;padding:0;background:transparent;border:none;border-radius:4px;color:var(--app-text-subtle, #8b9198);cursor:pointer;transition:background-color .12s ease,color .12s ease}.app-shell .duration-steppers button:hover{background:var(--app-hover, rgba(255, 255, 255, .07));color:var(--app-primary, #3ecf8e)}.app-shell .duration-steppers button:active{transform:none}.duration-part label{margin:0;text-align:center;font-size:10.2px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--app-text-subtle, #8b9198)}.duration-part.is-disabled{opacity:.5}.duration-part.is-disabled .duration-box input{cursor:not-allowed}@media (prefers-reduced-motion: reduce){.dialog-field .duration-box input,.duration-steppers{transition:none}}.dialog-field-row{display:flex;gap:.75rem;width:100%}.dialog-field-row .dialog-field{flex:1;min-width:0}.dialog-check{display:flex;align-items:center;gap:.55rem;width:100%;margin:12px 0 4px;color:var(--menu-text);font-size:.95rem;text-align:left;cursor:pointer}.dialog-check input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--button-color)}.view-nav{display:flex;flex-direction:column;align-items:center;gap:.6rem;width:100%;margin-bottom:1.5rem}.view-nav .view-toggle-buttons{width:fit-content;max-width:100%;margin-bottom:0}.view-subtabs{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;width:100%}.view-subtabs .subtab-button{width:auto;min-width:0;max-width:none;height:auto;margin:0;padding:.4rem .95rem;border:1px solid var(--menu-border, #4a4a4a);border-radius:999px;background:none;background-color:transparent;color:var(--menu-text);font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.view-subtabs .subtab-button:hover:not(.active){background-color:var(--menu-bg);border-color:var(--button-color)}.view-subtabs .subtab-button.active{background-color:var(--button-color);border-color:var(--button-color);color:#fff;font-weight:600}.view-toggle-buttons{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.25rem;margin:0 auto 1.5rem;width:100%;max-width:1100px;background-color:var(--main-bg);border:1px solid var(--menu-border, #4a4a4a);border-radius:12px;padding:.35rem}.view-toggle-buttons.compact{max-width:380px}.toggle-button{flex:1 1 auto;width:auto;max-width:200px;min-width:110px;margin-top:0;padding:.6rem .9rem;font-size:.9rem;font-weight:500;border:none;background-color:transparent;color:var(--menu-text);cursor:pointer;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease;white-space:nowrap;border-radius:8px;text-align:center}.toggle-button.active{background-color:var(--button-color);color:#fff;font-weight:600;box-shadow:0 1px 3px #0003}.toggle-button:hover:not(.active){background-color:var(--menu-bg)}@media (max-width: 768px){.view-toggle-buttons{flex-direction:column;align-items:stretch;gap:.25rem}.toggle-button{width:100%;min-width:0;max-width:none}.view-nav .view-toggle-buttons{width:100%}}@media (max-width: 768px){.batch-card{flex-direction:column;align-items:flex-start}.batch-right{align-items:flex-start;width:100%}}.subscription-banner{position:fixed;top:3.5rem;left:0;right:0;z-index:900;background-color:#b45309;color:#fff;text-align:center;padding:.5rem 1rem;font-size:.9rem}.subscription-banner a{display:inline;width:auto;max-width:none;height:auto;margin:0 0 0 .4rem;padding:0;background:none;border:none;border-radius:0;color:#fff;font-weight:600;text-decoration:underline}.password-field{position:relative;display:flex;align-items:center;width:100%;max-width:300px;margin-top:7px;flex-grow:0}.password-field input{width:100%;max-width:none;margin:0;padding-right:2.5rem}.password-field input::-ms-reveal,.password-field input::-ms-clear{display:none}.password-field input::-webkit-credentials-auto-fill-button,.password-field input::-webkit-strong-password-auto-fill-button{display:none!important;visibility:hidden;pointer-events:none;margin:0;width:0}.password-toggle{position:absolute;right:0;top:0;height:100%;width:2.5rem;min-width:0;max-width:none;margin:0;padding:0;background:none;border:none;border-radius:0;color:var(--input-color, #999);opacity:.7;cursor:pointer;display:flex;align-items:center;justify-content:center}.password-toggle:hover{background:none;opacity:1;color:var(--border-color)}.app-shell{display:flex;min-height:100vh;background:var(--app-bg);color:var(--app-text)}.app-topnav{display:flex;align-items:center;gap:2px;flex:none;min-width:0}.app-nav-item{display:flex;align-items:center;gap:7px;width:auto;max-width:none;height:auto;margin:0;padding:6px 11px;background:none;border:none;border-radius:8px;color:var(--app-text-muted);font-size:13px;font-weight:500;text-align:left;justify-content:flex-start;white-space:nowrap;transition:background-color .15s ease,color .15s ease}.app-nav-item .app-nav-icon{color:var(--app-text-subtle)}.app-nav-item:hover{background:var(--app-hover);color:var(--app-text)}.app-nav-item.active{background:var(--app-raised);color:var(--app-text);font-weight:600}.app-nav-item.active .app-nav-icon{color:var(--app-primary)}.app-nav-icon{width:15px;height:15px;flex-shrink:0}.app-avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:50%;font-size:11.5px;font-weight:700;color:#fff;text-transform:uppercase;background:linear-gradient(140deg,var(--app-accent),var(--app-primary))}.app-avatar-lg{width:40px;height:40px;font-size:15px}.app-mini-name{font-size:13px;font-weight:700;color:var(--app-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-mini-email{font-size:12px;color:var(--app-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-body{flex:1;min-width:0;display:flex;flex-direction:column}.app-topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:10px;height:var(--app-topbar-h);padding:0 16px;background:var(--app-bg);border-bottom:1px solid var(--app-border)}.app-topbar-spacer{flex:1;min-width:0}.app-topbar-actions{display:flex;align-items:center;gap:8px}.app-brand-pop{flex:none}.app-brand{display:flex;align-items:center;justify-content:flex-start;gap:9px;width:auto;max-width:260px;height:34px;margin:0;padding:0 8px 0 4px;background:none;border:none;border-radius:9px;color:var(--app-text);cursor:pointer;transition:background-color .15s ease}.app-brand:disabled{cursor:default}.app-brand:not(:disabled):hover{background:var(--app-hover)}.app-brand-tile{display:flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;border-radius:7px;background:var(--app-primary);color:#fff}.app-brand-name{font-size:13px;font-weight:700;letter-spacing:-.01em;color:var(--app-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-brand-chev{color:var(--app-text-subtle);flex:none}.app-brand-menu{left:0;right:auto;min-width:220px}.app-pop-label{padding:4px 10px 6px;font-size:10.4px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--app-text-subtle)}.app-pop-item-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-pop-item.selected{color:var(--app-text)}.app-pop-item.selected svg{color:var(--app-primary);flex:none}.app-search-btn{display:flex;align-items:center;gap:8px;width:auto;max-width:none;height:30px;margin:0;padding:0 10px;min-width:200px;background:transparent;color:var(--app-text-subtle);border:1px solid var(--app-border);border-radius:8px;font-size:12.5px;font-weight:500;cursor:pointer;transition:border-color .15s ease,color .15s ease}.app-search-btn:hover{background:var(--app-hover);border-color:var(--app-border-strong);color:var(--app-text-muted)}.app-search-text{flex:1;text-align:left}.app-kbd,.cmdk-kbd{font-family:Geist Mono,ui-monospace,SFMono-Regular,monospace;font-size:10.5px;padding:1px 5px;border:1px solid var(--app-border-strong);border-radius:4px;color:var(--app-text-subtle);flex:none}.app-range-chip{display:flex;align-items:center;gap:7px;flex:none;height:30px;padding:0 11px;border:1px solid var(--app-border);border-radius:8px;color:var(--app-text-muted);font-size:12.2px;white-space:nowrap}.app-export-btn{display:flex;align-items:center;flex:none;width:auto;max-width:none;height:30px;margin:0;padding:0 12px;background:var(--app-primary);border:none;border-radius:8px;color:#fff;font-size:12.2px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,opacity .15s ease}.app-export-btn:hover:not(:disabled){background:var(--app-accent)}.app-export-btn:disabled{opacity:.6;cursor:progress}.app-users-chip{display:flex;align-items:center;gap:6px;flex:none;height:30px;padding:0 9px;border:1px solid var(--app-border);border-radius:8px;color:var(--app-text-muted);font-size:12px;font-family:Geist Mono,ui-monospace,SFMono-Regular,monospace}.app-users-chip svg{color:var(--app-text-subtle)}.app-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;min-width:30px;max-width:none;margin:0;padding:0;background:transparent;color:var(--app-text-muted);border:1px solid var(--app-border);border-radius:8px;font-size:12px;font-weight:600;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.app-icon-btn:hover{background:var(--app-hover);color:var(--app-text);border-color:var(--app-border-strong)}.app-pop{position:relative}.app-pop-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:240px;z-index:70;background:var(--app-card);border:1px solid var(--app-border);border-radius:14px;box-shadow:var(--app-shadow);padding:8px}.app-profile-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;max-width:none;height:28px;min-width:28px;margin:0;padding:0;background:transparent;color:var(--app-text-muted);border:none;border-radius:50%;transition:box-shadow .15s ease}.app-profile-btn:hover{background:transparent;box-shadow:0 0 0 2px var(--app-border-strong)}.app-profile-head{display:flex;align-items:center;gap:10px;padding:6px 8px 10px;border-bottom:1px solid var(--app-border);margin-bottom:6px}.app-profile-id{display:flex;flex-direction:column;min-width:0}.app-pop-item{display:flex;align-items:center;gap:10px;width:100%;max-width:none;height:auto;margin:0;padding:9px 10px;background:none;border:none;border-radius:9px;color:var(--app-text);font-size:14px;font-weight:600;text-align:left;justify-content:flex-start;cursor:pointer}.app-pop-item:hover{background:var(--app-hover)}.app-pop-item.danger:hover{background:#ef44441f;color:#ff6b6b}.app-content{width:100%;max-width:1780px;margin:0 auto;padding:0 24px}.app-content-main{padding-top:20px;padding-bottom:40px}.app-content-main>main,.app-content-main>section,.app-content-main>.home-page{display:block;width:100%;margin:0;align-items:stretch}.app-shell .home-page{height:auto;min-height:0;width:100%;background:none;display:block;isolation:auto}.app-shell .main-container{width:100%;max-width:100%;height:auto;min-height:0;margin:0;border-radius:var(--app-radius);border:1px solid var(--app-border);background:var(--app-card);box-shadow:var(--app-shadow)}.app-shell .main-container.page-container,.app-shell .main-container.settings-container{min-height:0}@media (max-width: 1180px){.app-search-btn{min-width:0}.app-search-text,.app-kbd{display:none}}@media (max-width: 1000px){.app-users-chip{display:none}.app-brand-name{max-width:120px}}@media (max-width: 860px){.app-nav-item span:not(.app-nav-icon){display:none}.app-nav-item{padding:6px 9px}.app-range-chip{display:none}}@media (max-width: 640px){.app-content{padding:0 14px}.app-topbar{padding:0 12px;gap:8px}.app-brand-name{display:none}}@media (prefers-reduced-motion: reduce){.app-nav-item,.app-icon-btn,.app-brand,.app-search-btn,.app-export-btn{transition:none}}.cmdk-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 16px;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cmdk-panel{display:flex;flex-direction:column;overflow:hidden;width:100%;max-width:540px;max-height:62vh;background:var(--app-surface);border:1px solid var(--app-border-strong);border-radius:14px;box-shadow:0 24px 60px #00000073}.cmdk-search{display:flex;align-items:center;gap:10px;flex:none;padding:12px 14px;border-bottom:1px solid var(--app-border);color:var(--app-text-subtle)}.cmdk-search input{flex:1;min-width:0;width:auto;height:auto;margin:0;padding:0;background:none;border:none;outline:none;color:var(--app-text);font-size:14px}.cmdk-search input::placeholder{color:var(--app-text-subtle)}.app-shell .cmdk-search input:focus-visible,.app-shell .cmdk-search input:focus{outline:none;box-shadow:none}.cmdk-list{flex:1;min-height:0;overflow-y:auto;padding:6px;scrollbar-width:thin;scrollbar-color:var(--app-border-strong) transparent}.cmdk-list::-webkit-scrollbar{width:8px}.cmdk-list::-webkit-scrollbar-track{background:transparent}.cmdk-list::-webkit-scrollbar-thumb{background:var(--app-border-strong);border-radius:99px;border:2px solid transparent;background-clip:content-box}.cmdk-list::-webkit-scrollbar-thumb:hover{background:var(--app-text-subtle);background-clip:content-box}.cmdk-group{padding:9px 10px 5px;font-size:10.4px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--app-text-subtle)}.cmdk-item{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;max-width:none;height:auto;margin:0;padding:8px 10px;background:none;border:none;border-radius:8px;color:var(--app-text-muted);font-size:13px;text-align:left;cursor:pointer}.cmdk-item.active{background:var(--app-hover);color:var(--app-text)}.cmdk-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-item-hint{flex:none;font-size:11px;color:var(--app-text-subtle)}.cmdk-empty{padding:22px 12px;text-align:center;font-size:13px;color:var(--app-text-subtle)}.kpi-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;width:100%}.kpi-card{display:flex;flex-direction:column;min-width:0;padding:13px 15px 12px;text-align:left;background:var(--app-card);border:1px solid var(--app-border);border-radius:11px;box-shadow:var(--app-shadow)}.kpi-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.kpi-label{font-size:10.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--app-text-subtle, #5A6167)}.kpi-delta{flex:none;font-family:Geist Mono,ui-monospace,SFMono-Regular,monospace;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.kpi-delta.good{color:var(--app-pos)}.kpi-delta.bad{color:var(--app-neg)}.kpi-figure{margin-top:7px;display:flex;flex-direction:column;gap:3px;min-width:0}.kpi-inline{margin-top:7px;display:flex;align-items:baseline;gap:5px;min-width:0}.kpi-value{font-size:23px;font-weight:600;letter-spacing:-.03em;line-height:1.15;color:var(--app-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-value-sm{font-size:19px;min-width:0}.kpi-caption{font-size:11.5px;color:var(--app-text-subtle, #5A6167);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-inline .kpi-caption{flex:none}.kpi-spark{display:block;width:100%;height:20px;margin-top:8px}.kpi-spark-blank{display:block;height:20px;margin-top:8px}.kpi-spark-line{stroke:var(--app-text-subtle)}.kpi-spark-line.good{stroke:var(--app-pos)}.kpi-spark-line.bad{stroke:var(--app-neg)}.kpi-skeleton{min-height:24px;width:60%;border-radius:6px;background:linear-gradient(90deg,var(--app-hover),var(--app-border),var(--app-hover));background-size:200% 100%;animation:kpi-shimmer 1.2s linear infinite}@keyframes kpi-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 1240px){.kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 720px){.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kpi-card{padding:11px 12px 12px}.kpi-value{font-size:22px}}@media (max-width: 360px){.kpi-row{grid-template-columns:1fr}}.app-shell .view-toggle-buttons{background:var(--app-surface);border-color:var(--app-border);border-radius:12px}.app-shell .toggle-button{color:var(--app-text-muted)}.app-shell .toggle-button:hover:not(.active){background:var(--app-hover);color:var(--app-text)}.app-shell .toggle-button.active{background:var(--app-primary);color:#fff;box-shadow:0 1px 3px #00000040}.app-shell .view-subtabs .subtab-button{background:var(--app-card);border-color:var(--app-border);color:var(--app-text-muted)}.app-shell .view-subtabs .subtab-button:hover:not(.active){background:var(--app-hover);border-color:var(--app-border-strong);color:var(--app-text)}.app-shell .view-subtabs .subtab-button.active{background:var(--app-primary);border-color:var(--app-primary);color:#fff}.app-shell .chart-controls{background:var(--app-card);border:1px solid var(--app-border);border-radius:var(--app-radius-sm);padding:11px 14px;gap:14px 18px;width:100%;max-width:100%;margin:0;justify-content:flex-start;align-items:flex-end}.app-shell .chart-toolbar{display:flex;flex-direction:row;align-items:stretch;gap:10px;width:100%;flex-wrap:wrap}.app-shell .chart-toolbar>.chart-controls{flex:1;min-width:0}@media (max-width: 720px){.app-shell .chart-toolbar{flex-direction:column}}.app-shell .recharts-cartesian-grid line{stroke:var(--app-border)}.app-shell .recharts-cartesian-axis-line,.app-shell .recharts-cartesian-axis-tick-line{stroke:var(--app-border)}.app-shell .recharts-cartesian-axis-tick-value,.app-shell .recharts-label,.app-shell .recharts-text{fill:var(--app-text-muted)}.app-shell .recharts-legend-item-text{color:var(--app-text)!important}.app-shell .recharts-default-tooltip{background:var(--app-card)!important;border:1px solid var(--app-border)!important;border-radius:10px!important;box-shadow:var(--app-shadow)!important;padding:8px 12px!important}.app-shell .recharts-tooltip-label{color:var(--app-text)!important;font-weight:600}.app-shell .recharts-tooltip-cursor{fill:var(--app-hover)!important}.status-page{min-height:100vh;margin:0;padding:1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.status-card{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%;max-width:420px;padding:2.5rem 2rem;background:var(--app-card, var(--menu-bg));border:1px solid var(--app-border, var(--menu-border));border-radius:18px;box-shadow:var(--app-shadow, 0 0 60px rgba(0, 0, 0, .2));text-align:center}.status-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--app-primary, #229f65),var(--app-accent, #3ecf8e),var(--app-primary, #229f65),transparent)}.status-code{margin:0;font-size:46px;font-weight:800;letter-spacing:-.02em;color:var(--app-primary, var(--button-color))}.status-title{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.01em;color:var(--app-text, var(--menu-text))}.status-text{margin:0;max-width:300px;font-size:.9rem;line-height:1.5;color:var(--app-text-muted, var(--menu-text))}.status-page .status-action{width:auto;min-width:0;max-width:none;height:auto;margin-top:1.1rem;padding:.6rem 1.6rem;border-radius:10px;font-weight:600;font-size:.92rem}.status-loading{display:flex;flex-direction:column;align-items:center;gap:.9rem}.status-ring{width:50px;height:50px;border-radius:50%;background:conic-gradient(from 0deg,#229f6500,#229f6540 90deg,#229f65 250deg,#3ecf8e 340deg,#3ecf8e00 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 5px));mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 5px));will-change:transform;animation:status-rotate .85s linear infinite;filter:drop-shadow(0 0 6px rgba(62,207,142,.3))}.status-loading-text{margin:0;font-size:.95rem;font-weight:600;color:var(--app-text-muted, var(--menu-text))}@keyframes status-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.status-ring{animation-duration:1.4s}}.pdf-export{background:#fff!important}.pdf-export,.pdf-export *{color:#111!important;text-shadow:none!important;box-shadow:none!important}.pdf-export .recharts-text,.pdf-export .recharts-cartesian-axis-tick-value,.pdf-export .recharts-label,.pdf-export .recharts-pie-label-text{fill:#333!important}.pdf-export .recharts-legend-item-text{color:#111!important}.pdf-export .recharts-cartesian-grid line,.pdf-export .recharts-cartesian-axis-line,.pdf-export .recharts-cartesian-axis-tick-line{stroke:#ccc!important}.pdf-export .recharts-default-tooltip{display:none!important}.pdf-export .items-table,.pdf-export .items-table th,.pdf-export .items-table td{background:#fff!important;border-color:#ddd!important}.pdf-export .items-table thead th{background:#f3f4f6!important}.pdf-export .items-table tbody tr:nth-child(2n) td{background:#fafafa!important}.pdf-export .edit-column{display:none!important}.stats-summary{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;width:100%;margin-bottom:1.1rem}.stats-summary-card{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;min-width:150px;padding:.8rem 1rem;background:var(--app-card, var(--menu-bg));border:1px solid var(--app-border, var(--menu-border));border-radius:var(--app-radius-sm, 10px)}.stats-summary-unit{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--app-text-muted, var(--menu-text))}.stats-summary-value{font-size:1.35rem;font-weight:800;letter-spacing:-.01em;color:var(--app-text, var(--menu-text))}.stats-summary-delta{font-size:.8rem}.items-table tbody tr.stats-total-row td{background:var(--app-hover, rgba(255, 255, 255, .05))!important;border-top:1px solid var(--app-border-strong, var(--menu-border))}.time-ranges-picker{display:flex;flex-direction:column;gap:.45rem;align-items:flex-start;text-align:left}.time-ranges-label{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--app-text-muted, var(--menu-text))}.time-range-row{display:flex;align-items:center;gap:.45rem}.time-range-row input[type=time]{width:auto;max-width:none;height:34px;margin:0;padding:0 .5rem;font-size:.85rem;background:var(--input-bg);color:var(--input-color);border:1px solid var(--app-border, var(--menu-border));border-radius:8px}.time-range-dash{color:var(--app-text-muted, var(--menu-text))}.time-range-preview{min-width:90px;font-size:.8rem;font-weight:600;color:var(--app-text, var(--menu-text))}.time-range-remove{width:26px;height:26px;min-width:0;max-width:none;margin:0;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--app-text-muted, var(--menu-text));border:1px solid var(--app-border, var(--menu-border));border-radius:6px;font-size:.95rem;line-height:1}.time-range-remove:hover:not(:disabled){background:#ef44441f;border-color:#ef444480;color:var(--error-color)}.time-range-remove:disabled{opacity:.35;cursor:not-allowed}.time-range-add{width:auto;min-width:0;max-width:none;height:auto;margin:.1rem 0 0;padding:.35rem .8rem;background:transparent;color:var(--app-primary, var(--button-color));border:1px solid var(--app-border, var(--menu-border));border-radius:8px;font-size:.82rem;font-weight:600}.time-range-add:hover{background:var(--app-primary-soft, rgba(34, 159, 101, .12))}.time-ranges-hint{font-size:.72rem;color:var(--app-text-subtle, #5A6167)}.dash-layout{display:flex;align-items:stretch;gap:0;width:100%;min-width:0}.dash-rail{flex:none;width:198px;display:flex;flex-direction:column;gap:14px;padding:12px 9px;border-right:1px solid var(--app-border, var(--menu-border));background:var(--app-bg, transparent);align-self:stretch}.dash-rail-group{display:flex;flex-direction:column;gap:2px}.dash-rail-label{padding:0 10px 4px;font-size:10.4px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--app-text-subtle, #5A6167)}.dash-rail-item{display:flex;align-items:center;gap:8px;justify-content:flex-start;width:100%;min-width:0;max-width:none;height:auto;margin:0;padding:6px 10px;border:none;border-radius:7px;background:transparent;color:var(--app-text-muted, var(--menu-text));font-size:12.6px;font-weight:500;text-align:left;cursor:pointer;transition:background-color .15s ease,color .15s ease}.dash-rail-item:hover{background:var(--app-hover);color:var(--app-text)}.dash-rail-item.active{background:#229f651f;color:var(--app-text, var(--menu-text));font-weight:600}.dash-rail-bar{flex:none;width:2px;height:13px;border-radius:1px;background:transparent}.dash-rail-item.active .dash-rail-bar{background:var(--app-primary, var(--button-color))}.dash-view{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px;padding:14px 16px 20px}.app-shell .main-container.dash-page>.dash-layout{flex:1;min-height:0}.dash-view>.dash-panel{flex:1;min-height:0}.dash-panel>.dash-panel-body{flex:1;min-height:0}.dash-panel-body>.insight-grid{flex:1;min-height:240px}.app-shell .main-container.dash-page{padding:0;gap:0;overflow:hidden;align-items:stretch;justify-content:flex-start;background:var(--app-surface);min-height:calc(100vh - var(--app-topbar-h) - 60px)}.app-shell .main-container.dash-page>.dash-layout{width:100%;align-items:stretch;justify-content:flex-start}.dash-panel{display:flex;flex-direction:column;align-items:stretch;min-width:0;padding:0;background:var(--app-card);border:1px solid var(--app-border);border-radius:12px}.dash-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid var(--app-border)}.dash-panel-title{margin:0;font-size:13.5px;font-weight:600;letter-spacing:-.01em;color:var(--app-text)}.dash-panel-context{flex:none;font-size:11.5px;color:var(--app-text-subtle);text-align:right}.dash-panel-body{display:flex;flex-direction:column;gap:12px;align-items:stretch;min-width:0;padding:14px 16px 16px}.app-shell .dash-panel-body>*{min-width:0}.app-shell .dash-panel .chart-toolbar{background:var(--app-surface);border:1px solid var(--app-border);border-radius:10px;padding:11px 14px;gap:14px 18px;align-items:flex-start;flex-wrap:nowrap}.app-shell .dash-panel .chart-controls{background:none;border:none;border-radius:0;padding:0;margin:0;align-items:flex-start}.app-shell .dash-panel .chart-controls>*{flex:0 0 auto;width:auto;max-width:none;align-items:flex-start;justify-content:flex-start;text-align:left}.app-shell .dash-panel .time-ranges{align-self:flex-start}.app-shell .dash-panel .time-range-row{align-items:center}.app-shell .dash-panel .time-range-remove{width:26px;min-width:0;height:26px;padding:0;border-radius:7px;background:transparent;border:1px solid var(--app-border-strong);color:var(--app-text-subtle);font-size:13px}.app-shell .dash-panel .time-range-remove:hover{background:#ef444424;border-color:#ef444473;color:#ff6b6b}.app-shell .dash-panel .time-range-add{width:auto;height:28px;margin:0;padding:0 11px;border-radius:8px;background:transparent;border:1px dashed var(--app-border-strong);color:var(--app-primary);font-size:12px;font-weight:600}.app-shell .dash-panel .time-range-add:hover{background:var(--app-primary-soft);border-color:var(--app-primary)}.app-shell .dash-panel .chart-controls .week-picker:has(#donationFilter) .week-picker-range,.app-shell .dash-panel .chart-controls .week-picker:has(.item-select) .week-picker-range{display:none}.app-shell .item-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;width:auto;min-width:11rem;max-width:15rem;height:34px;margin:0;padding:0 10px;background:var(--app-bg);color:var(--app-text);border:1px solid var(--app-border-strong);border-radius:8px;font-size:12.8px;font-weight:500;text-align:left;cursor:pointer;transition:border-color .15s ease}.app-shell .item-select-trigger:hover:not(:disabled){border-color:var(--app-primary)}.app-shell .item-select-trigger:disabled{opacity:.55;cursor:not-allowed}.item-select-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-select-caret{flex:none;color:var(--app-text-subtle)}.app-shell .dash-panel .date-range-trigger,.app-shell .dash-panel .unit-select:not(.time-select){height:34px;min-width:13.5rem;background-color:var(--app-bg);border-color:var(--app-border-strong);color:var(--app-text);border-radius:8px;font-size:12.8px}.app-shell .dash-panel .date-range-trigger:hover,.app-shell .dash-panel .unit-select:not(.time-select):hover{border-color:var(--app-primary)}.app-shell .dash-panel .view-subtabs{width:auto;flex:none;justify-content:flex-end;margin-left:auto;align-self:flex-start;gap:2px;padding:2px;background:var(--app-surface);border:1px solid var(--app-border);border-radius:9px}.app-shell .dash-panel .display-picker{flex:none}.app-shell .dash-panel .display-picker .view-subtabs{flex-direction:column;align-items:stretch;align-self:flex-start;width:152px;margin:0;gap:3px;padding:3px}.app-shell .dash-panel .display-picker .subtab-button{flex:none;height:34px;text-align:center;font-size:12.8px}.app-shell .dash-panel .view-subtabs .subtab-button{padding:5px 12px;border:none;border-radius:7px;font-size:12.2px;font-weight:500;color:var(--app-text-muted);background:transparent}.app-shell .dash-panel .view-subtabs .subtab-button:hover:not(.active){background:var(--app-hover);border:none;color:var(--app-text)}.app-shell .dash-panel .view-subtabs .subtab-button.active{background:var(--app-primary);border:none;color:#fff;font-weight:600}.app-shell .tasks-page .timers-panel{padding:16px;gap:0}.app-shell .tasks-page .timers-head{align-items:flex-end;gap:12px;margin-bottom:12px}@media (max-width: 700px){.app-shell .tasks-page .timers-head{flex-direction:column;align-items:stretch;gap:10px}.app-shell .tasks-page .timers-head-actions{justify-content:flex-start}.app-shell .tasks-page .timers-head-actions .profile-filter{flex:1;min-width:0}.app-shell .tasks-page .profile-filter-select{flex:1;min-width:0;max-width:none}}.app-shell .tasks-page .timers-title{font-size:13.5px;font-weight:600;letter-spacing:-.01em;line-height:1.3}.app-shell .tasks-page .timers-head .tasks-subtitle{margin:3px 0 0;font-size:11.8px;color:var(--app-text-subtle)}.app-shell .tasks-page .timers-head-actions{align-items:center;gap:8px}.app-shell .tasks-page .timers-head-actions .task-action{height:30px;margin:0;padding:0 12px;border-radius:8px;font-size:12.4px}.app-shell .tasks-page .timers-subhead{margin-top:20px;padding-top:18px;border-top:1px solid var(--app-border)}.app-shell .tcard-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.app-shell .tcard{gap:10px;padding:12px 13px 13px;border-radius:11px;align-items:stretch;justify-content:space-between;min-height:196px}.app-shell .tcard-dial,.app-shell .tcard-face{flex:none;margin:auto;align-self:center;justify-content:center}.app-shell .tcard.is-running,.app-shell .tcard.is-done{border-color:var(--app-border)}.app-shell .tcard-dot{width:6px;height:6px;border-radius:2px}.app-shell .tcard-dial{width:84px;height:84px;margin:0 auto}.app-shell .tcard-dial-inner{width:60px;height:60px}.app-shell .tcard-clock{font-size:17px;font-weight:600;letter-spacing:-.03em}.app-shell .tcard-state{font-size:11px;letter-spacing:.09em}.app-shell .tcard-btn{height:27px;font-size:11.6px;border-radius:7px}.app-shell .tcard-btn.primary{background:var(--app-bg);border:1px solid var(--app-border-strong);color:var(--app-text);font-weight:600}.app-shell .tcard-btn.primary:hover:not(:disabled){background:var(--app-hover)}.app-shell .tcard-btn.primary.is-running{background:var(--app-bg);border-color:var(--app-border-strong);color:var(--app-text-muted)}.app-shell .tcard-face{display:flex;flex-direction:column;align-items:center;gap:6px}.app-shell .tclock{width:92px;height:92px}@media (max-width: 1400px){.app-shell .tcard-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 1000px){.app-shell .tcard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 700px){.app-shell .tcard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.dialog{width:90%;max-width:430px;max-height:min(86vh,720px);padding:0;gap:0;overflow:hidden;background:var(--app-card, var(--menu-bg));border:1px solid var(--app-border-strong, var(--menu-border));border-radius:14px;text-align:left}.dialog.is-wide{max-width:500px}.dialog>h3{flex:none;margin:0;padding:15px 20px;border-bottom:1px solid var(--app-border, var(--menu-border));font-size:15px;font-weight:700;letter-spacing:-.02em;color:var(--app-text, var(--menu-text))}.dialog>*:not(h3):not(.dialog-head):not(.dialog-body):not(.dialog-actions){flex:0 1 auto;min-height:0;padding-left:20px;padding-right:20px}.dialog-head{flex:none;display:flex;align-items:flex-start;gap:12px;padding:15px 20px;border-bottom:1px solid var(--app-border, var(--menu-border))}.dialog-head-text{flex:1;min-width:0}.dialog-title{margin:0;font-size:15px;font-weight:700;letter-spacing:-.02em;color:var(--app-text, var(--menu-text))}.dialog-subtitle{margin:3px 0 0;font-size:12.2px;color:var(--app-text-subtle)}.app-shell .dialog-close,.dialog-close{flex:none;width:24px;min-width:0;max-width:none;height:24px;margin:0;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:7px;color:var(--app-text-subtle);cursor:pointer}.dialog-close:hover{background:var(--app-hover);color:var(--app-text)}.dialog-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:16px 20px}.dialog>.dialog-actions,.dialog-shell .dialog-actions{flex:none;display:flex;justify-content:flex-end;align-items:center;gap:8px;margin:0;padding:14px 20px;border-top:1px solid var(--app-border, var(--menu-border));background:var(--app-card, var(--menu-bg))}.dialog-shell .dialog-actions button{flex:none}.app-shell .dialog-btn-primary,.dialog-shell .dialog-btn-primary{width:auto;max-width:none;height:32px;margin:0;padding:0 14px;background:var(--app-primary);border:none;border-radius:8px;color:#fff;font-size:12.8px;font-weight:600;cursor:pointer}.dialog-btn-primary:hover:not(:disabled){background:var(--app-accent)}.dialog-btn-primary:disabled,.dialog-shell .dialog-btn-secondary:disabled{opacity:.55;cursor:not-allowed}.dialog-shell .dialog-btn-secondary{width:auto;max-width:none;height:32px;margin:0;padding:0 13px;background:transparent!important;border:1px solid var(--app-border-strong);border-radius:8px;color:var(--app-text-muted);font-size:12.8px;font-weight:500;cursor:pointer}.dialog-shell .dialog-btn-secondary:hover:not(:disabled){background:var(--app-hover)!important;color:var(--app-text)}.dialog-shell input:not([type=checkbox]),.dialog-shell select,.dialog-shell textarea{background-color:var(--app-bg);border-color:var(--app-border-strong);color:var(--app-text);height:36px;border-radius:8px;font-size:13px}.dialog-shell textarea{height:auto;min-height:68px;padding:9px 11px}.dialog-shell .dialog-content{display:flex;flex-direction:column;gap:14px;width:100%;min-width:0}.dialog-shell .dialog-field-row{display:flex;gap:10px;width:100%}.dialog-shell .dialog-field-row>.dialog-field{flex:1;min-width:0}.dialog-shell .dialog-field>label{font-size:10.2px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--app-text-subtle)}.dialog-shell .task-field-row{display:flex;gap:10px;width:100%}.dialog-shell .task-field-row>*{flex:1;min-width:0}.dialog-shell .task-autostart{display:flex;align-items:flex-start;gap:10px;width:100%;padding:11px 12px;border:1px solid var(--app-border);border-radius:10px;background:var(--app-bg);cursor:pointer}.dialog-shell .task-autostart:hover{border-color:var(--app-border-strong)}.dialog-shell .task-autostart-title{display:block;font-size:13px;font-weight:600;color:var(--app-text)}.dialog-shell .task-field-hint{font-size:11.6px;line-height:1.5;color:var(--app-text-subtle)}.image-picker{display:flex;align-items:center;gap:8px;width:100%;min-width:0;flex-wrap:wrap}.image-picker-preview{display:flex;align-items:center;justify-content:center;flex:none;overflow:hidden;width:36px;height:36px;border-radius:9px;background:var(--app-bg);border:1px solid var(--app-border-strong);color:var(--app-text-subtle)}.image-picker-preview img{width:100%;height:100%;object-fit:cover;display:block}.app-shell .image-picker>input[type=text]{flex:1;min-width:120px}.app-shell .image-picker>input[type=text]:disabled{opacity:.6}.color-row{display:flex;align-items:center;gap:10px;width:100%;min-width:0}.color-swatches{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}.app-shell .color-swatch,.color-swatch{width:24px;min-width:0;max-width:none;height:24px;margin:0;padding:0;border:none;border-radius:50%;cursor:pointer}.color-custom{position:relative;overflow:hidden;flex:none;width:24px;height:24px;border-radius:50%;cursor:pointer;background:conic-gradient(#ff5f5f,#f0a93b,#a3c644,#3ecf8e,#35b8c9,#5b9bf8,#a78bfa,#f2789d,#ff5f5f)}.color-custom input[type=color]{position:absolute;top:-25%;right:-25%;bottom:-25%;left:-25%;width:150%;height:150%;padding:0;margin:0;border:none;background:none;opacity:0;cursor:pointer}.app-shell .dialog-shell .color-hex,.app-shell .color-hex,.color-hex{flex:none;width:84px;height:26px;margin:0;padding:0 7px;background:var(--app-bg);color:var(--app-text-muted);border:1px solid var(--app-border-strong);border-radius:6px;font-family:Geist Mono,ui-monospace,SFMono-Regular,monospace;font-size:11.5px;text-transform:lowercase}.color-hex:focus{border-color:var(--app-primary);outline:none}.icon-upload-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.icon-swatch-img{width:20px;height:20px;border-radius:5px;object-fit:cover;display:block}.icon-upload{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 11px;border-radius:8px;cursor:pointer;background:var(--app-bg);border:1px solid var(--app-border-strong);color:var(--app-text-muted);font-size:12.2px;font-weight:500}.icon-upload:hover{border-color:var(--app-primary);color:var(--app-text)}.icon-upload input[type=file]{display:none}.app-shell .icon-upload-clear{width:auto;max-width:none;height:30px;margin:0;padding:0 10px;background:none;border:none;color:var(--app-text-subtle);font-size:11.8px;cursor:pointer}.icon-upload-clear:hover{color:#ff6b6b;text-decoration:underline}.tcard-img{flex:none;width:18px;height:18px;border-radius:5px;object-fit:cover}.dialog-hint{margin:0;font-size:11.6px;line-height:1.5;color:var(--app-text-subtle)}.dialog-error{margin:0;font-size:12px;color:#ff6b6b}.dialog-field-pair{display:flex;gap:10px;width:100%}.dialog-field-pair>*{flex:1;min-width:0}.dialog-input-suffix{position:relative;display:flex;align-items:center;width:100%;min-width:0}.app-shell .dialog-input-suffix input,.dialog-input-suffix input{width:100%;padding-right:76px}.dialog-input-suffix input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.dialog-input-suffix input[type=number]::-webkit-outer-spin-button,.dialog-input-suffix input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.dialog-suffix{position:absolute;right:11px;pointer-events:none;font-size:12px;color:var(--app-text-subtle)}.dialog-switch{display:flex;align-items:flex-start;gap:10px;width:100%;padding:11px 12px;border:1px solid var(--app-border);border-radius:10px;background:var(--app-bg);cursor:pointer}.dialog-switch:hover{border-color:var(--app-border-strong)}.app-shell .dialog-switch input[type=checkbox],.dialog-switch input[type=checkbox]{flex:none;width:16px;height:16px;margin:1px 0 0;accent-color:var(--app-primary);cursor:pointer}.dialog-switch-text{display:flex;flex-direction:column;gap:2px;min-width:0}.dialog-switch-title{font-size:13px;font-weight:600;color:var(--app-text)}.dialog-switch-desc{font-size:11.6px;line-height:1.5;color:var(--app-text-subtle)}.box-list{display:flex;flex-direction:column;border:1px solid var(--app-border);border-radius:10px;overflow:hidden}.box-row{display:grid;grid-template-columns:26px minmax(0,1fr) 52px auto 22px;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--app-border)}.box-row:last-child{border-bottom:none}.box-row-tile{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;background:var(--app-primary-soft);color:var(--app-primary);font-size:11.5px;font-weight:700;text-transform:uppercase}.box-row-name{font-size:13px;color:var(--app-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.box-row-time{font-family:Geist Mono,ui-monospace,SFMono-Regular,monospace;font-size:11.5px;color:var(--app-text-subtle)}.box-row-amount{display:flex;align-items:baseline;gap:4px;justify-content:flex-end;font-family:Geist Mono,ui-monospace,SFMono-Regular,monospace;font-size:13px;font-weight:600;color:var(--app-text);font-variant-numeric:tabular-nums}.box-row-unit{font-family:Geist,system-ui,sans-serif;font-size:11px;font-weight:500;color:var(--app-text-subtle)}.app-shell .box-row-remove,.box-row-remove{width:22px;min-width:0;max-width:none;height:22px;margin:0;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:var(--app-text-subtle);font-size:15px;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s ease,background-color .15s ease,color .15s ease}.box-row:hover .box-row-remove,.box-row-remove:focus-visible{opacity:1}.box-row-remove:hover{background:#ef444424;color:#ff6b6b}@media (hover: none){.box-row-remove{opacity:1}}.box-row-total{background:var(--app-bg)}.box-row-total .box-row-name{font-size:10.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--app-text-subtle)}.box-row-total .box-row-tile{background:none}.box-empty{display:flex;align-items:flex-start;gap:11px;padding:14px;border:1px solid var(--app-border);border-radius:10px;background:var(--app-bg)}.box-empty-icon{display:flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;border-radius:9px;background:var(--app-raised);color:var(--app-text-muted)}.box-empty-text{display:flex;flex-direction:column;gap:2px;min-width:0}.box-empty-title{font-size:13px;font-weight:600;color:var(--app-text)}.box-empty-desc{font-size:11.6px;line-height:1.5;color:var(--app-text-subtle)}.plan-offer{position:relative;overflow:hidden;width:100%;max-width:560px;margin:0 auto;padding:26px 24px;background:var(--app-card);border:1px solid var(--app-border);border-radius:14px;text-align:center}.plan-offer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--app-primary),transparent)}.plan-offer-title{margin:0;font-size:19px;font-weight:700;letter-spacing:-.02em;color:var(--app-text)}.plan-offer-text{margin:8px auto 20px;max-width:46ch;font-size:13.2px;line-height:1.6;color:var(--app-text-subtle)}.launcher-wrap{display:flex;align-items:center;justify-content:center;width:100%;min-height:100vh;padding:34px 20px}.launcher-theme{position:fixed;top:14px;right:16px;z-index:5;display:inline-flex;align-items:center;justify-content:center;width:32px;min-width:0;max-width:none;height:32px;margin:0;padding:0;background:var(--app-surface);color:var(--app-text-muted);border:1px solid var(--app-border);border-radius:9px;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.launcher-theme:hover{background:var(--app-hover);color:var(--app-text);border-color:var(--app-border-strong)}.launcher{width:100%;max-width:440px;overflow:hidden;background:var(--app-bg);border:1px solid var(--app-border);border-radius:18px}.launcher-head{display:flex;flex-direction:column;align-items:center;padding:30px 26px 22px;text-align:center;border-bottom:1px solid var(--app-border)}.launcher-avatar{position:relative;display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:13px;border-radius:50%;background:linear-gradient(140deg,var(--app-accent),var(--app-primary));color:#fff;font-size:21px;font-weight:700;text-transform:uppercase}.launcher-status{position:absolute;right:1px;bottom:1px;width:13px;height:13px;border-radius:50%;background:var(--app-accent);border:2.5px solid var(--app-bg)}.launcher-name{font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--app-text)}.launcher-sub{margin-top:4px;font-size:12.8px;color:var(--app-text-subtle)}.launcher-alert{display:inline-flex;align-items:center;gap:7px;width:auto;max-width:none;height:26px;margin:13px 0 0;padding:0 12px;background:transparent;border:1px solid var(--app-border-strong);border-radius:999px;color:var(--app-text-muted);font-size:11.5px;font-weight:500}.launcher-alert:hover{background:var(--app-hover);color:var(--app-text);border-color:var(--app-border-strong)}.launcher-alert svg{color:var(--app-neg)}.launcher-nav{display:flex;flex-direction:column;gap:4px;padding:12px}.app-shell .launcher-row,.launcher-row{display:flex;align-items:center;gap:13px;width:100%;max-width:none;height:auto;margin:0;padding:13px 14px;background:transparent;border:1px solid transparent;border-radius:12px;color:var(--app-text);text-align:left;transition:background-color .15s ease,border-color .15s ease}.launcher-row:hover,.launcher-row.is-primary{background:var(--app-raised);border-color:var(--app-border-strong)}.launcher-icon{display:flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;border-radius:10px;border:1px solid var(--app-border-strong);color:var(--app-text-muted)}.launcher-row.is-primary .launcher-icon{border-color:#229f6559;background:var(--app-primary-soft);color:var(--app-accent)}.launcher-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.launcher-row-title{font-size:14px;font-weight:600;color:var(--app-text)}.launcher-row-desc{font-size:11.8px;color:var(--app-text-subtle)}.launcher-badge{display:inline-flex;align-items:center;flex:none;height:20px;padding:0 8px;border-radius:999px;background:#e8837f24;color:var(--app-neg);font-family:Geist Mono,ui-monospace,SFMono-Regular,monospace;font-size:10.5px;font-weight:700}.launcher-chevron{display:inline-flex;flex:none;color:var(--app-text-subtle)}.launcher-foot{display:flex;justify-content:center;padding:13px 14px;border-top:1px solid var(--app-border)}.app-shell .launcher-signout,.launcher-signout{display:inline-flex;align-items:center;gap:7px;width:auto;max-width:none;height:auto;margin:0;padding:4px 8px;background:none;border:none;border-radius:8px;color:var(--app-text-subtle);font-size:12.5px;font-weight:500;cursor:pointer}.launcher-signout:hover{background:#ef44441a;color:#ff6b6b}.app-shell .main-container.settings-container{padding:0;gap:0;overflow:hidden;align-items:stretch;justify-content:flex-start;background:var(--app-surface);max-width:100%}.app-shell .main-container.settings-container>.settings-layout{display:flex;align-items:stretch;justify-content:flex-start;width:100%;min-width:0;min-height:470px}.settings-rail{flex:none;width:198px;display:flex;flex-direction:column;gap:2px;padding:12px 9px;border-right:1px solid var(--app-border);background:var(--app-bg)}.app-shell .settings-rail-item{display:flex;align-items:center;justify-content:flex-start;gap:9px;width:100%;max-width:none;height:auto;margin:0;padding:7px 10px;background:transparent;border:none;border-radius:7px;color:var(--app-text-muted);font-size:12.8px;font-weight:500;text-align:left;cursor:pointer;transition:background-color .15s ease,color .15s ease}.app-shell .settings-rail-item:hover:not(.active){background:var(--app-hover);color:var(--app-text)}.app-shell .settings-rail-item.active{background:var(--app-raised);color:var(--app-text);font-weight:600}.settings-rail-bar{flex:none;width:2px;height:13px;border-radius:2px;background:transparent}.app-shell .settings-rail-item.active .settings-rail-bar{background:var(--app-primary)}.app-shell .settings-categories-wrapper{flex:1;min-width:0;padding:18px 22px;display:flex;flex-direction:column;gap:20px}.setting-row{display:flex;align-items:center;gap:14px;width:100%;min-width:0;padding:9px 0;border-bottom:1px solid var(--app-border)}.setting-row-label{flex:none;width:150px;font-size:12.6px;color:var(--app-text-muted)}.setting-row-value{flex:1;min-width:0;font-size:13.2px;color:var(--app-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setting-row-value.is-empty{color:var(--app-text-subtle)}.setting-row-locked{flex:none;font-size:11.5px;color:var(--app-text-subtle)}.app-shell .setting-row-edit{flex:none;width:auto;max-width:none;height:auto;margin:0;padding:0;background:none;border:none;color:var(--app-text-subtle);font-size:11.5px;font-weight:500;cursor:pointer}.app-shell .setting-row-edit:hover{color:var(--app-primary);text-decoration:underline}.setting-row-control{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.app-shell .setting-row-control input,.app-shell .setting-row-control select{width:100%;max-width:none;height:34px;margin:0;padding:0 10px;background:var(--app-bg);color:var(--app-text);border:1px solid var(--app-border-strong);border-radius:8px;font-size:13px}.setting-row-error{margin:0;font-size:11.5px;color:#ff6b6b}.setting-row-actions{flex:none;display:flex;align-items:center;gap:6px}.app-shell .setting-row-save{width:auto;max-width:none;height:30px;margin:0;padding:0 13px;background:var(--app-primary);border:none;border-radius:8px;color:#fff;font-size:12.4px;font-weight:600;cursor:pointer}.app-shell .setting-row-save:disabled{opacity:.5;cursor:not-allowed}.app-shell .setting-row-cancel{width:auto;max-width:none;height:30px;margin:0;padding:0 12px;background:transparent;border:1px solid var(--app-border-strong);border-radius:8px;color:var(--app-text-muted);font-size:12.4px;font-weight:500;cursor:pointer}.app-shell .setting-row-cancel:hover{background:var(--app-hover);color:var(--app-text)}.settings-block-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;width:100%;margin-bottom:6px}.settings-block-head.is-sub{margin:22px 0 8px}.settings-block-title{margin:0;font-size:16px;font-weight:700;letter-spacing:-.02em;color:var(--app-text)}.settings-block-eyebrow{font-size:10.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--app-text-subtle)}.app-shell .settings-block-action{flex:none;width:auto;max-width:none;height:30px;margin:0;padding:0 12px;background:transparent;border:1px solid var(--app-border-strong);border-radius:8px;color:var(--app-text-muted);font-size:12.4px;font-weight:500;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.app-shell .settings-block-action:hover{background:var(--app-hover);border-color:var(--app-primary);color:var(--app-text)}.app-shell .item-collapse-body{display:flex;flex-direction:column;gap:0;padding:4px 14px 12px}.app-shell .item-collapse-body .setting-row:last-of-type{border-bottom:none}.item-delete-row{display:flex;justify-content:flex-end;width:100%;padding-top:11px}.app-shell .item-delete-btn{width:auto;max-width:none;height:30px;margin:0;padding:0 13px;background:transparent;border:1px solid rgba(232,131,127,.35);border-radius:8px;color:var(--app-neg);font-size:12.4px;font-weight:600;cursor:pointer}.app-shell .item-delete-btn:hover{background:#ef44441f;border-color:var(--app-neg)}@media (max-width: 820px){.app-shell .main-container.settings-container>.settings-layout{flex-direction:column;min-height:0}.settings-rail{width:100%;flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--app-border)}.app-shell .settings-rail-item{width:auto;white-space:nowrap}.setting-row{flex-wrap:wrap}.setting-row-label{width:100%}}.app-shell .main-container.tasks-page{padding:0;gap:0;overflow:hidden;align-items:stretch;justify-content:flex-start;background:var(--app-surface);min-height:calc(100vh - var(--app-topbar-h) - 60px)}.app-shell .main-container.tasks-page>.tasks-layout{flex:1;min-height:0}.app-shell .main-container.tasks-page>*{width:100%;justify-content:flex-start;align-items:stretch}.app-shell .main-container.tasks-page>.tasks-tabbar{align-items:center}.tasks-tabbar{display:flex;align-items:center;gap:14px;padding:9px 16px;border-bottom:1px solid var(--app-border);background:var(--app-bg)}.tasks-tabs{display:inline-flex;gap:2px;flex:none;padding:2px;border:1px solid var(--app-border);border-radius:9px}.app-shell .tasks-tab{display:inline-flex;align-items:center;gap:7px;width:auto;max-width:none;height:28px;margin:0;padding:0 13px;background:transparent;border:none;border-radius:7px;color:var(--app-text-muted);font-size:12.8px;font-weight:500;cursor:pointer;transition:background-color .15s ease,color .15s ease}.app-shell .tasks-tab:hover:not(.active){background:var(--app-hover);color:var(--app-text)}.app-shell .tasks-tab.active{background:var(--app-raised);color:var(--app-text);font-weight:600}.tasks-tab-count{font-family:Geist Mono,ui-monospace,SFMono-Regular,monospace;font-size:10.5px;color:var(--app-text-subtle)}.tasks-tabbar-hint{font-size:11.8px;color:var(--app-text-subtle)}.app-shell .tasks-tabbar .tasks-new-btn{flex:0 0 auto;width:fit-content;min-width:0;max-width:none;height:28px;margin:0 0 0 auto;padding:0 12px;background:var(--app-primary);border:none;border-radius:8px;color:#fff;font-size:12px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,opacity .15s ease}.app-shell .tasks-tabbar .tasks-new-btn:hover:not(:disabled){background:var(--app-accent)}.app-shell .tasks-tabbar .tasks-new-btn:disabled{opacity:.5;cursor:not-allowed}.tasks-tabbar-hint{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tasks-layout{display:flex;align-items:stretch;min-height:360px;width:100%;min-width:0}.tasks-rail{flex:none;width:190px;display:flex;flex-direction:column;gap:2px;padding:12px 9px;border-right:1px solid var(--app-border);background:var(--app-bg)}.app-shell .tasks-rail-item{display:flex;align-items:center;justify-content:flex-start;gap:9px;width:100%;max-width:none;height:auto;margin:0;padding:7px 10px;background:transparent;border:none;border-radius:7px;color:var(--app-text-muted);font-size:12.8px;font-weight:500;text-align:left;cursor:pointer;transition:background-color .15s ease,color .15s ease}.app-shell .tasks-rail-item:hover:not(.active){background:var(--app-hover);color:var(--app-text)}.app-shell .tasks-rail-item.active{background:var(--app-raised);color:var(--app-text);font-weight:600}.tasks-rail-dot{flex:none;width:6px;height:6px;border-radius:2px;background:var(--app-text-subtle)}.tasks-rail-dot.tone-overdue{background:var(--app-neg)}.tasks-rail-dot.tone-today,.tasks-rail-dot.tone-in-progress{background:var(--app-pos)}.tasks-rail-dot.tone-all{background:var(--app-text-muted)}.tasks-rail-count{margin-left:auto;font-family:Geist Mono,ui-monospace,SFMono-Regular,monospace;font-size:11px;color:var(--app-text-subtle)}.tasks-main{flex:1;min-width:0;display:flex;flex-direction:column}.app-shell .tasks-page .tasks-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--app-border)}.tasks-section-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:8px;padding:7px 14px 7px 11px;border-bottom:1px solid var(--app-border);border-left:3px solid var(--app-border-strong);background:var(--app-bg)}.tasks-section-title{font-size:10.4px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--app-text-muted)}.tasks-section-count{min-width:18px;padding:1px 6px;border-radius:999px;background:var(--app-raised);color:var(--app-text-subtle);font-size:10.5px;font-weight:600;text-align:center}.tasks-section-head.freq-daily{border-left-color:#3ecf8e}.tasks-section-head.freq-weekly{border-left-color:#4c8dff}.tasks-section-head.freq-biweekly{border-left-color:#06b6d4}.tasks-section-head.freq-monthly{border-left-color:#f59e0b}.tasks-section-head.freq-yearly{border-left-color:#ec4899}.tasks-section-head.freq-one-time{border-left-color:var(--app-text-subtle)}.tasks-section:last-child .tasks-row:last-child{border-bottom:none}.profile-filter{display:flex;align-items:center;gap:7px;flex:none}.profile-filter-label{font-size:10.4px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--app-text-subtle)}.app-shell .profile-filter-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:auto;min-width:138px;max-width:200px;height:34px;margin:0;padding:0 26px 0 10px;background-color:var(--app-bg);color:var(--app-text);border:1px solid var(--app-border-strong);border-radius:8px;font-size:12.4px;font-weight:500;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%238b9198' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 7px center;background-size:13px;transition:border-color .15s ease}.app-shell .profile-filter-select:hover{border-color:var(--app-primary)}.app-shell .profile-filter-select:focus-visible{outline:none;border-color:var(--app-primary);box-shadow:0 0 0 3px var(--app-primary-soft)}.tasks-table{display:flex;flex-direction:column;min-width:0}.tasks-row{display:grid;grid-template-columns:3px minmax(0,1fr) 172px 120px 92px 156px;align-items:center;gap:14px;padding:11px 14px;border-bottom:1px solid var(--app-border)}.tasks-row:last-child{border-bottom:none}.tasks-row-head{padding:10px 14px;background:var(--app-bg);font-size:10.2px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--app-text-subtle)}.tasks-row-head .align-right{text-align:right}.tasks-row:not(.tasks-row-head):hover{background:var(--app-hover)}.tasks-rule{width:3px;height:26px;border-radius:2px;background:var(--app-border-strong)}.tasks-rule.tone-overdue{background:var(--app-neg)}.tasks-rule.tone-today,.tasks-rule.tone-running{background:var(--app-pos)}.tasks-rule.tone-done{background:var(--app-border-strong)}.tasks-cell-task{display:flex;flex-direction:column;gap:2px;min-width:0}.tasks-name{display:flex;align-items:center;gap:7px;min-width:0}.tasks-name-dot{flex:none;width:6px;height:6px;border-radius:2px}.tasks-name-text{font-size:13.4px;font-weight:600;color:var(--app-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tasks-auto{flex:none;padding:1px 6px;border-radius:4px;font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--app-primary);background:var(--app-primary-soft)}.tasks-desc{font-size:11.4px;color:var(--app-text-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tasks-due{font-size:12.4px;font-weight:600;color:var(--app-text-muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tasks-due.tone-overdue{color:var(--app-neg)}.tasks-due.tone-today,.tasks-due.tone-running{color:var(--app-pos)}.tasks-due.tone-next{color:var(--app-text-subtle);font-weight:500}.tasks-profiles{display:flex;gap:4px;min-width:0;overflow:hidden}.tasks-profile{padding:3px 8px;border-radius:5px;border:1px solid var(--app-border-strong);font-size:10.8px;color:var(--app-text-muted);white-space:nowrap}.tasks-timer-cell{display:flex;align-items:center;min-width:0}.tasks-timer-none{color:var(--app-text-subtle);font-size:12.5px}.tasks-assigned{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0}.tasks-avatars{display:flex;align-items:center;gap:4px}.tasks-unassigned{font-size:11.6px;color:var(--app-text-subtle)}.app-shell .tasks-done-btn{width:auto;max-width:none;height:28px;margin:0;padding:0 12px;background:transparent;border:1px solid var(--app-border-strong);border-radius:8px;color:var(--app-text-muted);font-size:12.4px;font-weight:500;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.app-shell .tasks-done-btn:hover:not(:disabled){background:var(--app-primary);border-color:var(--app-primary);color:#fff}.tasks-row-menu{position:relative;flex:none}.app-shell .tasks-menu-btn{width:24px;min-width:0;max-width:none;height:24px;margin:0;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:7px;color:var(--app-text-subtle);font-size:15px;line-height:1;cursor:pointer}.app-shell .tasks-menu-btn:hover{background:var(--app-hover);color:var(--app-text)}.tasks-menu{display:block;min-width:140px;padding:6px}.task-clock-cell{display:inline-flex;align-items:center;gap:4px;min-width:0}.app-shell .task-clock{display:inline-flex;align-items:center;gap:6px;width:auto;min-width:0;max-width:none;height:26px;margin:0;padding:0 6px;background:transparent;border:none;border-radius:7px;color:var(--app-text);cursor:pointer}.app-shell .task-clock:hover:not(:disabled){background:var(--app-hover)}.app-shell .task-clock.is-idle{color:var(--app-text-subtle)}.task-clock-value{font-family:Geist Mono,ui-monospace,SFMono-Regular,monospace;font-size:12.8px;font-variant-numeric:tabular-nums}.task-clock-pulse{width:5px;height:5px;border-radius:50%;animation:task-pulse 1.6s ease-in-out infinite}@keyframes task-pulse{0%,to{opacity:.35}50%{opacity:1}}.app-shell .task-clock-reset{width:22px;min-width:0;max-width:none;height:22px;margin:0;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:var(--app-text-subtle);font-size:13px;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s ease,background-color .15s ease}.tasks-row:hover .task-clock-reset,.task-clock-reset:focus-visible{opacity:1}.app-shell .task-clock-reset:hover{background:var(--app-hover);color:var(--app-text)}@media (hover: none){.app-shell .task-clock-reset{opacity:1}}@media (max-width: 1080px){.tasks-row-head{display:none}.tasks-row{grid-template-columns:3px minmax(0,1fr) auto;grid-template-areas:"rule task due" "rule profiles timer" "rule assigned assigned";gap:6px 12px}.tasks-rule{grid-area:rule;height:100%}.tasks-cell-task{grid-area:task}.tasks-due{grid-area:due;text-align:right}.tasks-profiles{grid-area:profiles}.tasks-timer-cell{grid-area:timer;justify-content:flex-end}.tasks-assigned{grid-area:assigned}}@media (max-width: 560px){.tasks-row{grid-template-areas:"rule task task" "rule due timer" "rule profiles assigned";gap:5px 10px;padding:11px 12px}.tasks-due{text-align:left}.tasks-name-text{white-space:normal}}@media (max-width: 760px){.tasks-layout{flex-direction:column}.tasks-rail{width:100%;flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--app-border)}.app-shell .tasks-rail-item{width:auto;white-space:nowrap}.tasks-rail-count{margin-left:4px}}.app-shell .main-container.waste-page{padding:0;gap:0;overflow:visible;align-items:stretch;justify-content:flex-start;background:none;border:none;border-radius:0;box-shadow:none}.app-shell .main-container.waste-page>.waste-workspace{display:flex;align-items:stretch;justify-content:flex-start;gap:12px;width:100%;min-width:0;min-height:calc(100vh - var(--app-topbar-h) - 76px)}.waste-main{display:flex;align-items:stretch;flex:1;min-width:0;overflow:hidden;background:var(--app-surface);border:1px solid var(--app-border);border-radius:12px}.waste-rail{flex:none;width:348px;min-width:0;display:flex;flex-direction:column;gap:12px;padding:14px 12px;border-right:1px solid var(--app-border);background:var(--app-bg)}.waste-board-title,.waste-dock-title{margin:0;font-size:10.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--app-text-subtle)}.waste-rail .items-grid{display:flex;flex-direction:column;gap:2px;flex:1;min-height:0;align-items:stretch;width:100%;min-width:0;overflow-y:auto}.waste-rail .items-toolbar{width:100%;padding:0;margin:0}.item-row{display:flex;align-items:center;gap:12px;width:100%;min-width:0;min-height:52px;padding:9px 10px;border-radius:11px;border:1px solid transparent;transition:background-color .15s ease,border-color .15s ease}.item-row:hover,.item-row:focus-within{background:var(--app-primary-soft);border-color:#229f6559}.item-row:hover .item-row-thumb-fallback,.item-row:focus-within .item-row-thumb-fallback{background:var(--app-primary);color:#fff}.item-row-thumb{flex:none;width:34px;height:34px;border-radius:9px;object-fit:cover}.item-row-thumb-fallback{display:flex;align-items:center;justify-content:center;background:var(--app-raised);color:var(--app-text-muted);font-size:13px;font-weight:700;text-transform:uppercase}.item-row-text{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.item-row-name{font-size:13.8px;font-weight:600;color:var(--app-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-row-hold{font-family:Geist Mono,ui-monospace,SFMono-Regular,monospace;font-size:11.2px;color:var(--app-text-subtle)}.item-row-add{flex:none;width:38px;min-width:0;max-width:none;height:38px;margin:0;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--app-border);border-radius:8px;background:transparent;color:var(--app-text-muted);font-size:19px;font-weight:600;line-height:1;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.item-row:hover .item-row-add,.item-row-add:hover{background:var(--app-primary);border-color:var(--app-primary);color:#fff}.waste-board{flex:1;min-width:0;padding:14px 16px 16px}.waste-board-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.waste-board-hint{font-size:11.5px;color:var(--app-text-subtle)}.waste-dock{flex:none;width:250px;min-width:0;display:flex;flex-direction:column;gap:10px;padding:14px 14px 16px;background:var(--app-surface);border:1px solid var(--app-border);border-radius:12px}.waste-dock-list{display:flex;flex-direction:column;gap:8px;min-width:0}.app-shell .waste-page .create-box-button{margin-top:auto}@media (max-width: 1100px){.app-shell .main-container.waste-page>.waste-workspace{flex-direction:column;min-height:0}.waste-dock{width:100%}.app-shell .waste-page .create-box-button{margin-top:0}.app-shell .waste-page .batch-card{flex-direction:row;align-items:center;flex-wrap:nowrap;gap:10px}.app-shell .waste-page .batch-right{width:auto;align-items:flex-end;padding-right:14px;gap:6px}.app-shell .waste-page .batch-timer{font-size:18px}}@media (max-width: 820px){.waste-main{flex-direction:column}.waste-rail{width:100%;border-right:none;border-bottom:1px solid var(--app-border);max-height:420px}.waste-rail .items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:4px}}.app-shell .waste-page .batch-card{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;max-width:none;margin:0;padding:13px 14px 22px;background:var(--app-card);border:1px solid var(--app-border);border-radius:11px;transition:border-color .16s ease}.app-shell .waste-page .batch-card:hover{transform:none;border-color:var(--app-border-strong)}.batch-main{display:flex;align-items:center;gap:11px;flex:1;min-width:0;cursor:pointer}.batch-id{display:flex;flex-direction:column;gap:2px;min-width:0}.app-shell .waste-page .batch-image{flex:none;width:34px;height:34px;border-radius:9px;object-fit:cover}.batch-image-fallback{display:flex;align-items:center;justify-content:center;background:var(--app-primary);color:#fff;font-size:13px;font-weight:700;text-transform:uppercase}.app-shell .waste-page .batch-title{font-size:13.5px;font-weight:600;color:var(--app-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell .waste-page .batch-subtext{font-size:11.5px;color:var(--app-text-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell .waste-page .batch-right{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex:none;padding-right:16px}.app-shell .waste-page .batch-timer{font-size:21px;font-weight:600;letter-spacing:-.02em;line-height:1;white-space:nowrap}.app-shell .waste-page .batch-button.batch-done{width:auto;max-width:none;height:25px;margin:0;padding:0 11px;border-radius:7px;font-size:11.5px;font-weight:600;background:var(--app-primary-soft);color:var(--app-primary);border:1px solid transparent;opacity:0;transition:opacity .15s ease,background-color .15s ease,color .15s ease}.app-shell .waste-page .batch-button.batch-done:hover{background:var(--app-primary);color:#fff}.app-shell .waste-page .batch-remove{position:absolute;top:8px;right:8px;width:20px;height:20px;min-width:0;padding:0;margin:0;border:none;border-radius:6px;background:transparent;color:var(--app-text-subtle);font-size:15px;font-weight:400;line-height:1;opacity:0;transition:opacity .15s ease,background-color .15s ease,color .15s ease}.batch-card:hover .batch-remove,.batch-card:hover .batch-done,.batch-card:focus-within .batch-remove,.batch-card:focus-within .batch-done{opacity:1}@media (hover: none){.app-shell .waste-page .batch-remove,.app-shell .waste-page .batch-button.batch-done{opacity:1}}.app-shell .waste-page .batch-remove:hover{background:#ef444424;color:#ff6b6b;border:none}.batch-error{width:100%;margin:4px 0 0;font-size:11.5px;color:#ff6b6b}.app-shell .waste-page .batch-progress{left:14px;right:14px;bottom:10px;height:3px;border-radius:2px;background:var(--app-hover)}.app-shell .waste-page .batch-progress-fill{border-radius:2px}.app-shell .waste-page .waste-board .grid-container{grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:10px;margin-top:0}@media (max-width: 1100px){.app-shell .waste-page .waste-board .grid-container{grid-template-columns:repeat(auto-fill,minmax(228px,1fr))}}@media (max-width: 820px){.app-shell .waste-page .waste-board .grid-container{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.app-shell .waste-page .create-box-button{width:100%;height:36px;padding:0 12px;border-radius:9px;font-size:12.5px;font-weight:600;background:var(--app-primary);color:#fff;border:none}.app-shell .waste-page .create-box-button:hover{transform:none;background:var(--app-accent)}.app-shell .waste-page .box-component-button{display:flex;align-items:center;gap:11px;width:100%;max-width:none;height:auto;min-height:0;margin:0;padding:11px 12px;border-radius:11px;background:var(--app-card);border:1px solid var(--app-border);color:var(--app-text);text-align:left;cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.app-shell .waste-page .box-component-button:hover{transform:none;border-color:var(--app-border-strong)}.app-shell .waste-page .box-drop-over{border:1px dashed var(--app-primary)!important;background:var(--app-primary-soft)!important}.box-tile{display:flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;border-radius:9px;background:var(--app-raised);color:var(--app-text-muted)}.box-text{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.box-name{font-size:13px;font-weight:600;color:var(--app-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.box-meta{font-size:11.5px;color:var(--app-text-subtle)}.box-chevron{flex:none;color:var(--app-text-subtle)}.waste-rail .items-search{width:100%;margin:0}.waste-rail .items-search input{height:42px;padding:0 .7rem 0 2.2rem;font-size:14px;border-radius:10px;background:var(--app-surface);border:1px solid var(--app-border)}.waste-rail .items-search-icon{left:.75rem;font-size:15px}.waste-rail .items-categories{gap:7px}.waste-rail .category-chip{min-height:34px;padding:6px 13px;font-size:12.8px;border-radius:9px;border-color:var(--app-border);color:var(--app-text-muted)}.waste-rail .category-chip.active{background:var(--app-primary-soft);border-color:var(--app-primary);color:var(--app-text)}.app-shell .dash-panel .chart-controls .table-search{margin:0;width:220px}.app-shell .dash-panel .chart-controls .table-search-input{height:34px;font-size:12.8px}.app-shell .dash-panel .chart-toolbar>.table-count{flex:none;align-self:center;margin-left:auto;font-family:Geist Mono,ui-monospace,SFMono-Regular,monospace;font-size:12px;color:var(--app-text-subtle);white-space:nowrap}.app-shell .log-table tbody tr:nth-child(2n) td{background:transparent}.app-shell .log-table th.numeric,.app-shell .log-table td.numeric{text-align:right}.app-shell .log-table th.edit-column,.app-shell .log-table td.edit-column{width:72px;text-align:right}.app-shell .items-table .th-sort{display:inline-flex;align-items:center;gap:6px;width:auto;min-width:0;max-width:none;height:auto;margin:0;padding:0;background:none;border:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.app-shell .items-table th.numeric .th-sort{justify-content:flex-end}.app-shell .items-table .th-sort:hover{color:var(--app-text)}.th-arrow{font-size:8px;opacity:0;transition:opacity .15s ease}.th-arrow.active{opacity:1;color:var(--app-primary)}.th-sort:hover .th-arrow{opacity:.5}.th-sort:hover .th-arrow.active{opacity:1}.app-shell .log-table td.log-time{font-family:Geist Mono,ui-monospace,SFMono-Regular,monospace;font-size:12.4px;color:var(--app-text-subtle);white-space:nowrap}.app-shell .log-table td.log-qty{font-family:Geist Mono,ui-monospace,SFMono-Regular,monospace;font-weight:600;font-variant-numeric:tabular-nums;color:var(--app-text)}.app-shell .log-table .log-edit{width:auto;min-width:0;max-width:none;height:26px;margin:0;padding:0 10px;background:transparent;border:1px solid var(--app-border-strong);border-radius:7px;color:var(--app-text-muted);font-size:11.8px;font-weight:500;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.app-shell .log-table .log-edit:hover{background:var(--app-hover);color:var(--app-text);border-color:var(--app-border-strong)}.app-shell .box-table tbody tr:nth-child(2n) td{background:transparent}.app-shell .box-table th:first-child,.app-shell .box-table td:first-child{width:140px}.app-shell .box-table th:nth-child(2),.app-shell .box-table td:nth-child(2){width:210px}.app-shell .box-table td.box-name-cell{font-weight:600;color:var(--app-text)}.app-shell .box-table td.box-time-cell{font-family:Geist Mono,ui-monospace,SFMono-Regular,monospace;font-size:12.4px;color:var(--app-text-subtle);white-space:nowrap}.box-chips{display:flex;flex-wrap:wrap;gap:6px}.box-chip{display:inline-flex;align-items:baseline;gap:7px;padding:3px 9px;border:1px solid var(--app-border-strong);border-radius:6px;font-family:Geist Mono,ui-monospace,SFMono-Regular,monospace;font-size:11.4px;color:var(--app-text-muted);white-space:nowrap}.box-chip-qty{color:var(--app-text);font-weight:600;font-variant-numeric:tabular-nums}.box-chips-empty{font-size:12.4px;color:var(--app-text-subtle)}.app-shell .items-table th.share-col,.app-shell .items-table td.share-col{width:190px;text-align:right}.share-cell{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;width:100%}.share-bar{flex:1;min-width:40px;max-width:110px;height:5px;border-radius:3px;background:var(--app-hover);overflow:hidden}.share-bar-fill{display:block;height:100%;border-radius:3px}.share-pct{flex:none;width:38px;text-align:right;font-family:Geist Mono,ui-monospace,SFMono-Regular,monospace;font-size:12px;color:var(--app-text-muted);font-variant-numeric:tabular-nums}.table-dot{display:inline-block;width:6px;height:6px;border-radius:2px;margin-right:9px;vertical-align:middle}.chart-card{display:flex;flex-direction:column;gap:12px;width:100%;min-width:0;padding:14px 16px 10px;background:var(--app-surface);border:1px solid var(--app-border);border-radius:10px}.app-shell .dash-panel-body>:last-child:not(:first-child):not(.items-table-frame){margin-top:auto;margin-bottom:auto}.chart-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;width:100%;min-width:0}.chart-card-id{min-width:0}.chart-card-eyebrow{font-size:10.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--app-text-subtle)}.chart-card-figure{display:flex;align-items:baseline;gap:10px;margin-top:6px}.chart-card-value{font-family:Geist Mono,ui-monospace,SFMono-Regular,monospace;font-size:30px;font-weight:600;letter-spacing:-.035em;color:var(--app-text);font-variant-numeric:tabular-nums}.chart-card-unit{font-size:12.5px;color:var(--app-text-subtle)}.chart-card-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;min-width:0}.chart-card-chip{display:inline-flex;align-items:center;gap:7px;max-width:190px;padding:5px 11px;border:1px solid var(--app-border);border-radius:7px;font-size:11.5px;color:var(--app-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-card-chip-dot{width:7px;height:7px;border-radius:2px;flex:none}.insight-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:12px;align-items:stretch}.insight-card{display:flex;flex-direction:column;min-width:0;padding:16px 18px 14px;background:var(--app-card);border:1px solid var(--app-border);border-radius:12px}.insight-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.insight-eyebrow{font-size:10.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--app-text-subtle)}.insight-note{font-size:11px;color:var(--app-text-subtle);flex:none}.insight-empty{flex:1;margin:0;padding:20px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:12.8px;color:var(--app-text-subtle);text-align:center}.insight-empty svg{color:var(--app-border-strong)}.rank-row{display:flex;align-items:center;gap:11px;padding:7px 0;border-bottom:1px solid var(--app-border)}.rank-row:last-child{border-bottom:none}.rank-index{flex:none;width:16px;font-family:Geist Mono,ui-monospace,SFMono-Regular,monospace;font-size:11px;color:var(--app-text-subtle)}.rank-dot{flex:none;width:6px;height:6px;border-radius:2px}.rank-dot-blank{background:none}.rank-name{flex:1;min-width:0;font-size:12.8px;color:var(--app-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-bar{flex:none;width:96px;height:5px;border-radius:3px;background:var(--app-hover);overflow:hidden}.rank-bar-fill{display:block;height:100%;border-radius:3px}.rank-value{flex:none;width:74px;text-align:right;font-family:Geist Mono,ui-monospace,SFMono-Regular,monospace;font-size:12px;color:var(--app-text-muted);font-variant-numeric:tabular-nums}.rank-total{padding-top:9px;padding-bottom:2px}.rank-total .rank-name,.rank-total .rank-value{font-weight:600;color:var(--app-text)}.rank-total .rank-bar{background:none}.insight-donut-holder{position:relative;flex:1;display:flex;align-items:center;justify-content:center;min-height:186px}.insight-donut{width:172px;height:172px;border-radius:50%;-webkit-mask:radial-gradient(farthest-side,transparent 62%,#000 62.5%);mask:radial-gradient(farthest-side,transparent 62%,#000 62.5%)}.insight-donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}.insight-donut-label{font-size:10px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--app-text-subtle)}.insight-donut-value{margin-top:3px;font-family:Geist Mono,ui-monospace,SFMono-Regular,monospace;font-size:24px;font-weight:600;letter-spacing:-.03em;color:var(--app-text);font-variant-numeric:tabular-nums}.insight-donut-sub{font-size:11.5px;font-weight:600;color:var(--app-pos)}.insight-legend{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;margin-top:4px}.insight-legend-item{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border:1px solid var(--app-border);border-radius:6px;font-size:11.2px;color:var(--app-text-muted)}.insight-legend-dot{width:6px;height:6px;border-radius:2px;flex:none}.insight-legend-value{font-family:Geist Mono,ui-monospace,SFMono-Regular,monospace;color:var(--app-text-subtle);font-variant-numeric:tabular-nums}@media (max-width: 900px){.insight-grid{grid-template-columns:1fr}}@media (max-width: 1000px){.app-shell .main-container.dash-page>.dash-layout{flex-direction:column}.dash-rail{flex:none;width:100%;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:6px;padding:9px 12px;overflow-x:auto;-webkit-overflow-scrolling:touch;border-right:none;border-bottom:1px solid var(--app-border)}.dash-rail::-webkit-scrollbar{display:none}.dash-rail-label{display:none}.dash-rail-group{flex:none;flex-direction:row;flex-wrap:nowrap;gap:6px}.dash-rail-group>div{display:flex;flex-wrap:nowrap;gap:6px}.app-shell .dash-rail-item{width:auto;flex:none;white-space:nowrap;padding:7px 12px;border-radius:999px;border:1px solid var(--app-border)}.app-shell .dash-rail-item.active{border-color:var(--app-primary)}.dash-rail-bar{display:none}.dash-view{padding:12px 12px 16px}}@media (max-width: 860px){.dash-layout{flex-direction:column}.dash-rail{width:100%;flex-direction:row;gap:6px;overflow-x:auto;border-right:none;border-bottom:1px solid var(--app-border, var(--menu-border));padding:8px 0}.dash-rail-group{flex-direction:row;align-items:center;gap:4px}.dash-rail-label{display:none}.dash-rail-item{width:auto;white-space:nowrap}.dash-view{padding:12px 0 0}}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;margin-bottom:.75rem}.table-search{display:flex;align-items:center;gap:.5rem;flex:1;max-width:320px;padding:0 .7rem;height:38px;background:var(--app-card, var(--input-bg));border:1px solid var(--app-border, var(--menu-border));border-radius:10px;color:var(--app-text-muted, var(--menu-text));transition:border-color .15s ease,box-shadow .15s ease}.table-search:focus-within{border-color:var(--app-primary, var(--button-color));box-shadow:0 0 0 3px #229f652e}.table-search svg{flex:none}.table-search-input{flex:1;width:auto;min-width:0;max-width:none;height:100%;margin:0;padding:0;border:none;border-radius:0;background:transparent;color:var(--app-text, var(--menu-text));font-size:.9rem;box-shadow:none}.table-search-input:focus{outline:none}.app-shell .table-search-input:focus-visible,.table-search-input:focus-visible{outline:none}.table-count{flex-shrink:0;font-size:.8rem;font-weight:600;color:var(--app-text-muted, var(--menu-text))}.tasks-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;width:100%;flex-wrap:wrap}.tasks-title{margin:0;font-size:1.4rem;font-weight:800;letter-spacing:-.02em;color:var(--app-text, var(--menu-text))}.tasks-subtitle{margin:2px 0 0;font-size:.88rem;color:var(--app-text-muted, var(--menu-text))}.app-shell .tasks-header .batch-button{flex:none}.tasks-empty{text-align:center;color:var(--app-text-muted, #888);padding:1.5rem 0}.tasks-empty-state{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:3rem 1rem;text-align:center;color:var(--app-text-muted, #888);border:1px dashed var(--app-border, var(--menu-border));border-radius:var(--app-radius, 16px)}.tasks-empty-state svg{opacity:.5}.task-grid{display:grid;width:100%;gap:14px;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));align-items:stretch;justify-content:start;justify-items:stretch}.task-card{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:stretch;gap:.4rem;min-width:0;padding:13px 15px;text-align:left;background:var(--app-card, var(--menu-bg));border:1px solid var(--app-border, var(--menu-border));border-radius:var(--app-radius-sm, 10px);box-shadow:var(--app-shadow)}.task-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:1px}.task-card-head .task-card-title{flex:1}.task-card-title{margin:0;font-size:.98rem;font-weight:700;min-width:0;letter-spacing:-.01em;color:var(--app-text, var(--menu-text));overflow-wrap:anywhere}.task-freq-badge{flex:none;padding:2px 8px;border-radius:5px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--app-text-muted, var(--menu-text));background:var(--app-hover, rgba(128, 128, 128, .1));border:1px solid var(--app-border, var(--menu-border));white-space:nowrap}.task-card-desc{margin:2px 0 0;font-size:.82rem;line-height:1.45;color:var(--app-text-muted, var(--menu-text))}.task-card-meta{margin:0;font-size:.8rem;color:var(--app-text-muted, var(--menu-text))}.task-due{margin:0;font-size:.88rem;font-weight:700;letter-spacing:-.01em;color:var(--app-text, var(--menu-text))}.task-due-overdue{color:#f2777a}.task-due-today,.task-due-running,.task-group-title.tone-running{color:var(--app-accent, #3ecf8e)}.task-due-none{color:var(--app-text-muted, var(--menu-text));font-weight:600}.task-due-next{color:var(--app-text-muted, var(--menu-text));font-weight:600;font-size:.8rem}.task-people-block{display:flex;flex-direction:column;gap:.3rem;margin-top:auto;padding-top:.7rem;border-top:1px solid var(--app-border, var(--menu-border))}.task-people-row{display:flex;align-items:center;gap:.5rem;font-size:.79rem;min-width:0}.task-people-label{flex:none;min-width:62px;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--app-text-muted, var(--menu-text))}.task-people-none{color:var(--app-text-muted, var(--menu-text))}.task-avatars{display:flex;align-items:center;gap:6px;min-width:0}.task-avatar{flex:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:9px;font-weight:700;letter-spacing:.02em;color:var(--app-text, var(--menu-text));background:var(--app-hover, rgba(128, 128, 128, .12));border:1px solid var(--app-border, var(--menu-border))}.task-people-names{color:var(--app-text, var(--menu-text));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.task-rail{display:flex;flex-wrap:wrap;gap:6px;width:100%;justify-content:flex-start}.task-rail-item{display:inline-flex;align-items:center;gap:7px;width:auto;min-width:0;max-width:none;height:30px;margin:0;padding:0 .75rem;border-radius:8px;font-size:12.4px;font-weight:500;cursor:pointer;background:transparent;color:var(--app-text-muted, var(--menu-text));border:1px solid var(--app-border, var(--menu-border));transition:background-color .15s ease,border-color .15s ease,color .15s ease}.task-rail-item:hover:not(.active){background:var(--app-hover);color:var(--app-text)}.task-rail-item.active{background:#229f651f;border-color:#229f6559;color:var(--app-text, var(--menu-text));font-weight:600}.task-rail-dot{flex:none;width:6px;height:6px;border-radius:2px;background:var(--app-border-strong, #26292B)}.task-rail-dot.tone-overdue{background:#e8837f}.task-rail-dot.tone-today,.task-rail-dot.tone-in-progress{background:var(--app-accent, #3ecf8e)}.task-rail-dot.tone-all{background:var(--app-text-subtle, #5A6167)}.task-rail-count{font-family:Geist Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;font-size:11.5px;color:var(--app-text-subtle, #5A6167)}.task-rail-item.active .task-rail-count{color:var(--app-text-muted, var(--menu-text))}.task-group{display:flex;flex-direction:column;gap:.6rem;width:100%;align-items:stretch;justify-content:flex-start}.task-group+.task-group{margin-top:1.15rem}.task-group-title{display:flex;align-items:center;gap:8px;margin:0;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--app-text-muted, var(--menu-text))}.task-group-title.tone-overdue{color:#f2777a}.task-group-title.tone-today{color:var(--app-accent, #3ecf8e)}.task-group-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:0;color:var(--app-text-muted, var(--menu-text));background:var(--app-hover, rgba(128, 128, 128, .12));border:1px solid var(--app-border, var(--menu-border))}.task-toolbar-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.task-scope{display:inline-flex;padding:2px;gap:2px;background:var(--app-hover, rgba(128, 128, 128, .1));border:1px solid var(--app-border, var(--menu-border));border-radius:9px}.task-scope-btn{display:inline-flex;align-items:center;gap:5px;width:auto;min-width:0;max-width:none;height:28px;margin:0;padding:0 .7rem;border:none;border-radius:7px;font-size:.78rem;font-weight:600;cursor:pointer;background:transparent;color:var(--app-text-muted, var(--menu-text));transition:background-color .15s ease,color .15s ease}.task-scope-btn:hover:not(.active){background:var(--app-hover);color:var(--app-text)}.task-scope-btn.active{background:var(--app-card, var(--menu-bg));color:var(--app-text, var(--menu-text));box-shadow:0 1px 2px #0000002e}.task-scope-count{padding:0 5px;border-radius:999px;font-size:10px;font-weight:700;color:var(--app-primary, var(--button-color));background:var(--app-primary-soft, rgba(34, 159, 101, .14))}.task-mine{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:5px;vertical-align:middle;font-size:9.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--app-primary, var(--button-color));background:var(--app-primary-soft, rgba(34, 159, 101, .14))}.task-mine-reviewer{color:var(--app-text-muted, var(--menu-text));background:var(--app-hover, rgba(128, 128, 128, .12))}.task-filter-row{display:flex;flex-wrap:wrap;gap:6px;width:100%;justify-content:flex-start}.task-filter{width:auto;min-width:0;max-width:none;height:30px;margin:0;padding:0 .8rem;border-radius:999px;font-size:.78rem;font-weight:600;cursor:pointer;background:transparent;color:var(--app-text-muted, var(--menu-text));border:1px solid var(--app-border, var(--menu-border));transition:background-color .15s ease,border-color .15s ease,color .15s ease}.task-filter:hover:not(.active){background:var(--app-hover);color:var(--app-text)}.task-filter.active{background:var(--app-primary, var(--button-color));border-color:var(--app-primary, var(--button-color));color:#fff}.task-card-skeleton{gap:.65rem}.task-card-skeleton .cell-skeleton{display:block;height:12px;border-radius:5px;background:linear-gradient(90deg,var(--app-hover, #2a2a2a),var(--app-border, #3a3a3a),var(--app-hover, #2a2a2a));background-size:200% 100%;animation:cell-shimmer 1.2s linear infinite}.task-confirm-text{margin:0;font-size:.9rem;text-align:center;color:var(--app-text, var(--menu-text))}.task-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%);z-index:10001;padding:10px 18px;border-radius:999px;font-size:.85rem;font-weight:600;color:var(--app-text, #fff);background:var(--app-card, var(--menu-bg));border:1px solid var(--app-border, var(--menu-border));box-shadow:var(--app-shadow, 0 10px 30px rgba(0, 0, 0, .4));animation:task-toast-in .2s ease-out}@keyframes task-toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (prefers-reduced-motion: reduce){.task-toast,.task-card-skeleton .cell-skeleton{animation:none}}.task-card-actions{display:flex;gap:.5rem;margin-top:.35rem}.task-action{width:auto;min-width:0;max-width:none;height:32px;margin:0;padding:0 .85rem;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;background:transparent;color:var(--app-text, var(--menu-text));border:1px solid var(--app-border, var(--menu-border))}.task-action:hover{background:var(--app-hover);border-color:var(--app-border-strong)}.task-action.primary{background:var(--app-primary, var(--button-color));border-color:var(--app-primary, var(--button-color));color:#fff}.task-action.primary:hover{background:var(--button-hover-color, #2ebd80)}.task-action:disabled{opacity:.55;cursor:not-allowed}.task-done-note{display:flex;align-items:center;gap:6px;margin:0;font-size:.79rem;font-weight:600;color:var(--app-accent, #3ecf8e)}.task-undo{width:auto;min-width:0;max-width:none;height:auto;margin:0 0 0 auto;padding:0;background:none;border:none;font-size:.75rem;font-weight:600;text-decoration:underline;cursor:pointer;color:var(--app-text-muted, var(--menu-text))}.task-undo:hover{background:none;color:var(--app-text, var(--menu-text))}.task-action.danger{color:#ff6b6b}.task-action.danger:hover{background:#ef44441f;border-color:#ef444480}.timers-panel{display:flex;flex-direction:column;gap:.9rem;width:100%;align-items:stretch}.timers-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.timers-title{margin:0;font-size:1.05rem;font-weight:800;letter-spacing:-.01em;color:var(--app-text, var(--menu-text))}.timers-subhead{margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--app-border, var(--menu-border))}.tcard-grid{display:grid;width:100%;gap:14px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));align-items:stretch;justify-content:start;justify-items:stretch}.tcard{display:flex;flex-direction:column;align-items:center;gap:.7rem;padding:16px 14px;min-width:0;background:var(--app-card, var(--menu-bg));border:1px solid var(--app-border, var(--menu-border));border-radius:var(--app-radius, 16px);box-shadow:var(--app-shadow)}.tcard.is-running{border-color:#3ecf8e80}.tcard.is-done{border-color:#ef444480}.tcard-head{display:flex;align-items:center;gap:7px;width:100%}.tcard-dot{flex:none;width:8px;height:8px;border-radius:50%}.tcard-icon{flex:none;font-size:15px;line-height:1}.timers-head-actions{display:flex;align-items:center;gap:8px;flex:none;flex-wrap:wrap;justify-content:flex-end}.tcard-profiles{display:flex;flex-wrap:wrap;gap:4px;width:100%}.tcard-profile{padding:2px 7px;border-radius:5px;border:1px solid var(--app-border-strong);font-size:10.2px;color:var(--app-text-subtle);white-space:nowrap}.tcard[draggable=true]{cursor:grab}.tcard[draggable=true]:active{cursor:grabbing}.tcard.is-dragging{opacity:.45}.tcard.is-done .tcard-state{color:#f2777a}.icon-swatches{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0 2px}.icon-swatch{display:inline-flex;align-items:center;justify-content:center;width:34px;min-width:0;max-width:none;height:34px;margin:0;padding:0;font-size:17px;line-height:1;cursor:pointer;background:var(--app-hover, rgba(128, 128, 128, .1));border:2px solid transparent;border-radius:9px;transition:transform .12s ease,border-color .12s ease}.icon-swatch:hover{transform:scale(1.08);background:var(--app-raised, rgba(128, 128, 128, .16))}.icon-swatch.is-selected:hover,.icon-swatch.is-selected{background:var(--app-card, var(--menu-bg))}.task-autostart.is-disabled{opacity:.5;cursor:not-allowed}.task-title-dot{flex:none;width:8px;height:8px;border-radius:50%;margin-top:5px;align-self:flex-start}.tcard-name{flex:1;margin:0;min-width:0;font-size:.9rem;font-weight:700;text-align:left;color:var(--app-text, var(--menu-text));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tcard-remove{flex:none;width:22px;min-width:0;max-width:none;height:22px;margin:0;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;font-size:1rem;line-height:1;cursor:pointer;color:var(--app-text-muted, var(--menu-text))}.tcard-remove:hover{background:#ef444424;color:var(--error-color)}.tcard-dial{position:relative;width:132px;height:132px;border-radius:50%;display:flex;align-items:center;justify-content:center}.tcard-dial-inner{display:flex;flex-direction:column;align-items:center;gap:1px;width:104px;height:104px;border-radius:50%;background:var(--app-card, var(--menu-bg));justify-content:center}.tcard-clock{font-size:1.5rem;font-weight:800;letter-spacing:-.01em;font-variant-numeric:tabular-nums;line-height:1.1;color:var(--app-text, var(--menu-text))}.tcard.is-done .tcard-clock{color:#f2777a}.tcard-state{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--app-text-muted, var(--menu-text))}.tcard-actions{display:flex;gap:6px;width:100%}.tcard-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:1;width:auto;min-width:0;max-width:none;height:32px;margin:0;padding:0 .6rem;border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;background:transparent;color:var(--app-text, var(--menu-text));border:1px solid var(--app-border, var(--menu-border));transition:background-color .15s ease,border-color .15s ease}.tcard-btn:hover:not(:disabled){background:var(--app-hover);border-color:var(--app-border-strong)}.tcard-btn:disabled{opacity:.5;cursor:not-allowed}.tcard-btn.primary{background:var(--app-primary, var(--button-color));border-color:var(--app-primary, var(--button-color));color:#fff}.tcard-btn.primary:hover:not(:disabled){background:var(--button-hover-color, #2ebd80)}.tcard-btn.primary.is-running{background:transparent;color:var(--app-text, var(--menu-text));border-color:var(--app-border-strong, var(--menu-border))}.color-swatches{padding:2px 0 0}.color-swatch{width:26px;min-width:0;max-width:none;height:26px;margin:0;padding:0;border-radius:50%;border:none;cursor:pointer;transition:transform .12s ease}.color-swatch:hover{transform:scale(1.12)}.color-swatch.is-selected{transform:scale(1.06)}.color-swatch:focus-visible{outline:2px solid var(--app-text, #fff);outline-offset:3px}.timer-preview{display:flex;justify-content:center;padding:.35rem 0 .1rem}.timer-preview-dial{display:flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:50%}.timer-preview-inner{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:var(--app-card, var(--menu-bg));font-size:.9rem;font-weight:800;font-variant-numeric:tabular-nums}.tclock-plate{fill:var(--app-hover, rgba(128,128,128,.1))}.tclock-rim{fill:none;stroke:var(--app-border-strong, #444);stroke-width:1.5}.tclock-tick{stroke:#0000006b;stroke-width:1;stroke-linecap:round}.tclock-tick.is-major{stroke-width:1.8}:root:not(.dark) .tclock-tick{stroke:#00000057}.tclock-hub{stroke:#00000059;stroke-width:1}.tclock-label{fill:var(--app-text-subtle, #5A6167);font-size:9px;font-weight:700}.tclock-hub{fill:var(--app-text, #f2f2f2)}.tcard-face{display:flex;flex-direction:column;align-items:center;gap:4px}.tcard-face-read{display:flex;flex-direction:column;align-items:center;gap:1px}.face-options{display:flex;gap:10px;padding-top:2px}.face-option{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;width:auto;min-width:0;max-width:none;height:auto;margin:0;padding:10px 8px;border-radius:12px;cursor:pointer;background:var(--app-hover, rgba(128, 128, 128, .08));border:1px solid var(--app-border, var(--menu-border));transition:border-color .15s ease,background-color .15s ease}.face-option:hover{background:var(--app-card, var(--menu-bg))}.face-option.is-selected{background:var(--app-card, var(--menu-bg));border-width:2px}.face-option-label{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--app-text-muted, var(--menu-text))}.face-option.is-selected .face-option-label{color:var(--app-text, var(--menu-text))}.task-toggle-label{display:flex!important;align-items:center;gap:7px;cursor:pointer;text-transform:uppercase}.task-toggle-label input[type=checkbox]{width:auto;min-width:0;max-width:none;height:auto;margin:0;flex:none;accent-color:var(--app-primary, var(--button-color))}.dialog-field input:disabled{opacity:.45;cursor:not-allowed}@media (max-width: 520px){.tcard-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.tcard-dial{width:112px;height:112px}.tcard-dial-inner{width:88px;height:88px}.tcard-clock{font-size:1.25rem}}.timer-list{display:flex;flex-direction:column;gap:8px;width:100%;list-style:none;margin:0;padding:0}.timer-row{display:flex;align-items:center;gap:.75rem;min-width:0;padding:12px 14px;background:var(--app-card, var(--menu-bg));border:1px solid var(--app-border, var(--menu-border));border-radius:var(--app-radius-sm, 10px)}.timer-row.is-done{border-color:#ef444473}.timer-row-icon{flex:none;display:inline-flex;color:var(--app-text-muted, var(--menu-text))}.timer-row-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.timer-row-name{font-size:.92rem;font-weight:600;color:var(--app-text, var(--menu-text));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timer-row-clock{font-size:1.05rem;font-weight:800;letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--app-text, var(--menu-text))}.timer-row.is-done .timer-row-clock{color:#f2777a}.timer-row-meta{font-size:.72rem;color:var(--app-text-subtle, #5A6167)}.timer-pie{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--app-border, var(--menu-border))}.timer-row-remove{flex:none;width:26px;min-width:0;max-width:none;height:26px;margin:0;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--app-border, var(--menu-border));border-radius:7px;font-size:.95rem;line-height:1;cursor:pointer;color:var(--app-text-muted, var(--menu-text))}.timer-row-remove:hover{background:#ef44441f;border-color:#ef444480;color:var(--error-color)}@media (max-width: 560px){.timer-row{gap:.55rem;padding:10px}.timer-pie{width:34px;height:34px}}.task-timer{display:flex;flex-direction:column;gap:7px;padding:9px 10px;border-radius:9px;background:var(--app-hover, rgba(128, 128, 128, .08));border:1px solid var(--app-border, var(--menu-border))}.task-timer-row{display:flex;align-items:center;gap:7px}.task-timer-value{font-size:1.02rem;font-weight:800;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--app-text, var(--menu-text));margin-right:auto}.task-timer.is-urgent .task-timer-value,.task-timer.is-expired .task-timer-value{color:#f2777a}.task-timer.is-paused .task-timer-value{color:var(--app-text-muted, var(--menu-text))}.task-timer-btn{display:inline-flex;align-items:center;gap:5px;width:auto;min-width:0;max-width:none;height:28px;margin:0;padding:0 .7rem;border-radius:7px;font-size:.76rem;font-weight:600;cursor:pointer;background:var(--app-card, var(--menu-bg));color:var(--app-text, var(--menu-text));border:1px solid var(--app-border, var(--menu-border));transition:background-color .15s ease,border-color .15s ease,color .15s ease}.task-timer-btn:hover:not(:disabled){border-color:var(--app-border-strong);background:var(--app-hover)}.task-timer-btn:disabled{opacity:.55;cursor:not-allowed}.task-timer-btn.start{width:100%;justify-content:center;height:32px;color:var(--app-primary, var(--button-color));border-color:var(--app-border, var(--menu-border))}.task-timer-btn.start:hover:not(:disabled){background:var(--app-primary-soft, rgba(34, 159, 101, .12));border-color:var(--app-primary, var(--button-color))}.task-timer-btn.toggle.is-paused{background:var(--app-primary, var(--button-color));border-color:var(--app-primary, var(--button-color));color:#fff}.task-timer-btn.toggle.is-paused:hover:not(:disabled){background:var(--button-hover-color, #2ebd80)}.task-timer-btn.reset{color:var(--app-text-muted, var(--menu-text))}.task-timer-auto-note{font-size:.72rem;text-align:center;color:var(--app-text-muted, var(--menu-text))}.task-auto-badge{display:inline-block;margin-left:7px;padding:1px 6px;border-radius:5px;font-size:9.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--app-accent, #3ecf8e);background:transparent;border:1px solid rgba(34,159,101,.35)}.task-autostart{display:flex;align-items:flex-start;gap:.6rem;width:100%;margin:.35rem 0 .2rem;padding:.65rem .75rem;border:1px solid var(--app-border, var(--menu-border));border-radius:10px;cursor:pointer;text-align:left}.task-autostart:hover{background:var(--app-hover)}.task-autostart input[type=checkbox]{width:auto;min-width:0;max-width:none;height:auto;margin:2px 0 0;flex:none;accent-color:var(--app-primary, var(--button-color))}.task-autostart>span{display:flex;flex-direction:column;gap:2px;min-width:0}.task-autostart-title{font-size:.85rem;font-weight:600;color:var(--app-text, var(--menu-text))}.task-timer-track{height:4px;width:100%;border-radius:999px;overflow:hidden;background:var(--app-border, var(--menu-border))}.task-timer-fill{height:100%;border-radius:999px;background:var(--app-accent, #3ecf8e);transition:width .9s linear}.task-timer.is-urgent .task-timer-fill,.task-timer.is-expired .task-timer-fill{background:#f2777a}.task-timer.is-paused .task-timer-fill{background:var(--app-text-muted, #888);transition:none}@media (prefers-reduced-motion: reduce){.task-timer-fill{transition:none}}.task-chips{display:flex;flex-wrap:wrap;gap:6px}.task-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;font-size:12px;color:var(--app-text, var(--menu-text));background:var(--app-hover, rgba(128, 128, 128, .12));border:1px solid var(--app-border, var(--menu-border))}.task-chip.readonly{font-weight:600}.task-chip button{width:auto;min-width:0;max-width:none;height:auto;margin:0;padding:0 2px;background:none;border:none;cursor:pointer;line-height:1;font-size:13px;color:var(--app-text-muted, var(--menu-text))}.task-chip button:hover{background:none;color:var(--error-color)}.task-chip-input{display:flex;gap:.5rem;align-items:center}.task-chip-input input{flex:1;min-width:0}.task-chip-add{width:auto;min-width:0;max-width:none;height:40px;margin:0;padding:0 .9rem;border-radius:10px;font-size:.85rem;font-weight:600;flex:none;cursor:pointer}.app-shell .task-chip-add:hover{background:var(--app-accent)}.dialog.dialog-wide{max-width:560px}.dialog-scroll{display:flex;flex-direction:column;gap:.15rem;max-height:min(58vh,520px);overflow-y:auto;padding-right:4px;text-align:left}.app-shell .dialog-field .unit-select:not(.time-select){width:100%;max-width:100%}.task-field-row{display:flex;gap:.75rem}.task-field-row>.dialog-field{flex:1;min-width:0}.task-field-hint{font-size:.72rem;color:var(--app-text-subtle, #5A6167)}.task-field-note{margin:.15rem 0 .4rem}.task-textarea{width:100%;max-width:100%;margin:0;padding:.55rem .8rem;border-radius:10px;font-size:.92rem;resize:vertical;background-color:var(--input-bg);color:var(--input-color);border:1px solid var(--app-border, var(--menu-border))}.task-textarea:focus{outline:none;border-color:var(--app-primary, var(--button-color));box-shadow:0 0 0 3px var(--app-primary-soft, rgba(34, 159, 101, .22))}.task-people{display:flex;flex-direction:column;max-height:168px;overflow-y:auto;border:1px solid var(--app-border, var(--menu-border));border-radius:10px}.task-person{display:flex;align-items:center;gap:.6rem;padding:8px 10px;cursor:pointer;font-size:.85rem;border-bottom:1px solid var(--app-border, var(--menu-border))}.task-person:last-child{border-bottom:none}.task-person:hover{background:var(--app-hover)}.task-person input[type=checkbox]{width:auto;min-width:0;max-width:none;height:auto;margin:0;accent-color:var(--app-primary, var(--button-color));flex:none}.task-person-name{font-weight:600;color:var(--app-text, var(--menu-text))}.task-person-tag{flex:none;padding:1px 6px;border-radius:5px;font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--app-text-muted, var(--menu-text));background:var(--app-hover, rgba(128, 128, 128, .12));border:1px solid var(--app-border, var(--menu-border))}.task-person-tag.warn{color:#f2777a;background:#ef44441a;border-color:#ef44444d}.task-person.is-orphan .task-person-name{color:var(--app-text-muted, var(--menu-text))}.task-person-email{margin-left:auto;font-size:.75rem;color:var(--app-text-muted, var(--menu-text));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:45%}.task-people-empty{font-size:.8rem;color:var(--app-text-muted, var(--menu-text));padding:.3rem 0}.task-dialog-error{margin:.6rem 0 0;padding:.55rem .8rem;font-size:.82rem;font-weight:600;color:#ff6b6b;background:#ef44441a;border:1px solid rgba(239,68,68,.32);border-radius:10px;text-align:center}@media (max-width: 560px){.task-field-row{flex-direction:column;gap:0}}@media (max-width: 680px){.tasks-header{flex-direction:column;align-items:stretch;gap:.75rem}.app-shell .tasks-header .batch-button{width:100%}.table-toolbar{flex-wrap:wrap}.table-search{max-width:none;flex-basis:100%}.task-toolbar-right{width:100%;justify-content:space-between}.task-filter-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.task-filter-row::-webkit-scrollbar{display:none}.task-filter{flex:none}.task-grid{grid-template-columns:1fr}.task-card-actions .task-action{flex:1}.dialog.dialog-wide{width:96%}.dialog-scroll{max-height:62vh}}.app-shell a:focus-visible,.app-shell button:focus-visible,.app-shell select:focus-visible,.app-shell input:focus-visible,.app-shell [tabindex]:focus-visible{outline:2px solid var(--app-primary);outline-offset:2px;border-radius:6px}.app-shell .chart-controls{align-items:flex-end;gap:14px 18px}.app-shell .week-picker{padding:0;gap:8px;background:none;border:none;border-radius:0}.app-shell .week-picker-label,.app-shell .time-ranges-label{font-size:10.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--app-text-subtle)}.app-shell .week-picker-range,.app-shell .time-ranges-hint{font-size:12px;color:var(--app-text-muted);opacity:1}.app-shell .unit-select:not(.time-select),.app-shell .week-picker .unit-select.item-select{height:40px;margin-top:0;min-width:12rem;max-width:240px;padding:0 2.2rem 0 .85rem;border-radius:10px;border:1px solid var(--app-border);background-color:var(--app-surface);color:var(--app-text);font-size:.9rem;box-shadow:none;background-position:right .7rem center;transition:border-color .15s ease,box-shadow .15s ease}.app-shell .unit-select:not(.time-select):hover{border-color:var(--app-border-strong)}.app-shell .unit-select:not(.time-select):focus{border-color:var(--app-primary);box-shadow:0 0 0 3px var(--app-primary-soft)}.app-shell .time-range-row{gap:.5rem}.app-shell .time-range-row input[type=time]{height:40px;padding:0 .6rem;border-radius:10px;border:1px solid var(--app-border);background:var(--app-surface);color:var(--app-text);font-size:.88rem;transition:border-color .15s ease,box-shadow .15s ease}.app-shell .time-range-row input[type=time]:focus{outline:none;border-color:var(--app-primary);box-shadow:0 0 0 3px var(--app-primary-soft)}.app-shell .time-range-remove{width:34px;height:34px;border-radius:8px}.app-shell .time-range-add{height:36px;padding:0 .9rem;border-radius:8px;display:inline-flex;align-items:center}.app-shell .batch-button{width:auto;min-width:0;max-width:none;padding:.62rem 1.25rem;border-radius:10px;font-weight:600;font-size:.9rem;transition:background-color .15s ease,transform .06s ease}.app-shell .batch-button:active{transform:translateY(1px)}.app-shell .recharts-pie .recharts-sector{stroke:var(--app-card);stroke-width:2px}.app-shell .recharts-pie-label-line{stroke:var(--app-border-strong)}.app-shell .daypart-pie-title{margin:0 0 .4rem;text-align:center;font-size:.95rem;font-weight:700;letter-spacing:-.01em;color:var(--app-text)}.app-shell .donut-block{width:100%}.app-shell .donut-holder{position:relative;width:100%;height:300px}.app-shell .donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.app-shell .donut-center-inner{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;animation:donutPop .28s ease-out}.app-shell .donut-center-label{max-width:9rem;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--app-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell .donut-center-value{font-size:clamp(20px,5vw,28px);font-weight:800;letter-spacing:-.02em;line-height:1.15;color:var(--app-text);font-variant-numeric:tabular-nums}.app-shell .donut-center-sub{font-size:12px;font-weight:600;color:var(--app-text-muted)}.app-shell .donut-center-sub.pos{color:var(--app-accent)}@keyframes donutPop{0%{opacity:0;transform:translateY(4px) scale(.92)}to{opacity:1;transform:none}}.app-shell .donut-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 8px;margin-top:14px}.app-shell .donut-legend-item{display:inline-flex;align-items:center;gap:8px;width:auto;min-width:0;max-width:none;height:auto;margin:0;padding:6px 12px;border:1px solid var(--app-border);border-radius:999px;background:var(--app-card);color:var(--app-text);font-size:12.5px;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,transform .08s ease}.app-shell .donut-legend-item:hover,.app-shell .donut-legend-item.active{border-color:var(--app-border-strong);background:var(--app-hover)}.app-shell .donut-legend-item.active{transform:translateY(-1px)}.app-shell .donut-legend-dot{width:10px;height:10px;border-radius:50%;flex:none}.app-shell .donut-legend-name{font-weight:600}.app-shell .donut-legend-value{color:var(--app-text-muted);font-variant-numeric:tabular-nums}@media (max-width: 520px){.app-shell .donut-holder{height:250px}}@media (prefers-reduced-motion: reduce){.app-shell .donut-center-inner{animation:none}.app-shell .donut-legend-item.active{transform:none}}.app-shell .recharts-default-tooltip,.app-shell .recharts-tooltip-item,.app-shell .recharts-tooltip-item-name,.app-shell .recharts-tooltip-item-separator{color:var(--app-text)!important}.app-shell .recharts-tooltip-item-value{color:var(--app-text)!important;font-weight:700}.app-shell .recharts-tooltip-label:empty{display:none}.app-shell .date-range-trigger{height:40px;border-radius:10px;border-color:var(--app-border);background-color:var(--app-surface);color:var(--app-text);font-size:.9rem;transition:border-color .15s ease,box-shadow .15s ease}.app-shell .date-range-trigger:hover:not(:disabled){border-color:var(--app-border-strong)}.app-shell .date-range-trigger:focus-visible{border-color:var(--app-primary);box-shadow:0 0 0 3px var(--app-primary-soft)}.app-shell .date-range-trigger:disabled{opacity:.5;cursor:not-allowed}.app-shell .date-range-pop{background-color:var(--app-card);border-color:var(--app-border);color:var(--app-text);border-radius:12px;box-shadow:var(--app-shadow)}
