:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-feature-settings:"cv02","cv03","cv04","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;letter-spacing:-.011em;color:var(--color-text);background:var(--color-bg);--color-bg: #f7f8fa;--color-text: #1b1b1f;--color-text-secondary: #5c5c66;--color-primary: #5e6ad2;--color-primary-hover: #4f5bc4;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-input-bg: #ffffff;--color-border: rgba(0, 0, 0, .08);--color-border-strong: rgba(0, 0, 0, .12);--color-hover: rgba(0, 0, 0, .04);--color-hover-strong: rgba(0, 0, 0, .06);--color-muted: #6b6f76;--color-danger: #e5484d;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04), 0 0 0 1px rgba(0, 0, 0, .02);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08), 0 0 0 1px rgba(0, 0, 0, .04);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .1);--radius: 6px;--radius-sm: 4px;--radius-lg: 8px;--sidebar-width: 240px;--sidebar-collapsed: 72px;--header-height: 72px;--bottom-nav-height: 64px;--accent-normal: #8b8f98;--accent-important: #f59e0b;--accent-urgent: #e5484d;--transition-fast: .12s ease}[data-theme=dark]{color-scheme:dark;--color-bg: #0a0a0b;--color-text: #eeeef0;--color-text-secondary: #a0a4ab;--color-primary: #7170ff;--color-primary-hover: #8281ff;--color-surface: #141415;--color-surface-elevated: #1a1a1c;--color-input-bg: #1a1a1c;--color-border: rgba(255, 255, 255, .08);--color-border-strong: rgba(255, 255, 255, .12);--color-hover: rgba(255, 255, 255, .05);--color-hover-strong: rgba(255, 255, 255, .08);--color-muted: #8b8f98;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4), 0 0 0 1px rgba(255, 255, 255, .04);--shadow-md: 0 4px 20px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 255, 255, .05);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .6)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--color-bg);color:var(--color-text)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.app-shell{display:flex;min-height:100vh;background:var(--color-bg)}.app-shell__desktop-sidebar{display:none;flex-shrink:0}.app-shell__main{flex:1;min-width:0;display:flex;flex-direction:column}.app-shell__content{flex:1;padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0))}.app-shell--with-bottom-nav .app-shell__content{padding-bottom:calc(var(--bottom-nav-height) + 1rem + env(safe-area-inset-bottom,0))}.top-header-desktop{display:none}.top-header-mobile{display:block}.sidebar{width:var(--sidebar-width);height:100vh;position:sticky;top:0;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;padding:1rem .75rem}.sidebar--collapsed{width:var(--sidebar-collapsed)}.sidebar--mobile{width:100%;height:100%;position:static;border:none}.sidebar__brand{display:flex;align-items:center;gap:.6rem;padding:.25rem .5rem 1rem;text-decoration:none;color:inherit;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.sidebar__brand:hover{background:var(--color-hover)}.sidebar__logo{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-primary) 14%,transparent);color:var(--color-primary)}.sidebar__name{font-weight:600;font-size:.95rem;color:var(--color-text);letter-spacing:-.02em}.sidebar__theme{display:flex;align-items:center;gap:.5rem;width:100%;border:none;background:transparent;color:var(--color-muted);padding:.45rem .5rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.8125rem;margin-bottom:.35rem;transition:background var(--transition-fast),color var(--transition-fast)}.sidebar__theme:hover{background:var(--color-hover);color:var(--color-text)}.sidebar__nav{flex:1;display:flex;flex-direction:column;gap:.15rem;overflow-y:auto}.sidebar__link{display:flex;align-items:center;gap:.65rem;padding:.45rem .6rem;border-radius:var(--radius-sm);color:var(--color-text-secondary);text-decoration:none;font-size:.8125rem;font-weight:500;transition:background var(--transition-fast),color var(--transition-fast)}.sidebar__link:hover{background:var(--color-hover);color:var(--color-text);text-decoration:none}.sidebar__link--active{background:var(--color-hover-strong);color:var(--color-text);box-shadow:none;font-weight:500}.sidebar__link-icon{display:flex;flex-shrink:0}.sidebar__link-label{flex:1}.sidebar__badge{background:var(--color-hover-strong);color:var(--color-text-secondary);font-size:.6875rem;font-weight:500;padding:.05rem .4rem;border-radius:var(--radius-sm);font-variant-numeric:tabular-nums}.sidebar__link--active .sidebar__badge{background:color-mix(in srgb,var(--color-primary) 18%,transparent);color:var(--color-primary)}.sidebar__footer{margin-top:auto;padding-top:.75rem}.sidebar__user{display:flex;gap:.65rem;align-items:center;padding:.6rem;border-radius:var(--radius);background:var(--color-surface-elevated);border:1px solid var(--color-border);margin-bottom:.5rem}.sidebar__user-avatar{width:32px;height:32px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-primary) 16%,transparent);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.75rem}.sidebar__user-name{font-weight:500;font-size:.8125rem;letter-spacing:-.01em}.sidebar__user-role{font-size:.75rem;color:var(--color-muted)}.sidebar__collapse,.sidebar__logout{width:100%;display:flex;align-items:center;gap:.5rem;justify-content:center;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.45rem;cursor:pointer;color:var(--color-text-secondary);font-size:.8125rem;transition:background var(--transition-fast),border-color var(--transition-fast)}.sidebar__collapse:hover,.sidebar__logout:hover{background:var(--color-hover);border-color:var(--color-border-strong)}.sidebar__collapse-icon--flipped{transform:rotate(180deg)}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:100}.sidebar-overlay__panel{width:min(280px,85vw);height:100%;background:var(--color-surface)}.top-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.top-header__left{min-width:0}.top-header__title{margin:0;font-size:1.25rem;font-weight:600;letter-spacing:-.025em}.top-header__subtitle{font-size:.8125rem;color:var(--color-muted);margin-top:.15rem}.top-header__breadcrumbs{font-size:.75rem;color:var(--color-muted);margin-top:.2rem}.top-header__sep{margin:0 .35rem}.top-header__search{flex:1;max-width:420px;display:flex;align-items:center;gap:.5rem;background:var(--color-input-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.45rem .7rem;color:var(--color-muted);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.top-header__search:focus-within{border-color:var(--color-border-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 12%,transparent)}.top-header__search-input{border:none;background:transparent;flex:1;font-size:.8125rem;outline:none;color:var(--color-text)}.top-header__actions{display:flex;align-items:center;gap:.65rem;margin-left:auto}.top-header__create{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none}.top-header__user{display:flex;align-items:center;gap:.5rem}.top-header__user-name{font-size:.88rem;font-weight:500}.top-header__logout{border:none;background:transparent;color:var(--color-muted);cursor:pointer;font-size:.82rem}.mobile-header{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;background:color-mix(in srgb,var(--color-surface) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:none;box-shadow:0 1px color-mix(in srgb,var(--color-border) 60%,transparent);position:sticky;top:0;z-index:20}.mobile-header__title{margin:0;flex:1;font-size:1.0625rem;font-weight:650;letter-spacing:-.025em}.mobile-header__title-wrap{flex:1;min-width:0}.mobile-header__title-btn{display:inline-flex;align-items:center;gap:.25rem;border:none;background:transparent;padding:0;color:inherit;cursor:pointer;max-width:100%}.mobile-header__title-btn .mobile-header__title{flex:unset}.mobile-header__title-chevron{transform:rotate(90deg);color:var(--color-muted);flex-shrink:0}.mobile-header__subtitle{font-size:.6875rem;font-weight:500;color:var(--color-text-secondary);margin-top:.15rem;letter-spacing:-.01em}.mobile-header__actions{display:flex;gap:.25rem}.mobile-header__spacer{width:40px;flex-shrink:0}.mobile-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg)}.mobile-shell__content{flex:1;overflow-y:auto}.mobile-shell--with-nav .mobile-shell__content{padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0))}.mobile-shell--with-fab .mobile-shell__content{padding-bottom:calc(var(--bottom-nav-height) + 4.5rem + env(safe-area-inset-bottom,0))}.mobile-page-content{padding:.75rem 1rem 1.5rem}.mobile-task-detail{padding:.75rem 1rem 5.5rem}.mobile-filters{padding:0 1rem .75rem}.mobile-filters__search{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;color:var(--color-muted)}.mobile-filters__search .input,.mobile-filters__input{flex:1}.mobile-filters__row{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem;align-items:center}.mobile-filters__btn{display:inline-flex;align-items:center;gap:.25rem;white-space:nowrap;padding:.5rem .65rem;font-size:.82rem}.mobile-filters__extra{margin-top:.5rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;align-items:center;justify-content:space-around;height:calc(var(--bottom-nav-height) + .35rem);padding-top:.35rem;padding-bottom:env(safe-area-inset-bottom,0);background:color-mix(in srgb,var(--color-surface) 92%,transparent);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);border-top:none;box-shadow:0 -4px 24px color-mix(in srgb,var(--color-text) 6%,transparent),0 -1px color-mix(in srgb,var(--color-border) 50%,transparent)}.bottom-nav__item{display:flex;flex-direction:column;align-items:center;gap:.2rem;font-size:.625rem;font-weight:500;letter-spacing:-.01em;color:var(--color-muted);text-decoration:none;padding:.35rem .6rem;border-radius:10px;transition:color .15s ease,background .15s ease,transform .12s ease}.bottom-nav__item--active{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.bottom-nav__item:active:not(.bottom-nav__item--active){transform:scale(.96)}.bottom-nav__item--disabled{opacity:.5}.bottom-nav__fab{width:48px;height:48px;border-radius:999px;background:linear-gradient(145deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);color:#fff;display:flex;align-items:center;justify-content:center;margin-top:-22px;box-shadow:0 4px 16px color-mix(in srgb,var(--color-primary) 40%,transparent),0 2px 4px color-mix(in srgb,var(--color-text) 8%,transparent);text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.bottom-nav__fab:active{transform:scale(.94)}.bottom-nav__icon-wrap{position:relative;display:inline-flex}.bottom-nav__badge{position:absolute;top:-4px;right:-8px;min-width:16px;height:16px;padding:0 3px;border-radius:999px;background:#ef4444;color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--color-surface);box-shadow:0 1px 3px color-mix(in srgb,#ef4444 40%,transparent)}.mobile-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border);background:var(--color-surface);overflow-x:auto}.mobile-tabs__item{flex:1;min-width:0;padding:.65rem .5rem;border:none;background:transparent;font-size:.75rem;font-weight:500;color:var(--color-muted);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;transition:color var(--transition-fast),border-color var(--transition-fast)}.mobile-tabs__item--active{color:var(--color-text);border-bottom-color:var(--color-primary)}.mobile-tabs__badge{display:inline-block;margin-left:.25rem;font-size:.6875rem;padding:.05rem .3rem;border-radius:var(--radius-sm);background:var(--color-hover-strong);font-variant-numeric:tabular-nums}.mobile-tabs__item--active .mobile-tabs__badge{background:color-mix(in srgb,var(--color-primary) 16%,transparent);color:var(--color-primary)}.stats-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.stats-row--scroll{display:flex;overflow-x:auto;gap:.65rem;padding-bottom:.25rem;scrollbar-width:none}.stats-row--scroll .stat-card{min-width:130px;flex:0 0 auto;padding:.75rem}.stat-card{display:flex;gap:.75rem;align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.85rem 1rem;box-shadow:none;transition:border-color var(--transition-fast),background var(--transition-fast)}.stat-card:hover{border-color:var(--color-border-strong);background:var(--color-surface-elevated)}.stat-card__icon{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.stat-card__icon--blue{background:color-mix(in srgb,#5e6ad2 14%,transparent);color:#5e6ad2}.stat-card__icon--red{background:color-mix(in srgb,#e5484d 14%,transparent);color:#e5484d}.stat-card__icon--orange{background:color-mix(in srgb,#f59e0b 14%,transparent);color:#d97706}.stat-card__icon--green{background:color-mix(in srgb,#30a46c 14%,transparent);color:#30a46c}.stat-card__title{font-size:.75rem;color:var(--color-muted);font-weight:500}.stat-card__value{font-size:1.375rem;font-weight:600;line-height:1.2;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-card__delta{font-size:.6875rem;margin-top:.2rem;font-weight:500}.stat-card__delta--blue{color:#5e6ad2}.stat-card__delta--red{color:#e5484d}.stat-card__delta--orange{color:#d97706}.stat-card__delta--green{color:#30a46c}.filters-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.85rem 1rem;margin-bottom:1rem;align-items:end;box-shadow:none}.filters-bar--mobile{grid-template-columns:1fr 1fr}.filters-bar__search-row{grid-column:1 / -1}.filters-bar__actions{display:flex;gap:.5rem;align-items:center}.task-list{display:flex;flex-direction:column;gap:.5rem}.task-row{display:grid;grid-template-columns:4px 1.6fr 1fr .9fr .9fr 24px;gap:.75rem;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.7rem .85rem;color:inherit;text-decoration:none;box-shadow:none;transition:background var(--transition-fast),border-color var(--transition-fast)}.task-row:hover{text-decoration:none;background:var(--color-surface-elevated);border-color:var(--color-border-strong);box-shadow:none}.task-row__accent{width:4px;align-self:stretch;border-radius:4px;min-height:48px}.task-row__head{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin-bottom:.25rem}.task-row__number{font-weight:600;font-size:.8125rem;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.task-row__title{font-weight:500;margin-bottom:.2rem;font-size:.875rem;letter-spacing:-.01em}.task-row__location{display:flex;align-items:center;gap:.3rem;font-size:.82rem;color:var(--color-muted)}.task-row__icon--urgent{color:#dc2626;display:flex}.task-row__assignee,.task-row__created{display:flex;gap:.5rem;align-items:center;font-size:.85rem}.task-row__assignee-name{font-weight:500}.task-row__assignee-role{font-size:.78rem;color:var(--color-muted)}.task-row__sla{display:flex;flex-direction:column;gap:.1rem;font-size:.78rem;align-items:flex-start}.task-row__sla-timer{font-weight:600;font-size:.8125rem;font-variant-numeric:tabular-nums}.task-row__sla--overdue{color:#e5484d}.task-row__sla--warning{color:#d97706}.task-row__sla--ok,.task-row__sla--done{color:#30a46c}.task-row__more{color:var(--color-muted);text-align:center}.task-card{display:flex;gap:.75rem;align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-left-width:3px;border-radius:var(--radius);padding:.75rem .85rem;margin-bottom:.5rem;color:inherit;text-decoration:none;box-shadow:none;transition:background var(--transition-fast),border-color var(--transition-fast)}.task-card:hover{text-decoration:none;background:var(--color-surface-elevated);border-color:var(--color-border-strong);box-shadow:none}.task-card__icon-circle{width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.task-card__icon-circle--urgent{background:color-mix(in srgb,#e5484d 14%,transparent);color:#e5484d}.task-card__icon-circle--important{background:color-mix(in srgb,#f59e0b 14%,transparent);color:#d97706}.task-card__icon-circle--normal{background:var(--color-hover-strong);color:var(--color-muted)}.task-card__body{flex:1;min-width:0}.task-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.35rem}.task-card__id-row{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.task-card__number{font-weight:600;font-size:.8125rem;font-variant-numeric:tabular-nums}.task-card__title{font-weight:500;margin-bottom:.35rem;line-height:1.35;font-size:.875rem;letter-spacing:-.01em}.task-card__meta,.task-card__location{display:flex;align-items:center;gap:.3rem;font-size:.82rem;color:var(--color-muted);margin-bottom:.5rem}.task-card__footer{display:flex;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.task-card__assignee{display:flex;gap:.5rem;align-items:center}.task-card__assignee-name{font-weight:500;font-size:.85rem}.task-card__assignee-role{font-size:.75rem;color:var(--color-muted)}.task-card__dates{text-align:right;font-size:.78rem}.task-card__sla{display:flex;align-items:center;gap:.35rem;font-size:.78rem;flex:1;min-width:0;padding-top:.5rem;border-top:1px solid #f3f4f6}.task-card__bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:.5rem}.task-card__more{color:var(--color-muted);font-size:1.25rem;line-height:1;flex-shrink:0;padding-bottom:.15rem}.task-card__sla-timer{font-weight:700}.task-card__sla--overdue{color:#dc2626}.task-card__sla--warning{color:#ea580c}.task-card__sla--ok{color:#059669}.task-card__status-icon--urgent{color:#dc2626;display:flex}.mobile-fab{position:fixed;right:1rem;bottom:calc(var(--bottom-nav-height) + 1rem + env(safe-area-inset-bottom,0));z-index:25;width:52px;height:52px;border-radius:14px;background:linear-gradient(145deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);color:#fff;border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px color-mix(in srgb,var(--color-primary) 42%,transparent),0 2px 6px color-mix(in srgb,var(--color-text) 10%,transparent);cursor:pointer;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.mobile-fab:hover{transform:translateY(-1px);box-shadow:0 8px 24px color-mix(in srgb,var(--color-primary) 48%,transparent),0 2px 8px color-mix(in srgb,var(--color-text) 12%,transparent)}.mobile-fab:active{transform:scale(.96)}.desktop-only{display:none!important}.mobile-only{display:block}.ui-badge{display:inline-flex;align-items:center;padding:.1rem .4rem;border-radius:var(--radius-sm);font-size:.6875rem;font-weight:500;letter-spacing:.01em;white-space:nowrap;line-height:1.4}.ui-badge--default{background:var(--color-hover-strong);color:var(--color-text-secondary)}.ui-badge--blue{background:color-mix(in srgb,#5e6ad2 16%,transparent);color:#5e6ad2}.ui-badge--purple{background:color-mix(in srgb,#8b5cf6 16%,transparent);color:#8b5cf6}.ui-badge--green{background:color-mix(in srgb,#30a46c 16%,transparent);color:#30a46c}.ui-badge--gray{background:var(--color-hover-strong);color:var(--color-muted)}.ui-badge--orange{background:color-mix(in srgb,#f59e0b 16%,transparent);color:#d97706}.ui-badge--red{background:color-mix(in srgb,#e5484d 16%,transparent);color:#e5484d}.ui-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-primary) 14%,transparent);color:var(--color-primary);font-weight:600;flex-shrink:0}.ui-avatar--sm{width:32px;height:32px;font-size:.72rem}.ui-avatar--md{width:36px;height:36px;font-size:.8rem}.ui-avatar--lg{width:44px;height:44px;font-size:.9rem}.btn{border:none;border-radius:var(--radius-sm);padding:.45rem .75rem;cursor:pointer;font-size:.8125rem;font-weight:500;letter-spacing:-.01em;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 1px 2px #0000001f}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:0 2px 6px color-mix(in srgb,var(--color-primary) 35%,transparent)}.btn-secondary{background:var(--color-hover);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-hover-strong);border-color:var(--color-border-strong)}.btn-danger-outline{background:transparent;color:#e5484d;border:1px solid color-mix(in srgb,#e5484d 30%,transparent)}.btn-danger-outline:hover:not(:disabled){background:color-mix(in srgb,#e5484d 10%,transparent)}.btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn{border:none;background:transparent;padding:.4rem;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);display:inline-flex;align-items:center;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast)}.icon-btn:hover{background:var(--color-hover);color:var(--color-text)}.icon-btn--badge{position:relative}.icon-btn--badge[data-badge]:after{content:attr(data-badge);position:absolute;top:2px;right:2px;min-width:14px;height:14px;padding:0 3px;border-radius:999px;background:#ef4444;color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center}.input,.select,.textarea{width:100%;padding:.45rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.8125rem;background:var(--color-input-bg);color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--color-border-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 12%,transparent)}.field{margin-bottom:.9rem}.field label{display:block;margin-bottom:.35rem;font-size:.75rem;font-weight:500;color:var(--color-text-secondary)}.meta{color:var(--color-muted);font-size:.8125rem}.error{color:var(--color-danger);margin-bottom:.75rem;padding:.65rem .85rem;background:color-mix(in srgb,#e5484d 10%,transparent);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,#e5484d 25%,transparent);font-size:.8125rem}.success{color:#30a46c;margin-bottom:.75rem;padding:.65rem .85rem;background:color-mix(in srgb,#30a46c 10%,transparent);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,#30a46c 25%,transparent);font-size:.8125rem}.card,.page-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.85rem 1rem;margin-bottom:.75rem;box-shadow:none}.page-section__head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.65rem}.page-section__title{margin:0;font-size:.875rem;font-weight:600;letter-spacing:-.01em;color:var(--color-text)}.empty-state{text-align:center;padding:2.5rem 1rem;color:var(--color-muted);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius)}.empty-state__title{font-weight:600;color:var(--color-text);margin-bottom:.35rem;font-size:.875rem;letter-spacing:-.01em}.loading-state{text-align:center;padding:2rem;color:var(--color-muted)}.detail-layout{max-width:1100px;margin:0 auto}.detail-mobile-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;margin-bottom:.5rem}.detail-hero{margin-bottom:1rem}.detail-hero__tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.detail-hero__title{margin:0 0 .35rem;font-size:1.125rem;font-weight:600;letter-spacing:-.02em}.detail-hero__meta{color:var(--color-muted);font-size:.88rem}.detail-grid{display:grid;grid-template-columns:1fr 320px;gap:1rem;align-items:start}.info-grid{display:flex;flex-direction:column}.info-row{display:flex;align-items:center;gap:.75rem;padding:.85rem 0;border-bottom:1px solid #f3f4f6}.info-row:last-child{border-bottom:none}.info-row__icon{color:var(--color-muted);display:flex}.info-row__body{flex:1;min-width:0}.info-row__label{font-size:.78rem;color:var(--color-muted)}.info-row__value{font-weight:500;font-size:.92rem}.info-row__sub{font-size:.78rem;color:var(--color-muted)}.info-row__chevron{color:#d1d5db;flex-shrink:0}.info-row--action{width:100%;text-align:left;background:transparent;border:none;border-bottom:1px solid #f3f4f6;cursor:pointer;font:inherit;color:inherit}.info-row--action:last-child{border-bottom:none}.info-row--action:disabled{cursor:default;opacity:1}.info-row--action:not(:disabled):active{background:var(--color-bg)}.mobile-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:flex-end;justify-content:center}.mobile-sheet__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#0f172a73;cursor:pointer}.mobile-sheet__panel{position:relative;width:100%;max-height:min(70vh,520px);background:var(--color-surface);border-radius:16px 16px 0 0;box-shadow:var(--shadow-md);display:flex;flex-direction:column}.mobile-sheet__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1rem .5rem;border-bottom:1px solid var(--color-border)}.mobile-sheet__title{margin:0;font-size:1rem;font-weight:700}.mobile-sheet__close{border:none;background:transparent;color:var(--color-primary);font-size:.9rem;cursor:pointer;padding:.25rem 0}.mobile-sheet__body{overflow:auto;padding-bottom:env(safe-area-inset-bottom,0)}.mobile-sheet__list{display:flex;flex-direction:column}.mobile-sheet__option{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.95rem 1rem;border:none;border-bottom:1px solid #f3f4f6;background:transparent;text-align:left;font:inherit;font-size:.95rem;cursor:pointer}.mobile-sheet__option:last-child{border-bottom:none}.mobile-sheet__option:not(:disabled):active{background:var(--color-bg)}.mobile-sheet__option--active{color:var(--color-primary);font-weight:600}.mobile-sheet__check{color:var(--color-primary);font-weight:700}.info-row__dot{width:10px;height:10px;border-radius:999px;flex-shrink:0;align-self:center}.info-row__dot--red{background:#ef4444}.info-row__dot--orange{background:#f97316}.info-row__dot--gray{background:#9ca3af}.info-row__dot--green{background:#22c55e}.info-row__dot--blue{background:#3b82f6}.info-row__dot--yellow{background:#eab308}.info-row__dot--default{background:#9ca3af}.comment-item__head{display:flex;gap:.5rem;align-items:center;margin-bottom:.35rem}.comment-item__name{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;font-weight:500;font-size:.88rem}.attachment-thumb--add{display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--color-muted);border-style:dashed;cursor:pointer;background:#fafafa}.detail-side{position:sticky;top:1rem;align-self:start}.detail-side .page-section{position:static}.comment-item{padding:.75rem 0;border-bottom:1px solid #f3f4f6}.comment-item:last-child{border-bottom:none}.comment-form{display:flex;gap:.5rem;align-items:flex-end;margin-top:.75rem}.comment-form .textarea{flex:1;min-height:2.5rem}.history-item{display:flex;gap:.75rem;padding:.5rem 0;font-size:.85rem}.history-item__dot{width:8px;height:8px;border-radius:999px;background:var(--color-primary);margin-top:.4rem;flex-shrink:0}.detail-bottom-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;gap:.5rem;padding:.75rem 1rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0));background:var(--color-surface);border-top:1px solid var(--color-border)}.detail-bottom-bar .btn{flex:1}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--color-bg)}.login-card{width:100%;max-width:420px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-md)}.login-card__brand{display:flex;align-items:center;gap:.65rem;margin-bottom:1.25rem}.login-card__logo{width:44px;height:44px;border-radius:12px;background:#eff6ff;color:var(--color-primary);display:flex;align-items:center;justify-content:center}.login-card h1{margin:0;font-size:1.5rem}.tabs{display:flex;gap:.25rem;margin-bottom:1rem;border-bottom:1px solid var(--color-border);overflow-x:auto}.tabs__item{padding:.65rem 1rem;border:none;background:transparent;font-size:.92rem;font-weight:500;color:var(--color-muted);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}.tabs__item--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;padding:.65rem .5rem;border-bottom:1px solid #f3f4f6;font-size:.88rem}.data-table th{color:var(--color-muted);font-weight:500;font-size:.78rem}.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-bottom:.75rem}.report-list{display:flex;flex-direction:column}.report-row{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid #f3f4f6}.template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem}.qr-row{display:flex;gap:1rem;align-items:flex-start;padding:.75rem 0;border-bottom:1px solid #f3f4f6}.qr-image{width:120px;height:120px;border:1px solid var(--color-border);border-radius:8px;background:#fff}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:.75rem}.actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.container{max-width:1100px;margin:0 auto}body.miniapp-body{background:var(--tg-theme-bg-color, #f3f4f6);color:var(--tg-theme-text-color, #111827)}body.miniapp-body .mobile-shell{background:var(--color-bg)}body.miniapp-body .mobile-header,body.miniapp-body .bottom-nav{background:var(--tg-theme-secondary-bg-color, #fff)}.miniapp-shell{min-height:100vh;max-width:100%;padding:0;padding-bottom:env(safe-area-inset-bottom,0)}.miniapp-header{position:sticky;top:0;z-index:10;background:var(--tg-theme-secondary-bg-color, #fff);border-bottom:1px solid var(--color-border);padding:.85rem 1rem;padding-top:calc(.85rem + env(safe-area-inset-top,0))}.miniapp-header h1{margin:0;font-size:1.15rem;font-weight:700}.miniapp-header .meta{margin-top:.15rem}.miniapp-content{padding:.75rem 1rem 1.5rem}.miniapp-list{display:flex;flex-direction:column;gap:.65rem}.miniapp-task-card{display:block;background:var(--tg-theme-secondary-bg-color, #fff);border:1px solid var(--color-border);border-radius:14px;padding:.9rem 1rem;color:inherit;text-decoration:none;box-shadow:var(--shadow-sm)}.miniapp-task-card:active{transform:scale(.99)}.miniapp-task-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.4rem}.miniapp-task-number{font-weight:700;font-size:.9rem;color:var(--tg-theme-link-color, var(--color-primary))}.miniapp-task-title{font-size:.95rem;line-height:1.35}.miniapp-detail{padding-bottom:5.5rem}.miniapp-status-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.miniapp-status-bar .btn{flex:1 1 calc(50% - .25rem);min-width:0}.miniapp-section{background:var(--tg-theme-secondary-bg-color, #fff);border:1px solid var(--color-border);border-radius:14px;padding:1rem;margin-bottom:.75rem}.miniapp-section h2,.miniapp-section h3{margin:0 0 .75rem;font-size:1rem}.miniapp-back{display:inline-flex;align-items:center;gap:.25rem;margin-bottom:.5rem;font-size:.9rem;color:var(--tg-theme-link-color, var(--color-primary))}.bottom-action-bar{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--tg-theme-secondary-bg-color, #fff);border-top:1px solid var(--color-border);padding:.65rem 1rem;padding-bottom:calc(.65rem + env(safe-area-inset-bottom,0));display:flex;gap:.5rem;align-items:flex-end}.bottom-action-bar .textarea{flex:1;min-height:2.5rem;max-height:6rem;resize:none}.bottom-action-bar .btn{flex-shrink:0;padding:.65rem 1rem}@media (min-width: 768px){.mobile-only{display:none!important}.desktop-only{display:block!important}.mobile-fab,.bottom-nav{display:none}.app-shell--with-bottom-nav .app-shell__content{padding-bottom:1rem}}@media (min-width: 1024px){.app-shell__desktop-sidebar,.top-header-desktop{display:block}.top-header-mobile{display:none}.app-shell__content{padding:1.25rem 1.5rem}}@media (max-width: 1023px){.task-row{display:none}.detail-grid{grid-template-columns:1fr}.detail-side .page-section{position:static}.stats-row:not(.stats-row--scroll){grid-template-columns:repeat(2,1fr)}}@media (max-width: 767px){.stats-row:not(.stats-row--scroll){display:none}.filters-bar:not(.filters-bar--mobile-compact) .filters-bar__desktop-extra{display:none}.detail-bottom-bar{display:flex}}@media (min-width: 768px){.detail-bottom-bar,.detail-info-mobile{display:none}}@media (max-width: 767px){.detail-info-mobile{display:block}.detail-side.desktop-only{display:none!important}}.detail-info-mobile{display:none;margin-bottom:1rem}.detail-desc--clamped{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.link-btn{background:none;border:none;color:var(--color-primary);padding:.35rem 0 0;font-size:.88rem;cursor:pointer}.attachment-grid{display:flex;flex-wrap:wrap;gap:.5rem}.attachment-thumb{width:72px;height:72px;border-radius:10px;background:var(--color-bg);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--color-muted);text-align:center;padding:.25rem}.miniapp-topbar{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem;background:var(--tg-theme-secondary-bg-color, #fff);border-bottom:1px solid var(--color-border)}.miniapp-topbar__title{font-size:1.05rem;font-weight:700}.miniapp-topbar__actions{display:flex;gap:.35rem}.miniapp-topbar__brand{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem 0;font-weight:700;color:var(--color-primary)}.miniapp-content--list{padding-bottom:1rem}.miniapp-page .detail-layout{padding:.75rem 1rem 5.5rem}.miniapp-page .detail-bottom-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30}.detail-layout--miniapp .detail-side{display:none}.mobile-task-list--embedded .mobile-tabs{margin-top:0}.mobile-task-list--embedded .stats-row--scroll,.mobile-task-list--embedded .task-list{padding:0 1rem}.notifications-page{padding:0 0 1rem}.notifications-page__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem;padding:0 1rem}.notifications-page__title{margin:0;font-size:1.1rem;font-weight:700}.notification-list{display:flex;flex-direction:column;gap:.5rem}.notification-item{display:block;width:100%;text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.75rem .85rem;background:var(--color-surface);color:inherit;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.notification-item:hover{background:var(--color-surface-elevated);border-color:var(--color-border-strong)}.notification-item--unread{border-color:color-mix(in srgb,var(--color-primary) 25%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface))}.notification-item__head{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.notification-item__title{font-weight:500;font-size:.8125rem;letter-spacing:-.01em}.notification-item__time{font-size:.75rem;color:var(--color-muted);white-space:nowrap}.notification-item__body{font-size:.8125rem;color:var(--color-muted)}.info-row,.comment-item{border-bottom-color:var(--color-border)}.task-card__sla{border-top-color:var(--color-border)}.attachment-thumb--add{background:var(--color-surface-elevated)}.view-toggle{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-surface)}.view-toggle__btn{border:none;background:transparent;color:var(--color-muted);font-size:.8125rem;font-weight:500;padding:.4rem .75rem;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.view-toggle__btn:hover{color:var(--color-text);background:var(--color-surface-elevated)}.view-toggle__btn--active{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-primary)}.field--view-toggle{min-width:9rem}.task-list-page--kanban .filters-bar--kanban{margin-bottom:.75rem;padding:.65rem .85rem;gap:.65rem}.task-list-page--kanban .filters-bar--kanban .field label{font-size:.7rem;margin-bottom:.2rem}.task-list-page--kanban .app-shell__content,.task-list-page--kanban{padding-bottom:0}.kanban-board-wrap{display:flex;flex-direction:column;gap:.75rem;min-height:0}.kanban-board-scroll{position:relative}.kanban-board-scroll__btn{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:32px;height:32px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface-elevated);color:var(--color-text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px color-mix(in srgb,var(--color-text) 12%,transparent);transition:background var(--transition-fast),border-color var(--transition-fast)}.kanban-board-scroll__btn:hover{background:var(--color-surface);border-color:var(--color-border-strong)}.kanban-board-scroll__btn--left{left:4px}.kanban-board-scroll__btn--right{right:4px}.kanban-board-wrap:not(.kanban-board-wrap--mobile) .kanban-board{overflow-x:scroll;scrollbar-gutter:stable;scroll-snap-type:x proximity;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:var(--color-border-strong) var(--color-surface-elevated)}.kanban-board-wrap:not(.kanban-board-wrap--mobile) .kanban-board::-webkit-scrollbar{height:12px}.kanban-board-wrap:not(.kanban-board-wrap--mobile) .kanban-board::-webkit-scrollbar-track{background:var(--color-surface-elevated);border-radius:6px}.kanban-board-wrap:not(.kanban-board-wrap--mobile) .kanban-board::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:6px;border:2px solid var(--color-surface-elevated)}.kanban-board-wrap:not(.kanban-board-wrap--mobile) .kanban-column{scroll-snap-align:start}.kanban-board{display:flex;gap:12px;overflow-x:auto;padding-bottom:.25rem;align-items:stretch;min-height:480px}.kanban-column{flex:1 0 260px;min-width:260px;max-width:320px;background:color-mix(in srgb,var(--color-bg) 70%,var(--color-surface));border:1px solid var(--color-border);border-radius:10px;display:flex;flex-direction:column;min-height:480px;max-height:calc(100vh - 220px);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.kanban-column--drop-target{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 20%,transparent)}.kanban-column--drop-invalid{border-color:var(--color-danger, #e5484d);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-danger, #e5484d) 15%,transparent)}.kanban-column__header{display:flex;align-items:center;gap:.45rem;padding:.75rem .85rem .55rem;flex-shrink:0}.kanban-column__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.kanban-column__title{font-size:.8125rem;font-weight:600;letter-spacing:-.01em;flex:1;min-width:0}.kanban-column__count{font-size:.75rem;font-weight:500;color:var(--color-muted)}.kanban-column__body{display:flex;flex-direction:column;gap:.5rem;padding:0 .5rem .5rem;overflow-y:auto;flex:1;min-height:0}.kanban-column__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;flex:1;min-height:140px;margin:.25rem;border:1px dashed var(--color-border-strong, var(--color-border));border-radius:8px;color:var(--color-muted);font-size:.8125rem;text-align:center}.kanban-column__body>.kanban-column__empty:only-child{flex:1 1 auto;align-self:stretch;width:100%;min-height:0}.kanban-column__empty span{text-align:center;padding:0 .75rem;max-width:100%}.kanban-column__empty svg{opacity:.45}.kanban-column__footer{padding:.5rem .65rem .65rem;flex-shrink:0}.kanban-column__add{display:inline-flex;align-items:center;gap:.35rem;width:100%;justify-content:center;padding:.45rem .5rem;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500;color:var(--color-muted);text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast)}.kanban-column__add:hover{background:var(--color-surface-elevated);color:var(--color-text)}.kanban-card{border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-elevated);cursor:grab;transition:opacity var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.kanban-card:hover{border-color:var(--color-border-strong);box-shadow:0 2px 8px color-mix(in srgb,var(--color-text) 8%,transparent);transform:translateY(-1px)}.kanban-card--dragging{opacity:.45;cursor:grabbing;transform:none}.kanban-card__link{display:block;padding:12px;color:inherit;text-decoration:none}.kanban-card__head{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin-bottom:.4rem}.kanban-card__number{font-size:.75rem;font-weight:600;color:var(--color-muted);font-variant-numeric:tabular-nums}.kanban-card__title{font-size:.875rem;font-weight:600;line-height:1.35;margin-bottom:.4rem;letter-spacing:-.01em}.kanban-card__location{display:flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--color-muted);margin-bottom:.55rem}.kanban-card__footer{display:flex;align-items:flex-end;justify-content:space-between;gap:.5rem}.kanban-card__assignee{display:flex;align-items:center;gap:.4rem;min-width:0}.kanban-card__assignee-name{font-size:.75rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kanban-card__assignee-role{font-size:.6875rem;color:var(--color-muted)}.kanban-card__sla{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;white-space:nowrap;flex-shrink:0;font-variant-numeric:tabular-nums}.kanban-card__sla--ok{color:var(--color-success, #30a46c)}.kanban-card__sla--warning{color:var(--color-warning, #f76b15)}.kanban-card__sla--overdue{color:var(--color-danger, #e5484d)}.kanban-card__sla--done{color:var(--color-success, #30a46c)}.kanban-card__sla--none{color:var(--color-muted)}.kanban-legend{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.25rem;padding:.65rem .15rem .25rem;font-size:.75rem;color:var(--color-muted);border-top:1px solid var(--color-border)}.kanban-legend__item{display:inline-flex;align-items:center;gap:.4rem}.kanban-legend__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.kanban-legend__dot--ok{background:var(--color-success, #30a46c)}.kanban-legend__dot--warn{background:var(--color-warning, #f76b15)}.kanban-legend__dot--danger{background:var(--color-danger, #e5484d)}.kanban-legend__icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-size:.65rem;font-weight:700;flex-shrink:0}.kanban-legend__icon--overdue{background:color-mix(in srgb,var(--color-danger, #e5484d) 15%,transparent);color:var(--color-danger, #e5484d);border:1px solid color-mix(in srgb,var(--color-danger, #e5484d) 35%,transparent)}.mobile-kanban{display:flex;flex-direction:column;gap:.75rem;padding:.25rem 1rem 1rem}.mobile-kanban-toolbar{display:flex;flex-direction:column;gap:.65rem;padding:.5rem 0 .25rem}.mobile-kanban-toolbar__search{display:flex;align-items:center;gap:0;margin-bottom:0;padding:0 .85rem;background:var(--color-surface-elevated);border-radius:12px;border:none;box-shadow:var(--shadow-sm);color:var(--color-muted);transition:box-shadow .15s ease}.mobile-kanban-toolbar__search:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,transparent),var(--shadow-sm)}.mobile-kanban-toolbar__input{flex:1;border:none;background:transparent;padding:.7rem .5rem;font-size:.875rem;letter-spacing:-.01em}.mobile-kanban-toolbar__input:focus{outline:none;box-shadow:none;border-color:transparent}.mobile-kanban-toolbar__row{display:flex;gap:.6rem;align-items:center}.mobile-kanban-toolbar__row .select{flex:1;min-width:0;padding:.65rem .85rem;border-radius:10px;border:none;background:var(--color-surface-elevated);box-shadow:var(--shadow-sm);font-size:.8125rem;font-weight:500;color:var(--color-text-secondary)}.mobile-kanban-toolbar__filter,.mobile-kanban-toolbar__create{flex-shrink:0;padding-left:.65rem;padding-right:.65rem}.mobile-kanban-toolbar__filter.btn-secondary{border:none;background:var(--color-surface-elevated);box-shadow:var(--shadow-sm);border-radius:10px;padding:.65rem;color:var(--color-text-secondary)}.mobile-kanban-toolbar__create.btn-primary{border-radius:10px;padding:.65rem .75rem;box-shadow:0 2px 8px color-mix(in srgb,var(--color-primary) 32%,transparent)}.mobile-kanban-toolbar__extra{padding:.75rem;display:flex;flex-direction:column;gap:.5rem;background:var(--color-surface-elevated);border-radius:12px;box-shadow:var(--shadow-sm)}.kanban-board-wrap--mobile{position:relative}.kanban-board-wrap--mobile:after{content:"";position:absolute;top:0;right:0;bottom:2.75rem;width:32px;pointer-events:none;background:linear-gradient(to left,color-mix(in srgb,var(--color-bg) 90%,transparent),transparent)}.kanban-board-wrap--mobile .kanban-board{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scroll-padding-left:1rem;min-height:360px;gap:12px;padding:.25rem .5rem 1rem 0}.kanban-board-wrap--mobile .kanban-column{flex:0 0 78vw;min-width:78vw;max-width:78vw;min-height:320px;max-height:calc(100vh - 260px);scroll-snap-align:start;background:var(--color-surface-elevated);border:none;border-radius:16px;box-shadow:var(--shadow-sm);overflow:hidden}.kanban-board-wrap--mobile .kanban-column__header{padding:1rem 1rem .75rem;gap:.5rem}.kanban-board-wrap--mobile .kanban-column__dot{width:9px;height:9px;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-text) 6%,transparent)}.kanban-board-wrap--mobile .kanban-column__title{font-size:.8125rem;font-weight:650;letter-spacing:-.02em;color:var(--color-text)}.kanban-board-wrap--mobile .kanban-column__count{font-size:.6875rem;font-weight:600;color:var(--color-text-secondary);background:var(--color-hover);padding:.15rem .5rem;border-radius:999px;min-width:1.25rem;text-align:center}.kanban-board-wrap--mobile .kanban-column__body{gap:.65rem;padding:0 .75rem .75rem;min-height:0}.kanban-board-wrap--mobile .kanban-column__empty{font-size:.75rem;line-height:1.45;text-align:center;padding:0 .75rem;min-height:120px;margin:0;border:none;background:color-mix(in srgb,var(--color-hover) 60%,transparent);border-radius:12px;color:var(--color-text-secondary)}.kanban-board-wrap--mobile .kanban-column__body>.kanban-column__empty:only-child{flex:0 1 auto;align-self:stretch;width:100%;min-height:140px;max-height:200px}.kanban-board-wrap--mobile .kanban-column__body:has(>.kanban-column__empty:only-child){justify-content:center}.kanban-board-wrap--mobile .kanban-column__empty svg{opacity:.35}.kanban-board-wrap--mobile .kanban-column__footer{padding:.5rem .75rem .85rem;border-top:1px solid color-mix(in srgb,var(--color-border) 50%,transparent)}.kanban-board-wrap--mobile .kanban-column__add{padding:.55rem;border-radius:10px;font-size:.8125rem;font-weight:500;color:var(--color-text-secondary)}.kanban-board-wrap--mobile .kanban-column__add:hover{background:var(--color-hover);color:var(--color-text)}.kanban-board-wrap--mobile .kanban-card{border:none;border-radius:14px;background:var(--color-surface);box-shadow:0 1px 3px color-mix(in srgb,var(--color-text) 5%,transparent),0 0 0 1px color-mix(in srgb,var(--color-border) 70%,transparent);cursor:default;transition:transform .15s ease,box-shadow .15s ease}.kanban-board-wrap--mobile .kanban-card:hover{transform:none;box-shadow:0 1px 3px color-mix(in srgb,var(--color-text) 5%,transparent),0 0 0 1px color-mix(in srgb,var(--color-border) 70%,transparent)}.kanban-board-wrap--mobile .kanban-card:active{transform:scale(.985)}.kanban-board-wrap--mobile .kanban-card__link{padding:14px}.kanban-board-wrap--mobile .kanban-card__head{margin-bottom:.5rem}.kanban-board-wrap--mobile .kanban-card__number{font-size:.6875rem;font-weight:650;color:var(--color-text-secondary);letter-spacing:.02em}.kanban-board-wrap--mobile .kanban-card__title{font-size:.9375rem;font-weight:600;line-height:1.4;letter-spacing:-.02em;margin-bottom:.55rem;color:var(--color-text)}.kanban-board-wrap--mobile .kanban-card__location{font-size:.75rem;gap:.35rem;margin-bottom:.75rem;color:var(--color-text-secondary)}.kanban-board-wrap--mobile .kanban-card__footer{align-items:center;gap:.65rem;padding-top:.65rem;border-top:1px solid color-mix(in srgb,var(--color-border) 45%,transparent)}.kanban-board-wrap--mobile .kanban-card__assignee-name{font-size:.75rem;font-weight:600;color:var(--color-text)}.kanban-board-wrap--mobile .kanban-card__assignee-role{font-size:.625rem;margin-top:.05rem}.kanban-board-wrap--mobile .ui-avatar--sm{width:28px;height:28px;font-size:.65rem;border-radius:8px}.kanban-board-wrap--mobile .ui-badge{padding:.2rem .5rem;border-radius:6px;font-size:.625rem;font-weight:650;letter-spacing:.01em;line-height:1.3}.kanban-board-wrap--mobile .kanban-card__sla{gap:.3rem;padding:.3rem .55rem;border-radius:8px;font-size:.6875rem;font-weight:700;letter-spacing:-.01em;background:var(--color-hover)}.kanban-board-wrap--mobile .kanban-card__sla--ok{color:#30a46c;background:color-mix(in srgb,#30a46c 14%,transparent)}.kanban-board-wrap--mobile .kanban-card__sla--warning{color:#f76b15;background:color-mix(in srgb,#f76b15 14%,transparent)}.kanban-board-wrap--mobile .kanban-card__sla--overdue{color:#e5484d;background:color-mix(in srgb,#e5484d 16%,transparent)}.kanban-board-wrap--mobile .kanban-card__sla--done{color:#30a46c;background:color-mix(in srgb,#30a46c 14%,transparent)}.kanban-board-wrap--mobile .kanban-legend{flex-wrap:nowrap;overflow-x:auto;font-size:.6875rem;font-weight:500;gap:.5rem;padding:.75rem 0 1rem;margin-top:.25rem;border-top:none;color:var(--color-text-secondary);-webkit-overflow-scrolling:touch}.kanban-board-wrap--mobile .kanban-legend__item{gap:.35rem;padding:.3rem .55rem;background:var(--color-surface-elevated);border-radius:999px;box-shadow:var(--shadow-sm);white-space:nowrap;flex-shrink:0}.kanban-board-wrap--mobile .kanban-legend__dot{width:7px;height:7px}.kanban-board-wrap--mobile .kanban-legend__icon--overdue{border:none;width:14px;height:14px;font-size:.6rem}.mobile-kanban .loading-state{padding:2rem 1rem;font-size:.875rem;color:var(--color-text-secondary)}.mobile-kanban .error{margin:.5rem 0;padding:.75rem 1rem;border-radius:12px;background:color-mix(in srgb,var(--color-danger) 10%,transparent);border:none}[data-theme=dark] .mobile-header{background:color-mix(in srgb,var(--color-surface) 85%,transparent);box-shadow:0 1px #ffffff0a}[data-theme=dark] .bottom-nav{background:color-mix(in srgb,var(--color-surface) 88%,transparent);box-shadow:0 -4px 32px #00000059,0 -1px #ffffff0a}[data-theme=dark] .mobile-kanban-toolbar__search,[data-theme=dark] .mobile-kanban-toolbar__row .select,[data-theme=dark] .mobile-kanban-toolbar__filter.btn-secondary,[data-theme=dark] .mobile-kanban-toolbar__extra{background:color-mix(in srgb,var(--color-surface-elevated) 95%,#000);box-shadow:0 1px 3px #0000004d,0 0 0 1px #ffffff0a}[data-theme=dark] .kanban-board-wrap--mobile .kanban-column{box-shadow:0 2px 8px #00000040,0 0 0 1px #ffffff0a}[data-theme=dark] .kanban-board-wrap--mobile .kanban-card{background:color-mix(in srgb,var(--color-surface-elevated) 90%,var(--color-bg));box-shadow:0 2px 6px #0003,0 0 0 1px #ffffff0d}[data-theme=dark] .kanban-board-wrap--mobile .kanban-card__title{color:#f4f4f5}[data-theme=dark] .kanban-board-wrap--mobile .kanban-card__assignee-name{color:#eeeef0}[data-theme=dark] .kanban-board-wrap--mobile .kanban-card__sla--overdue{color:#fca5a5;background:color-mix(in srgb,#e5484d 20%,transparent)}[data-theme=dark] .kanban-board-wrap--mobile .ui-badge--orange{background:color-mix(in srgb,#f59e0b 22%,transparent);color:#fbbf24}[data-theme=dark] .kanban-board-wrap--mobile .ui-badge--red{background:color-mix(in srgb,#e5484d 22%,transparent);color:#f87171}[data-theme=dark] .kanban-board-wrap--mobile .kanban-legend__item{background:color-mix(in srgb,var(--color-surface-elevated) 90%,#000);box-shadow:0 1px 3px #00000040}body.miniapp-body{background:var(--color-bg);color:var(--color-text)}body.miniapp-body .mobile-header,body.miniapp-body .bottom-nav{background:color-mix(in srgb,var(--color-surface) 92%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}body.miniapp-body .mobile-kanban{padding-bottom:.5rem}body.miniapp-body .kanban-board-wrap--mobile .kanban-card{background:color-mix(in srgb,var(--color-bg) 35%,var(--color-surface))}[data-theme=dark] body.miniapp-body .kanban-board-wrap--mobile .kanban-card{background:color-mix(in srgb,var(--color-surface) 80%,var(--color-bg))}body.miniapp-body .miniapp-task-card{border:none;border-radius:14px;box-shadow:0 1px 3px color-mix(in srgb,var(--color-text) 5%,transparent),0 0 0 1px color-mix(in srgb,var(--color-border) 70%,transparent)}body.miniapp-body .miniapp-section{border:none;border-radius:14px;box-shadow:var(--shadow-sm)}body.miniapp-body .miniapp-header{border-bottom:none;box-shadow:0 1px color-mix(in srgb,var(--color-border) 60%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.dept-tags{display:flex;flex-wrap:wrap;gap:.5rem}.dept-tags__item{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:999px;padding:.35rem .85rem;font-size:.88rem;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.dept-tags__item:hover:not(:disabled){border-color:var(--color-primary)}.dept-tags__item--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.dept-tags__item:disabled{opacity:.6;cursor:not-allowed}
