:root{--bg: #1a1610;--surface: #231f18;--surface-hover: #2c2720;--border: #4a4238;--text: #f7f2e7;--muted: #a89a88;--accent: #9c7640;--accent-dim: #7a5c3d;--accent-glow: rgba(120, 90, 55, .2);--success: #6b7d42;--success-glow: rgba(107, 125, 66, .22);--warning: #a67c38;--warning-glow: rgba(166, 124, 56, .22);--danger: #a8553a;--danger-glow: rgba(168, 85, 58, .22);--radius: 10px;--radius-sm: 6px;--font-text: "Vollkorn", Georgia, "Times New Roman", serif;--font-ui: "Geologica", system-ui, -apple-system, "Segoe UI", sans-serif;--font-ui-light-weight: 300;--font: var(--font-text);--space-xs: .25rem;--space-sm: .5rem;--space-md: .75rem;--space-lg: 1rem;--space-xl: 1.25rem;--space-2xl: 1.5rem;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-smooth: .15s cubic-bezier(.4, 0, .2, 1);--task-font: var(--font-ui);--task-shell-max: 68em;--task-shell-padding-inline: .75rem;--task-line-height: 1.25rem;--task-check-size: .8125rem;--task-check-col: 1.25rem;--task-action-size: 1.25rem;--task-action-icon: .8125rem;--task-row-gap: .35rem;--task-row-padding-block: .08rem;--task-row-padding-inline: .2rem;--task-list-gap: 0;--task-radius: 6px;--task-max-width: 100%;--checkbox-size: var(--task-check-size);--checkbox-px: var(--task-row-gap);--checkbox-py: var(--task-row-padding-block);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .25);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .3);--divider: rgba(243, 230, 216, .12);--fill-hover: rgba(255, 231, 205, .08);--fill-subtle: rgba(255, 231, 205, .045);color-scheme:dark;--chart-plan: #ffd60a;--chart-fact: #30d158;--chart-done: #ff453a;--chart-extra: #32ade6;--chart-track-base: #0b0f14;--chart-health-good: #30d158;--chart-health-warn: #ffd60a;--chart-health-orange: #ff9f0a;--chart-health-bad: #ff453a;--chart-metric: #c98145}:root[data-theme=light]{--bg: #fdf8f4;--surface: #fffdfb;--surface-hover: #f9f2ec;--border: #e5d9cf;--text: #2c2017;--muted: #7d6856;--accent: #b86e32;--accent-dim: #8f5527;--accent-glow: rgba(184, 110, 50, .18);--success: #748d43;--success-glow: rgba(116, 141, 67, .18);--warning: #b27d2f;--warning-glow: rgba(178, 125, 47, .2);--danger: #b45d37;--danger-glow: rgba(180, 93, 55, .18);--shadow-sm: 0 1px 3px rgba(13, 23, 40, .08);--shadow-md: 0 6px 18px rgba(13, 23, 40, .12);--shadow-lg: 0 12px 28px rgba(13, 23, 40, .16);--divider: rgba(55, 38, 22, .12);--fill-hover: rgba(94, 61, 33, .07);--fill-subtle: rgba(94, 61, 33, .035);color-scheme:light;--chart-metric: #b86e32}@media(min-width:768px){:root{--task-shell-padding-inline: 1rem;--task-row-gap: .35rem;--task-row-padding-block: .1rem;--task-row-padding-inline: .3rem}}@media(min-width:1024px){:root{--task-shell-padding-inline: 1.25rem;--task-row-gap: .38rem;--task-row-padding-block: .12rem;--task-row-padding-inline: .35rem;--task-line-height: 1.3rem;--task-check-size: .8125rem;--task-check-col: 1.3rem;--task-action-size: 1.3rem;--task-action-icon: .8125rem}}@font-face{font-family:Geologica;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/Geologica-Light.woff2) format("woff2")}@font-face{font-family:Geologica;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Geologica-Regular.woff2) format("woff2")}@font-face{font-family:Geologica;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Geologica-Medium.woff2) format("woff2")}@font-face{font-family:Geologica;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Geologica-SemiBold.woff2) format("woff2")}@font-face{font-family:Geologica;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Geologica-Bold.woff2) format("woff2")}@font-face{font-family:Vollkorn;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Vollkorn-Regular.woff) format("woff")}@font-face{font-family:Vollkorn;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/Vollkorn-Italic.woff) format("woff")}@font-face{font-family:Vollkorn;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Vollkorn-Medium.woff) format("woff")}@font-face{font-family:Vollkorn;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/Vollkorn-MediumItalic.woff) format("woff")}@font-face{font-family:Vollkorn;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Vollkorn-Semibold.woff) format("woff")}@font-face{font-family:Vollkorn;font-style:italic;font-weight:600;font-display:swap;src:url(/fonts/Vollkorn-SemiboldItalic.woff) format("woff")}@font-face{font-family:Vollkorn;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Vollkorn-Bold.woff) format("woff")}@font-face{font-family:Vollkorn;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/Vollkorn-BoldItalic.woff) format("woff")}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;height:100%;scrollbar-gutter:stable;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{min-height:100%;min-height:100dvh;font-family:var(--font-text);background:var(--bg);color:var(--text);line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-ui)}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img,svg{display:block;max-width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{font-family:var(--font-ui);font-size:.875rem;font-weight:600;border-radius:8px;border:1px solid transparent;padding:.45rem .85rem;cursor:pointer;background:var(--fill-subtle);color:var(--text);transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;text-decoration:none;white-space:nowrap;user-select:none}.btn:hover{background:var(--fill-hover)}.btn:active{transform:translateY(0)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:var(--accent);color:#0a0e12;box-shadow:0 2px 8px var(--accent-glow)}.btn--primary:hover{background:var(--accent-dim);border-color:var(--accent-dim);box-shadow:0 4px 12px var(--accent-glow)}.btn--ghost{background:transparent;border-color:transparent}.btn--ghost:hover{background:var(--fill-hover)}.btn--icon{min-width:32px;padding:.35rem}.form{margin-top:var(--space-lg)}.form fieldset{margin:0;padding:0;border:none}.form legend{font-family:var(--font-ui);font-weight:600;font-size:.9rem;margin-bottom:.65rem;color:var(--text)}.form label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:var(--muted);margin-bottom:.65rem}.form input[type=text],.form input[type=email],.form input[type=password],.form input[type=number],.form input[type=date],.form input[type=datetime-local],.form select,.form textarea{font:inherit;font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.875rem;padding:.5rem .65rem;border-radius:8px;border:1px solid var(--divider);background:var(--fill-subtle);color:var(--text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);width:100%}.form textarea{resize:vertical;min-height:80px}.form input:hover,.form select:hover,.form textarea:hover{background:var(--fill-hover)}.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.form input::placeholder,.form textarea::placeholder{color:var(--muted);opacity:.6}.form input:user-invalid,.form select:user-invalid,.form input[aria-invalid=true],.form select[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-glow)}.form input:disabled,.form select:disabled,.form textarea:disabled{opacity:.5;cursor:not-allowed}.form input[readonly]{opacity:.92;cursor:default}.form__actions{margin-top:1rem;display:inline-flex;gap:.5rem;align-items:center}.form__error{margin-top:.35rem;font-size:.8rem;color:var(--danger)}.hint{margin:0 0 var(--space-lg);font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.8rem;color:var(--muted);line-height:1.45}.hint strong{color:var(--text);font-weight:600}.hint--inline{margin:0}.hint--danger{color:var(--danger)}.auth-gate{min-height:100vh;display:grid;place-items:center;padding:1rem}.auth-gate__panel{width:min(420px,100%);display:flex;flex-direction:column;align-items:stretch;gap:1.35rem}.auth-gate__logo{display:flex;align-items:center;justify-content:center;min-height:48px;padding:.25rem .5rem 0;user-select:none}.auth-gate__logo-img{display:none;height:clamp(30px,9vw,42px);width:auto;max-width:100%;object-fit:contain}:root:not([data-theme=light]) .auth-gate__logo-img--dark{display:block}:root[data-theme=light] .auth-gate__logo-img--light{display:block}.auth-gate__logo-mark{display:none}.auth-gate__form{width:100%;margin-top:0}.auth-gate__error{margin-top:.35rem;color:var(--danger)}.panel{background:transparent;border:none;border-radius:0;padding:var(--space-lg) 0}.panel__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:var(--space-md)}.panel__head h2{font-family:var(--font-ui);font-size:1rem;font-weight:600;margin:0}.card{background:var(--fill-subtle);border:1px solid var(--divider);border-radius:var(--radius);padding:var(--space-md) var(--space-lg)}.card--inset{background:var(--fill-subtle);padding:var(--space-lg)}.header{position:relative;padding-top:1rem;margin-bottom:var(--space-2xl);min-height:44px;display:grid;grid-template-columns:3fr auto 1fr;grid-template-rows:auto auto;column-gap:.5rem;align-items:start}.header__logo{position:absolute;top:0;left:0;display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:44px;padding:0 .6rem;border:1px solid transparent;border-radius:10px;background:transparent;text-decoration:none;color:inherit;cursor:pointer;user-select:none;overflow:hidden}.header__logo:hover,.header__logo:focus-visible{background:var(--fill-hover);outline:none}.header__logo-image{display:none;height:28px;width:auto;max-width:100%;object-fit:contain}:root:not([data-theme=light]) .header__logo-image--dark{display:block}:root[data-theme=light] .header__logo-image--light{display:block}.header__logo-mark{display:none;font-family:var(--font-ui);font-weight:700;font-size:.95rem;color:var(--text)}.header__tools{position:absolute;top:0;right:0;display:inline-flex;align-items:center;gap:.35rem}.header .main-nav{grid-column:2;grid-row:1;justify-self:center}.app-breadcrumbs{grid-column:1 / -1;grid-row:2;justify-self:center;width:100%;max-width:min(920px,100%);margin-top:.55rem}.app-breadcrumbs[hidden]{display:none!important}.app-breadcrumbs__list{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.15rem .3rem;list-style:none;margin:0;padding:0;font-family:var(--font-ui);font-size:.78rem;font-weight:var(--font-ui-light-weight);line-height:1.35;color:var(--muted)}.app-breadcrumbs__item{display:inline-flex;align-items:center;gap:.3rem;max-width:100%}.app-breadcrumbs__item:not(:last-child):after{content:"›";color:var(--muted);opacity:.72;font-weight:400;pointer-events:none}.app-breadcrumbs__link{border:none;background:transparent;padding:.1rem .25rem;margin:0;font:inherit;color:var(--accent);cursor:pointer;border-radius:6px;max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-breadcrumbs__link:hover,.app-breadcrumbs__link:focus-visible{background:var(--fill-hover);color:var(--text);outline:none}.app-breadcrumbs__current{color:var(--text);font-weight:500;padding:.1rem .25rem;max-width:min(20rem,72vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-toggle{min-width:36px;width:36px;padding:0;line-height:1;font-size:1rem}.header-search-btn{min-width:36px;width:36px;padding:0;line-height:1;display:inline-flex;align-items:center;justify-content:center}.header-search-btn svg{display:block}@media(max-width:720px){.header{display:block}.header__logo,.header__tools{position:static;margin:.25rem 0}.header__tools{justify-content:flex-end;display:flex}.header .main-nav{margin-left:auto;margin-right:auto;justify-self:auto}.app-breadcrumbs{margin-top:.45rem;padding-inline:.25rem}}.main-nav{display:flex;flex-wrap:wrap;gap:.25rem;padding:.25rem;border:1px solid var(--divider);border-radius:10px;background:var(--fill-subtle);width:fit-content}.main-nav__item{border:none;background:transparent;color:var(--muted);font-family:var(--font-ui);font-size:.84rem;font-weight:600;border-radius:8px;padding:.4rem .85rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;transition:background var(--transition-fast),color var(--transition-fast)}.main-nav__item:hover{background:var(--fill-hover);color:var(--text)}.main-nav__item.is-active{background:var(--accent-glow);color:var(--text)}.app-shell-wrap{max-width:68em;margin:0 300px;padding:0 var(--task-shell-padding-inline, .75rem)}.app-shell-wrap--wide{max-width:100em}.app-shell{display:flex;flex-direction:column;gap:1.25rem;padding-top:1.25rem;flex:1 1 auto;max-width:100%;min-width:0}.home-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1.5rem;align-items:start}@media(max-width:768px){.home-shell{grid-template-columns:1fr}}.home-shell__sidebar{border-right:1px solid var(--divider);padding-right:.85rem;min-width:0;overflow:hidden}.home-shell__main{min-width:0}.client-group{list-style:none;margin:0;padding:0;border:none;background:transparent}.client-group__summary{display:flex;align-items:flex-start;justify-content:space-between;gap:.45rem;padding:.5rem .15rem .5rem 0;background:transparent;cursor:default;user-select:none}.client-group__caret{flex-shrink:0;width:1rem;margin-top:.35rem;display:inline-flex;align-items:center;justify-content:center;font-size:.65rem;color:var(--muted);cursor:pointer;border:none;background:transparent;border-radius:4px;transition:transform var(--transition-fast),color var(--transition-fast);transform:rotate(-90deg)}.client-group__caret:hover{color:var(--text)}.client-group.is-open>.client-group__summary .client-group__caret{transform:rotate(0)}.client-group__caret:before{content:"▼";font-size:.55rem;line-height:1}.client-group__title{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;margin:0;padding:.2rem .35rem;font-family:var(--font-ui);font-size:inherit;font-weight:inherit;color:inherit;text-align:left;background:transparent;border:none;border-radius:6px;transition:background var(--transition-fast);cursor:pointer}.client-group__title.is-active{background:var(--accent-glow)}.client-group__name{font-weight:600;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.client-group__pin{flex-shrink:0;border:none;background:transparent;color:var(--muted);cursor:pointer;padding:.2rem;font-size:.85rem;border-radius:4px;transition:color var(--transition-fast)}.client-group__pin:hover{color:var(--text)}.client-group__pin.is-pinned{color:var(--accent)}.client-group__dropdown{padding:.25rem 0 .5rem .35rem;background:transparent}.client-group__empty{padding:.15rem .4rem;font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.75rem;color:var(--muted)}.project-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.project-item{display:grid;grid-template-columns:1fr auto;gap:.35rem .5rem;align-items:start;padding:.5rem .35rem;border-radius:6px;border:none;background:transparent;cursor:pointer;text-align:left;width:100%;font-family:var(--font-ui);font-size:inherit;font-style:normal;font-weight:inherit;color:inherit;transition:background var(--transition-fast)}.project-item:hover{background:var(--fill-hover)}.project-item.is-active{background:var(--accent-glow)}.project-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.project-item__name{font-weight:600;grid-column:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%}.project-item__meta{grid-column:1 / -1;font-size:.75rem;color:var(--muted)}.task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--task-list-gap)}.task-item{display:grid;grid-template-columns:var(--task-check-col) minmax(0,1fr) auto;align-items:center;column-gap:var(--task-row-gap);padding:var(--task-row-padding-block) var(--task-row-padding-inline);margin:0;width:100%;max-width:var(--task-max-width);border:none;border-radius:var(--task-radius);background:transparent;word-wrap:break-word;word-break:break-word;transition:background var(--transition-smooth)}.task-item.is-done{opacity:.72}.task-item.is-done .task-item__title{text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:var(--muted)}.task-item.is-overdue .task-item__title,.task-item.is-overdue .task-item__part{color:var(--danger)}.task-item__check-wrap{display:flex;align-items:center;justify-content:center;width:var(--task-check-col);height:var(--task-line-height)}.task-item__check{width:var(--task-check-size);height:var(--task-check-size);margin:0;accent-color:var(--success);cursor:pointer;border-radius:3px}.task-item__body{min-width:0;display:flex;align-items:center;min-height:var(--task-line-height)}.task-item__line{margin:0;display:flex;align-items:center;flex-wrap:nowrap;min-width:0;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-height:var(--task-line-height);line-height:var(--task-line-height);font-family:var(--font-ui)}.task-item__title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;margin:0 .35rem 0 0;cursor:pointer;border-radius:4px;padding:.1rem .2rem;transition:color var(--transition-fast)}.task-item__title:hover{color:var(--accent)}.task-item__part{flex-shrink:0;color:var(--muted);font-weight:var(--font-ui-light-weight);font-size:.85em;margin-right:.5rem}.task-item__actions{display:inline-flex;align-items:center;gap:.2rem}.empty-state{padding:1.5rem;text-align:center;color:var(--muted);font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.85rem}.task-details-page{max-width:880px;margin:0 auto;width:100%}.task-details-page__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.task-details-page__title{flex:1;text-align:center;font-family:var(--font-ui);font-size:clamp(1.4rem,3vw,2rem);line-height:1.2;font-weight:600;margin:0}.task-details-page__meta{text-align:center;font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.95rem;color:var(--muted);margin-bottom:.25rem}.task-details-page__notes{margin:.4rem auto .8rem;padding:.55rem .65rem;border:1px solid var(--divider);border-radius:8px;background:var(--fill-subtle);white-space:pre-wrap;font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.9rem;max-width:760px}.task-comments{max-width:760px;margin:0 auto;width:100%}.task-comments__title{font-family:var(--font-ui);font-size:.95rem;font-weight:600;margin:1.2rem 0 .6rem;text-align:center;color:var(--text)}.task-comments__form{margin:0 0 .7rem}.task-comments__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.task-comments__item{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:start;gap:.6rem;padding:.2rem 0}.task-comments__stamp{margin:1.4rem 0 0;color:var(--accent);font-family:var(--font-ui);font-size:.78rem;font-weight:600;line-height:1.2;white-space:pre-line;text-align:right;min-width:86px;padding-right:.1rem}.task-comments__content{min-width:0}@media(max-width:760px){.task-comments__item{grid-template-columns:1fr;gap:.35rem}.task-comments__stamp{margin:0;min-width:0;text-align:left;padding-right:0}}.task-comments__author{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:0;color:color-mix(in srgb,var(--text) 55%,transparent);font-family:var(--font-ui);font-size:.82rem;font-weight:600;line-height:1.25}.task-comments__delete{flex-shrink:0;margin-left:auto}.task-comments__time{margin:.12rem 0 0;color:var(--muted);font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.73rem}.task-comments__text{margin:.2rem 0 0;font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.86rem;white-space:pre-wrap;border:1px solid var(--divider);border-radius:8px;background:var(--fill-subtle);padding:.45rem .55rem;color:var(--text)}.task-comments__item.is-status .task-comments__text{border-color:var(--accent)}.task-item__comment-count{display:inline-flex;align-items:center;justify-content:center;min-width:1rem;height:1rem;padding:0 .22rem;border-radius:999px;font-size:.625rem;font-weight:700;line-height:1;background:var(--accent);color:#fffdfb;margin:0 .35rem}.calendar-general{padding:.55rem 0;display:grid;grid-template-columns:minmax(0,1fr) 280px;column-gap:.95rem;row-gap:.55rem;align-items:start}@media(max-width:760px){.calendar-general{grid-template-columns:1fr}}.calendar-general__head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.55rem;grid-column:1 / -1}.calendar-general__title{margin:0;font-family:var(--font-ui);font-size:.95rem;font-weight:600;color:var(--text)}.calendar-general__nav{display:inline-flex;align-items:center;gap:.35rem}.calendar-general__month-label{min-width:8.5rem;text-align:center;font-family:var(--font-ui);font-size:.85rem;color:var(--text);text-transform:capitalize}.calendar-general__weekdays,.calendar-general__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.calendar-general__weekdays{margin-bottom:.25rem;grid-column:1}.calendar-general__grid{grid-column:1}.calendar-general__weekday{text-align:center;font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.7rem;color:var(--muted);text-transform:uppercase}.calendar-general__day{border:1px solid transparent;border-radius:8px;background:var(--fill-subtle);color:var(--text);min-height:56px;padding:.35rem .35rem .25rem;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;cursor:pointer;font-family:var(--font-ui);transition:background var(--transition-fast),border-color var(--transition-fast)}.calendar-general__day:hover{background:var(--fill-hover)}.calendar-general__day.is-outside{opacity:.45}.calendar-general__day.is-today{border-color:var(--accent-dim)}.calendar-general__day.is-selected{background:var(--accent-glow);border-color:var(--accent-dim)}.calendar-general__day-number{font-size:.78rem;font-weight:600}.calendar-general__day-badge{margin-top:.25rem;border-radius:999px;background:var(--fill-hover);color:var(--text);font-size:.68rem;font-weight:600;padding:.05rem .45rem}.calendar-general__day.has-tasks .calendar-general__day-badge{background:var(--accent-glow);color:var(--accent)}.calendar-general__details{grid-column:2;min-width:0;padding-left:.85rem;border-left:1px solid var(--divider);min-height:12rem;align-self:stretch}@media(max-width:760px){.calendar-general__details{grid-column:1;border-left:none;border-top:1px solid var(--divider);padding-left:0;padding-top:.6rem}}.calendar-day-tasks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.calendar-day-tasks__item{display:flex;flex-direction:column;gap:.15rem;padding:.4rem .5rem;border-radius:6px;background:var(--fill-subtle);cursor:pointer;border:none;text-align:left;width:100%;min-width:0;font-family:var(--font-ui);color:var(--text);transition:background var(--transition-fast)}.calendar-day-tasks__item:hover{background:var(--fill-hover)}.calendar-day-tasks__title{font-weight:600;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.calendar-day-tasks__meta{font-weight:var(--font-ui-light-weight);font-size:.75rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.calendar-day-tasks__item.is-done .calendar-day-tasks__title{text-decoration:line-through;opacity:.7}.pile-page{display:flex;flex-direction:column;gap:1rem}.pile-batch{display:flex;flex-direction:column;gap:.5rem}.pile-batch__group{display:flex;flex-direction:column;gap:.25rem}.pile-batch__group-title{font-family:var(--font-ui);font-weight:600;font-size:.85rem;color:var(--text);margin:.4rem 0 .2rem;text-transform:capitalize}.pile-batch__controls{display:inline-flex;flex-wrap:wrap;gap:.5rem;margin:.2rem 0 .45rem;align-items:center}.pile-batch__item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.55rem;align-items:center;padding:.4rem .55rem;border-radius:6px;background:var(--fill-subtle);border:1px solid var(--divider)}.pile-batch__check{width:1rem;height:1rem;accent-color:var(--accent);cursor:pointer}.pile-batch__item-label{display:flex;flex-direction:column;gap:.1rem;min-width:0}.pile-batch__item-title{font-family:var(--font-ui);font-size:.88rem;color:var(--text);overflow:hidden;text-overflow:ellipsis}.pile-batch__item-meta{font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.75rem;color:var(--muted)}.pile-batch__item-actions{display:inline-flex;gap:.4rem;align-items:center}.pile-batch__totals{font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.82rem;color:var(--muted);margin-left:.25rem}.my-stuff__filters{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:.5rem}.my-stuff__filter{font-family:var(--font-ui);font-size:.85rem;font-weight:600;border:1px solid var(--divider);background:var(--fill-subtle);color:var(--muted);padding:.35rem .85rem;border-radius:999px;cursor:pointer;transition:all var(--transition-fast)}.my-stuff__filter:hover{color:var(--text)}.my-stuff__filter.is-active{background:var(--accent);border-color:var(--accent);color:#0a0e12}.my-stuff__bucket{margin-top:.85rem}.my-stuff__bucket-title{font-family:var(--font-ui);font-size:.95rem;font-weight:600;color:var(--text);margin:0 0 .4rem;border-bottom:1px solid var(--divider);padding-bottom:.25rem}.my-stuff__row-context{font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.72rem;color:var(--muted);margin:0 0 .1rem .25rem}.company-details-page{display:flex;flex-direction:column;gap:.85rem;min-height:0}.company-details-page__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-bottom:1px solid var(--divider);padding-bottom:.4rem}.company-details-page__title{font-family:var(--font-ui);font-size:1.25rem;font-weight:600;margin:0}.company-details-page__meta{font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.85rem;color:var(--muted);margin:0}.company-details-page__columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;min-height:0}@media(max-width:960px){.company-details-page__columns{grid-template-columns:1fr}}.company-details-page__column{display:flex;flex-direction:column;gap:.6rem;min-width:0}.company-details-page__column-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-bottom:.35rem;border-bottom:1px solid var(--divider)}.company-details-page__column-head h2{font-family:var(--font-ui);font-size:1rem;font-weight:600;margin:0}.company-details-page__column-add-btn{border:1px solid var(--divider);background:transparent;border-radius:999px;width:28px;height:28px;font-size:1rem;line-height:1;cursor:pointer;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;transition:color var(--transition-fast)}.company-details-page__column-add-btn:hover{color:var(--text);background:var(--fill-hover)}.company-details-page__column-body{display:flex;flex-direction:column;gap:.4rem;max-height:60vh;overflow-y:auto}.company-details-project-card{background:var(--fill-subtle);border:1px solid var(--divider);border-radius:var(--radius);padding:.55rem .7rem;display:flex;flex-direction:column;gap:.3rem}.company-details-project-card__head{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.company-details-project-card__title{font-family:var(--font-ui);font-weight:600;font-size:.92rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:none;background:transparent;text-align:left;cursor:pointer;color:var(--text);padding:0}.company-details-project-card__title:hover{color:var(--accent)}.company-details-project-card__meta{font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.78rem;color:var(--muted)}.company-details-project-card.is-archived{opacity:.65}.company-details-notes-card{background:var(--fill-subtle);border:1px solid var(--divider);border-radius:var(--radius);padding:.55rem .7rem;cursor:pointer;transition:border-color var(--transition-fast)}.company-details-notes-card:hover{border-color:var(--accent-dim)}.company-details-notes-card__title{font-family:var(--font-ui);font-weight:600;font-size:.92rem;margin:0 0 .2rem;color:var(--text)}.company-details-notes-card__meta{font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.72rem;color:var(--muted);margin-bottom:.3rem}.company-details-notes-card__preview{font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.82rem;color:var(--text);overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;white-space:pre-wrap}.company-details-archive-title{font-family:var(--font-ui);font-size:.82rem;font-weight:600;color:var(--muted);margin:.4rem 0 .2rem;text-transform:uppercase;letter-spacing:.04em}.note-details-page{max-width:760px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:.75rem}.note-details-page__head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.note-details-page__breadcrumb{font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.78rem;color:var(--muted);margin:0 0 .15rem}.note-details-page__title{font-family:var(--font-ui);font-size:1.4rem;font-weight:600;margin:0}.note-details-page__meta{font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.78rem;color:var(--muted)}.note-details-page__body{white-space:pre-wrap;background:var(--fill-subtle);border:1px solid var(--divider);border-radius:var(--radius);padding:.8rem 1rem;font-family:var(--font-text);font-size:.95rem;line-height:1.55;min-height:14em}.note-details-page__actions{display:inline-flex;gap:.5rem;align-items:center}.reports-page__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.6rem}.reports-page__title{font-family:var(--font-ui);font-size:1.1rem;font-weight:600;margin:0}.reports-page__type-select{font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.85rem;padding:.4rem .7rem;border:1px solid var(--divider);background:var(--fill-subtle);color:var(--text);border-radius:8px}.table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.report-table{width:100%;border-collapse:separate;border-spacing:0;font-family:var(--font-ui);font-size:.86rem}.report-table th,.report-table td{text-align:left;padding:.45rem .6rem;border-bottom:1px solid var(--divider)}.report-table th{font-weight:600;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.report-table tr:hover td{background:var(--fill-subtle)}.report-table td.numeric,.report-table th.numeric{text-align:right;font-variant-numeric:tabular-nums}.report-table td a,.report-table td button{color:var(--accent);background:transparent;border:none;padding:0;font:inherit;cursor:pointer}.report-table td a:hover,.report-table td button:hover{text-decoration:underline}.report-table .overdue{color:var(--danger);font-weight:600}.tabs{display:inline-flex;gap:.25rem;padding:.25rem;border:1px solid var(--divider);border-radius:10px;background:var(--fill-subtle)}.tabs__item{border:none;background:transparent;color:var(--muted);font-family:var(--font-ui);font-size:.85rem;font-weight:600;border-radius:8px;padding:.4rem .85rem;cursor:pointer;transition:all var(--transition-fast)}.tabs__item:hover{color:var(--text)}.tabs__item.is-active{background:var(--accent-glow);color:var(--text)}.adminland-page{display:flex;flex-direction:column;gap:.85rem}.adminland-page__head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem}.adminland-page__title{font-family:var(--font-ui);font-size:1.15rem;font-weight:600;margin:0}.user-table .role-badge{display:inline-block;font-family:var(--font-ui);font-size:.7rem;font-weight:700;padding:.05rem .4rem;border-radius:999px;background:var(--fill-hover);color:var(--muted)}.user-table .role-badge.is-admin{background:var(--accent);color:#0a0e12}.user-table td.checkbox-cell{text-align:center}.access-matrix-table{border-collapse:separate;border-spacing:0;font-family:var(--font-ui);font-size:.85rem;width:100%}.access-matrix-table th,.access-matrix-table td{padding:.4rem .5rem;border-bottom:1px solid var(--divider)}.access-matrix-table th{font-weight:600;color:var(--muted);font-size:.75rem;text-transform:uppercase;white-space:nowrap}.access-matrix-table th.client-col{text-align:center;min-width:80px}.access-matrix-table td.cell{text-align:center}.access-matrix-table input[type=checkbox]{accent-color:var(--accent);width:1.1rem;height:1.1rem}.management-page{display:flex;flex-direction:column;gap:.85rem}.management-page__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.management-page__title{font-family:var(--font-ui);font-size:1.15rem;font-weight:600;margin:0}.break-even-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem;padding:.85rem;background:var(--fill-subtle);border:1px solid var(--divider);border-radius:var(--radius)}.break-even-card__kpi{display:flex;flex-direction:column;gap:.15rem}.break-even-card__label{font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.break-even-card__value{font-family:var(--font-ui);font-size:1.1rem;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.break-even-card__value.is-accent{color:var(--accent)}.month-bar{width:100%;background:var(--fill-subtle);border:1px solid var(--divider);border-radius:999px;height:8px;margin-top:.25rem;overflow:hidden}.month-bar__fill{height:100%;background:var(--accent);transition:width var(--transition-base)}.management-section{border:1px solid var(--divider);border-radius:var(--radius);padding:.75rem .85rem;background:var(--surface);display:flex;flex-direction:column;gap:.5rem}.management-section__title{font-family:var(--font-ui);font-size:.95rem;font-weight:600;margin:0}.superadmin-page{display:flex;flex-direction:column;gap:.85rem}.superadmin-page__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.superadmin-page__title{font-family:var(--font-ui);font-size:1.15rem;font-weight:600;margin:0}.trigger-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.5rem .65rem;background:var(--fill-subtle);border:1px solid var(--divider);border-radius:8px}.trigger-row+.trigger-row{margin-top:.4rem}.trigger-row__event{font-family:var(--font-ui);font-weight:600;font-size:.88rem}.trigger-row__desc{font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.78rem;color:var(--muted)}.trigger-row__switch{accent-color:var(--accent);width:1.2rem;height:1.2rem}.template-card{display:flex;flex-direction:column;gap:.4rem;padding:.65rem .8rem;background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius)}.template-card+.template-card{margin-top:.6rem}.template-card__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.template-card__event{font-family:var(--font-ui);font-weight:600;font-size:.9rem}.template-card__placeholder-hint{font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.72rem;color:var(--muted)}.template-card code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;padding:.05rem .2rem;border-radius:4px;background:var(--fill-hover);color:var(--accent)}.rewards-page{display:flex;flex-direction:column;gap:1rem}.rewards-intro{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:.85rem 1rem;background:var(--fill-subtle);border:1px solid var(--divider);border-radius:var(--radius)}.rewards-intro__tier{font-size:2.2rem;line-height:1}.rewards-intro__title{font-family:var(--font-ui);font-size:1rem;font-weight:600;margin:0 0 .15rem;color:var(--text)}.rewards-intro__meta{font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.82rem;color:var(--muted)}.rewards-intro__balance{text-align:right}.rewards-intro__balance-value{font-family:var(--font-ui);font-size:1.6rem;font-weight:700;color:var(--accent);line-height:1}.rewards-intro__balance-label{font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:.2rem}.rewards-shop{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.6rem}.rewards-shop__item{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius);padding:.7rem .85rem;display:flex;flex-direction:column;gap:.4rem}.rewards-shop__item.is-unavailable{opacity:.6}.rewards-shop__title{font-family:var(--font-ui);font-weight:600;font-size:.95rem;color:var(--text);margin:0}.rewards-shop__desc{font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.82rem;color:var(--muted);margin:0;flex:1}.rewards-shop__cost{font-family:var(--font-ui);font-weight:600;font-size:1.05rem;color:var(--accent)}.rewards-pending{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.rewards-pending__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:center;background:var(--fill-subtle);border:1px solid var(--divider);border-radius:8px;padding:.45rem .6rem}.rewards-pending__meta{font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.74rem;color:var(--muted)}.rewards-pending__title{font-family:var(--font-ui);font-weight:600;font-size:.88rem;color:var(--text)}.rewards-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.5rem;padding:.35rem .5rem;border-bottom:1px solid var(--divider);font-family:var(--font-ui);font-size:.86rem}.rewards-history-row:last-child{border-bottom:none}.rewards-history-row__points{font-weight:600;font-variant-numeric:tabular-nums}.rewards-history-row__points.is-positive{color:var(--success)}.rewards-history-row__points.is-negative{color:var(--danger)}.tier-row{display:grid;grid-template-columns:auto auto 1fr auto;gap:.6rem;align-items:center;padding:.4rem .5rem;background:var(--fill-subtle);border:1px solid var(--divider);border-radius:8px}.tier-row+.tier-row{margin-top:.35rem}.tier-row__index{font-family:var(--font-ui);font-weight:600;font-size:.8rem;color:var(--muted);min-width:1.6rem}.tier-row__emoji-input{width:5rem!important;text-align:center!important;font-size:1.2rem!important}.tier-row__label-input{flex:1}.calendar-general__day-meta{display:inline-flex;flex-wrap:wrap;gap:.25rem;align-items:center;margin-top:.25rem}.calendar-general__day-vacation{font-size:.85rem;line-height:1}.calendar-day-markers{list-style:none;margin:0 0 .6rem;padding:0;display:flex;flex-direction:column;gap:.2rem}.calendar-day-markers li{display:flex;align-items:center;gap:.4rem;padding:.25rem .5rem;background:var(--fill-subtle);border:1px solid var(--divider);border-radius:6px;font-family:var(--font-ui);font-size:.82rem;min-width:0}.calendar-day-markers__icon{font-size:1rem;line-height:1;flex:0 0 auto}.calendar-day-markers__name{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.calendar-day-markers__kind{color:var(--muted);font-weight:var(--font-ui-light-weight);flex:0 0 auto}.check-in-rule-card{display:flex;flex-direction:column;gap:.3rem;padding:.55rem .7rem;border:1px solid var(--divider);border-radius:var(--radius);background:var(--fill-subtle);cursor:pointer;transition:border-color var(--transition-fast)}.check-in-rule-card:hover{border-color:var(--accent-dim)}.check-in-rule-card.is-paused{opacity:.6}.check-in-rule-card__head{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.check-in-rule-card__question{font-family:var(--font-ui);font-weight:600;font-size:.92rem;color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.check-in-rule-card__meta{font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.75rem;color:var(--muted)}.check-in-rule-card__count{display:inline-flex;align-items:center;justify-content:center;min-width:1rem;padding:0 .35rem;height:1rem;border-radius:999px;font-size:.66rem;font-weight:700;background:var(--accent);color:#fffdfb}.check-in-form__row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}@media(max-width:600px){.check-in-form__row{grid-template-columns:1fr}}.check-in-weekdays{display:inline-flex;flex-wrap:wrap;gap:.3rem}.check-in-weekdays__btn{font-family:var(--font-ui);font-size:.78rem;font-weight:600;border:1px solid var(--divider);background:var(--fill-subtle);color:var(--muted);width:2.2rem;height:2rem;border-radius:6px;cursor:pointer;text-transform:uppercase}.check-in-weekdays__btn:hover{color:var(--text)}.check-in-weekdays__btn.is-on{background:var(--accent);border-color:var(--accent);color:#0a0e12}.check-in-assignees{display:flex;flex-direction:column;gap:.25rem;max-height:12rem;overflow-y:auto;padding:.4rem .5rem;border:1px solid var(--divider);border-radius:8px;background:var(--fill-subtle)}.check-in-assignees label{display:inline-flex;align-items:center;gap:.4rem;margin:0;font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.85rem;color:var(--text)}.check-in-assignees input{accent-color:var(--accent)}.check-in-details-page{max-width:760px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:.85rem}.check-in-details-page__head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.check-in-details-page__breadcrumb{font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.78rem;color:var(--muted)}.check-in-details-page__question{font-family:var(--font-ui);font-size:1.2rem;font-weight:600;margin:0}.check-in-details-page__meta{font-family:var(--font-ui);font-weight:var(--font-ui-light-weight);font-size:.82rem;color:var(--muted)}.settings-menu{position:relative}.settings-menu__trigger{min-width:36px;width:36px;padding:0;font-size:1rem;line-height:1}.settings-menu__panel{position:absolute;top:calc(100% + .25rem);right:0;min-width:140px;border:1px solid var(--divider);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-lg);padding:.25rem;display:grid;gap:.2rem;z-index:160}.settings-menu__panel[hidden]{display:none}.settings-menu__item{appearance:none;border:1px solid transparent;background:transparent;color:var(--text);font:inherit;font-family:var(--font-ui);text-align:left;border-radius:6px;padding:.4rem .5rem;cursor:pointer}.settings-menu__item:hover,.settings-menu__item:focus-visible{background:var(--fill-hover);outline:none}.account-menu__trigger{display:inline-flex;align-items:center;gap:.25rem;max-width:min(240px,38vw);min-height:1.75rem;padding:.2rem .35rem .2rem .45rem;border:1px solid var(--divider);background:var(--fill-subtle);color:var(--text);cursor:pointer;border-radius:8px;font-family:var(--font-ui);font-size:.75rem;transition:background var(--transition-fast)}.account-menu__trigger:hover{background:var(--fill-hover)}.account-menu__email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;color:var(--text);text-align:left;line-height:1.2}.account-menu__caret{flex-shrink:0;font-size:.55rem;color:var(--muted);line-height:1}.account-menu__panel{min-width:9.5rem;padding:.15rem;gap:.05rem;border-radius:6px;top:calc(100% + .15rem)}.account-menu__panel .settings-menu__item{font-family:var(--font-ui);font-size:.75rem;padding:.35rem .5rem}.account-menu__divider{height:1px;background:var(--divider);margin:.15rem .3rem}#app{min-height:100dvh;display:flex;flex-direction:column}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}.form-field[data-v-398e0764]{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:var(--muted);margin-bottom:.65rem}.form-field__caption[data-v-398e0764]{font-family:var(--font-ui);font-weight:var(--font-ui-light-weight)}.form-field__error[data-v-398e0764]{margin-top:.25rem;color:var(--danger);font-size:.75rem}
