:root{--board-pad: 1rem;color-scheme:light;--bg: #f1f3f5;--bg-elevated: #ffffff;--fg: #1a1d21;--fg-soft: #3d4450;--muted: #6b7280;--border: #e5e7eb;--border-strong: #d1d5db;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-muted: #dbeafe;--shadow: 0 1px 3px rgba(15, 23, 42, .08);--shadow-md: 0 4px 16px rgba(15, 23, 42, .08);--shadow-lg: 0 12px 40px rgba(15, 23, 42, .1);--sidebar-w: 240px;--sidebar-w-collapsed: 4.25rem;--topbar-h: 56px;--radius: 10px;--radius-sm: 8px;--form-inline-inset: .625rem;--column-accent: #64748b;--kanban-card-bg: #ffffff;--kanban-handle-bg: #f8fafc;--kanban-col-drop-bg: rgba(239, 246, 255, .92);--kanban-col-width: 272px;--surface: var(--bg-elevated);--surface-2: #f3f4f6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}@media(min-width:1366px){:root{--board-pad: 1.5rem}}[data-theme=dark]{color-scheme:dark;--bg: #121418;--bg-elevated: #1a1f27;--fg: #eceef2;--fg-soft: #b4bac8;--muted: #8b929e;--border: #2c3340;--border-strong: #3d4656;--accent: #60a5fa;--accent-hover: #93c5fd;--accent-muted: rgba(96, 165, 250, .18);--shadow: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 18px rgba(0, 0, 0, .38);--shadow-lg: 0 14px 44px rgba(0, 0, 0, .48);--column-accent: #94a3b8;--kanban-card-bg: #222830;--kanban-handle-bg: #2a3140;--kanban-col-drop-bg: rgba(96, 165, 250, .14);--surface: var(--bg-elevated);--surface-2: #222830}[data-theme=dark] .project-topbar__link--active{border-color:#60a5fa73}[data-theme=dark] .kanban-card:hover{border-color:#60a5fa59}[data-theme=dark] .kanban-card--overlay{background:var(--kanban-card-bg)}.app-top-bar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:var(--topbar-h);padding:0 1.25rem;padding-top:max(0px,env(safe-area-inset-top,0px));background:var(--bg-elevated);border-bottom:1px solid var(--border);box-shadow:var(--shadow);z-index:50}.app-top-bar__start,.app-top-bar__end{display:flex;align-items:center;gap:.5rem;min-width:0}.app-top-bar__end{margin-left:auto;flex-shrink:0}.app-top-bar>*{flex-shrink:0}.top-bar-chat-alert{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:999px;border:2px solid transparent;text-decoration:none;transition:background .15s ease,border-color .15s ease,color .15s ease}.top-bar-chat-alert--yellow{color:#b8860b;border-color:#e6b800;background:color-mix(in srgb,#e6b800 14%,transparent)}.top-bar-chat-alert--red{color:#c62828;border-color:#e53935;background:color-mix(in srgb,#e53935 12%,transparent)}.top-bar-chat-alert:hover{text-decoration:none;filter:brightness(1.05)}.top-bar-new-tasks-btn{display:inline-flex;align-items:center;min-height:2.25rem;padding:.35rem .75rem;border-radius:var(--radius-sm);border:2px solid #e53935;background:color-mix(in srgb,#e53935 8%,var(--bg-elevated));color:#c62828;font-size:.875rem;font-weight:650;cursor:pointer;transition:background .15s ease,border-color .15s ease}.top-bar-new-tasks-btn:hover{background:color-mix(in srgb,#e53935 14%,var(--bg-elevated))}.top-bar-new-tasks-modal{max-width:36rem}.top-bar-new-tasks-sections{display:flex;flex-direction:column;gap:1rem;margin-top:.75rem;max-height:min(52vh,420px);overflow-y:auto}.top-bar-new-tasks-section__title{margin:0 0 .5rem;font-size:.82rem;font-weight:650;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.top-bar-new-tasks-section--meeting .top-bar-new-tasks-section__title{color:color-mix(in srgb,var(--accent) 75%,var(--muted))}.top-bar-new-tasks-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.top-bar-new-tasks-list__row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.top-bar-new-tasks-list__main{min-width:0;display:flex;flex-direction:column;gap:.15rem}.top-bar-new-tasks-list__project{font-size:.78rem;color:var(--muted)}.top-bar-new-tasks-list__task{font-weight:600;color:var(--fg);text-decoration:none}.top-bar-new-tasks-list__task:hover{color:var(--accent);text-decoration:underline}.top-bar-new-tasks-list__meta{font-size:.75rem;color:var(--muted)}.top-bar-new-tasks-list__linked{display:flex;flex-direction:column;gap:.2rem;margin-top:.15rem}.top-bar-new-tasks-list__linked-tasks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem}.top-bar-new-tasks-list__linked-task{font-size:.8rem;font-weight:500;color:var(--fg);text-decoration:none}.top-bar-new-tasks-list__linked-task:hover{color:var(--accent);text-decoration:underline}.app-user-bar__link{display:inline-flex;align-items:center;min-height:2.5rem;max-width:min(56vw,18rem);min-width:0;padding:.35rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--fg);font-size:.875rem;font-weight:500;text-decoration:none;box-shadow:var(--shadow);transition:background .15s ease,border-color .15s ease,color .15s ease}.app-user-bar__link:hover{border-color:var(--border-strong);background:var(--bg);color:var(--fg);text-decoration:none}.app-user-bar__link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-user-bar__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--fg-soft);box-shadow:var(--shadow);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.theme-toggle:hover{background:var(--bg);color:var(--fg);border-color:var(--border-strong)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-toggle__icon{display:flex;align-items:center;justify-content:center}*{box-sizing:border-box}body{margin:0;min-height:100vh;min-width:320px;height:100%;background:var(--bg);color:var(--fg);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}html,#root{height:100%}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);height:100dvh;max-height:100dvh;overflow:hidden;transition:grid-template-columns .2s ease}.app-shell--sidebar-collapsed{grid-template-columns:var(--sidebar-w-collapsed) minmax(0,1fr)}.app-shell__main{min-width:0;min-height:0;height:100%;overflow:hidden;display:flex;flex-direction:column}.app-shell__body{flex:1;min-width:0;min-height:0;overflow:auto;display:flex;flex-direction:column;background:var(--bg)}.app-shell__body:has(.chats-page){overflow:hidden}.app-sidebar{display:flex;flex-direction:column;background:var(--bg-elevated);border-right:1px solid var(--border);padding:1.25rem .75rem;height:100%;max-height:100dvh;min-height:0;min-width:0;overflow:hidden;transition:padding .2s ease}.app-shell--sidebar-collapsed .app-sidebar{padding-left:.45rem;padding-right:.45rem}.app-sidebar__brand{flex-shrink:0;padding:0 .6rem 1.25rem;border-bottom:1px solid var(--border);margin-bottom:.75rem}.app-sidebar__brand-row{display:flex;align-items:center;gap:.65rem;width:100%}.app-sidebar__brand-text{flex:1;min-width:0}.app-sidebar__toggle{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;margin-left:auto;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--fg-soft);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.app-sidebar__toggle:hover{background:var(--accent-muted);color:var(--accent);border-color:var(--border-strong)}.app-sidebar__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-sidebar__toggle-icon{display:block}.app-shell--sidebar-collapsed .app-sidebar__brand-row{flex-direction:column;gap:.5rem}.app-shell--sidebar-collapsed .app-sidebar__brand-text{display:none}.app-shell--sidebar-collapsed .app-sidebar__toggle{margin-left:0}.app-sidebar__logo{color:var(--accent);flex-shrink:0}.app-sidebar__title{font-weight:700;font-size:.95rem;letter-spacing:-.02em;color:var(--fg)}.app-nav{display:flex;flex-direction:column;gap:.2rem;flex:1;min-height:0;overflow-x:hidden;overflow-y:auto}.app-nav__a{display:flex;align-items:center;gap:.55rem;padding:.55rem .75rem;border-radius:var(--radius-sm);color:var(--fg-soft);font-size:.9rem;font-weight:500;text-decoration:none;transition:background .15s ease,color .15s ease}.app-nav__ico{flex-shrink:0;width:1.125rem;height:1.125rem;opacity:.92}.app-nav__a--active .app-nav__ico{opacity:1}.app-shell--sidebar-collapsed .app-nav__a{justify-content:center;padding-left:.45rem;padding-right:.45rem}.app-shell--sidebar-collapsed .app-nav__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-nav__a:hover{background:var(--bg);color:var(--fg);text-decoration:none}.app-nav__a--active{background:var(--accent-muted);color:var(--accent)}.app-sidebar__foot{flex-shrink:0;padding-top:1rem;border-top:1px solid var(--border)}.app-sidebar__logout{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:.55rem}.app-shell--sidebar-collapsed .app-sidebar__logout .app-nav__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell--sidebar-collapsed .app-sidebar__logout{justify-content:center;padding-left:.35rem;padding-right:.35rem}.project-view{display:flex;flex-direction:column;flex:1;min-height:0}.project-view__outlet{flex:1;min-height:0;overflow:auto;padding:var(--board-pad, 1.25rem)}.project-topbar{flex-shrink:0;background:var(--bg-elevated);border-bottom:1px solid var(--border);box-shadow:var(--shadow)}.project-topbar__row{display:flex;align-items:center;gap:1rem;min-height:var(--topbar-h);padding:0 1.25rem;flex-wrap:wrap}.project-topbar__main{display:flex;align-items:center;gap:.75rem 1rem;flex-wrap:wrap;flex:1;min-width:0;font-size:.875rem;font-weight:500;line-height:1.25}.project-topbar__title{margin:0;font-size:inherit;font-weight:inherit;line-height:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto;min-width:0;max-width:min(100%,36rem)}.project-topbar__actions{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;flex-shrink:0}.project-topbar__link{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .65rem;border-radius:var(--radius-sm);color:var(--fg-soft);font-size:inherit;font-weight:inherit;line-height:inherit;font-family:inherit;text-decoration:none;border:1px solid transparent;transition:background .15s ease,color .15s ease,border-color .15s ease}.project-topbar__link:hover{background:var(--bg);color:var(--fg);text-decoration:none}.project-topbar__link--active{background:var(--accent-muted);color:var(--accent);border-color:#bfdbfe}button.project-topbar__link{cursor:pointer;background:none;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}.project-topbar__ico{flex-shrink:0;opacity:.9}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-btn{cursor:pointer;border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--fg);border-radius:var(--radius-sm);padding:.45rem .85rem;font:inherit;font-size:.875rem;font-weight:500;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;box-sizing:border-box;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.app-btn:hover{border-color:var(--muted);background:var(--bg);text-decoration:none}.app-btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.app-btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff;text-decoration:none}.app-btn--ghost{border-color:transparent;background:transparent}.app-btn--ghost:hover{background:var(--bg);border-color:var(--border)}.app-btn--sm{padding:.25rem .45rem;font-size:.8rem}.app-btn--block{width:100%}.app-panel{max-width:960px}.app-panel--padded{padding:.75rem 1.25rem}.app-panel--center{display:flex;align-items:center;justify-content:center;min-height:40vh;padding:2rem}.app-page-title{margin:0 0 1.25rem;font-size:1.35rem;font-weight:600;letter-spacing:-.02em;display:flex;align-items:center;gap:.5rem}.project-page-ico{flex-shrink:0;opacity:.85}.app-muted{margin:0;color:var(--muted);font-size:.95rem}.app-inline-error{color:#b91c1c;font-size:.9rem;margin:.5rem 0}.app-form{display:flex;flex-direction:column;gap:.85rem;padding-inline:var(--form-inline-inset);box-sizing:border-box}.app-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--muted);font-weight:500}.app-form input:not([type=checkbox]):not([type=radio]),.app-form textarea{width:100%;max-width:100%;box-sizing:border-box;padding:.5rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--fg);font:inherit}.app-form select[multiple]{width:100%;max-width:100%;box-sizing:border-box}.app-form textarea{resize:vertical;min-height:4.5rem;line-height:1.45}.app-select,.app-form select:not([multiple]),.modal select:not([multiple]),.task-detail-card-form select:not([multiple]),.project-members-invite__field select,.project-members-role-select,.board-page__select,.column-settings__select,.admin-role-select,.employee-tracking-toolbar select{width:100%;max-width:100%;box-sizing:border-box;min-height:2.65rem;padding:.5rem 2.25rem .5rem .75rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background-color:var(--bg-elevated);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 4.5L6 8l3.5-3.5' stroke='%236b7280' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;background-size:.75rem;color:var(--fg);font:inherit;font-size:.9rem;line-height:1.35;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}[data-theme=dark] .app-select,[data-theme=dark] .app-form select:not([multiple]),[data-theme=dark] .modal select:not([multiple]),[data-theme=dark] .task-detail-card-form select:not([multiple]),[data-theme=dark] .project-members-invite__field select,[data-theme=dark] .project-members-role-select,[data-theme=dark] .board-page__select,[data-theme=dark] .column-settings__select,[data-theme=dark] .admin-role-select,[data-theme=dark] .employee-tracking-toolbar select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 4.5L6 8l3.5-3.5' stroke='%238b929e' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.app-select:hover:not(:disabled),.app-form select:not([multiple]):hover:not(:disabled),.modal select:not([multiple]):hover:not(:disabled),.task-detail-card-form select:not([multiple]):hover:not(:disabled),.project-members-invite__field select:hover:not(:disabled),.project-members-role-select:hover:not(:disabled),.board-page__select:hover:not(:disabled),.column-settings__select:hover:not(:disabled),.admin-role-select:hover:not(:disabled),.employee-tracking-toolbar select:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 55%,var(--border-strong))}.app-select:focus,.app-form select:not([multiple]):focus,.modal select:not([multiple]):focus,.task-detail-card-form select:not([multiple]):focus,.project-members-invite__field select:focus,.project-members-role-select:focus,.board-page__select:focus,.column-settings__select:focus,.admin-role-select:focus,.employee-tracking-toolbar select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.app-select:disabled,.app-form select:disabled,.modal select:disabled,.task-detail-card-form select:disabled,.project-members-invite__field select:disabled,.project-members-role-select:disabled,.board-page__select:disabled,.column-settings__select:disabled,.admin-role-select:disabled,.employee-tracking-toolbar select:disabled{opacity:.55;cursor:not-allowed}.app-form select[multiple],.modal select[multiple],.task-detail-card-form select[multiple]{width:100%;max-width:100%;box-sizing:border-box;min-height:6.5rem;padding:.4rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--fg);font:inherit;font-size:.875rem;line-height:1.4;cursor:pointer}.app-form select[multiple]:focus,.modal select[multiple]:focus,.task-detail-card-form select[multiple]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.app-form select[multiple] option,.modal select[multiple] option,.task-detail-card-form select[multiple] option{padding:.35rem .5rem;border-radius:4px}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex-shrink:0;width:1.2rem;height:1.2rem;margin:0;border:1.5px solid var(--border-strong);border-radius:5px;background:var(--bg-elevated);cursor:pointer;vertical-align:middle;position:relative;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}input[type=checkbox]:after{content:"";position:absolute;top:50%;left:50%;width:.5rem;height:.28rem;border-left:2px solid transparent;border-bottom:2px solid transparent;transform:translate(-50%,-58%) rotate(-45deg) scale(.6);opacity:0;transition:opacity .12s ease,transform .12s ease}input[type=checkbox]:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 55%,var(--border-strong))}input[type=checkbox]:checked{border-color:var(--accent);background:var(--accent)}input[type=checkbox]:checked:after{border-left-color:#fff;border-bottom-color:#fff;opacity:1;transform:translate(-50%,-58%) rotate(-45deg) scale(1)}input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.app-check,.filter-sidebar__check,.cal-sidebar__check,.tpl-page__check,.admin-filter-check,.monitoring-gantt-sidebar__check{display:inline-flex;align-items:center;gap:.55rem;font-size:.875rem;line-height:1.35;color:var(--fg-soft);cursor:pointer;-webkit-user-select:none;user-select:none}.app-check:hover,.filter-sidebar__check:hover,.cal-sidebar__check:hover,.tpl-page__check:hover,.admin-filter-check:hover{color:var(--fg)}.app-form--auth{max-width:100%}.app-form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem 1rem}.project-detail-modal__meta{margin-top:.25rem}.app-dl{margin:0;display:grid;gap:1rem}.app-dl dt{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.app-dl dd{margin:.2rem 0 0;font-size:1rem;font-weight:500}.app-table{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--bg-elevated);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.app-table th,.app-table td{padding:.65rem .85rem;text-align:left;border-bottom:1px solid var(--border)}.app-table th{background:var(--surface-2);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.app-table tr:last-child td{border-bottom:none}.project-members-invite{margin-bottom:1.5rem;padding:1rem 1.1rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.project-members-invite__title{margin:0 0 .75rem;font-size:1rem;font-weight:600}.project-members-invite__row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.85rem 1rem}.project-members-invite__field{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;font-weight:500;color:var(--fg-soft);min-width:200px;flex:1 1 200px}.project-members-invite__field input{padding:.5rem .65rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.9rem}.project-members-invite__btn{flex-shrink:0;align-self:flex-end}.project-members-invite__hint{margin:.75rem 0 0;font-size:.85rem}.project-members-readonly-hint{margin:0 0 1rem;font-size:.9rem}.project-members-table-wrap{overflow-x:auto;margin-top:.25rem}.project-members-table__actions{width:1%;white-space:nowrap;vertical-align:middle}.project-members-role-select{min-width:11rem}.app-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;margin:0}.app-stats dt{margin:0;font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.app-stats dd{margin:.35rem 0 0;font-size:1.35rem;font-weight:600}.app-card-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.app-card-l{display:block;padding:1rem 1.15rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:box-shadow .2s ease,border-color .2s ease}.app-card-l:hover{border-color:#bfdbfe;box-shadow:var(--shadow-md);text-decoration:none}.app-card-l__name{font-weight:600;font-size:1rem}.app-card-l__desc{margin:.35rem 0 0;font-size:.9rem;color:var(--muted)}.app-card-l__meta{margin-top:.5rem;font-size:.8rem;color:var(--muted)}.app-card-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.app-card{padding:1rem 1.15rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated)}.app-card--shadow{box-shadow:var(--shadow)}.app-card__h{margin:0 0 .35rem;font-size:1rem}.app-card__foot{margin-top:.75rem;font-size:.8rem;color:var(--muted)}.projects-page.app-panel{max-width:1120px}.projects-page__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.projects-page__head .app-page-title{margin-bottom:.35rem}.projects-page__tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.75rem}.projects-view-toggle{display:inline-flex;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-elevated);overflow:hidden;box-shadow:var(--shadow)}.projects-view-toggle__btn{margin:0;padding:.45rem .75rem;border:none;background:transparent;color:var(--fg-soft);font:inherit;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease}.projects-view-toggle__btn:hover{background:var(--bg);color:var(--fg)}.projects-view-toggle__btn+.projects-view-toggle__btn{border-left:1px solid var(--border)}.projects-view-toggle__btn--active{background:var(--accent-muted);color:var(--accent)}.projects-view-toggle__btn--active:hover{background:var(--accent-muted);color:var(--accent-hover)}.projects-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow)}.projects-table{width:100%;min-width:720px;border-collapse:collapse;font-size:.875rem}.projects-table thead{background:var(--surface-2);border-bottom:1px solid var(--border)}.projects-table th{padding:.65rem .85rem;text-align:left;font-weight:600;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);white-space:nowrap}.projects-table td{padding:.65rem .85rem;border-bottom:1px solid var(--border);color:var(--fg);vertical-align:middle}.projects-table tbody tr:last-child td{border-bottom:none}.projects-table tbody tr:hover td{background:#2563eb0a}[data-theme=dark] .projects-table tbody tr:hover td{background:#60a5fa14}.projects-table__name-link{font-weight:600;color:var(--accent);text-decoration:none}.projects-table__name-link:hover{text-decoration:underline}.projects-table__desc-cell{max-width:14rem}.projects-table__desc-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg-soft)}.projects-table__date{white-space:nowrap;color:var(--fg-soft);font-variant-numeric:tabular-nums}.projects-table__col-num{text-align:right;font-variant-numeric:tabular-nums}.projects-table__col-action{width:1%;white-space:nowrap;text-align:right}.projects-page__admin-note{margin:0;font-size:.85rem;color:var(--muted);max-width:40rem;line-height:1.45}.projects-page__empty{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;padding:.5rem 0 1rem}.projects-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(288px,1fr));gap:1rem}.project-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow);overflow:hidden;min-height:100%}.project-card__body{padding:1.1rem 1.15rem .75rem;flex:1;min-width:0}.project-card__title{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:-.02em;color:var(--fg)}.project-card__desc{margin:.45rem 0 0;font-size:.9rem;color:var(--fg-soft);line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-card__desc--empty{color:var(--muted);font-style:italic}.project-card__meta{margin:1rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:.65rem 1rem}.project-card__meta>div:last-child:nth-child(odd){grid-column:1 / -1}.project-card__meta dt{margin:0;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.project-card__meta dd{margin:.2rem 0 0;font-size:.875rem;font-weight:500;color:var(--fg)}.project-card__actions{padding:.85rem 1.15rem 1.1rem;margin-top:auto;border-top:1px solid var(--border);background:linear-gradient(180deg,#fafbfc 0%,var(--bg-elevated) 100%)}[data-theme=dark] .project-card__actions{background:linear-gradient(180deg,var(--bg) 0%,var(--bg-elevated) 100%)}.app-loading{display:flex;align-items:center;justify-content:center;min-height:160px}.app-loading--padded{padding:2rem}.app-loading__dot{width:10px;height:10px;border-radius:50%;background:var(--accent);animation:app-pulse .9s ease-in-out infinite alternate}@keyframes app-pulse{0%{opacity:.35;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(165deg,#eff6ff 0%,var(--bg) 45%)}.auth-card{width:100%;max-width:420px;padding:2.25rem 2rem 2rem;border-radius:16px;background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow-lg)}.auth-card__hero{text-align:center;margin-bottom:1.75rem}.auth-card__icon-wrap{width:52px;height:52px;margin:0 auto 1rem;border-radius:14px;background:linear-gradient(145deg,var(--accent-muted),#eff6ff);display:flex;align-items:center;justify-content:center;border:1px solid #bfdbfe}.auth-card__icon{width:26px;height:26px;color:var(--accent)}.auth-card__brand{font-weight:700;font-size:.8rem;color:var(--accent);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.5rem}.auth-card__title{margin:0 0 .5rem;font-size:1.45rem;font-weight:600;letter-spacing:-.02em}.auth-card__lead{margin:0;font-size:.9rem;color:var(--muted);line-height:1.5}.auth-field{gap:.4rem}.auth-field__label{font-size:.8rem;color:var(--fg-soft);font-weight:600}.auth-field__input{padding:.65rem .8rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--fg);font:inherit;transition:border-color .15s ease,box-shadow .15s ease}.auth-field__input::placeholder{color:var(--muted);opacity:.85}.auth-field__input:hover:not(:disabled){border-color:#cbd5e1}.auth-field__input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.auth-field__input:disabled{opacity:.65;cursor:not-allowed}.auth-alert{padding:.7rem .85rem;border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:.875rem;line-height:1.45}.auth-submit{margin-top:.35rem;padding-top:.65rem;padding-bottom:.65rem;font-weight:600}.auth-card__foot{margin:1.25rem 0 0;font-size:.85rem}.board-page{max-width:100%}.board-page__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.board-page__head-text{min-width:0;flex:1 1 12rem}.board-page__board-select{display:inline-flex;align-items:center;gap:.5rem;margin-top:.75rem}.board-page__board-select-label{font-size:.8rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.board-page__select{font-size:.85rem;max-width:min(100%,280px)}.board-page__title{margin:0 0 .25rem;font-size:1.25rem;font-weight:600}.board-page__parent-task-link{display:inline-flex;align-items:center;max-width:100%;margin:0 0 .45rem;padding:.2rem 0;border:none;background:transparent;color:var(--accent);font:inherit;font-size:.9rem;font-weight:600;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);text-underline-offset:.15em}.board-page__parent-task-link:hover{color:var(--accent-hover)}.board-page__sub{margin:0;color:var(--muted);font-size:.9rem}.board-page__toolbar{display:flex;gap:.5rem;flex-wrap:wrap}.board-page__grid{display:flex;gap:1rem;align-items:flex-start;overflow-x:auto;padding-bottom:.5rem;scroll-behavior:smooth}.board-page__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.75rem 0 0}.board-page__mute{margin:0;color:var(--muted)}.board-page__copy-hint{font-size:.85rem;color:#15803d}.gantt-chart{--gantt-row-height: 3.5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow);overflow:hidden}.gantt-chart--empty{padding:2rem 1.25rem;text-align:center}.gantt-chart__hint{margin:0;padding:.65rem .85rem;border-bottom:1px solid var(--border);font-size:.82rem}.gantt-chart__legend{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;padding:.55rem .85rem;border-bottom:1px solid var(--border);background:var(--surface-2)}.gantt-chart__legend-head{display:flex;flex-direction:column;gap:.15rem;flex-shrink:0}.gantt-chart__legend-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.gantt-chart__legend-note{font-size:.78rem;color:var(--muted);line-height:1.35}.gantt-chart__legend-list{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .85rem;margin:0;padding:0;list-style:none}.gantt-chart__legend-item{display:inline-flex;align-items:center;gap:.4rem;min-width:0}.gantt-chart__legend-swatch{flex-shrink:0;width:.85rem;height:.85rem;border-radius:3px;background:var(--gantt-legend-accent, var(--column-accent));box-shadow:inset 0 0 0 1px #0f172a1f}[data-theme=dark] .gantt-chart__legend-swatch{box-shadow:inset 0 0 0 1px #ffffff1f}.gantt-chart__legend-name{font-size:.8125rem;color:var(--fg-soft);white-space:nowrap}.gantt-chart__frame{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;max-height:min(70vh,720px)}.gantt-chart__corner{flex-shrink:0;padding:.55rem .75rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-2);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.gantt-chart__header-scroll{overflow-x:auto;overflow-y:hidden;border-bottom:1px solid var(--border);scrollbar-width:none}.gantt-chart__header-scroll::-webkit-scrollbar{display:none}.gantt-chart__header{display:flex;min-height:2.75rem}.gantt-chart__day{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;border-right:1px solid var(--border);background:var(--surface-2);font-size:.72rem;color:var(--muted)}.gantt-chart__day--weekend{background:color-mix(in srgb,var(--surface-2) 70%,var(--border) 30%)}.gantt-chart__day--today{color:var(--accent);font-weight:700}.gantt-chart__day-month{font-size:.62rem;text-transform:uppercase;letter-spacing:.03em}.gantt-chart__day-num{line-height:1}.gantt-chart__body{display:flex;grid-column:1 / -1;min-height:0}.gantt-chart--row-pairs .gantt-chart__frame{grid-template-columns:var(--gantt-label-width, 240px) 1fr;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.gantt-chart--row-pairs .gantt-chart__corner{width:var(--gantt-label-width, 240px);box-sizing:border-box}.gantt-chart--row-pairs .gantt-chart__body{display:grid;grid-template-columns:var(--gantt-label-width, 240px) 1fr;grid-column:1 / -1;min-height:0;overflow:hidden}.gantt-chart--row-pairs .gantt-chart__labels-scroll{overflow-x:hidden;overflow-y:auto;min-height:0;border-right:1px solid var(--border);background:var(--bg-elevated);scrollbar-width:none}.gantt-chart--row-pairs .gantt-chart__labels-scroll::-webkit-scrollbar{display:none}.gantt-chart--row-pairs .gantt-chart__timeline-scroll{overflow:auto;min-width:0;min-height:0}.gantt-chart--row-pairs .gantt-chart__row{position:relative;min-height:var(--gantt-row-height);border-bottom:1px solid var(--border)}.gantt-chart--row-pairs .gantt-chart__row .gantt-chart__grid{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;height:100%;pointer-events:none}.gantt-chart--row-pairs .gantt-chart__row-pair{display:flex;align-items:stretch;border-bottom:1px solid var(--border);min-height:var(--gantt-row-height)}.gantt-chart--row-pairs .gantt-chart__row-pair .gantt-chart__label{flex-shrink:0;align-self:stretch;border-right:1px solid var(--border);border-bottom:none;box-sizing:border-box}.gantt-chart--row-pairs .gantt-chart__row-pair .gantt-chart__row{position:relative;flex-shrink:0;align-self:stretch;min-height:var(--gantt-row-height);border-bottom:none}.gantt-chart--row-pairs .gantt-chart__row-pair .gantt-chart__grid{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;height:100%;pointer-events:none}.gantt-chart__labels{flex-shrink:0;overflow-y:auto;border-right:1px solid var(--border);background:var(--bg-elevated)}.gantt-chart__label{display:flex;flex-direction:column;justify-content:center;gap:.2rem;width:100%;min-height:var(--gantt-row-height);box-sizing:border-box;padding:.45rem .75rem;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--fg);font:inherit;text-align:left;cursor:pointer;transition:background .15s ease}.gantt-chart__label:hover:not(:disabled){background:var(--accent-muted)}.gantt-chart__label--locked,.gantt-chart__label:disabled{cursor:default;opacity:.72}.gantt-chart__label-title{font-size:.84rem;font-weight:500;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-chart__label-meta{font-size:.72rem;line-height:1.35;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-chart__timeline-scroll{flex:1;overflow:auto;min-width:0}.gantt-chart__timeline{position:relative;min-height:100%}.gantt-chart__grid{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;pointer-events:none}.gantt-chart__grid-col{flex-shrink:0;height:100%;border-right:1px solid var(--border)}.gantt-chart__grid-col--weekend{background:color-mix(in srgb,var(--bg) 55%,transparent)}.gantt-chart__grid-col--today{background:color-mix(in srgb,var(--accent-muted) 65%,transparent)}.gantt-chart__row{position:relative;min-height:var(--gantt-row-height);box-sizing:border-box;border-bottom:1px solid var(--border)}.gantt-bar{position:absolute;top:50%;transform:translateY(-50%);height:22px;padding:0 .45rem;border:none;border-radius:999px;background:color-mix(in srgb,var(--gantt-bar-accent, var(--accent)) 78%,white);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gantt-bar-accent, var(--accent)) 55%,transparent);color:#0f172a;font:inherit;font-size:.72rem;font-weight:600;cursor:pointer;overflow:hidden;transition:filter .15s ease,transform .15s ease}[data-theme=dark] .gantt-bar{color:#f8fafc;background:color-mix(in srgb,var(--gantt-bar-accent, var(--accent)) 72%,#1a1f27)}.gantt-bar:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-50%) scale(1.01)}.gantt-bar:disabled{cursor:default;opacity:.72}.gantt-bar--unscheduled{background:transparent;border:1px dashed var(--border-strong);color:var(--muted);box-shadow:none}.gantt-bar--closure-executor{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gantt-bar-accent, var(--accent)) 55%,transparent),0 0 0 2px #ea580c}.gantt-bar--closure-confirmed{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gantt-bar-accent, var(--accent)) 55%,transparent),0 0 0 2px #16a34a}[data-theme=dark] .gantt-bar--closure-executor{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gantt-bar-accent, var(--accent)) 55%,transparent),0 0 0 2px #fb923c}[data-theme=dark] .gantt-bar--closure-confirmed{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gantt-bar-accent, var(--accent)) 55%,transparent),0 0 0 2px #4ade80}.gantt-bar--project{position:absolute;display:flex;align-items:center;overflow:hidden}a.gantt-bar.gantt-bar--project{display:flex}.gantt-bar__progress{position:absolute;left:0;top:0;bottom:0;background:color-mix(in srgb,#22c55e 75%,transparent);pointer-events:none;border-radius:999px 0 0 999px}.gantt-bar__text{position:relative;z-index:1;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a.gantt-bar{display:block;text-decoration:none;color:inherit}.gantt-chart__label--static{cursor:default;text-align:left}.gantt-chart__row--multi{min-height:calc(var(--gantt-row-height) + 4px)}.gantt-chart__row--multi .gantt-bar+.gantt-bar{margin-top:0}.monitoring-gantt-chart .gantt-chart__frame{height:min(70vh,720px);max-height:min(70vh,720px)}.monitoring-gantt-chart--expanded{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;height:100%}.monitoring-gantt-chart--expanded .gantt-chart__frame{flex:1;min-height:0;max-height:none;height:auto;overflow:hidden}.monitoring-gantt-chart--expanded .gantt-chart__body{min-height:0;overflow:hidden}.monitoring-gantt-chart--expanded .gantt-chart__labels-scroll,.monitoring-gantt-chart--expanded .gantt-chart__timeline-scroll{min-height:0;max-height:100%;overflow:auto}.kanban-col{--kanban-col-accent: var(--column-accent);flex:0 0 var(--kanban-col-width);max-width:100%;border-radius:var(--radius);background:var(--bg-elevated);border:1px solid var(--border);border-left:4px solid var(--kanban-col-accent);box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:200px;overflow:hidden}.kanban-col__accent{height:8px;flex-shrink:0;background:var(--kanban-col-accent);box-shadow:inset 0 -1px #0f172a14}[data-theme=dark] .kanban-col__accent{box-shadow:inset 0 -1px #00000059}.kanban-col__head-row{display:flex;align-items:center;gap:.45rem;padding:.5rem .65rem .55rem;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fafbfc 0%,var(--bg-elevated) 100%)}[data-theme=dark] .kanban-col__head-row{background:linear-gradient(180deg,#1e252f 0%,var(--bg-elevated) 100%)}@supports (background: linear-gradient(0deg,color-mix(in srgb,red,blue),white)){.kanban-col__head-row{border-bottom-color:color-mix(in srgb,var(--kanban-col-accent) 38%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--kanban-col-accent) 14%,var(--bg-elevated)) 0%,var(--bg-elevated) 100%)}}.kanban-col__name{flex:1;min-width:0;font-weight:600;font-size:.88rem;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kanban-col__count{font-size:.72rem;color:var(--muted);background:var(--bg);padding:.12rem .45rem;border-radius:999px;border:1px solid var(--border);flex-shrink:0}.kanban-col__add{flex-shrink:0}.kanban-col__body{flex:1;padding:.55rem;min-height:120px;transition:background .2s ease}.kanban-col__body.is-over{background:var(--kanban-col-drop-bg)}.kanban-card{display:flex;align-items:stretch;gap:0;margin-bottom:.5rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--kanban-card-bg);box-shadow:var(--shadow);font-size:.875rem;-webkit-user-select:none;user-select:none;transition:box-shadow .2s ease,transform .2s ease,border-color .15s ease;touch-action:manipulation}.kanban-card:hover{border-color:#bfdbfe;box-shadow:var(--shadow-md)}.kanban-card--dragging{opacity:.45;box-shadow:var(--shadow-md)}.kanban-card--overlay{padding:.65rem .85rem;min-width:min(280px,var(--kanban-col-width));max-width:var(--kanban-col-width);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--kanban-card-bg);box-shadow:var(--shadow-lg);cursor:grabbing}.kanban-card__handle{flex-shrink:0;width:24px;padding:0;margin:0;border:none;border-right:1px solid var(--border);border-radius:var(--radius-sm) 0 0 var(--radius-sm);background:var(--kanban-handle-bg);cursor:grab;display:flex;align-items:center;justify-content:center;color:var(--muted)}.kanban-card__handle:hover{background:color-mix(in srgb,var(--fg) 5%,var(--kanban-handle-bg));color:var(--fg-soft)}.kanban-card__handle:active{cursor:grabbing}.kanban-card__grip{display:block;width:3px;height:20px;border-radius:2px;background:repeating-linear-gradient(180deg,#94a3b8 0 2px,transparent 2px 4px)}.kanban-card__main{flex:1;min-width:0;padding:.55rem .65rem .55rem .45rem;cursor:pointer;text-align:left}.kanban-card__main--locked{cursor:default;opacity:.72}.kanban-card--closure-executor{outline:2px solid #ea580c;outline-offset:-1px}.kanban-card--closure-confirmed{outline:2px solid #16a34a;outline-offset:-1px}[data-theme=dark] .kanban-card--closure-executor{outline-color:#fb923c}[data-theme=dark] .kanban-card--closure-confirmed{outline-color:#4ade80}.kanban-card__handle--disabled{cursor:default;opacity:.45}.kanban-card__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.35rem}.kanban-card__title{margin:0;font-size:.92rem;font-weight:600;line-height:1.35;color:var(--fg)}.kanban-card__parent-link{display:block;width:100%;margin:.35rem 0 0;padding:0;border:none;background:transparent;color:var(--accent);font:inherit;font-size:.76rem;font-weight:500;line-height:1.35;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);text-underline-offset:.12em}.kanban-card__parent-link:hover{color:var(--accent-hover)}.kanban-card__overdue{flex-shrink:0;min-width:1.35rem;height:1.35rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:.75rem;font-weight:700}.kanban-card__desc{margin:.35rem 0 0;font-size:.8rem;color:var(--fg-soft);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.kanban-card__desc--empty{color:var(--muted);font-style:italic}.kanban-card__assignee{margin-top:.45rem;display:flex;flex-direction:column;gap:.1rem}.kanban-card__assignee-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.kanban-card__assignee-name{font-size:.82rem;font-weight:500;color:var(--fg)}.kanban-card__dates{margin-top:.4rem;display:flex;flex-direction:column;gap:.15rem}.kanban-card__date{font-size:.78rem;color:var(--fg-soft)}.kanban-card__date--muted{color:var(--muted);font-style:italic}.kanban-card__date--overdue{color:#b91c1c;font-weight:600}.kanban-card__date-k{color:var(--muted);font-weight:500;margin-right:.2rem}.kanban-card__icons{margin-top:.45rem;display:flex;align-items:center;gap:.45rem}.kanban-card__ico{display:inline-flex;align-items:center;justify-content:center;opacity:.35}.kanban-card__ico--on{opacity:1;color:var(--accent)}.kanban-card__ico--dim{opacity:.22}.kanban-card__ico-svg{display:block}.task-detail-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#0f172a73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:.75rem;overflow:hidden}.task-detail-modal.modal--fullscreen,.task-detail-modal{width:min(100vw - 1.5rem,1600px);max-width:none;height:min(100vh - 1.5rem,100%);max-height:none;margin:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--bg);box-shadow:var(--shadow-lg);padding:1rem 1.25rem 1.15rem}.task-detail-modal>.modal-header{flex-shrink:0}.task-detail-modal__body{min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden;gap:.75rem}.task-detail-modal__body>.task-detail-modal__header{flex-shrink:0}.task-detail-modal__body>.task-detail-modal__split{flex:1;min-height:0}.task-detail-modal__body>.task-detail-modal__actions,.task-detail-modal__body>.modal-actions{flex-shrink:0}.task-detail-modal__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1rem;padding:.85rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow)}.task-detail-modal__header-main{flex:1;min-width:min(100%,16rem)}.task-detail-modal__title{margin:0;font-size:1.2rem;font-weight:600;letter-spacing:-.02em;line-height:1.35;color:var(--fg)}.task-detail-modal__meta{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.55rem}.task-detail-badge{display:inline-flex;align-items:center;padding:.18rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.01em;border:1px solid var(--border);background:var(--surface-2);color:var(--fg-soft)}.task-detail-badge--column{color:var(--fg);background:var(--bg)}.task-detail-badge--open{border-color:color-mix(in srgb,var(--border-strong) 80%,transparent)}.task-detail-badge--executor{border-color:#f59e0b;background:color-mix(in srgb,#f59e0b 12%,var(--bg-elevated));color:#b45309}.task-detail-badge--confirmed{border-color:#22c55e;background:color-mix(in srgb,#22c55e 12%,var(--bg-elevated));color:#15803d}.task-detail-badge--tag{font-weight:500;color:var(--accent);border-color:color-mix(in srgb,var(--accent) 28%,var(--border));background:var(--accent-muted)}[data-theme=dark] .task-detail-badge--executor{color:#fbbf24}[data-theme=dark] .task-detail-badge--confirmed{color:#4ade80}.task-detail-modal__header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.task-detail-modal__hint{font-size:.82rem;color:#15803d}.task-detail-modal__section-title{margin:0 0 .65rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.task-detail-modal__info{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}.task-detail-panels{display:flex;flex-direction:column;gap:.75rem}.task-detail-panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem;box-shadow:var(--shadow)}.task-detail-panel--description{padding:1rem 1.05rem}.task-detail-panel--closure{margin-top:0}.task-detail-panel__title{margin:0 0 .7rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.task-detail-panel__hint{margin:-.25rem 0 .75rem;font-size:.84rem;line-height:1.45;color:var(--fg-soft)}.task-detail-panel__form{display:flex;flex-direction:column;gap:.65rem;padding-inline:0}.task-detail-panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem}.task-detail-fields{margin:0;display:flex;flex-direction:column;gap:0}.task-detail-fields>div{padding:.6rem 0;border-bottom:1px solid color-mix(in srgb,var(--border) 75%,transparent)}.task-detail-fields>div:first-child{padding-top:0}.task-detail-fields>div:last-child{padding-bottom:0;border-bottom:none}.task-detail-fields dt{margin:0;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.task-detail-fields dd{margin:.28rem 0 0;font-size:.92rem;color:var(--fg);line-height:1.45;word-break:break-word}.task-detail-dl{margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.65rem 1.25rem}.task-detail-dl dt{margin:0;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.task-detail-dl dd{margin:.15rem 0 0;font-size:.9rem;color:var(--fg);line-height:1.45;word-break:break-word}.task-detail-chip-list{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.35rem}.task-detail-person-chip{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.82rem;border:1px solid var(--border);background:var(--surface-2);color:var(--fg-soft)}.task-detail-related-chip{display:inline-flex;align-items:center;max-width:100%;margin:0;padding:.35rem .65rem;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent-muted) 55%,var(--bg-elevated));color:var(--accent);font:inherit;font-size:.86rem;line-height:1.35;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.task-detail-related-chip:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:var(--accent-muted);color:var(--accent-hover)}.task-detail-link{display:inline;margin:0;padding:0;border:none;background:transparent;color:var(--accent);font:inherit;font-size:inherit;line-height:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);text-underline-offset:.15em}.task-detail-link:hover{color:var(--accent-hover)}.task-detail-related-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.45rem}.task-detail-related-list li{margin:0}.task-detail-dl--compact{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.task-detail-card-form{display:flex;flex-direction:column;gap:.75rem;box-sizing:border-box}.task-detail-card-form input,.task-detail-card-form select,.task-detail-card-form textarea{width:100%;max-width:100%;box-sizing:border-box}.task-detail-card-form__ro-label{display:block;margin:0 0 .2rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.task-detail-card-form__ro-value{margin:0 0 .35rem;font-size:.9rem;color:var(--fg-soft)}.task-detail-card-form__hint{margin:0;font-size:.8rem;color:var(--muted);line-height:1.4}.task-detail-card-form__actions{margin-top:.25rem}.task-detail-tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.75rem;border-bottom:1px solid var(--border)}.task-detail-tabs__btn{cursor:pointer;border:none;background:transparent;padding:.5rem .75rem;font:inherit;font-size:.875rem;font-weight:500;color:var(--fg-soft);border-radius:var(--radius-sm) var(--radius-sm) 0 0;margin-bottom:-1px}.task-detail-tabs__btn:hover{color:var(--fg);background:var(--bg)}.task-detail-tabs__btn--active{color:var(--accent);background:var(--accent-muted);border:1px solid var(--border);border-bottom-color:var(--bg-elevated)}.task-detail-modal__panel{min-height:0;flex:1;overflow:auto;padding:.25rem 0}.task-detail-modal__split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:1rem;align-items:stretch;flex:1;min-height:0;overflow:hidden}@media(max-width:900px){.task-detail-modal__split{grid-template-columns:1fr}}.task-detail-modal__col{min-width:0;min-height:0;display:flex;flex-direction:column;gap:.75rem;overflow:hidden}.task-detail-modal__col--main{overflow:auto}.task-detail-modal__col--side{padding-left:0}@media(max-width:900px){.task-detail-modal__col--side{padding-top:.25rem}}.task-detail-side{display:flex;flex-direction:column;min-height:0;flex:1;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow);overflow:hidden}.task-detail-modal__side-tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:0;padding:.5rem .5rem 0;background:var(--surface-2);border-bottom:1px solid var(--border)}.task-detail-modal__panel--side{flex:1;min-height:0;max-height:none;overflow:auto;padding:.85rem 1rem;background:var(--bg-elevated)}.task-detail-coassign__list{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.35rem}.task-detail-coassign__chip{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .45rem;border-radius:999px;border:1px solid var(--border);font-size:.8rem;background:var(--bg)}.task-detail-closure-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.task-chat__attachments{margin:.35rem 0 0;padding:0;list-style:none;font-size:.82rem}.task-chat__file-link{margin:0;padding:0;border:none;background:none;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline;text-align:left}.task-chat__file-link:hover{color:var(--accent-hover)}.task-chat__attach-picker{margin:.35rem 0;font-size:.82rem;color:var(--muted)}.task-chat__attach-row{display:flex;align-items:center;gap:.35rem;font-size:.82rem}.task-tab__mute{margin:0;color:var(--muted);font-size:.9rem}.task-detail-desc__text{margin:0;white-space:pre-wrap;font-size:.92rem;line-height:1.55;color:var(--fg-soft)}.task-detail-panel--description .task-detail-desc__text{padding:.65rem .75rem;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid color-mix(in srgb,var(--border) 85%,transparent)}.task-detail-desc__text--empty{color:var(--muted);font-style:italic}.task-chat__list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.75rem}.task-chat__empty{color:var(--muted);font-size:.9rem}.task-chat__msg{padding:.55rem .65rem;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border)}.task-chat__msg-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.35rem}.task-chat__author{font-weight:600;font-size:.82rem;color:var(--fg)}.task-chat__time{font-size:.72rem;color:var(--muted);flex-shrink:0}.task-chat__text{margin:0;font-size:.88rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.task-chat__form{display:flex;flex-direction:column;gap:.5rem}.task-chat__input{width:100%;padding:.5rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);font:inherit;resize:vertical;min-height:3.5rem;background:var(--bg-elevated);color:var(--fg)}.task-files__bc{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem;margin-bottom:.65rem;font-size:.85rem}.task-files__bc-link{border:none;background:none;cursor:pointer;color:var(--accent);font:inherit;padding:.1rem .2rem;text-decoration:underline}.task-files__bc-link:disabled{opacity:.5;cursor:not-allowed}.task-files__bc-sep{color:var(--muted);margin:0 .1rem}.task-files__toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.task-files__upload{cursor:pointer;display:inline-flex;align-items:center}.task-files__table-wrap{overflow:auto;max-height:36vh}.task-files__table{font-size:.85rem}.task-files__name-btn{border:none;background:none;cursor:pointer;font:inherit;color:var(--accent);text-align:left;padding:0}.task-files__name-btn:hover{text-decoration:underline}.task-files__actions{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.file-manager__error{margin-bottom:.5rem}.file-manager__toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.file-manager__upload{cursor:pointer;display:inline-flex;align-items:center}.file-manager__bc{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem;margin-bottom:.65rem;font-size:.85rem}.file-manager__bc-link{border:none;background:none;cursor:pointer;color:var(--accent);font:inherit;padding:.1rem .2rem;text-decoration:underline}.file-manager__bc-link:disabled{opacity:.5;cursor:not-allowed}.file-manager__bc-sep{color:var(--muted);margin:0 .1rem}.file-manager__table-wrap{overflow:auto}.file-manager__table-wrap--panel{max-height:36vh}.file-manager__table{font-size:.85rem}.file-manager__name-cell{display:flex;align-items:center;gap:.35rem;min-width:0}.file-manager__ico{flex-shrink:0;opacity:.85}.file-manager__name-btn{display:inline-flex;align-items:center;gap:.35rem;border:none;background:none;cursor:pointer;font:inherit;color:var(--accent);text-align:left;padding:0;min-width:0}.file-manager__name-btn:hover{text-decoration:underline}.file-manager__name-file{display:inline-flex;align-items:center;gap:.35rem;min-width:0}.file-manager__author{max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-manager__th-actions{width:3rem}.file-manager__actions{text-align:right;vertical-align:middle}.file-manager__dots{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer}.file-manager__dots:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.file-manager__dots:disabled{opacity:.45;cursor:not-allowed}.file-manager__menu-popover{min-width:10rem;padding:.25rem 0;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);box-shadow:0 6px 20px #0000001f}.file-manager__menu-list{display:flex;flex-direction:column}.file-manager__menu-item{border:none;background:none;cursor:pointer;font:inherit;font-size:.875rem;text-align:left;padding:.45rem .75rem;color:var(--text)}.file-manager__menu-item:hover:not(:disabled){background:var(--surface-2)}.file-manager__menu-item:disabled{opacity:.5;cursor:not-allowed}.file-manager__menu-item--danger{color:var(--danger, #c62828)}.task-subboard{padding:.5rem 0}.task-detail-modal__actions{margin-top:1rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.modal{width:100%;max-width:28rem;max-height:min(85vh,560px);overflow:auto;border:1px solid var(--border);border-radius:12px;background:var(--bg-elevated);padding:1.35rem 1.65rem;box-shadow:var(--shadow-lg)}.modal>.board-page__actions,.modal>.modal-actions,.modal>.app-inline-error,.modal>.board-page__mute,.modal>.cal-note-body,.modal>.cal-comment-form{margin-inline:var(--form-inline-inset)}.modal--lg{max-width:32rem;max-height:min(90vh,640px)}.modal--xl{max-width:min(96vw,56rem);max-height:min(92vh,900px);overflow-y:auto}.modal-backdrop--nested{z-index:1200}.modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin:0 calc(var(--form-inline-inset) + .1rem) .75rem}.modal-header .modal-title{margin:0;flex:1;min-width:0}.modal-title{margin:0 calc(var(--form-inline-inset) + .1rem) .75rem;font-size:1.15rem;font-weight:600}.modal-close{flex-shrink:0;width:2rem;height:2rem;margin:-.25rem -.35rem 0 0;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--fg-soft);font-size:1.5rem;line-height:1;cursor:pointer}.modal-close:hover:not(:disabled){background:var(--bg-muted, rgba(15, 23, 42, .06));color:var(--fg)}.modal-close:disabled{opacity:.45;cursor:not-allowed}.modal-confirm-text{margin:0 calc(var(--form-inline-inset) + .1rem) 1rem;color:var(--fg-soft);line-height:1.45}.task-desc{margin:0 0 1rem;white-space:pre-wrap;color:var(--fg-soft);font-size:.95rem}.column-settings__list{list-style:none;margin:0;padding:0}.column-settings__row{display:flex;align-items:center;gap:.65rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.column-settings__row:last-child{border-bottom:none}.column-settings__swatch{width:12px;height:28px;border-radius:4px;flex-shrink:0}.column-settings__name{flex:1;font-size:.9rem}.column-settings__btns{display:flex;gap:.25rem}.column-settings.column-settings--wide{max-width:38rem}.column-settings__toolbar{margin-bottom:.5rem}.column-settings__row--editor{flex-wrap:wrap;align-items:center}.column-settings__drag{flex-shrink:0;width:2rem;height:2rem;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);cursor:grab;font-size:.65rem;line-height:1;color:var(--muted)}.column-settings__drag:active{cursor:grabbing}.column-settings__swatch--btn{position:relative;width:32px;height:32px;border-radius:6px;overflow:hidden;border:1px solid var(--border-strong)}.column-settings__color-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.column-settings__name-input{flex:1;min-width:140px;padding:.4rem .55rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);font:inherit;font-size:.9rem}.column-settings__count{font-size:.78rem;color:var(--muted);min-width:4.5rem;text-align:right}.column-settings__move-panel{flex-basis:100%;width:100%;margin-top:.5rem;padding:.65rem .75rem;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border)}.column-settings__move-hint{margin:0 0 .5rem;font-size:.82rem;color:var(--fg-soft)}.column-settings__select{margin-bottom:.5rem}.column-settings__move-actions{display:flex;flex-wrap:wrap;gap:.35rem}.column-settings__footer{margin-top:1rem}.app-link{color:var(--accent);text-decoration:underline;font-size:.9rem}.app-link:hover{text-decoration:none}.tpl-list__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.tpl-list__hint{margin-bottom:1.25rem}.tpl-list__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.tpl-card{display:flex;flex-direction:column;height:100%;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-decoration:none;color:inherit;box-shadow:0 1px 2px #0000000a;transition:border-color .15s ease,box-shadow .15s ease}.tpl-card:hover{border-color:var(--accent);box-shadow:0 4px 14px #00000014}.tpl-card__title{margin:0 0 .35rem;font-size:1.05rem;font-weight:600}.tpl-card__desc{margin:0 0 .75rem;font-size:.88rem;color:var(--fg-soft);flex:1;line-height:1.45}.tpl-card__desc--empty{color:var(--muted);font-style:italic}.tpl-card__meta{display:flex;gap:1.25rem;margin:0;padding-top:.5rem;border-top:1px solid var(--border);font-size:.8rem}.tpl-card__meta dt{margin:0;color:var(--muted);font-weight:500}.tpl-card__meta dd{margin:.1rem 0 0;font-weight:600}.tpl-page__back{margin:0 0 .75rem}.tpl-page__form{max-width:28rem}.tpl-page__check{display:flex;align-items:flex-start;gap:.55rem;font-size:.9rem;cursor:pointer}.tpl-editor__banner{padding:.65rem .85rem;border-radius:var(--radius-sm);background:var(--surface-2);margin-bottom:1rem}.tpl-editor__meta{max-width:40rem}.tpl-editor__label{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.85rem;font-size:.9rem}.tpl-editor__label input,.tpl-editor__label textarea{font:inherit;padding:.45rem .55rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong)}.tpl-editor__h2{margin:1.25rem 0 .35rem;font-size:1rem;font-weight:600}.tpl-editor__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}.tpl-editor__col{align-items:center}.app-btn--danger{color:#991b1b;border-color:#fecaca;background:#fef2f2}.app-btn--danger:hover:not(:disabled){background:#fee2e2}.tpl-apply__label{display:flex;flex-direction:column;gap:.35rem;margin:.75rem 0;font-size:.9rem}.admin-layout{min-height:100%}.admin-layout__head{padding:1rem 1.25rem;border-bottom:1px solid var(--border);background:var(--surface)}.admin-layout__title{margin:0 0 .75rem}.admin-nav{display:flex;flex-wrap:wrap;gap:.35rem}.admin-nav__link{padding:.45rem .85rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;color:var(--fg-soft);text-decoration:none;border:1px solid transparent}.admin-nav__link:hover{background:var(--surface-2);color:var(--fg)}.admin-nav__link--active{background:var(--accent-muted);color:var(--accent);border-color:#bfdbfe}.admin-layout__body{padding:.5rem 1.25rem 1.5rem}.admin-section.app-panel{max-width:none;width:100%}.admin-section__h{margin:0 0 .5rem;font-size:1.1rem;font-weight:600}.admin-section__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.85rem;margin:0}.admin-stat-card{margin:0;padding:.85rem 1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.admin-stat-card dt{margin:0;font-size:.78rem;color:var(--muted);font-weight:500}.admin-stat-card dd{margin:.35rem 0 0;font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.admin-table-wrap{overflow-x:auto;margin-top:.75rem;-webkit-overflow-scrolling:touch}.admin-table-wrap--users .app-table.admin-table--users{min-width:68rem;width:max-content}.admin-table-wrap .app-table.admin-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.admin-table-wrap .app-table.admin-table th,.admin-table-wrap .app-table.admin-table td{padding:.85rem 1.1rem;border-bottom:1px solid var(--border);border-right:1px solid var(--border);vertical-align:middle}.admin-table-wrap .app-table.admin-table th:last-child,.admin-table-wrap .app-table.admin-table td:last-child{border-right:none}.admin-table-wrap .app-table.admin-table tbody tr:last-child td{border-bottom:none}.admin-table-wrap .app-table.admin-table thead th{background:var(--surface-2);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding-top:.95rem;padding-bottom:.95rem}.admin-table-wrap .app-table.admin-table tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--surface-2) 40%,transparent)}.admin-table-wrap .app-table.admin-table tbody tr:hover td{background:color-mix(in srgb,var(--accent) 7%,var(--bg-elevated))}.admin-table{font-size:.88rem}.admin-table__name{font-weight:500}.admin-table__col-num{width:6.5rem;text-align:center;white-space:nowrap}th.admin-table__col-num{text-align:center}.admin-table__col-slug{width:14rem}.admin-table__col-color{width:10rem}.admin-table__slug,.admin-color-hex{display:inline-block;padding:.2rem .45rem;border-radius:4px;font-size:.8rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:color-mix(in srgb,var(--surface-2) 80%,transparent);border:1px solid var(--border);color:var(--text)}.admin-color-cell{display:inline-flex;align-items:center;gap:.55rem}.admin-color-swatch{flex-shrink:0;width:1.35rem;height:1.35rem;border-radius:6px;border:1px solid color-mix(in srgb,var(--border) 80%,#000 20%);box-shadow:inset 0 0 0 1px color-mix(in srgb,#fff 25%,transparent)}.admin-table__actions{white-space:nowrap;text-align:right;min-width:12rem;width:1%;vertical-align:middle}.admin-table--users .admin-table__actions{min-width:15rem}.admin-table__actions .app-btn{margin-left:.35rem;margin-bottom:.25rem}.admin-table-wrap--users .admin-table__actions{white-space:normal}.admin-table__actions-inner{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.admin-table-wrap--users .admin-table__actions .app-btn{margin-left:0;margin-right:0;margin-bottom:0}.admin-table__clip{max-width:18rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-table__date{white-space:nowrap;color:var(--muted);font-size:.82rem}.admin-more{margin-top:1rem}.admin-badge{display:inline-block;padding:.15rem .45rem;border-radius:4px;font-size:.75rem;background:var(--surface-2);color:var(--muted)}.admin-badge--ok{background:#dcfce7;color:#166534}.admin-banner{padding:.65rem .75rem;border-radius:var(--radius-sm);font-size:.9rem}.admin-banner--ok{background:#ecfdf5;border:1px solid #a7f3d0}[data-theme=dark] .admin-banner--ok{background:#10b9811f;border-color:#34d39952;color:var(--fg)}[data-theme=dark] .admin-badge--ok{background:#22c55e38;color:#bbf7d0}.admin-code{display:block;margin:.75rem 0;padding:.65rem .75rem;background:var(--surface-2);border-radius:var(--radius-sm);font-size:.95rem;word-break:break-all}.project-chat-drawer__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:280;border:none;padding:0;margin:0;width:100%;height:100%;background:#0f172a59;cursor:pointer}.project-chat-drawer{position:fixed;top:0;right:0;z-index:290;width:min(100vw,420px);height:100%;display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--border-strong);box-shadow:-8px 0 32px #0000001f}[data-theme=dark] .project-chat-drawer{box-shadow:-12px 0 40px #0000008c}.project-chat-view{display:flex;flex-direction:column;flex:1;min-height:0;padding:.75rem 1rem 1rem}.project-chat-view__head{display:flex;align-items:center;gap:.5rem;flex-shrink:0;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.project-chat-view__head--page{border-bottom:none;margin-bottom:0;padding-bottom:0;min-height:0}.project-chat-view__title{margin:0;font-size:1.05rem;font-weight:600;flex:1}.project-chat-view__ws-badge{font-size:.72rem;color:var(--muted);white-space:nowrap}.project-chat-view__close{margin-left:auto;flex-shrink:0;min-width:2rem}.project-chat-view__err{flex-shrink:0;margin:0 0 .5rem}.project-chat-view__form{flex-shrink:0;margin-top:auto;padding-top:.75rem}.project-chat-page .project-chat-view--page{padding-left:0;padding-right:0}.project-chat-page__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1rem}.project-chat-page__head .app-page-title{margin-bottom:0}.project-chat-page__layout{display:grid;grid-template-columns:minmax(12rem,16rem) minmax(0,1fr);gap:1rem;min-height:min(72vh,640px)}.project-chat-page__sidebar{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);padding:.5rem;overflow:auto}.project-chat-page__nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.project-chat-page__nav-hint{padding:.35rem .5rem;font-size:.82rem}.project-chat-page__nav-btn{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.5rem .6rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--fg);font:inherit;font-size:.875rem;text-align:left;cursor:pointer}.project-chat-page__nav-btn:hover{background:color-mix(in srgb,var(--accent) 6%,var(--bg-elevated))}.project-chat-page__nav-btn--active{background:color-mix(in srgb,var(--accent) 12%,var(--bg-elevated));color:var(--accent);font-weight:600}.project-chat-page__nav-meta{flex-shrink:0;font-size:.72rem;color:var(--muted)}.project-chat-page__main{min-width:0;min-height:0;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);overflow:hidden}.chats-page{width:100%;max-width:none;margin:0;padding:1rem;box-sizing:border-box;min-height:0;height:100%;flex:1;display:flex;flex-direction:column;overflow:hidden}.chats-page__head{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-bottom:.75rem}.chats-page>.app-inline-error{flex-shrink:0;margin:0 0 .5rem}.chats-page__head .app-page-title{margin-bottom:0}.chats-page__toggle{display:inline-flex;align-items:center;gap:.45rem;font-size:.875rem;font-weight:500;cursor:pointer}.chats-page__toggle input{accent-color:var(--accent)}.chats-page__empty{margin:1rem 0}.chats-layout{display:grid;grid-template-columns:23.4rem minmax(0,1fr);gap:1rem;flex:1;width:100%;min-height:0;height:100%;overflow:hidden;align-items:stretch}.chats-tree{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);overflow-y:auto;overflow-x:hidden;min-height:0;height:100%;max-height:100%;width:23.4rem;max-width:23.4rem}.chats-tree__list{list-style:none;margin:0;padding:.5rem}.chats-tree__project+.chats-tree__project{margin-top:.35rem}.chats-tree__project-head{display:flex;align-items:center;gap:.25rem;padding:.25rem .15rem}.chats-tree__project-name{flex:1;min-width:0;font-weight:650;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chats-tree__collapse{flex-shrink:0;width:1.25rem;padding:0;border:none;background:none;color:var(--muted);font:inherit;cursor:pointer}.chats-tree__add{flex-shrink:0;min-width:1.75rem;padding-inline:.35rem}.chats-tree__children{list-style:none;margin:0;padding:0 0 .35rem 1rem;display:flex;flex-direction:column;gap:.15rem}.chats-tree__row{display:flex;align-items:stretch;gap:.2rem;list-style:none}.chats-tree__row .chats-tree__item{flex:1;min-width:0}.chats-tree__item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chats-tree__row-actions{display:flex;align-items:center;flex-shrink:0}.chats-tree__row-actions--with-menu .chats-tree__menu-btn{border-top-right-radius:0;border-bottom-right-radius:0}.chats-tree__row-actions--with-menu .chats-tree__mute{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.chats-tree__menu-btn{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer;opacity:.55}.chats-tree__menu-btn:hover{opacity:1;color:var(--fg);background:color-mix(in srgb,var(--accent) 8%,var(--bg-elevated))}.chats-tree__mute{flex-shrink:0;align-self:center;width:1.85rem;height:1.85rem;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;font-size:.95rem;line-height:1;cursor:pointer;opacity:.55}.chats-tree__mute:hover{opacity:1;background:color-mix(in srgb,var(--accent) 8%,var(--bg-elevated))}.chats-tree__mute--on{opacity:1}.chats-tree__item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.42rem .55rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--fg-soft);font:inherit;font-size:.84rem;text-align:left;cursor:pointer}.chats-tree__item:hover{background:color-mix(in srgb,var(--accent) 5%,var(--bg-elevated));color:var(--fg)}.chats-tree__item--active{background:color-mix(in srgb,var(--accent) 12%,var(--bg-elevated));color:var(--accent);font-weight:600}.chats-tree__item--main{font-weight:500;color:var(--fg)}.chats-tree__unread{flex-shrink:0;width:.45rem;height:.45rem;border-radius:50%}.chats-tree__unread--yellow{background:#e6b800}.chats-tree__unread--red{background:#e53935}.chats-tree__unread--gray{background:#9e9e9e}.chats-tree__meta{flex-shrink:0;font-size:.72rem;color:var(--muted)}.chats-tree__task-group{margin-top:.25rem}.chats-tree__task-group-head{display:flex;align-items:center;gap:.25rem;width:100%;padding:.35rem .45rem;border:none;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg) 50%,var(--bg-elevated));color:var(--fg-soft);font:inherit;font-size:.8rem;font-weight:600;text-align:left;cursor:pointer}.chats-tree__task-list{list-style:none;margin:.2rem 0 0;padding:0 0 0 .85rem;display:flex;flex-direction:column;gap:.1rem}.chats-tree__item--task{font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chats-panel-wrap{min-width:0;min-height:0;height:100%;width:100%;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);overflow:hidden}.chats-panel-wrap__head{flex-shrink:0;padding:.85rem 1rem .65rem;border-bottom:1px solid var(--border)}.chats-panel-wrap__breadcrumb{margin:0;font-size:.78rem;color:var(--muted)}.chats-panel-wrap__title{margin:.15rem 0 0;font-size:1.1rem;font-weight:650}.chats-panel-wrap .project-chat-view--panel,.chats-panel-wrap .project-chat-view,.chats-panel-wrap .rich-chat{flex:1;min-height:0;width:100%;overflow:hidden}.chats-panel-wrap .rich-chat{padding:0 1rem 1rem}.chats-panel-wrap .rich-chat__log{overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;-webkit-overflow-scrolling:touch}.chats-panel-wrap .rich-chat__form,.chats-panel-wrap .rich-chat__typing-slot{flex-shrink:0}.chats-panel-wrap .rich-chat>.app-inline-error{flex-shrink:0;margin:.5rem 0 0}.rich-chat__older-loading{margin:0 0 .5rem;padding:0;font-size:.78rem;color:var(--muted);text-align:center}.chats-panel-wrap .project-chat__log--flex{width:100%}.chats-panel--task{flex:1;min-height:0;display:flex;flex-direction:column;padding:0 1rem 1rem}.chats-panel__head{flex-shrink:0;padding:.5rem 0 .75rem}.chats-panel__title{margin:0;font-size:1rem;font-weight:600}.chats-panel__subtitle{margin:.2rem 0 0;font-size:.8rem;color:var(--muted)}.chats-panel--task .task-chat{flex:1;min-height:0;display:flex;flex-direction:column}.chats-create-sub-modal{max-width:32rem;overflow:visible;max-height:min(90vh,640px)}.chats-create-sub-form{max-height:min(72vh,520px);overflow-y:auto;padding-right:.15rem}.chats-create-sub-form .modal-actions{margin-top:.25rem}.rich-chat{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;overflow:hidden}.rich-chat__form{flex-shrink:0}.rich-chat__toolbar{display:flex;align-items:center;gap:.5rem;flex-shrink:0;padding:.35rem .75rem;border-bottom:1px solid var(--border)}.rich-chat__title{margin:0;flex:1;font-size:1rem;font-weight:600}.rich-chat__mute--on{opacity:.85;border-style:dashed}.rich-chat__ws{font-size:.72rem;color:var(--muted)}.rich-chat__typing-slot{flex-shrink:0;padding:.35rem .85rem 0}.rich-chat__typing{display:flex;align-items:center;gap:.35rem;margin:0;font-size:.8rem;color:var(--accent)}.rich-chat__typing-text{font-style:italic}.rich-chat__typing-dots{display:inline-flex;align-items:center;gap:.15rem}.rich-chat__typing-dots span{width:.28rem;height:.28rem;border-radius:50%;background:currentColor;opacity:.35;animation:rich-chat-typing-dot 1.1s infinite ease-in-out}.rich-chat__typing-dots span:nth-child(2){animation-delay:.15s}.rich-chat__typing-dots span:nth-child(3){animation-delay:.3s}@keyframes rich-chat-typing-dot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.rich-chat__msg-actions{margin-left:auto;display:inline-flex;gap:.35rem}.rich-chat__msg-btn{padding:0;border:none;background:none;color:var(--accent);font:inherit;font-size:.72rem;cursor:pointer}.rich-chat__msg-btn:hover{text-decoration:underline}.rich-chat__mention{font-weight:700;color:var(--fg)}.rich-chat__reply-quote{display:block;width:100%;margin:.35rem 0;padding:.35rem .55rem;border:none;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--bg-elevated));border-radius:var(--radius-sm);font:inherit;font-size:.8rem;color:var(--muted);text-align:left;cursor:pointer}.rich-chat__reply-quote:hover{background:color-mix(in srgb,var(--accent) 11%,var(--bg-elevated));color:var(--fg-soft)}.rich-chat__reply-quote strong{display:block;color:var(--fg-soft);font-size:.75rem}.rich-chat__msg--highlight{border-radius:var(--radius-sm);animation:rich-chat-msg-flash 1.6s ease-out}.rich-chat__msg--own{border-color:var(--accent);border-width:1.5px;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}.rich-chat__msg--own.rich-chat__msg--highlight{animation:rich-chat-msg-flash-own 1.6s ease-out}@keyframes rich-chat-msg-flash{0%,35%{background:color-mix(in srgb,var(--accent) 22%,var(--bg-elevated))}to{background:transparent}}@keyframes rich-chat-msg-flash-own{0%,35%{background:color-mix(in srgb,var(--accent) 14%,var(--bg));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent),0 0 0 4px color-mix(in srgb,var(--accent) 30%,transparent)}to{background:var(--bg);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}}.rich-chat__attachments{list-style:none;margin:.45rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.rich-chat__att-caption{margin:0 0 .25rem;font-size:.8rem;color:var(--fg-soft)}.rich-chat__img-thumb{display:block;max-width:min(100%,280px);max-height:200px;width:auto;height:auto;object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--border);cursor:zoom-in}.rich-chat__file-link{padding:0;border:none;background:none;color:var(--accent);font:inherit;font-size:.84rem;cursor:pointer;text-align:left}.rich-chat__form{position:relative;flex-shrink:0;padding:.65rem .75rem .75rem;border-top:1px solid var(--border)}.rich-chat__form--drag{outline:2px dashed var(--accent);outline-offset:-4px;background:color-mix(in srgb,var(--accent) 5%,var(--bg-elevated))}.rich-chat__drop-hint{position:absolute;top:.35rem;right:.35rem;bottom:.35rem;left:.35rem;z-index:2;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg-elevated) 88%,transparent);color:var(--accent);font-size:.84rem;font-weight:600;pointer-events:none}.rich-chat__compose-banner{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.45rem;padding:.35rem .55rem;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 8%,var(--bg-elevated));font-size:.8rem}.rich-chat__pending{list-style:none;margin:0 0 .5rem;padding:0;display:flex;flex-direction:column;gap:.35rem}.rich-chat__pending-item{display:grid;grid-template-columns:auto 1fr auto;gap:.45rem;align-items:center}.rich-chat__pending-thumb{width:2.5rem;height:2.5rem;object-fit:cover;border-radius:var(--radius-sm)}.rich-chat__pending-caption{width:100%;box-sizing:border-box;padding:.35rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;font-size:.8rem}.rich-chat__input-row{display:flex;gap:.5rem;align-items:flex-end}.rich-chat__input-row .task-chat__input{flex:1;min-width:0}.rich-chat__input-tools{display:flex;flex-direction:column;gap:.35rem;flex-shrink:0}.rich-chat__file-btn{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;cursor:pointer}.rich-chat__mention-menu{list-style:none;margin:.35rem 0 0;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);max-height:10rem;overflow:auto}.rich-chat__mention-menu button{display:block;width:100%;padding:.4rem .55rem;border:none;background:none;text-align:left;font:inherit;font-size:.84rem;cursor:pointer}.rich-chat__mention-menu button:hover{background:color-mix(in srgb,var(--accent) 8%,var(--bg-elevated))}.rich-chat-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;background:#000000b8;padding:1.5rem}.rich-chat-lightbox__inner{position:relative;max-width:min(96vw,1200px);max-height:92vh}.rich-chat-lightbox__close{position:absolute;top:-.25rem;right:-.25rem;z-index:1}.rich-chat-lightbox__img{display:block;max-width:100%;max-height:92vh;object-fit:contain;border-radius:var(--radius-sm)}@media(max-width:900px){.chats-layout,.project-chat-page__layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);min-height:0;height:100%}.chats-tree{width:100%;max-width:none;height:auto;max-height:16rem}}.project-chat__log{max-height:min(50vh,420px);overflow:auto;margin-bottom:1rem;padding:.75rem;background:var(--surface-2);border-radius:var(--radius);border:1px solid var(--border)}.project-chat__log--flex{flex:1;min-height:0;max-height:none;display:flex;flex-direction:column;margin-bottom:0;overflow-y:auto;overflow-x:hidden}.project-chat__log--flex .project-chat__list{flex:none;min-height:0}.project-chat__list{list-style:none;margin:0;padding:0}.project-chat__msg{margin-bottom:.85rem}.project-chat__time{font-size:.72rem;color:var(--muted)}.project-chat__text{margin:.25rem 0 0;font-size:.9rem}.project-chat__form{display:flex;gap:.5rem;align-items:stretch}.project-chat__input{flex:1;padding:.55rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);font:inherit;background:var(--bg-elevated);color:var(--fg)}:root{--monitoring-done: #22c55e;--monitoring-rest: #e5e7eb}[data-theme=dark]{--monitoring-rest: #3d4656}.monitoring-page.page{max-width:1120px}.monitoring-page.page:has(.monitoring-gantt){max-width:min(96vw,1680px)}.page-head{margin-bottom:1.5rem}.page-head__title{margin:0 0 .35rem;font-size:1.5rem;font-weight:650;color:var(--fg)}.page-head__subtitle{margin:0;font-size:.9rem;color:var(--muted);max-width:52rem;line-height:1.45}.monitoring-tabs{display:flex;align-items:stretch;gap:0;margin-bottom:1.5rem;padding:.25rem;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border)}.monitoring-tabs__sep{width:1px;align-self:stretch;margin:.4rem .2rem;background:color-mix(in srgb,var(--fg) 12%,var(--border));border-radius:1px;flex-shrink:0}.monitoring-tabs--gantt-active{padding:.35rem .5rem;border-width:2px;border-color:color-mix(in srgb,var(--accent) 40%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent),var(--shadow)}.monitoring-tabs--gantt-active .monitoring-tabs__sep{width:2px;margin:.3rem .35rem;background:color-mix(in srgb,var(--fg) 28%,var(--border))}.monitoring-tabs__btn{flex:1;min-height:2.5rem;padding:.4rem .85rem;border:none;border-radius:var(--radius-sm);font:inherit;font-weight:500;font-size:.9rem;cursor:pointer;color:var(--fg-soft);background:transparent;transition:background .15s ease,color .15s ease}.monitoring-tabs__btn:hover{color:var(--fg);background:#0000000a}[data-theme=dark] .monitoring-tabs__btn:hover{background:#ffffff0f}.monitoring-tabs__btn--active{color:var(--fg);background:var(--bg-elevated);box-shadow:var(--shadow)}.monitoring-hint{color:var(--muted);font-size:.9rem}.monitoring-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.75rem;margin-bottom:1.75rem}.monitoring-stat{padding:1rem 1rem .9rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow)}.monitoring-stat__value{font-size:1.65rem;font-weight:700;line-height:1.1;color:var(--fg)}.monitoring-stat__label{margin-top:.35rem;font-size:.8rem;line-height:1.35;color:var(--muted)}.monitoring-section{margin-bottom:2rem}.monitoring-section--collapsed{margin-bottom:1rem}.monitoring-section__head{margin:0 0 .65rem}.monitoring-section--collapsed .monitoring-section__head{margin-bottom:0}.monitoring-section__toggle{display:flex;align-items:center;gap:.45rem;width:100%;padding:0;border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.monitoring-section__toggle:hover .monitoring-section__title{color:var(--accent)}.monitoring-section__chevron{flex-shrink:0;width:1rem;font-size:.7rem;color:var(--muted);line-height:1}.monitoring-section__title{flex:1;margin:0;font-size:1.05rem;font-weight:600;color:var(--fg)}.monitoring-section__count{flex-shrink:0;min-width:1.5rem;padding:.1rem .45rem;border-radius:999px;font-size:.75rem;font-weight:600;text-align:center;color:var(--muted);background:var(--surface-2)}.monitoring-empty{margin:0;font-size:.9rem;color:var(--muted)}.monitoring-pagination{display:flex;align-items:center;gap:1rem;margin-top:.75rem;padding:0 .25rem}.monitoring-table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated)}.monitoring-table{width:100%;border-collapse:collapse;font-size:.875rem}.monitoring-table th,.monitoring-table td{padding:.55rem .75rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.monitoring-table th{font-weight:600;color:var(--fg-soft);background:var(--surface-2);white-space:nowrap}.monitoring-table tr:last-child td{border-bottom:none}.monitoring-table__task-link{color:var(--accent);font-weight:500;text-decoration:none}.monitoring-table__task-link:hover{text-decoration:underline}.monitoring-badge{display:inline-block;padding:.15rem .45rem;border-radius:999px;font-size:.75rem;font-weight:500;white-space:nowrap}.monitoring-badge--open{background:var(--accent-muted);color:var(--accent-hover)}.monitoring-badge--executor_closed{background:#fb923c33;color:#c2410c}[data-theme=dark] .monitoring-badge--executor_closed{color:#fdba74}.monitoring-badge--confirmed{background:#22c55e2e;color:#15803d}[data-theme=dark] .monitoring-badge--confirmed{color:#86efac}.monitoring-badge--execution-on{background:#3b82f62e;color:#1d4ed8}[data-theme=dark] .monitoring-badge--execution-on{color:#93c5fd}.monitoring-badge--execution-off{background:#94a3b833;color:#475569}[data-theme=dark] .monitoring-badge--execution-off{color:#cbd5e1}.monitoring-badge--muted{background:transparent;color:var(--text-muted, #94a3b8)}.task-detail-execution-btn--off{border-style:dashed}.meetings-execution-block{display:flex;flex-direction:column;gap:.35rem}.work-day-btn{display:inline-flex;align-items:center;gap:.5rem;min-height:2.5rem;max-width:min(70vw,22rem);padding:.35rem .75rem;border-radius:var(--radius-sm);border:1px solid transparent;font-size:.8125rem;font-weight:600;line-height:1.2;cursor:pointer;box-shadow:var(--shadow);transition:background .15s ease,border-color .15s ease,opacity .15s ease}.work-day-btn--start{background:#dc2626;border-color:#b91c1c;color:#fff}.work-day-btn--start:hover:not(:disabled){background:#b91c1c}.work-day-btn--active{background:#16a34a;border-color:#15803d;color:#fff}.work-day-btn--active:hover:not(:disabled){background:#15803d}.work-day-btn--done{display:inline-flex;align-items:center;min-height:2.5rem;padding:.35rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--fg-soft);font-size:.8125rem;font-weight:500;box-shadow:var(--shadow)}.work-day-btn__timer{font-variant-numeric:tabular-nums;font-weight:500;opacity:.95}.work-day-btn:disabled{opacity:.65;cursor:not-allowed}.work-day-missed-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.work-day-missed-list__item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.work-day-close-modal{display:flex;flex-direction:column;max-height:min(90vh,36rem);overflow:hidden}.work-day-close-modal__mode{flex-shrink:0;margin:.75rem 0 1rem}.work-day-close-modal__mode-btns{display:flex;gap:.5rem;margin-top:.35rem}.work-day-close-modal__table-wrap{flex:1 1 auto;min-height:8rem;overflow:auto;margin-bottom:0}.work-day-close-modal__footer{flex-shrink:0;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.work-day-close-modal__footer .modal-actions{margin-top:.65rem}.work-day-close-table__input{width:5.5rem;padding:.25rem .4rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--fg)}.work-day-close-table__badge{display:inline-block;margin-left:.35rem;padding:.1rem .35rem;border-radius:4px;font-size:.65rem;font-weight:600;text-transform:uppercase;background:#3b82f626;color:#1d4ed8}[data-theme=dark] .work-day-close-table__badge{color:#93c5fd}.work-day-close-table__row--active td{background:#22c55e0f}.work-day-close-modal__warn{padding:.65rem .75rem;margin-bottom:.5rem;border-radius:var(--radius-sm);border:1px solid rgba(234,179,8,.45);background:#eab3081f}.work-day-close-modal__confirm{display:flex;align-items:center;gap:.4rem;margin-top:.5rem;font-size:.875rem}.work-day-close-modal__comment{display:flex;flex-direction:column;gap:.35rem;margin-top:.65rem;font-size:.875rem}.work-day-close-modal__comment textarea{width:100%;min-height:4.5rem;resize:vertical}.work-day-close-modal__comment-hint{font-size:.75rem;color:var(--fg-soft);text-align:right}.monitoring-chip{display:inline-block;margin-left:.45rem;padding:.1rem .4rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;background:#fb923c40;color:#c2410c}[data-theme=dark] .monitoring-chip--warn{color:#fdba74}.app-btn--sm{padding:.25rem .55rem;font-size:.8rem}.monitoring-donut-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1.25rem}.monitoring-donut-card{padding:1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow)}.monitoring-donut-card__name{font-weight:600;font-size:.95rem;margin-bottom:.75rem;color:var(--fg)}.monitoring-donut{width:7.5rem;height:7.5rem;border-radius:50%;margin:0 auto .75rem;position:relative}.monitoring-donut__hole{position:absolute;top:22%;right:22%;bottom:22%;left:22%;border-radius:50%;background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px var(--border)}.monitoring-donut__pct{font-size:.95rem;font-weight:700;color:var(--fg)}.monitoring-donut-legend{margin:0;padding:0 0 0 1rem;font-size:.8rem;color:var(--fg-soft);line-height:1.5}.monitoring-donut-legend__sw{display:inline-block;width:.55rem;height:.55rem;border-radius:2px;margin-right:.35rem;vertical-align:middle}.monitoring-donut-legend__sw--done{background:var(--monitoring-done)}.monitoring-donut-legend__sw--rest{background:var(--monitoring-rest)}.monitoring-donut-legend__total{list-style:none;margin-left:-1rem;margin-top:.25rem;font-weight:500;color:var(--muted)}.employee-tracking-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem 1.25rem;margin-bottom:1rem}.employee-tracking-toolbar__filter{display:flex;flex-direction:column;gap:.25rem;min-width:min(100%,14rem)}.employee-tracking-toolbar__label{font-size:.8rem;color:var(--fg-soft)}.employee-tracking-toolbar__hint{margin:0;font-size:.8rem}.employee-tracking-table__row{cursor:pointer}.employee-tracking-table__row:hover td{background:var(--surface-2)}.employee-tracking-table__tasks{max-width:18rem}.project-tracking-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1.25rem;margin-bottom:1rem}.project-tracking-toolbar .multi-select{flex:1;min-width:min(100%,18rem);max-width:28rem}.project-tracking-toolbar__submit{flex-shrink:0}.labor-cost-filter-panel{margin-bottom:1.25rem;padding:1rem 1.15rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow)}.labor-cost-filter-panel__title{margin:0 0 .75rem;font-size:.95rem;font-weight:600}.labor-cost-filter-panel__body{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1.25rem}.labor-cost-filter-panel__range.filter-range{flex:1;flex-direction:row;flex-wrap:wrap;gap:.75rem 1rem;padding:0;min-width:min(100%,16rem)}.labor-cost-filter-panel__range .filter-range__field{flex:1;min-width:10.5rem;max-width:14rem}.labor-cost-filter-panel__submit{flex-shrink:0}.labor-cost-filter-panel__message{margin:.75rem 0 0}.labor-cost-section__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.labor-cost-section__head .monitoring-section__title{margin:0}.labor-cost-section__subtitle{margin:.3rem 0 0;font-size:.875rem}.labor-cost-modal__subtitle{margin:.25rem 0 0;font-size:.875rem}.labor-cost-table-wrap{overflow:auto;max-height:min(70vh,36rem)}.labor-cost-table-wrap--expanded{max-height:none;height:100%}.labor-cost-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:.8125rem}.labor-cost-table thead{position:sticky;top:0;z-index:4}.labor-cost-table thead tr{overflow:visible}.labor-cost-table thead th{text-align:center;vertical-align:bottom;padding:.25rem .15rem .35rem;background:var(--surface-2);border-bottom:2px solid var(--border);box-shadow:0 1px 0 var(--border)}.labor-cost-table thead .labor-cost-table__user-col{width:4rem;min-width:4rem;height:auto;padding:.25rem .35rem .4rem;vertical-align:bottom;overflow:visible}.labor-cost-table tbody th.labor-cost-table__label-col{text-align:left;vertical-align:middle}.labor-cost-table__label-col{position:sticky;left:0;z-index:2;min-width:15rem;max-width:24rem;text-align:left;background:var(--bg-elevated);box-shadow:1px 0 0 var(--border)}.labor-cost-table thead .labor-cost-table__label-col{z-index:5;text-align:left;vertical-align:bottom;padding-left:.75rem;box-shadow:1px 0 0 var(--border),0 1px 0 var(--border)}.labor-cost-table__total-col{position:sticky;right:0;z-index:2;min-width:5.25rem;background:var(--bg-elevated);font-weight:600;box-shadow:-1px 0 0 var(--border)}.labor-cost-table thead .labor-cost-table__total-col{z-index:5;box-shadow:-1px 0 0 var(--border),0 1px 0 var(--border)}.labor-cost-table__user-col{width:4rem;min-width:4rem;padding-inline:.35rem;white-space:nowrap;overflow:visible}.labor-cost-table__user-head-box{position:relative;width:100%;min-height:2rem;overflow:hidden;box-sizing:content-box;padding-bottom:.35rem}.labor-cost-table__user-head-measure{position:absolute;visibility:hidden;white-space:nowrap;font-size:.68rem;font-weight:600;line-height:1;letter-spacing:.01em;pointer-events:none;left:0;top:0}.labor-cost-table__user-head-pivot{position:absolute;left:50%;bottom:0;width:0;height:0}.labor-cost-table__user-head{position:absolute;left:0;bottom:0;display:inline-block;white-space:nowrap;font-size:.68rem;font-weight:600;line-height:1;color:var(--fg-soft);letter-spacing:.01em;cursor:default;transform:rotate(-90deg);transform-origin:left bottom}.labor-cost-table tbody th,.labor-cost-table tbody td{padding:.45rem .5rem;text-align:center;vertical-align:middle;border-bottom:1px solid var(--border)}.labor-cost-table tbody th{font-weight:inherit;background:transparent}.labor-cost-table__hours{display:inline-flex;align-items:baseline;justify-content:center;gap:.12rem;font-variant-numeric:tabular-nums;white-space:nowrap}.labor-cost-table__hours-value{font-weight:500}.labor-cost-table__hours-unit{font-size:.68rem;color:var(--muted);font-weight:500}.labor-cost-table__empty,.labor-cost-table__cell--dash{color:var(--muted)}.labor-cost-table__row--project th,.labor-cost-table__row--project td{background:color-mix(in srgb,var(--accent-muted) 42%,var(--bg-elevated));font-weight:600}.labor-cost-table__row--project .labor-cost-table__label-col,.labor-cost-table__row--project .labor-cost-table__total-col{background:color-mix(in srgb,var(--accent-muted) 55%,var(--bg-elevated))}.labor-cost-table__project-name{border-left:3px solid var(--accent);padding-left:.7rem!important;color:var(--fg);text-align:left!important}.labor-cost-table__task-name{font-weight:400;text-align:left!important;line-height:1.35;white-space:normal}.labor-cost-table__footer-label{color:var(--fg);text-align:left!important}.labor-cost-table__task-line{display:inline}.labor-cost-table__task-bullet{margin-right:.35rem;color:var(--muted)}.labor-cost-table__task-title{white-space:normal}.labor-cost-table__meeting-chip{display:inline-block;margin:.2rem 0 0 .15rem;font-size:.62rem;letter-spacing:.03em;vertical-align:middle}.labor-cost-table__row--task:hover td,.labor-cost-table__row--task:hover th{background:color-mix(in srgb,var(--accent-muted) 18%,var(--bg-elevated))}.labor-cost-table__row--zebra td,.labor-cost-table__row--zebra th{background:color-mix(in srgb,var(--surface-2) 55%,var(--bg-elevated))}.labor-cost-table__row--zebra:hover td,.labor-cost-table__row--zebra:hover th{background:color-mix(in srgb,var(--accent-muted) 22%,var(--bg-elevated))}.labor-cost-table__cell--total .labor-cost-table__hours-value{font-weight:600}.labor-cost-table__row--footer th,.labor-cost-table__row--footer td{background:color-mix(in srgb,rgba(34,197,94,.14) 65%,var(--bg-elevated));font-weight:600;border-top:2px solid var(--border)}.labor-cost-table__row--footer .labor-cost-table__label-col,.labor-cost-table__row--footer .labor-cost-table__total-col{background:color-mix(in srgb,rgba(34,197,94,.18) 70%,var(--bg-elevated))}.labor-cost-table__cell--grand-total .labor-cost-table__hours-value{font-weight:700;color:#15803d}[data-theme=dark] .labor-cost-table__cell--grand-total .labor-cost-table__hours-value{color:#86efac}.labor-cost-modal__panel{gap:.5rem}.labor-cost-modal__table-wrap{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.labor-cost-modal__table-wrap .labor-cost-table-wrap{flex:1;min-height:0;max-height:none}.project-tracking-section__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.project-tracking-section__head .monitoring-section__title{margin:0}.project-tracking-section__subtitle{display:block;margin-top:.25rem;font-size:.85rem;font-weight:400}.project-tracking-chart{--project-tracking-row-height: 52px;min-height:280px;max-height:min(70vh,720px);border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-elevated)}.project-tracking-chart--expanded{flex:1;min-height:0;max-height:none;height:100%;border-radius:0;border:none}.project-tracking-chart__frame{display:grid;grid-template-columns:25ch 1fr;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:inherit;max-height:inherit}.project-tracking-chart__corner{grid-column:1;grid-row:1;display:flex;align-items:center;padding:.45rem .65rem;font-size:.78rem;font-weight:600;color:var(--muted);border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-elevated);box-sizing:border-box}.project-tracking-chart__header-scroll{grid-column:2;grid-row:1;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid var(--border);background:var(--bg-elevated);scrollbar-width:none}.project-tracking-chart__header-scroll::-webkit-scrollbar{display:none}.project-tracking-chart__header{display:flex;height:2rem;box-sizing:border-box}.project-tracking-chart__hour-col{flex-shrink:0;display:flex;align-items:center;padding-left:.35rem;font-size:.72rem;color:var(--muted);border-right:1px solid var(--border);box-sizing:border-box}.project-tracking-chart__body{grid-column:1 / -1;grid-row:2;overflow:auto;min-height:0}.project-tracking-chart__row{display:flex;align-items:stretch;height:var(--project-tracking-row-height);min-height:var(--project-tracking-row-height);max-height:var(--project-tracking-row-height);box-sizing:border-box}.project-tracking-chart__label{flex:0 0 25ch;width:25ch;position:sticky;left:0;z-index:2;background:var(--bg-elevated);border-right:1px solid var(--border);border-bottom:1px solid var(--border);box-sizing:border-box;overflow:hidden}.project-tracking-chart__timeline{position:relative;flex-shrink:0;height:var(--project-tracking-row-height);border-bottom:1px solid var(--border);box-sizing:border-box}.project-tracking-chart__grid{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;pointer-events:none}.project-tracking-chart__grid-col{flex-shrink:0;height:100%;border-right:1px solid var(--border);box-sizing:border-box}.project-tracking-chart__bar{position:absolute;top:50%;left:2px;transform:translateY(-50%);cursor:default;max-width:calc(100% - 4px)}a.project-tracking-chart__bar{cursor:pointer}.project-tracking-label{display:flex;flex-direction:column;justify-content:center;gap:.15rem;width:100%;height:100%;padding:.35rem .55rem;box-sizing:border-box;overflow:hidden}.project-tracking-label__title{font-size:.8rem;font-weight:500;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:25ch;mask-image:linear-gradient(to right,#000 78%,transparent);-webkit-mask-image:linear-gradient(to right,#000 78%,transparent)}.project-tracking-label__title-btn{display:block;width:100%;padding:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.project-tracking-label__title-btn:hover{color:var(--accent)}.project-tracking-label__title-btn:disabled{cursor:wait;opacity:.7}.project-tracking-label__meta{display:flex;flex-wrap:nowrap;align-items:center;gap:.3rem;min-height:1.1rem;overflow:hidden;white-space:nowrap;font-size:.68rem;line-height:1.2}.project-tracking-label__tag{flex-shrink:0;padding:.05rem .35rem;border-radius:4px;font-weight:600}.project-tracking-label__tag--meeting{background:#8b5cf62e;color:#6d28d9}.project-tracking-label__tag--hash{background:var(--surface-2);color:var(--muted);font-weight:500}.project-tracking-label__status{flex-shrink:0;font-weight:700;font-size:.75rem;line-height:1}.project-tracking-label__status--done,.project-tracking-label__status--pending{color:#16a34a}.project-tracking-label__status--open{color:#dc2626}.project-tracking-label__progress{flex-shrink:0;font-weight:700;font-size:.72rem}[data-theme=dark] .project-tracking-label__tag--meeting{color:#c4b5fd}.project-tracking-modal__chart-wrap{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.project-tracking-modal__chart-wrap>.project-tracking-chart{flex:1;min-height:0}.employee-card-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.employee-card-modal__head .modal-title{margin:0}.employee-card-modal__meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.75rem 1.25rem;margin:0 0 1rem;padding:.75rem 1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2)}.employee-card-modal__meta dt{font-size:.75rem;color:var(--fg-soft);margin-bottom:.15rem}.employee-card-modal__meta dd{margin:0;font-weight:500}.employee-card-modal__block{margin-bottom:1rem}.employee-card-modal__block-title{margin:0 0 .5rem;font-size:.95rem}.employee-card-modal__active-list{margin:0;padding-left:1.25rem;line-height:1.5}.employee-history-list{display:flex;flex-direction:column;gap:1rem;max-height:min(70vh,36rem);overflow-y:auto}.employee-history-week-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem;margin:.75rem 0 1rem}.employee-history-week-nav__label{font-weight:600;font-size:.95rem;min-width:10rem;text-align:center}.employee-history-day--empty{opacity:.72;background:var(--bg)}.monitoring-badge--hours-exceed{background:#eab30838;color:#a16207;cursor:help}[data-theme=dark] .monitoring-badge--hours-exceed{color:#fbbf24}.employee-history-day{padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated)}.employee-history-day__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.employee-history-day__date{margin:0;font-size:.95rem}.employee-history-day__badges{display:flex;flex-wrap:wrap;gap:.35rem}.employee-history-day__stats{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin:0 0 .65rem}.employee-history-day__stats dt{font-size:.75rem;color:var(--fg-soft)}.employee-history-day__stats dd{margin:0;font-weight:500}.monitoring-table--compact th,.monitoring-table--compact td{font-size:.8125rem;padding:.35rem .5rem}.monitoring-empty--inline{margin:0;font-size:.85rem}.monitoring-gantt__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem;margin-bottom:.75rem}.monitoring-gantt__fullscreen-btn{flex-shrink:0}.monitoring-gantt__mode-tabs{display:flex;flex-wrap:wrap;gap:.35rem}.monitoring-gantt__hint{margin:0 0 1rem}.monitoring-gantt__layout{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:stretch}.monitoring-gantt__layout--full{grid-template-columns:minmax(0,1fr)}.monitoring-gantt__chart-wrap{min-width:0;display:flex;flex-direction:column;min-height:0}.monitoring-gantt__chart-wrap>.monitoring-gantt-chart{flex:1;min-height:0}.monitoring-gantt-sidebar.filter-sidebar{width:17rem;max-width:17rem;box-sizing:border-box}.monitoring-gantt-sidebar.filter-sidebar--collapsed{width:2.5rem;max-width:2.5rem}.monitoring-gantt-sidebar{position:sticky;top:.75rem;max-height:min(75vh,720px);overflow:auto;align-self:start}.monitoring-gantt__layout--modal .monitoring-gantt-sidebar{position:static;max-height:none;height:100%;min-height:0;align-self:stretch;overflow:auto}.monitoring-gantt-sidebar__modes{display:flex;flex-direction:column;gap:.35rem}.monitoring-gantt-sidebar__mode{display:flex;align-items:center;gap:.4rem;font-size:.85rem;cursor:pointer}.monitoring-gantt-sidebar__legend-actions{display:flex;gap:.35rem;margin-bottom:.5rem}.monitoring-gantt-sidebar__list{max-height:50vh;overflow:auto}.monitoring-gantt-sidebar__check{align-items:center}.monitoring-gantt-sidebar__swatch{flex-shrink:0;width:.85rem;height:.85rem;border-radius:3px;border:1px solid color-mix(in srgb,var(--border) 80%,transparent)}.monitoring-gantt-sidebar__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal--fullscreen{width:min(100vw - 1.5rem,100%);max-width:none;height:min(100vh - 1.5rem,100%);max-height:none;display:flex;flex-direction:column;padding:1rem 1.15rem;overflow:hidden}.monitoring-gantt-modal{padding:.75rem;z-index:300}.monitoring-gantt-modal.modal-backdrop{z-index:300}.monitoring-gantt-modal__panel{gap:.75rem;overflow:hidden}.monitoring-gantt-modal__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-shrink:0;flex-wrap:wrap}.monitoring-gantt-modal__head .monitoring-gantt__mode-tabs{flex:1;justify-content:center;min-width:min(100%,20rem)}.monitoring-gantt-modal__title{margin:0;font-size:1.15rem;font-weight:600}.monitoring-gantt__layout--modal{flex:1;min-height:0;max-height:none;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr);align-items:stretch}.monitoring-gantt__layout--modal.monitoring-gantt__layout--full{grid-template-columns:minmax(0,1fr)}.monitoring-gantt__layout--modal .monitoring-gantt__chart-wrap{min-height:0;min-width:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.monitoring-gantt__layout--modal .monitoring-gantt-chart{flex:1;min-height:0;height:100%}.page{max-width:800px;margin:0 auto;padding:2rem 1.25rem}.muted{color:var(--muted)}.error{color:#b91c1c}.actions{margin:1rem 0 0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1.25rem}.cal-view__layout{display:flex;gap:1.25rem;align-items:flex-start}.cal-view__main{flex:1;min-width:0}.cal-view__sidebar{flex:0 0 220px;padding:.75rem 1rem;border:1px solid var(--border-subtle, #e2e8f0);border-radius:8px;background:var(--surface-raised, #f8fafc)}.board-page__layout{display:flex;gap:1.25rem;align-items:flex-start}.board-page__content{flex:1;min-width:0}.filter-sidebar{flex:0 0 220px;padding:.75rem 1rem;border:1px solid var(--border-subtle, #e2e8f0);border-radius:8px;background:var(--surface-raised, #f8fafc)}.filter-sidebar--collapsed{flex:0 0 auto;width:2.5rem;padding:.5rem}.filter-sidebar__head{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin-bottom:.75rem}.filter-sidebar--collapsed .filter-sidebar__head{justify-content:center;margin-bottom:0}.filter-sidebar__title{margin:0;font-size:.95rem;font-weight:600}.filter-sidebar__toggle{flex-shrink:0;min-width:1.75rem;padding-inline:.35rem}.filter-sidebar__section+.filter-sidebar__section,.filter-sidebar__section+.cal-sidebar__title{margin-top:1rem}.filter-sidebar__label{margin:0 0 .35rem;font-size:.8rem;font-weight:600;color:var(--text-muted, #64748b);text-transform:uppercase;letter-spacing:.03em}.filter-sidebar__search-input{width:100%;box-sizing:border-box}.filter-sidebar__list{list-style:none;margin:0;padding:0}.filter-sidebar__list li+li{margin-top:.35rem}.auth-forgot{margin-top:.5rem}.admin-pagination{display:flex;align-items:center;gap:1rem;margin-top:1rem}.admin-filter-check{font-size:.875rem}.admin-role-select{min-width:10rem;max-width:14rem;font-size:.875rem}.admin-table--users td:nth-child(1),.admin-table--users td:nth-child(3),.admin-table--users td:nth-child(4){max-width:14rem;word-break:break-word}.kanban-card__tags{display:flex;flex-wrap:wrap;gap:.25rem .45rem;margin:.35rem 0 .5rem}.kanban-card__tag{font-size:.72rem;color:var(--accent, #2563eb);font-weight:500}.cal-sidebar__title{margin:0 0 .75rem;font-size:.95rem;font-weight:600}.cal-sidebar__section+.cal-sidebar__section{margin-top:1rem}.cal-sidebar__label{margin:0 0 .35rem;font-size:.8rem;font-weight:600;color:var(--text-muted, #64748b);text-transform:uppercase;letter-spacing:.03em}.cal-sidebar__list{list-style:none;margin:0;padding:0}.cal-sidebar__list li+li{margin-top:.35rem}.cal-category-picker{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.35rem;padding-inline:.15rem}.cal-category-picker__item{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border:1px solid var(--border-subtle, #cbd5e1);border-radius:6px;background:#fff;font-size:.875rem;cursor:pointer}.cal-category-picker__item--active{border-color:var(--accent, #2563eb);box-shadow:0 0 0 1px var(--accent, #2563eb)}.cal-tag-picker{display:flex;flex-direction:column;gap:.35rem;margin-top:.35rem;padding-inline:.15rem}.cal-tag-picker__item{display:flex;align-items:center;gap:.4rem;font-size:.875rem;cursor:pointer}.cal-grid__note-dots{position:absolute;bottom:4px;right:4px;display:flex;gap:3px}.cal-grid__note-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.cal-view__head{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:.75rem}.cal-view__title{margin:0;font-size:1.1rem;font-weight:600;text-transform:capitalize;min-width:10rem;text-align:center}.cal-legend{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin-bottom:.85rem;font-size:.78rem}.cal-legend__item--task{color:#2563eb}.cal-legend__item--today{color:#16a34a}.cal-legend__item--unclosed{color:#dc2626}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.cal-grid__weekday{text-align:center;font-size:.72rem;font-weight:600;color:var(--muted);padding:.25rem}.cal-grid__cell{position:relative;min-height:3.25rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);padding:.25rem;cursor:default}.cal-grid__cell--empty{border:none;background:transparent}.cal-grid__cell--day{cursor:pointer;transition:box-shadow .15s ease}.cal-grid__cell--day:hover{box-shadow:var(--shadow-md)}.cal-grid__cell--task{background:color-mix(in srgb,#2563eb 14%,var(--bg-elevated))}.cal-grid__cell--today{box-shadow:inset 0 0 0 2px #16a34a}.cal-grid__cell--unclosed{background:color-mix(in srgb,#dc2626 12%,var(--bg-elevated))}.cal-grid__cell--task.cal-grid__cell--unclosed{background:linear-gradient(135deg,color-mix(in srgb,#2563eb 14%,var(--bg-elevated)),color-mix(in srgb,#dc2626 12%,var(--bg-elevated)))}.cal-grid__num{font-size:.85rem;font-weight:600}.cal-grid__note-badge{position:absolute;top:.2rem;right:.2rem;width:1.1rem;height:1.1rem;border-radius:999px;color:#fff;font-size:.68rem;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.cal-day-modal__actions{display:flex;flex-direction:column;gap:.45rem;margin-top:.75rem}.cal-importance-dot{display:inline-block;width:.65rem;height:.65rem;border-radius:999px;margin-right:.35rem;vertical-align:middle}.cal-note-body{white-space:pre-wrap;line-height:1.5;margin:.75rem 0}.cal-comments{margin:0 0 .75rem;padding-left:1.1rem}.cal-comment-form{display:flex;flex-direction:column;gap:.45rem;margin-bottom:.75rem}.cal-comment-form textarea{width:100%;font:inherit;padding:.45rem .6rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-elevated)}.cal-notes-table-wrap{overflow:auto;margin:.75rem 0 1.25rem}.cal-notes-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.cal-notes-table th,.cal-notes-table td{padding:.9rem 1.15rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--border);border-right:1px solid var(--border)}.cal-notes-table th:last-child,.cal-notes-table td:last-child{border-right:none}.cal-notes-table tbody tr:last-child td{border-bottom:none}.cal-notes-table thead th{background:var(--surface-2);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding-top:1rem;padding-bottom:1rem}.cal-notes-table tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--surface-2) 35%,transparent)}.cal-notes-table tbody tr:hover td{background:color-mix(in srgb,var(--accent) 8%,var(--bg-elevated))}.cal-notes-table td:first-child{white-space:nowrap;color:var(--muted);font-size:.85rem}.cal-notes-table td:nth-child(3){white-space:nowrap}.cal-notes-table td:last-child{min-width:14rem;line-height:1.45}.modal--wide{max-width:min(920px,96vw);width:100%}.admin-page__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.admin-page__title{margin:0;font-size:1.15rem}.admin-color-field{display:flex;align-items:center;gap:.5rem;margin-top:.35rem;padding-inline:.15rem;box-sizing:border-box}.admin-color-field input[type=color]{width:2.5rem;height:2rem;padding:0;border:1px solid var(--border-subtle, #cbd5e1);border-radius:4px;cursor:pointer;flex-shrink:0}.admin-color-field input[type=text]{flex:1;min-width:0;box-sizing:border-box}.meetings-page.app-panel{max-width:1120px}.meetings-page__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.meetings-page__head .app-page-title{margin-bottom:.35rem}.meetings-page__subtitle{margin:0;font-size:.9rem;color:var(--muted);max-width:36rem;line-height:1.45}.meetings-page__tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.75rem}.meetings-page__empty{display:flex;flex-direction:column;align-items:center;gap:.85rem;padding:2.5rem 1rem 2rem;text-align:center}.meetings-page__empty-icon{width:3.25rem;height:3.25rem;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,var(--bg-elevated));border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E") center / 55% no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E") center / 55% no-repeat;background-color:color-mix(in srgb,var(--accent) 18%,var(--bg-elevated))}.meetings-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(288px,1fr));gap:1rem}.meeting-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow);overflow:hidden;min-height:100%;border-left:3px solid color-mix(in srgb,var(--accent) 55%,var(--border))}.meeting-card__body{padding:1.1rem 1.15rem .75rem;flex:1;min-width:0}.meeting-card__title{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:-.02em;color:var(--fg);line-height:1.35}.meeting-card__meta{margin:1rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:.65rem 1rem}.meeting-card__meta dt{margin:0;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.meeting-card__meta dd{margin:.2rem 0 0;font-size:.875rem;font-weight:500;color:var(--fg)}.meeting-card__actions{padding:.85rem 1.15rem 1.1rem;margin-top:auto;border-top:1px solid var(--border);background:color-mix(in srgb,var(--bg) 40%,var(--bg-elevated))}[data-theme=dark] .meeting-card__actions{background:#ffffff08}.meetings-table-wrap--list{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow)}.meetings-table--list{width:100%;min-width:720px;border-collapse:collapse;font-size:.875rem}.meetings-table--list thead{background:var(--surface-2);border-bottom:1px solid var(--border)}.meetings-table--list th{padding:.65rem .85rem;text-align:left;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);white-space:nowrap}.meetings-table--list td{padding:.75rem .85rem;border-top:1px solid var(--border);vertical-align:middle}.meetings-table--list tbody tr:hover{background:color-mix(in srgb,var(--accent) 4%,var(--bg-elevated))}.meetings-table__name-link{font-weight:600;color:var(--fg);text-decoration:none}.meetings-table__name-link:hover{color:var(--accent)}.meetings-table__col-num{text-align:center;width:5.5rem}.meetings-table__col-action{width:6.5rem;text-align:right}.meetings-table__date{white-space:nowrap;color:var(--fg-soft);font-size:.84rem}.meetings-detail{max-width:min(96vw,1400px);margin:0 auto;padding:1.25rem 1.25rem 2rem;box-sizing:border-box}.meetings-detail__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem 1.5rem;margin-bottom:1.25rem}.meetings-detail__head-main{min-width:0;flex:1}.meetings-detail__back{display:inline-block;margin-bottom:.35rem;font-size:.84rem;color:var(--muted);text-decoration:none}.meetings-detail__back:hover{color:var(--accent)}.meetings-detail__title{margin:0;font-size:1.5rem;font-weight:650;letter-spacing:-.02em;color:var(--fg);line-height:1.25}.meetings-detail__meta{margin:.4rem 0 0;font-size:.875rem;color:var(--muted);line-height:1.45}.meetings-detail__projects{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.meetings-detail__actions{display:flex;flex-wrap:wrap;gap:.5rem;flex-shrink:0}.meetings-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.65rem;margin-bottom:1rem}.meetings-stat{display:block;width:100%;padding:.85rem .95rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow);font:inherit;text-align:left;color:inherit;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.meetings-stat:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 4%,var(--bg-elevated))}.meetings-stat--active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg-elevated));box-shadow:var(--shadow),0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}.meetings-stat--active.meetings-stat--danger{border-color:#dc2626;background:color-mix(in srgb,#dc2626 10%,var(--bg-elevated))}.meetings-stat--active.meetings-stat--warn{border-color:#ea580c;background:color-mix(in srgb,#ea580c 10%,var(--bg-elevated))}.meetings-stat--danger{border-color:color-mix(in srgb,#dc2626 35%,var(--border));background:color-mix(in srgb,#dc2626 6%,var(--bg-elevated))}.meetings-stat--danger .meetings-stat__value{color:#dc2626}.meetings-stat--warn{border-color:color-mix(in srgb,#ea580c 35%,var(--border));background:color-mix(in srgb,#ea580c 6%,var(--bg-elevated))}.meetings-stat--warn .meetings-stat__value{color:#ea580c}.meetings-stat__value{font-size:1.5rem;font-weight:700;line-height:1.1;color:var(--fg)}.meetings-stat__label{margin-top:.3rem;font-size:.78rem;line-height:1.35;color:var(--muted)}.meetings-detail__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem;margin-bottom:.85rem;padding:.65rem .85rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated)}.meetings-detail__toggle{display:inline-flex;align-items:center;gap:.45rem;font-size:.875rem;font-weight:500;color:var(--fg);cursor:pointer;-webkit-user-select:none;user-select:none}.meetings-detail__toggle input{width:1rem;height:1rem;accent-color:var(--accent)}.meetings-detail__toolbar-hint{font-size:.8rem;color:var(--muted);line-height:1.4}.meetings-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow)}.meetings-table{width:100%;min-width:960px;border-collapse:collapse;font-size:.875rem}.meetings-table thead{background:var(--surface-2);border-bottom:1px solid var(--border)}.meetings-table tbody tr{cursor:pointer;transition:background .12s ease}.meetings-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 5%,var(--bg-elevated))}.meetings-table td,.meetings-table th{padding:.7rem .85rem;border-top:1px solid var(--border);vertical-align:top}.meetings-table thead th{border-top:none;vertical-align:bottom;white-space:nowrap}.meetings-table__empty{padding:2rem 1rem!important;text-align:center;color:var(--muted)}.meetings-table__desc-cell{min-width:14rem;max-width:28rem}.meetings-table__date{white-space:nowrap;font-size:.84rem;color:var(--fg-soft)}.meetings-table__muted{color:var(--muted)}.meetings-row--due-soon{background:color-mix(in srgb,#ea580c 10%,transparent)}.meetings-row--due-soon:hover{background:color-mix(in srgb,#ea580c 14%,var(--bg-elevated))!important}.meetings-row--overdue{background:color-mix(in srgb,#dc2626 8%,transparent)}.meetings-row--overdue:hover{background:color-mix(in srgb,#dc2626 12%,var(--bg-elevated))!important}.meetings-row--completed{opacity:.72}.meetings-row--completed:hover{opacity:.85}.meetings-project-badge{display:inline-block;max-width:100%;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.35;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--bg-elevated));border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meetings-project-badge--cell{max-width:11rem}.meetings-item-desc{margin:0;line-height:1.45;color:var(--fg);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.meetings-linked-tasks-list{list-style:none;margin:.45rem 0 0;padding:0;display:flex;flex-direction:column;gap:.2rem}.meetings-linked-tasks-list li{font-size:.8rem}.meetings-linked-task-link{display:inline;padding:0;border:none;background:none;font:inherit;cursor:pointer;color:var(--muted);text-decoration:none;text-align:left}.meetings-linked-task-link:disabled{cursor:wait;opacity:.7}.meetings-linked-task-link:hover{color:var(--accent);text-decoration:underline}.meetings-assignees{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem;max-width:14rem}.meetings-assignee-chip{display:inline-block;padding:.15rem .45rem;border-radius:var(--radius-sm);font-size:.78rem;font-weight:500;color:var(--fg-soft);background:var(--bg);border:1px solid var(--border);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meetings-assignee-chip--seen{color:#166534;background:color-mix(in srgb,#16a34a 12%,var(--bg));border-color:color-mix(in srgb,#16a34a 45%,var(--border))}.meetings-assignee-acks-block{display:flex;flex-direction:column;gap:.35rem}.meetings-assignee-acks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.meetings-assignee-ack-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem}.meetings-assignee-ack-time{font-size:.78rem;color:var(--muted)}.meetings-assignee-ack-time--pending{font-style:italic}.meetings-due{font-size:.84rem;white-space:nowrap}.meetings-due--overdue{color:#dc2626;font-weight:600}.meetings-due--soon{color:#ea580c;font-weight:600}.meetings-progress{display:flex;align-items:center;gap:.5rem;min-width:7.5rem}.meetings-progress__track{flex:1;height:.45rem;border-radius:999px;background:var(--border);overflow:hidden}.meetings-progress__fill{height:100%;border-radius:inherit;transition:width .2s ease}.meetings-progress__label{flex-shrink:0;min-width:2.25rem;font-size:.8rem;font-weight:600;text-align:right}.meetings-th-btn{background:none;border:none;padding:0;font:inherit;font-weight:600;cursor:pointer;color:inherit}.meetings-th{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.meetings-th__title{font-weight:600}.meetings-table thead th{vertical-align:bottom;white-space:nowrap}.filter-popover{position:relative;display:inline-flex;flex-shrink:0}.filter-popover__btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;padding:0;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--muted);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.filter-popover__btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 55%,var(--border-strong));color:var(--fg)}.filter-popover--open .filter-popover__btn,.filter-popover--active .filter-popover__btn{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg-elevated))}.filter-popover__icon{width:.85rem;height:.85rem;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpolygon points='22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3'/%3E%3C/svg%3E") center / contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpolygon points='22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3'/%3E%3C/svg%3E") center / contain no-repeat}.filter-popover__dot{position:absolute;top:2px;right:2px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.filter-popover__panel{position:absolute;z-index:40;top:calc(100% + .35rem);left:0;min-width:14rem;max-width:min(20rem,calc(100vw - 1rem));border:1px solid var(--border-strong);border-radius:calc(var(--radius-sm) + 2px);background:var(--bg-elevated);box-shadow:var(--shadow-lg, 0 12px 32px rgb(15 23 42 / 14%));overflow:hidden}.filter-popover__panel--right{left:auto;right:0}.filter-popover__panel--fixed{position:fixed;top:0;left:0;z-index:200}.filter-popover__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .65rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-subtle, #f8fafc) 80%,var(--bg-elevated))}.filter-popover__head-title{font-size:.8125rem;font-weight:600;color:var(--fg)}.filter-popover__reset{padding:0;border:none;background:none;color:var(--accent);font:inherit;font-size:.78rem;font-weight:500;cursor:pointer}.filter-popover__reset:hover{text-decoration:underline}.filter-popover__panel .multi-select-list .multi-select__list{max-height:13rem}.filter-range{display:flex;flex-direction:column;gap:.5rem;padding:.65rem}.filter-range__field{display:flex;flex-direction:column;gap:.25rem}.filter-range__label{font-size:.78rem;font-weight:500;color:var(--muted)}.filter-range__field input[type=date],.filter-range__field input[type=number]{width:100%;padding:.45rem .55rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--fg);font:inherit;box-sizing:border-box}.filter-range__field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 16%,transparent)}.meetings-col-filter{margin-top:.35rem;padding:.5rem;background:var(--surface-elevated, #f8fafc);border:1px solid var(--border-subtle, #e2e8f0);border-radius:6px;font-weight:400;max-height:12rem;overflow:auto}.meetings-col-filter--inline{display:flex;gap:.35rem;flex-wrap:wrap;max-height:none}.meetings-col-filter input[type=date],.meetings-col-filter input[type=number],.meetings-col-filter input[type=search]{width:100%;min-width:6rem;box-sizing:border-box}.meetings-fieldset{border:1px solid var(--border-subtle, #e2e8f0);border-radius:8px;padding:.75rem 1rem;margin:0}.meetings-fieldset legend{padding:0 .35rem;font-size:.875rem;color:var(--text-muted, #64748b)}.meetings-check-list{list-style:none;margin:0;padding:0}.meetings-check-list li+li{margin-top:.35rem}.meetings-check-list--scroll{max-height:10rem;overflow:auto}.meetings-check-list--users{max-height:14rem}.meetings-user-picker__hint{margin:0 0 .75rem}.meetings-user-picker__row{align-items:flex-start}.meetings-user-picker__label{display:flex;flex-direction:column;gap:.1rem;min-width:0}.meetings-user-picker__name{font-weight:500}.meetings-user-picker__email{font-size:.8125rem;color:var(--text-muted, #64748b);word-break:break-all}.meetings-progress-preview{margin-left:.5rem;font-weight:700}.meetings-completion-block{padding:.75rem;background:var(--surface-elevated, #f0fdf4);border-radius:8px}.meetings-history-backdrop{z-index:1200}.meetings-history-list{list-style:none;margin:0 0 1rem;padding:0;max-height:50vh;overflow:auto}.meetings-history-entry{padding:.75rem 0;border-bottom:1px solid var(--border-subtle, #e2e8f0)}.meetings-history-entry__meta{margin:0 0 .25rem;font-size:.8125rem;color:var(--text-muted, #64748b)}.meetings-history-entry__comment{margin:0 0 .35rem}.meetings-history-changes{margin:0;padding-left:1.1rem;font-size:.875rem}.cal-grid__meeting-dot{position:absolute;bottom:4px;width:6px;height:6px;border-radius:50%}.cal-grid__meeting-dot--assignee{left:6px;background:#2563eb}.cal-grid__meeting-dot--observer{right:6px;background:#7c3aed}.cal-grid__meeting-dot--assigned{left:50%;transform:translate(-50%);background:#059669}.cal-grid__cell--meeting-assignee{box-shadow:inset 0 -2px #2563eb}.cal-grid__cell--meeting-observer{box-shadow:inset 0 -2px #7c3aed}.cal-grid__cell--meeting-assigned{box-shadow:inset 0 2px #059669}.cal-legend__item--meeting-assignee:before{color:#2563eb}.cal-legend__item--meeting-observer:before{color:#7c3aed}.cal-legend__item--meeting-assigned:before{color:#059669}.multi-select{position:relative;display:flex;flex-direction:column;gap:.4rem}.multi-select__label{font-size:.85rem;font-weight:500;color:var(--muted)}.multi-select__trigger{display:flex;align-items:center;justify-content:space-between;gap:.65rem;width:100%;min-height:2.65rem;padding:.45rem .65rem .45rem .75rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--fg);font:inherit;text-align:left;cursor:pointer;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.multi-select__trigger:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 55%,var(--border-strong));background:color-mix(in srgb,var(--accent) 3%,var(--bg-elevated))}.multi-select--open .multi-select__trigger{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.multi-select__trigger:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.multi-select__trigger-body{flex:1;min-width:0}.multi-select__placeholder{color:var(--muted);font-size:.9rem}.multi-select__chips{display:flex;flex-wrap:wrap;gap:.35rem}.multi-select__chip{display:inline-flex;align-items:center;max-width:100%;padding:.15rem .5rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,var(--bg-elevated));color:var(--fg);font-size:.8125rem;font-weight:500;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.multi-select__chip--more{background:var(--bg-subtle, #f1f5f9);color:var(--muted);font-weight:600}.multi-select__caret{flex-shrink:0;width:.65rem;height:.65rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 4.5L6 8l3.5-3.5' stroke='%236b7280' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:contain;border:none;transform:none;transition:transform .15s ease}[data-theme=dark] .multi-select__caret{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 4.5L6 8l3.5-3.5' stroke='%238b929e' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.multi-select--open .multi-select__caret{transform:rotate(180deg)}.multi-select__hint{margin:0;font-size:.78rem;color:var(--muted)}.multi-select__panel{position:absolute;z-index:30;top:calc(100% + .35rem);left:0;right:0;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow-lg);overflow:hidden}.multi-select__search-wrap{padding:.5rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-subtle, #f8fafc) 80%,var(--bg-elevated))}.multi-select__search{width:100%;padding:.5rem .65rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--fg);font:inherit;box-sizing:border-box}.multi-select__search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 16%,transparent)}.multi-select__list{display:flex;flex-direction:column;gap:.2rem;max-height:15rem;overflow:auto;padding:.35rem}.multi-select__empty{margin:0;padding:.85rem .5rem;font-size:.875rem;color:var(--muted);text-align:center}.multi-select__option{display:grid;grid-template-columns:1.2rem minmax(0,1fr);grid-template-rows:auto auto;column-gap:.65rem;row-gap:.1rem;align-items:start;width:100%;margin:0;padding:.55rem .6rem;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--fg);font:inherit;text-align:left;cursor:pointer;transition:background .12s ease,border-color .12s ease}.multi-select__option--compact{grid-template-rows:auto;align-items:center}.multi-select__option--compact .multi-select__box,.multi-select__option--compact .multi-select__radio{align-self:center}.multi-select__option:hover{background:color-mix(in srgb,var(--accent) 7%,var(--bg-elevated));border-color:color-mix(in srgb,var(--accent) 12%,transparent)}.multi-select__option--selected{background:color-mix(in srgb,var(--accent) 11%,var(--bg-elevated));border-color:color-mix(in srgb,var(--accent) 28%,transparent)}.multi-select__option:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 16%,transparent)}.multi-select__box{grid-row:1;grid-column:1;width:1.2rem;height:1.2rem;border:1.5px solid var(--border-strong);border-radius:5px;background:var(--bg-elevated);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;align-self:center;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.multi-select__radio{grid-row:1;grid-column:1;width:1.2rem;height:1.2rem;border:1.5px solid var(--border-strong);border-radius:50%;background:var(--bg-elevated);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;align-self:center;transition:border-color .15s ease,box-shadow .15s ease}.multi-select__radio--checked{border-color:var(--accent);box-shadow:inset 0 0 0 4px var(--accent)}.multi-select__option:not(.multi-select__option--compact) .multi-select__box,.multi-select__option:not(.multi-select__option--compact) .multi-select__radio{align-self:start;margin-top:.2rem}.multi-select__option--compact .multi-select__box,.multi-select__option--compact .multi-select__radio{margin-top:0}.multi-select__box--checked{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.multi-select__box-mark{width:.5rem;height:.28rem;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translateY(-.5px)}.multi-select__option-label{grid-column:2;grid-row:1;font-size:.9rem;font-weight:500;line-height:1.25;color:var(--fg)}.multi-select__option-sub{grid-column:2;grid-row:2;font-size:.78rem;line-height:1.25;color:var(--muted);word-break:break-word}.multi-select__option--compact .multi-select__option-label{align-self:center}.multi-select--disabled .multi-select__trigger{opacity:.55;cursor:not-allowed}.meetings-create-form{display:flex;flex-direction:column;gap:1rem}.meetings-create-modal{max-width:36rem;overflow:visible;max-height:min(92vh,720px)}.meetings-create-modal .meetings-create-form{max-height:min(78vh,620px);overflow-y:auto;padding-right:.15rem}.meetings-create-modal .modal-actions{margin-top:.25rem}.meetings-item-modal.modal--xl,.meetings-item-modal{width:min(100vw - 1.5rem,1280px);max-width:none;height:auto;max-height:min(96vh,100%);display:flex;flex-direction:column;overflow:hidden;padding:1rem 1.25rem 1.15rem}.meetings-item-modal>.modal-header{flex-shrink:0}.meetings-item-modal__body{min-height:0;flex:0 1 auto;display:flex;flex-direction:column;gap:.85rem;overflow:auto}.meetings-item-modal__meta{flex-shrink:0;margin:0}.meetings-item-modal__split{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1.1fr) 1px minmax(0,.9fr);gap:0 1.15rem;align-items:stretch}.meetings-item-modal__divider{width:1px;background:linear-gradient(180deg,transparent 0%,var(--border-strong, var(--border)) 8%,var(--border-strong, var(--border)) 92%,transparent 100%);align-self:stretch;min-height:100%}.meetings-item-modal__col{min-width:0;display:flex;flex-direction:column;gap:.85rem;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:12px;background:var(--bg-elevated);box-shadow:var(--shadow)}.meetings-item-modal__col-title{margin:0 0 .15rem;font-size:.95rem;font-weight:650;letter-spacing:-.01em;color:var(--fg);padding-bottom:.55rem;border-bottom:1px solid var(--border)}.meetings-item-modal__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.85rem 1rem;align-items:start}.meetings-item-modal__body>.modal-actions,.meetings-item-modal__body>.app-inline-error{flex-shrink:0}.meetings-item-modal .modal-actions{margin-top:.15rem;padding-top:.85rem;border-top:1px solid var(--border)}@media(max-width:900px){.meetings-item-modal__split{grid-template-columns:1fr;gap:.85rem}.meetings-item-modal__divider{display:none}.meetings-item-modal__row{grid-template-columns:1fr}}.meetings-chat-notify-block{display:flex;flex-direction:column;gap:.5rem}.meetings-chat-notify-block__targets{display:flex;flex-direction:column;gap:.35rem;padding-left:1.35rem}.meetings-chat-notify-block__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.meetings-chat-notify-block__ok{color:var(--success, #1a7f37);font-size:.9rem}.tickets-tabs{margin-bottom:1rem;flex-wrap:wrap}.tickets-table__row--active-work{outline:2px solid #c62828;outline-offset:-2px}.tickets-table__row--awaiting{outline:2px solid #ef6c00;outline-offset:-2px}.tickets-table__unread{width:1.5rem;text-align:center}.tickets-unread-mark{color:#c62828;font-weight:700;font-size:1.1rem}.tickets-table__id{font-weight:600;text-decoration:none}.tickets-badge{display:inline-flex;align-items:center;font-size:.82rem;font-weight:600;padding:.28rem .65rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--fg-soft);white-space:nowrap}.tickets-badge--working{color:#b91c1c;border-color:color-mix(in srgb,#c62828 45%,var(--border));background:color-mix(in srgb,#c62828 12%,var(--bg-elevated))}.tickets-badge--awaiting{color:#c2410c;border-color:color-mix(in srgb,#ef6c00 45%,var(--border));background:color-mix(in srgb,#ef6c00 12%,var(--bg-elevated))}.ticket-detail{max-width:min(96vw,1400px);margin:0 auto;padding:1.25rem 1.5rem 2rem;box-sizing:border-box;width:100%}.ticket-detail__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem 1.5rem;margin-bottom:1.25rem;padding:1rem 1.15rem;border:1px solid var(--border);border-radius:14px;background:var(--bg-elevated);box-shadow:var(--shadow)}.ticket-detail__head-main{min-width:0;flex:1}.ticket-detail__back{display:inline-block;margin-bottom:.4rem;font-size:.84rem;color:var(--muted);text-decoration:none}.ticket-detail__back:hover{color:var(--accent)}.ticket-detail__title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem .85rem}.ticket-detail__title{margin:0;font-size:1.45rem;font-weight:650;letter-spacing:-.02em;color:var(--fg);line-height:1.25}.ticket-detail__subtitle{margin:.45rem 0 0;font-size:1.05rem;color:var(--fg-soft);line-height:1.4}.ticket-detail__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:1.15rem;align-items:start}.ticket-detail__main-col{display:flex;flex-direction:column;gap:1rem;min-width:0}.ticket-detail__card{min-width:0;padding:1.1rem 1.2rem;border:1px solid var(--border);border-radius:14px;background:var(--bg-elevated);box-shadow:var(--shadow)}.ticket-detail__card-title{margin:0 0 .85rem;padding-bottom:.55rem;border-bottom:1px solid var(--border);font-size:.95rem;font-weight:650;letter-spacing:-.01em;color:var(--fg)}.ticket-detail__desc{white-space:pre-wrap;margin:0;line-height:1.5;color:var(--fg)}.ticket-detail__meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.65rem;margin:0}.ticket-detail__meta-item{padding:.65rem .75rem;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.ticket-detail__meta dt{font-size:.78rem;color:var(--muted);margin:0}.ticket-detail__meta dd{margin:.25rem 0 0;font-size:.95rem;font-weight:500;color:var(--fg);word-break:break-word}.ticket-detail__actions{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-start}.ticket-detail__rework-comment{display:flex;flex-direction:column;gap:.35rem;margin-top:1rem}.ticket-detail__reassign{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.ticket-detail__time-row{display:flex;gap:1rem}.ticket-detail__time-row label{flex:1}.ticket-detail__chat{min-height:32rem;display:flex;flex-direction:column;position:sticky;top:.75rem}.ticket-detail__chat .rich-chat{flex:1;min-height:24rem;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--bg)}@media(max-width:960px){.ticket-detail{padding:1rem 1rem 1.5rem}.ticket-detail__grid{grid-template-columns:1fr}.ticket-detail__chat{position:static;min-height:26rem}}.app-link-btn{background:none;border:none;padding:0;color:var(--accent, #1565c0);cursor:pointer;text-decoration:underline;font:inherit}.admin-email-notify{display:flex;flex-direction:column;gap:1rem}.admin-email-notify__global{border-left:3px solid var(--accent)}.admin-email-notify__hero{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1.25rem 1.5rem}.admin-email-notify__hero-main{display:flex;gap:1rem;align-items:flex-start;flex:1 1 18rem;min-width:0}.admin-email-notify__icon{flex-shrink:0;width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent)}.admin-email-notify__icon svg{width:1.45rem;height:1.45rem}.admin-email-notify__title{margin-bottom:.35rem}.admin-email-notify__lead{margin:0;max-width:42rem;line-height:1.45;font-size:.9rem}.admin-email-notify__hero-aside{display:flex;flex-direction:column;align-items:flex-end;gap:.65rem;flex-shrink:0}.admin-email-notify__status-badge{font-size:.78rem;font-weight:600;letter-spacing:.02em;padding:.28rem .65rem;border-radius:999px}.admin-badge--off{background:color-mix(in srgb,var(--muted) 18%,var(--surface-2));color:var(--muted)}[data-theme=dark] .admin-badge--off{background:#94a3b829;color:#cbd5e1}.admin-email-notify__hint{margin:.85rem 0 0;font-size:.84rem;line-height:1.45}.admin-email-notify__meta{margin:.65rem 0 0;font-size:.8rem}.admin-email-notify__meta-sep{margin:0 .35rem;opacity:.55}.admin-email-notify__banner{margin-top:1rem;background:#fffbeb;border:1px solid #fde68a;color:#92400e}[data-theme=dark] .admin-email-notify__banner{background:#f59e0b1a;border-color:#fbbf2459;color:#fde68a}.admin-email-notify__users-sub{margin:.2rem 0 0;font-size:.84rem}.admin-email-notify__users-note{margin:0 0 .75rem;font-size:.84rem;line-height:1.45}.admin-email-notify__users-head{align-items:flex-end}.admin-email-notify__search{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;flex:1 1 16rem;justify-content:flex-end}.admin-email-notify__search-input{min-width:min(100%,16rem);flex:1 1 12rem;max-width:22rem;padding:.45rem .65rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--fg);font-size:.88rem}.admin-email-notify__search-input:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:1px;border-color:var(--accent)}.admin-email-notify__row-control{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem}.admin-email-notify__delivery{font-size:.75rem;font-weight:500;white-space:nowrap}.admin-email-notify__delivery--on{color:#166534}.admin-email-notify__delivery--off{color:var(--muted)}[data-theme=dark] .admin-email-notify__delivery--on{color:#86efac}.admin-email-notify__row--inactive td{opacity:.72}.admin-email-notify__empty{text-align:center;padding:2rem 1rem!important}.admin-email-notify__table th:last-child,.admin-email-notify__table td:last-child{min-width:15rem}.app-switch{position:relative;display:inline-flex;align-items:center;gap:.55rem;cursor:pointer;-webkit-user-select:none;user-select:none}.app-switch--label-before{flex-direction:row-reverse}.app-switch input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-switch__track{position:relative;flex-shrink:0;width:2.5rem;height:1.35rem;border-radius:999px;background:color-mix(in srgb,var(--muted) 35%,var(--border));transition:background .2s ease}.app-switch__track:after{content:"";position:absolute;top:2px;left:2px;width:calc(1.35rem - 4px);height:calc(1.35rem - 4px);border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s ease}.app-switch input:checked+.app-switch__track{background:var(--accent)}.app-switch input:checked+.app-switch__track:after{transform:translate(1.15rem)}.app-switch input:focus-visible+.app-switch__track{outline:2px solid color-mix(in srgb,var(--accent) 50%,transparent);outline-offset:2px}.app-switch input:disabled+.app-switch__track{opacity:.45;cursor:not-allowed}.app-switch input:disabled~.app-switch__label{opacity:.55}.app-switch--lg .app-switch__track{width:2.85rem;height:1.55rem}.app-switch--lg .app-switch__track:after{width:calc(1.55rem - 4px);height:calc(1.55rem - 4px)}.app-switch--lg input:checked+.app-switch__track:after{transform:translate(1.3rem)}.app-switch__label{font-size:.84rem;font-weight:500;color:var(--fg)}.app-switch--lg .app-switch__label{font-size:.9rem}@media(max-width:720px){.admin-email-notify__hero-aside{align-items:flex-start;width:100%}.admin-email-notify__search{justify-content:stretch;width:100%}.admin-email-notify__search-input{max-width:none}}.reports-page{max-width:min(96vw,1280px);margin:0 auto;padding:1.25rem 1.5rem 2.5rem;box-sizing:border-box;width:100%}.reports-page__head,.app-page__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem 1.5rem;margin-bottom:1.25rem}.reports-checkbox-label{display:flex;flex-direction:row;align-items:center;gap:.5rem;cursor:pointer;color:var(--fg);font-weight:500}.reports-table__row{cursor:pointer}.reports-table__row:hover,.reports-kpg-table__row:hover{background:color-mix(in srgb,var(--accent, #2563eb) 6%,var(--bg-elevated, var(--surface)))}.reports-table__link{font-weight:600;text-decoration:none}.reports-table__reject{font-size:.85em}.reports-detail__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem 1.5rem;margin-bottom:1.25rem}.reports-detail__back{margin:0 0 .35rem}.reports-detail__actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.reports-meta{display:flex;flex-wrap:nowrap;align-items:center;gap:0;margin-bottom:1.25rem;padding:.65rem .85rem;border:1px solid var(--border);border-radius:10px;background:var(--bg-elevated, var(--surface));overflow-x:auto}.reports-meta__item{display:inline-flex;flex-direction:row;align-items:center;gap:.55rem;margin:0;padding:.15rem .85rem;min-width:0;font-size:.85rem;font-weight:500;color:var(--muted);white-space:nowrap}.reports-meta__label{color:var(--muted);font-weight:500}.reports-meta__item input{width:7.5rem;min-height:2.25rem;padding:.35rem .55rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--fg);font:inherit;box-sizing:border-box}.reports-meta__stat strong{color:var(--fg);font-size:.95rem;font-variant-numeric:tabular-nums}.reports-meta__sep{align-self:stretch;width:1px;min-height:1.75rem;margin:.15rem 0;background:var(--border-strong, var(--border));flex-shrink:0}.reports-section{margin-bottom:1.5rem}.reports-section__title{margin:0 0 .75rem;font-size:1.05rem;font-weight:600}.reports-section__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.reports-section__toolbar .reports-section__title{margin:0}.reports-approvers{margin:0;padding-left:1.25rem}.reports-approvers__item{margin-bottom:.65rem}.reports-approvers__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .65rem}.reports-approvers__pos{color:var(--fg-soft)}.reports-approvers__status{font-size:.85rem;font-weight:600}.reports-approvers__comment{margin:.25rem 0 0;white-space:pre-wrap}.reports-approvers__date{margin:.15rem 0 0;font-size:.85rem}.reports-hint{margin:.65rem 0 0;font-size:.85rem}.reports-input--num{max-width:7rem}.reports-kpg-table-wrap{border:1px solid var(--border);border-radius:10px;overflow:hidden}.reports-kpg-table{margin:0;table-layout:fixed;width:100%}.reports-kpg-table th,.reports-kpg-table td{padding:.55rem .75rem;vertical-align:middle;white-space:nowrap}.reports-kpg-table__num{width:2.5rem;text-align:center;color:var(--muted)}.reports-kpg-table__tb{width:4rem;text-align:right;font-variant-numeric:tabular-nums}.reports-kpg-table__ellipsis{overflow:hidden;text-overflow:ellipsis}.reports-kpg-table__row{cursor:pointer}.reports-kpg-table__link-badge{display:inline-flex;align-items:center;font-size:.78rem;font-weight:600;padding:.15rem .5rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-2, var(--bg));color:var(--fg-soft)}.reports-item-modal__row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem 1rem}@media(max-width:560px){.reports-item-modal__row{grid-template-columns:1fr}}.reports-task-list{display:flex;flex-direction:column;gap:1rem}.reports-task-card{border:1px solid var(--border);background:var(--bg-elevated, var(--surface));padding:1rem 1.1rem;border-radius:10px}.reports-task-card__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-bottom:.85rem}.reports-task-card__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1.1rem}.reports-task-card__grid.app-form{padding-inline:0}@media(max-width:720px){.reports-task-card__grid{grid-template-columns:1fr}}.reports-kpg-card__field--span2{grid-column:1 / -1}.reports-task-card__grid label{display:flex;flex-direction:column;gap:.35rem;min-width:0}.reports-task-card__grid textarea,.reports-task-card__grid input{width:100%;box-sizing:border-box}.reports-attachments{list-style:none;margin:0;padding:0}.reports-attachments__item{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.35rem 0;border-bottom:1px solid var(--border)}.reports-upload-btn{cursor:pointer}
