:root{--color-brand: #1075db;--color-brand-teal: #01a2b6;--color-brand-dark: #0a4f9c;--color-bg: #f4f7fb;--color-surface: #ffffff;--color-surface-sunken: #eef3f9;--color-border: #dce4ee;--color-text: #0f172a;--color-text-muted: #64748b;--color-primary: #1075db;--color-primary-dark: #0a4f9c;--color-primary-soft: #e8f2fc;--color-primary-soft-text: #0a4f9c;--color-teal-soft: #e6f7f9;--color-teal-soft-text: #0a7a88;--color-success: #0f7a45;--color-success-soft: #e6f5ed;--color-warning: #9a6700;--color-warning-soft: #fef6e0;--color-danger: #b42318;--color-danger-soft: #fef3f2;--color-avatar-bg: #e8f2fc;--color-avatar-text: #0a4f9c;--radius: 8px;--radius-sm: 6px;--shadow: none;--shadow-modal: 0 16px 48px rgba(15, 23, 42, .14);--sidebar-width: 232px;--sidebar-width-collapsed: 64px;--font: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased}a{color:var(--color-primary)}.page-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--color-bg);color:var(--color-text-muted);font-size:.9rem}.login-page{position:relative;min-height:100vh;display:flex;flex-direction:column;color:#fff;overflow:hidden}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:url(/login-bg.png) center / cover no-repeat,linear-gradient(160deg,#061a36,#0b3d7a 45%,#1075db);transform:scale(1.02)}.login-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0614308c,#06143059 40%,#061430b3)}.login-top,.login-main,.login-footer{position:relative;z-index:1}.login-top{padding:28px 32px 0}.login-logo-light{height:40px;width:auto;filter:brightness(0) invert(1)}.login-main{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 20px}.login-panel{width:100%;max-width:400px;background:#fffffff5;color:var(--color-text);border-radius:12px;padding:28px 28px 24px;box-shadow:0 24px 64px #04102859;border:1px solid rgba(255,255,255,.35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.login-panel-head{margin-bottom:20px}.login-panel-head h1{margin:0 0 6px;font-size:1.35rem;font-weight:600;letter-spacing:-.02em;color:var(--color-text)}.login-panel-head p{margin:0;font-size:.875rem;color:var(--color-text-muted);line-height:1.4}.login-form{display:grid;gap:2px}.password-field{position:relative}.password-field input{padding-right:64px}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--color-text-muted);font:inherit;font-size:.78rem;font-weight:500;cursor:pointer;padding:4px 6px}.password-toggle:hover{color:var(--color-text)}.btn-login{width:100%;margin-top:10px;display:inline-flex;align-items:center;justify-content:space-between;background:var(--color-brand);border-color:transparent;padding:12px 14px 12px 18px;font-weight:600;border-radius:8px}.btn-login:hover:not(:disabled){background:var(--color-brand-dark);border-color:transparent}.btn-login-arrow{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:6px;background:#ffffff29;font-size:1rem}.btn-google{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;font-weight:600;border-radius:8px;background:#fff;color:var(--color-text);border:1px solid var(--color-border)}.btn-google:hover:not(:disabled){background:var(--color-bg-muted, #f6f7f9);border-color:var(--color-border)}.login-or{margin:16px 0 12px;text-align:center;font-size:.78rem;color:var(--color-text-muted)}.login-footer{display:flex;justify-content:space-between;gap:12px;padding:16px 32px 24px;font-size:.78rem;color:#ffffffb8}.login-footer a{color:#ffffffe0;text-decoration:none}.login-footer a:hover{color:#fff;text-decoration:underline}@media (max-width: 520px){.login-top{padding:20px 20px 0}.login-panel{padding:22px 18px 18px}.login-footer{padding:12px 20px 20px;flex-direction:column;align-items:flex-start}}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;transition:width .18s ease;z-index:20}.sidebar.is-collapsed{width:var(--sidebar-width-collapsed)}.sidebar-top{border-bottom:1px solid var(--color-border)}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:16px 14px;text-decoration:none;color:var(--color-text);overflow:hidden}.sidebar-brand:hover{color:var(--color-text)}.sidebar-logo-mark{width:28px;height:28px;flex-shrink:0}.sidebar-brand-text{display:flex;flex-direction:column;gap:1px;min-width:0}.sidebar-brand-name{font-weight:600;font-size:.92rem;letter-spacing:-.01em;white-space:nowrap}.sidebar-brand-sub{font-size:.7rem;font-weight:500;color:var(--color-text-muted);white-space:nowrap}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:10px 8px;flex:1;overflow-y:auto;overflow-x:hidden}.sidebar-section-label{margin:12px 10px 4px;font-size:.65rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap}.sidebar-section-label:first-child{margin-top:2px}.sidebar-link,.sidebar-collapse{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius-sm);color:var(--color-text-muted);text-decoration:none;font-size:.875rem;font-weight:500;border:none;background:transparent;cursor:pointer;width:100%;text-align:left;font-family:inherit}.sidebar-link:hover,.sidebar-collapse:hover{background:var(--color-surface-sunken);color:var(--color-text)}.sidebar-link.active{background:var(--color-primary-soft);color:var(--color-primary-soft-text)}.nav-icon{flex-shrink:0}.sidebar-link-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-collapse{border-top:1px solid var(--color-border);border-radius:0;margin-top:auto;padding:12px 18px}.sidebar.is-collapsed .sidebar-brand-text,.sidebar.is-collapsed .sidebar-link-label,.sidebar.is-collapsed .sidebar-section-label{display:none}.sidebar.is-collapsed .sidebar-brand{justify-content:center;padding:16px 0}.sidebar.is-collapsed .sidebar-link,.sidebar.is-collapsed .sidebar-collapse{justify-content:center;padding:10px 0}.sidebar.is-collapsed .sidebar-section-label{height:8px;margin:6px 0;overflow:hidden;border-bottom:1px solid var(--color-border)}.app-content{flex:1;min-width:0}.page-header-bar{display:flex;justify-content:space-between;align-items:center;padding:14px 28px;background:var(--color-surface);border-bottom:1px solid var(--color-border);gap:16px}.page-header-bar h1{margin:0;font-size:1.15rem;font-weight:600;letter-spacing:-.015em}.page-header-bar .subtitle{margin:2px 0 0;font-size:.8rem}.project-title-row{display:inline-flex;align-items:center;gap:6px;max-width:min(720px,70vw)}.project-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-title-actions{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;opacity:.4;transition:opacity .15s ease}.project-title-row:hover .project-title-actions,.project-title-row:focus-within .project-title-actions{opacity:1}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--color-text-muted);cursor:pointer}.icon-btn:hover{background:var(--color-surface-sunken);color:var(--color-text)}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn-danger:hover{background:color-mix(in srgb,var(--color-danger) 12%,transparent);color:var(--color-danger)}@media (hover: none){.project-title-actions{opacity:.85}}.page-header-actions{display:flex;align-items:center;gap:12px}.notification-bell{position:relative}.notification-bell-trigger{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--color-text-muted);cursor:pointer}.notification-bell-trigger:hover{background:var(--color-surface-sunken);color:var(--color-text)}.notification-badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--color-danger);color:#fff;font-size:.62rem;font-weight:700;line-height:16px;text-align:center;pointer-events:none}.notification-dropdown{position:absolute;top:calc(100% + 6px);right:0;width:min(360px,calc(100vw - 24px));max-height:min(420px,70vh);display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 8px 28px #0000001f;z-index:200}.notification-dropdown-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--color-border);font-size:.86rem}.notification-empty{margin:0;padding:16px 12px;font-size:.82rem;color:var(--color-text-muted)}.notification-list{list-style:none;margin:0;padding:6px;overflow-y:auto}.notification-list li+li{margin-top:2px}.notification-item{width:100%;display:flex;align-items:flex-start;gap:8px;padding:10px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;font:inherit;text-align:left;color:inherit}.notification-item:hover{background:var(--color-surface-sunken)}.notification-item.unread{background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface))}.notification-dot{width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--color-danger);flex-shrink:0}.notification-item-body{min-width:0;flex:1}.notification-item-line{font-size:.78rem;font-weight:550}.notification-item-title{margin-top:2px;font-size:.84rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-item-preview{margin-top:4px;font-size:.76rem;color:var(--color-text-muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-item-meta{margin-top:4px;font-size:.68rem;color:var(--color-text-muted)}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:8px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;padding:3px 10px 3px 3px;cursor:pointer;font-size:.84rem;font-weight:500;color:var(--color-text);font-family:inherit}.user-menu-label{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-trigger .chevron{color:var(--color-text-muted);font-size:.7rem}.avatar{width:28px;height:28px;border-radius:50%;background:var(--color-avatar-bg);color:var(--color-avatar-text);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.72rem;flex-shrink:0}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow);min-width:190px;padding:8px;z-index:20}.user-menu-dropdown .user-menu-name{padding:6px 8px 8px;font-size:.85rem;font-weight:600;border-bottom:1px solid var(--color-border);margin-bottom:4px}.user-menu-dropdown button{width:100%;text-align:left;background:none;border:none;padding:8px;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;color:var(--color-text)}.user-menu-dropdown button:hover{background:var(--color-surface-sunken)}.kanban-add-task:hover{color:var(--color-text);background:#fff9}.modal-close:hover{color:var(--color-text);background:var(--color-surface-sunken);border-radius:4px}.title-with-badge{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.badge-type-client,.badge-type-internal{background:var(--color-surface-sunken);color:var(--color-text-muted);border:1px solid var(--color-border);text-transform:none;font-weight:500}.filter-pills{display:flex;gap:6px;flex-wrap:wrap}.filter-pill{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:500;font-family:inherit;cursor:pointer}.filter-pill:hover{background:var(--color-surface-sunken);color:var(--color-text)}.filter-pill.active{background:var(--color-primary-soft);border-color:transparent;color:var(--color-primary-soft-text)}.capacity-filters{margin-bottom:16px;padding-bottom:8px}.capacity-filter-row{align-items:flex-end;gap:12px}.capacity-filter-row .field{min-width:140px;flex:1 1 140px}.capacity-filter-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto;min-width:auto}.capacity-people-table{min-width:1180px;width:max-content;border-collapse:separate;border-spacing:0}.capacity-people-table th,.capacity-people-table td{white-space:nowrap;padding:12px 16px;vertical-align:middle}.capacity-people-table thead th{position:sticky;top:0;background:var(--color-surface);z-index:1;border-bottom:1px solid var(--color-border);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted)}.capacity-people-table tbody tr{cursor:pointer}.capacity-people-table tbody tr:hover td{background:var(--color-surface-sunken)}.capacity-people-table tbody tr.wl-row-prio td{background:#fff8f8}.capacity-people-table tbody tr.wl-row-prio:hover td{background:#feeeee}.wl-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px;padding-bottom:4px}.pl-table{min-width:1080px}.pl-col-project{min-width:220px;max-width:320px;white-space:normal!important}.pl-col-project strong{display:block}.pl-stage-hint{display:block;margin-top:2px;font-size:.75rem;color:var(--color-text-muted);font-weight:400}.pl-col-pm{min-width:120px}.pl-modal-actions{margin:0 0 12px}.pl-person-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.wl-col-person{min-width:160px}.wl-col-load{min-width:110px}.wl-col-role{min-width:100px}.wl-col-projects{min-width:220px;max-width:280px}.wl-col-num{min-width:88px;text-align:center}.wl-col-due{min-width:110px}.wl-col-prio{min-width:240px;white-space:normal!important}.wl-col-signals{min-width:200px;white-space:normal!important}.wl-projects{display:block;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wl-prio-note{display:flex;flex-direction:column;align-items:flex-start;gap:4px;max-width:280px}.wl-prio-titles{font-size:.75rem;color:var(--color-text-muted);white-space:normal;line-height:1.35}.wl-banner{font-size:.88rem;padding:10px 14px;border-radius:var(--radius);margin-bottom:14px}.wl-banner-prio{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.wl-signals{display:flex;flex-wrap:wrap;gap:4px;max-width:none;white-space:normal}.wl-signal{display:inline-block;font-size:.68rem;font-weight:600;padding:2px 6px;border-radius:4px;letter-spacing:.01em}.wl-signal-empty{color:var(--color-text-muted)}.wl-signal-danger{background:var(--color-danger-soft);color:var(--color-danger)}.wl-signal-warn{background:var(--color-warning-soft);color:var(--color-warning)}.wl-signal-soon{background:#fff7ed;color:#c2410c}.wl-signal-prio{background:#fef2f2;color:#b91c1c}.wl-signal-urgent{background:#7f1d1d;color:#fecaca}.wl-modal-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.wl-alert{font-size:.85rem;padding:8px 10px;border-radius:6px;margin-bottom:10px}.wl-alert-warn{background:var(--color-warning-soft);color:var(--color-warning)}.wl-alert-danger{background:var(--color-danger-soft);color:var(--color-danger)}.wl-alert-prio{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.wl-period-select{width:auto;min-width:148px;max-width:180px;flex:0 0 auto;padding:7px 32px 7px 10px;font-size:.84rem}.done-page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.period-toggle{display:inline-flex;align-items:center;padding:3px;gap:2px;background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:8px;flex:0 0 auto}.period-toggle-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--color-text-muted);font-family:inherit;font-size:.8rem;font-weight:550;padding:6px 12px;border-radius:6px;cursor:pointer;white-space:nowrap;line-height:1.2}.period-toggle-btn:hover{color:var(--color-text)}.period-toggle-btn.is-active{background:var(--color-surface);color:var(--color-text);box-shadow:0 1px 2px #0f172a14}.wl-done-table{min-width:720px}.wl-done-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;border-radius:6px;background:var(--color-success-soft);color:var(--color-success);font-weight:600;font-size:.85rem}.wl-done-preview{display:block;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);font-size:.85rem}.badge-status-done{background:var(--color-success-soft);color:var(--color-success)}.wl-project-groups{display:flex;flex-direction:column;gap:16px}.wl-project-group{border-top:1px solid var(--color-border);padding-top:12px}.wl-project-group:first-child{border-top:none;padding-top:0}.wl-project-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.wl-project-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--color-text);text-decoration:none}.wl-project-link:hover{color:var(--color-primary)}.prio-pill{display:inline-block;font-size:.68rem;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.02em}.prio-urgent{background:#7f1d1d;color:#fecaca}.prio-high{background:var(--color-danger-soft);color:var(--color-danger)}.prio-medium{background:var(--color-warning-soft);color:var(--color-warning)}.prio-low{background:var(--color-surface-sunken);color:var(--color-text-muted)}.load-badge{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;padding:3px 8px;border-radius:4px}.load-badge.load-idle{background:var(--color-surface-sunken);color:var(--color-text-muted)}.load-badge.load-ok{background:var(--color-success-soft);color:var(--color-success)}.load-badge.load-busy{background:var(--color-warning-soft);color:var(--color-warning)}.load-badge.load-heavy{background:var(--color-danger-soft);color:var(--color-danger)}.badge-status-review,.badge-status-backlog{background:var(--color-primary-soft);color:var(--color-primary-soft-text)}.work-browser{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px 18px 10px}.work-type-pills{margin-bottom:14px}.work-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:12px}.work-toolbar .field{margin:0;min-width:140px;flex:1 1 140px}.work-search{flex:2 1 220px}.work-list-meta{font-size:.78rem;color:var(--color-text-muted);margin-bottom:8px}.work-table{width:100%;border-collapse:collapse}.work-table th,.work-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--color-border);vertical-align:middle;font-size:.9rem}.work-table th{color:var(--color-text-muted);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;background:transparent}.work-table tbody tr:last-child td{border-bottom:none}.work-table tbody tr:hover td{background:var(--color-surface-sunken)}.work-owner{display:inline-flex;align-items:center;gap:8px}.work-avatar{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--color-surface-sunken);color:var(--color-text-muted);border:1px solid var(--color-border);font-size:.65rem;font-weight:700;letter-spacing:.02em;flex-shrink:0}.work-dates-cell{font-size:.84rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.work-actions-cell{text-align:right;white-space:nowrap}.work-empty{padding:28px 12px 24px;text-align:center;color:var(--color-text-muted);font-size:.88rem}.muted{color:var(--color-text-muted)}.people-member{display:flex;align-items:center;gap:10px}.people-add{margin-bottom:14px;padding:12px;border-radius:var(--radius-sm);background:var(--color-surface-sunken);border:1px solid var(--color-border)}.people-picker{list-style:none;margin:0;padding:0;max-height:280px;overflow:auto}.people-picker li+li{margin-top:4px}.people-picker-item{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border:none;border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;text-align:left;font:inherit;color:inherit}.people-picker-item:hover:not(:disabled){background:#fff;outline:1px solid var(--color-border)}.people-picker-item:disabled{opacity:.65;cursor:wait}.people-picker-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.people-picker-text strong{font-size:.88rem}.people-picker-text span{font-size:.75rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.people-picker-action{font-size:.78rem;font-weight:600;color:var(--color-primary);flex-shrink:0}@media (max-width: 640px){.work-actions-cell .btn{padding:4px 8px}}.type-toggle{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 640px){.type-toggle{grid-template-columns:1fr}}.type-option{text-align:left;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius);padding:12px 14px;cursor:pointer;font-family:inherit;color:var(--color-text)}.type-option strong{display:block;font-size:.9rem;margin:0}.type-option span{display:block;font-size:.78rem;color:var(--color-text-muted);line-height:1.35}.type-option:hover{background:var(--color-surface-sunken);border-color:#d1d5db}.type-option.active{border-color:var(--color-border);background:var(--color-primary-soft)}.type-option.active span{color:var(--color-primary-soft-text)}.field-hint{margin:6px 0 0;font-size:.78rem;color:var(--color-text-muted)}.table-link{color:var(--color-text);font-weight:500;text-decoration:none}.table-link:hover{color:var(--color-primary);text-decoration:underline}.work-name-link{display:inline-flex;align-items:center;gap:8px}.unread-project-dot{width:8px;height:8px;border-radius:50%;background:var(--color-danger);flex-shrink:0}.unread-task-dot{width:8px;height:8px;border-radius:50%;background:var(--color-danger);flex-shrink:0;margin-top:4px}.kanban-card-title-row{display:flex;align-items:flex-start;gap:6px;margin-bottom:8px}.kanban-card-title-row .kanban-card-title{margin-bottom:0;flex:1;min-width:0}.page{max-width:1240px;margin:0 auto;padding:20px 28px 56px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:16px}.page-header h1{margin:0 0 4px;font-size:1.35rem}.subtitle{color:var(--color-text-muted);margin:0;font-size:.875rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:none;padding:18px 20px;margin-bottom:14px}.card h2,.card h3{margin-top:0;font-weight:600;font-size:.92rem;letter-spacing:-.01em}.card-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-header-row h3{margin:0}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 800px){.grid-2,.grid-3{grid-template-columns:1fr}}.tabs{display:flex;flex-wrap:nowrap;gap:0;border-bottom:1px solid var(--color-border);margin-bottom:18px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{padding:10px 12px;border:none;background:none;cursor:pointer;color:var(--color-text-muted);font-family:inherit;font-weight:500;font-size:.84rem;border-bottom:2px solid transparent;text-decoration:none;white-space:nowrap;flex-shrink:0}.tab:hover{color:var(--color-text)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--color-border);font-size:.92rem}th{color:var(--color-text-muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--color-surface-sunken)}.table-wrap{overflow-x:auto}.badge-neutral{background:var(--color-surface-sunken);color:var(--color-text-muted);border:1px solid var(--color-border);text-transform:none;font-weight:500}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--color-primary);color:#fff;font-family:inherit;font-weight:500;font-size:.875rem;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.btn:hover{background:var(--color-primary-dark);border-color:transparent;color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#fff;color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover{background:var(--color-surface-sunken);border-color:#d1d5db;color:var(--color-text)}.btn-ghost{background:transparent;color:var(--color-text-muted);border-color:transparent}.btn-ghost:hover{background:var(--color-surface-sunken);color:var(--color-text);border-color:transparent}.btn-danger{background:var(--color-danger);border-color:transparent;color:#fff}.btn-danger:hover{background:#912018;border-color:transparent;color:#fff}.btn-sm{padding:5px 10px;font-size:.8rem}input,select,textarea{width:100%;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.9rem;font-family:inherit;background:var(--color-surface);color:var(--color-text)}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px}select::-ms-expand{display:none}label{display:block;font-size:.82rem;color:var(--color-text-muted);margin-bottom:4px;font-weight:500}.field{margin-bottom:12px}.form-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.form-row .field{flex:1;min-width:160px}.select-pill{display:inline-flex;align-items:center;gap:8px}.select-pill label{margin:0;white-space:nowrap}.select-pill select{min-width:180px;font-weight:600;padding-right:36px}.board-menu{position:relative}.board-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;border:none;padding:0;margin:0;background:transparent;cursor:default;z-index:20}.board-menu-panel{position:absolute;top:calc(100% + 6px);right:0;min-width:200px;padding:6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-modal);z-index:30;display:grid;gap:2px}.board-menu-panel button{display:block;width:100%;border:none;background:transparent;text-align:left;padding:8px 10px;border-radius:4px;font:inherit;font-size:.84rem;color:var(--color-text);cursor:pointer}.board-menu-panel button:hover{background:var(--color-surface-sunken)}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--color-surface-sunken);color:var(--color-text-muted);text-transform:capitalize}.badge-status-done,.badge-status-complete,.badge-status-resolved,.badge-status-approved{background:var(--color-success-soft);color:var(--color-success)}.badge-status-in_progress{background:var(--color-warning-soft);color:var(--color-warning)}.badge-status-blocked,.badge-status-rejected{background:var(--color-danger-soft);color:var(--color-danger)}.badge-status-todo,.badge-status-not_started,.badge-status-pending,.badge-status-open{background:var(--color-surface-sunken);color:var(--color-text-muted)}.badge-status-staging{background:var(--color-primary-soft);color:var(--color-primary)}.badge-status-production{background:var(--color-success-soft);color:var(--color-success)}.badge-role-admin{background:var(--color-surface-sunken);color:var(--color-text)}.badge-role-management{background:var(--color-primary-soft);color:var(--color-primary-soft-text)}.badge-role-hr{background:#f3e8ff;color:#6b21a8}.badge-role-pm{background:var(--color-success-soft);color:var(--color-success)}.badge-role-engineer{background:var(--color-warning-soft);color:var(--color-warning)}.badge-role-client{background:var(--color-danger-soft);color:var(--color-danger)}.badge-rag-green{background:var(--color-success-soft);color:var(--color-success)}.badge-rag-green:before{content:"●";margin-right:5px;font-size:.65rem}.badge-rag-amber{background:var(--color-warning-soft);color:var(--color-warning)}.badge-rag-amber:before{content:"●";margin-right:5px;font-size:.65rem}.badge-rag-red{background:var(--color-danger-soft);color:var(--color-danger)}.badge-rag-red:before{content:"●";margin-right:5px;font-size:.65rem}.badge-on-track{background:var(--color-success-soft);color:var(--color-success)}.badge-on-track:before{content:"●";margin-right:5px;font-size:.65rem}.badge-at-risk{background:var(--color-danger-soft);color:var(--color-danger)}.badge-at-risk:before{content:"●";margin-right:5px;font-size:.65rem}.lock-icon{color:var(--color-danger)}.error-banner{background:var(--color-danger-soft);color:var(--color-danger);border:1px solid #f3b9b2;border-radius:var(--radius);padding:10px 14px;margin-bottom:16px;font-size:.9rem}.success-banner{background:var(--color-success-soft);color:var(--color-success);border:1px solid #a8d9bf;border-radius:var(--radius);padding:10px 14px;margin-bottom:16px;font-size:.9rem}.profile-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;align-items:start}.profile-card h2{margin-bottom:8px}.profile-details{margin:12px 0 0;display:grid;gap:12px}.profile-details dt{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:2px}.profile-details dd{margin:0;font-size:.95rem;color:var(--color-text)}.profile-password-form{margin-top:12px;max-width:360px}.empty-state{color:var(--color-text-muted);font-style:italic;padding:16px 0}.heatmap-cell{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:5px 10px;border-radius:var(--radius-sm);font-weight:700;font-size:.85rem}.heatmap-cell.level-empty{background:var(--color-surface-sunken);color:var(--color-text-muted);font-weight:500}.heatmap-cell.level-normal{background:var(--color-primary-soft);color:var(--color-primary-soft-text)}.heatmap-cell.level-full{background:var(--color-warning-soft);color:var(--color-warning)}.heatmap-cell.level-over{background:var(--color-danger-soft);color:var(--color-danger)}.heatmap-total{font-weight:700}.heatmap-total.level-normal{color:var(--color-primary)}.heatmap-total.level-full{color:var(--color-warning)}.heatmap-total.level-over{color:var(--color-danger)}.heatmap-table th,.heatmap-table td{text-align:center}.heatmap-table th:first-child,.heatmap-table td:first-child{text-align:left}.stat-row{display:flex;gap:16px;flex-wrap:wrap}.stat-tile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:14px 18px;min-width:140px}.stat-tile .stat-value{font-size:1.6rem;font-weight:700;color:var(--color-brand-dark);letter-spacing:-.02em}.stat-tile .stat-label{color:var(--color-text-muted);font-size:.8rem}.stepper{display:flex;align-items:flex-start;overflow-x:auto;padding:4px 4px 8px}.stepper-step{display:flex;flex-direction:column;align-items:center;flex:1;min-width:92px;cursor:pointer;background:none;border:none;font:inherit;color:inherit;padding:0}.stepper-track{display:flex;align-items:center;width:100%}.stepper-line{flex:1;height:2px;background:var(--color-border)}.stepper-line.done{background:var(--color-success)}.stepper-circle{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0;background:var(--color-surface-sunken);color:var(--color-text-muted);border:2px solid transparent}.stepper-circle.complete{background:var(--color-success);color:#fff}.stepper-circle.current{background:var(--color-primary);color:#fff}.stepper-circle.selected{border-color:var(--color-primary-dark)}.stepper-label{margin-top:8px;font-size:.78rem;text-align:center;color:var(--color-text-muted);line-height:1.25;max-width:100px}.stepper-label.current{color:var(--color-text);font-weight:700}.freeze-card.frozen{border-color:#f3c9c2}.freeze-card-title{font-size:.75rem;font-weight:700;letter-spacing:.05em;color:var(--color-text-muted);text-transform:uppercase;margin-bottom:8px}.freeze-status{font-weight:700;font-size:1.05rem;margin-bottom:6px}.freeze-status.frozen{color:var(--color-danger)}.freeze-status.open{color:var(--color-success)}.checklist-list{list-style:none;padding:0;margin:0 0 12px}.checklist-list li{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:.9rem}.checklist-list input[type=checkbox]{width:auto}.kanban-board{display:flex;gap:12px;overflow-x:auto;align-items:start;padding-bottom:8px;-webkit-overflow-scrolling:touch}.kanban-column{flex:0 0 280px;width:280px;min-width:280px;max-width:280px;box-sizing:border-box;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius);padding:10px;min-height:140px;background:#fafbfc}.kanban-column[data-status=todo]{background:#f8fafc}.kanban-column[data-status=in_progress]{background:#f5f9fd}.kanban-column[data-status=blocked]{background:#fcf8f7}.kanban-column[data-status=done]{background:#f4fafb}.kanban-column.drag-over{background:var(--color-primary-soft)}.kanban-column-header{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.78rem;letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:10px;padding:0 2px}.kanban-column[data-status=in_progress] .kanban-column-header{color:var(--color-brand-dark)}.kanban-column[data-status=blocked] .kanban-column-header{color:#9b3b34}.kanban-column[data-status=done] .kanban-column-header{color:var(--color-teal-soft-text)}.kanban-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:999px;background:var(--color-surface);border:1px solid var(--color-border);font-size:.7rem;color:var(--color-text-muted);font-weight:600}.kanban-column[data-status=in_progress] .kanban-count{background:var(--color-primary-soft);border-color:transparent;color:var(--color-primary-soft-text)}.kanban-column[data-status=done] .kanban-count{background:var(--color-teal-soft);border-color:transparent;color:var(--color-teal-soft-text)}.kanban-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 11px;margin-bottom:8px;cursor:pointer;box-shadow:none;transition:border-color .12s ease}.kanban-card:hover{background:#fbfcfe}.kanban-card:active{cursor:grabbing}.kanban-card.dragging{opacity:.45}.kanban-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:6px;margin-bottom:8px}.kanban-card-title{font-weight:500;font-size:.86rem;line-height:1.35;color:var(--color-text)}.kanban-card-remove{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.9rem;padding:0;line-height:1}.kanban-card-bottom{display:flex;justify-content:space-between;align-items:center;font-size:.78rem}.points-pill{display:inline-block;padding:2px 8px;border-radius:6px;background:var(--color-primary-soft);color:var(--color-primary-soft-text);font-weight:700;font-size:.78rem}.days-indicator{color:var(--color-text-muted);font-weight:600}.days-indicator.over{color:var(--color-danger)}.kanban-card-edit{padding:12px;margin-bottom:8px}.kanban-card-assignees{margin-top:8px;font-size:.75rem;color:var(--color-text-muted)}.kanban-add-task{background:none;border:none;color:var(--color-text-muted);font-size:.85rem;cursor:pointer;padding:6px 4px;width:100%;text-align:left}.kanban-add-task:hover{color:var(--color-text)}.kanban-add-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px;margin-bottom:4px;display:flex;flex-direction:column;gap:8px}.kanban-add-form .kanban-add-title{width:100%;margin:0;padding:7px 9px;border:1px solid var(--color-border);border-radius:6px;font:inherit;font-size:.86rem;font-weight:500;line-height:1.35;color:var(--color-text);background:var(--color-surface)}.kanban-add-form .kanban-add-title:focus{outline:none;border-color:var(--color-brand)}.kanban-add-assignee-label{display:flex;flex-direction:column;gap:4px;margin:0}.kanban-add-assignee-label>span{font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-muted)}.kanban-add-form .kanban-add-assignee{width:100%;margin:0;padding:6px 32px 6px 9px;border:1px solid var(--color-border);border-radius:6px;font:inherit;font-size:.82rem;color:var(--color-text);background-color:var(--color-surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px 8px;-moz-appearance:none;appearance:none;-webkit-appearance:none}.kanban-add-form .kanban-add-assignee:focus{outline:none;border-color:var(--color-brand)}.kanban-add-form-actions{display:flex;align-items:center;gap:4px}.chart-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.chart-legend{display:flex;gap:18px;font-size:.85rem;color:var(--color-text-muted)}.chart-legend-item{display:flex;align-items:center;gap:6px}.chart-legend-swatch{width:18px;height:2px;display:inline-block}.chart-tooltip{position:absolute;background:var(--color-text);color:#fff;font-size:.75rem;padding:6px 10px;border-radius:6px;pointer-events:none;white-space:nowrap;transform:translate(-50%,-130%);z-index:5}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182766;display:flex;align-items:flex-start;justify-content:center;padding:8vh 16px 32px;z-index:1000;overflow-y:auto}.modal-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-modal);width:100%;max-width:520px;max-height:none}.modal-panel-wide{max-width:880px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--color-border)}.modal-header h3{margin:0;font-size:1rem;font-weight:600}.modal-close{background:none;border:none;font-size:1.4rem;line-height:1;color:var(--color-text-muted);cursor:pointer;padding:0 4px}.modal-close:hover{color:var(--color-text)}.modal-body{padding:20px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:4px}.user-menu-trigger,.btn,input,select,textarea{font-family:inherit}.kanban-card-snippet{margin:6px 0 0;font-size:.78rem;color:var(--color-text-muted);line-height:1.35}.kanban-avatars{display:flex;gap:4px}.kanban-avatar{width:22px;height:22px;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary-soft-text);font-size:.62rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.task-detail{display:grid;grid-template-columns:1fr minmax(240px,280px);gap:24px;align-items:start}.task-comments{margin-top:20px;padding-top:14px;border-top:1px solid var(--color-border)}.task-comments-head{margin-bottom:10px}.task-comments-head label{margin:0}.task-comment-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:12px;max-height:280px;overflow-y:auto}.task-comment-item{padding:10px 12px;border-radius:var(--radius-sm);background:var(--color-surface-sunken)}.task-comment-meta{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.task-comment-meta strong{font-size:.84rem}.task-comment-time{font-size:.68rem;color:var(--color-text-muted);white-space:nowrap}.task-comment-body{font-size:.86rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.comment-mention{color:var(--color-primary);font-weight:550;background:var(--color-primary-soft);border-radius:3px;padding:0 2px}.task-comment-actions{display:flex;gap:4px;margin-top:6px}.task-comment-compose,.task-comment-editor-wrap{position:relative}.task-comment-editor{min-height:72px;max-height:200px;overflow-y:auto;width:100%;margin:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 12px;font:inherit;font-size:.86rem;line-height:1.45;background:var(--color-surface);white-space:pre-wrap;word-break:break-word}.task-comment-editor:focus{outline:2px solid var(--color-primary-soft);outline-offset:0}.task-comment-editor.readonly{background:var(--color-surface-sunken)}.task-comment-editor:empty:before{content:attr(data-placeholder);color:var(--color-text-muted);pointer-events:none}.comment-mention-chip{display:inline;cursor:default;-webkit-user-select:none;user-select:none}.task-comment-compose textarea{width:100%;margin:0;resize:vertical;min-height:72px}.task-comment-mention-results{list-style:none;margin:4px 0 0;padding:4px;position:absolute;left:0;right:0;z-index:2;max-height:200px;overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:0 4px 16px #00000014}.task-comment-mention-results-portal{position:fixed;right:auto;margin:0;z-index:1100}.task-comment-mention-results li+li{margin-top:2px}.task-comment-mention-results button{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;font:inherit;text-align:left;color:inherit}.task-comment-mention-results button:hover{background:var(--color-surface-sunken)}.task-comment-mention-results button strong{font-size:.84rem}.task-comment-mention-results button span{font-size:.72rem;color:var(--color-text-muted)}.task-comment-edit .task-comment-editor{min-height:64px}.task-comment-edit-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.task-history{margin-top:16px;padding-top:14px;border-top:1px solid var(--color-border)}.task-history-head{margin-bottom:8px}.task-history-head label{margin:0}.task-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:260px;overflow-y:auto}.task-history-item{display:grid;grid-template-columns:10px 1fr;gap:8px;align-items:start}.task-history-body{min-width:0}.task-history-line{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.task-history-headline{font-size:.8rem;font-weight:550}.task-history-time{font-size:.68rem;color:var(--color-text-muted);white-space:nowrap;flex-shrink:0}.task-history-detail{margin-top:2px;font-size:.72rem;color:var(--color-text-muted);line-height:1.35;word-break:break-word}.task-title-input{font-size:1.05rem;font-weight:600}.editor-toolbar{display:flex;gap:4px;margin-bottom:6px}.editor-toolbar button{border:1px solid var(--color-border);background:var(--color-surface);border-radius:4px;padding:4px 8px;font-size:.78rem;font-family:inherit;cursor:pointer;color:var(--color-text)}.editor-toolbar button:hover{background:var(--color-surface-sunken)}.rich-editor{min-height:160px;max-height:360px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 12px;font-size:.9rem;line-height:1.5;background:var(--color-surface)}.rich-editor:focus{outline:2px solid var(--color-primary-soft);outline-offset:0}.rich-editor.readonly{background:var(--color-surface-sunken)}.rich-editor:empty:before{content:attr(data-placeholder);color:var(--color-text-muted)}.task-detail-side{border-left:1px solid var(--color-border);padding-left:18px}.task-follow-block{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.task-follow-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:7px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:.82rem;font-weight:500;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.task-follow-btn:hover:not(:disabled){border-color:#c5d0de;background:var(--color-surface-sunken)}.task-follow-btn.is-following{border-color:var(--color-brand);background:var(--color-primary-soft);color:var(--color-primary-soft-text)}.task-follow-btn:disabled{opacity:.55;cursor:not-allowed}.task-follow-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;border:1px solid currentColor;flex-shrink:0}.task-follow-hint{margin:5px 0 0;font-size:.7rem;line-height:1.3;color:var(--color-text-muted)}.task-assignees-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.task-assignees-head label{margin:0}.task-assignee-list{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:4px}.task-assignee-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);background:var(--color-surface-sunken);font-size:.84rem}.task-assignee-picker{margin-top:8px;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-sunken)}.task-assignee-picker input[type=search]{width:100%;margin:0}.task-assignee-results{list-style:none;margin:8px 0 0;padding:0;max-height:180px;overflow:auto}.task-assignee-results li+li{margin-top:2px}.task-assignee-results button{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px;border:none;border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;font:inherit;text-align:left;color:inherit}.task-assignee-results button:hover{outline:1px solid var(--color-border)}.task-assignee-results button strong{font-size:.84rem}.task-assignee-results button span{font-size:.72rem;color:var(--color-text-muted)}.task-side-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--color-border)}.task-side-actions-right{display:flex;align-items:center;gap:8px;margin-left:auto}.task-delete-link{border:none;background:none;padding:0;font:inherit;font-size:.82rem;font-weight:500;color:var(--color-danger);cursor:pointer;line-height:1;white-space:nowrap}.task-delete-link:hover:not(:disabled){text-decoration:underline}.task-delete-link:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 800px){.task-detail{grid-template-columns:1fr}.task-detail-side{border-left:none;padding-left:0;border-top:1px solid var(--color-border);padding-top:16px}}.details-page{max-width:820px}.details-card{padding:4px 0}.details-field{display:grid;grid-template-columns:minmax(160px,220px) 1fr;gap:16px 24px;padding:16px 20px;border-bottom:1px solid var(--color-border);align-items:start}.details-field:last-child{border-bottom:none}.details-label{font-size:.82rem;font-weight:600;color:var(--color-text);padding-top:2px}.details-value{min-width:0}.details-value .rich-notes{max-width:100%}.details-value .rich-notes-view{margin-top:0}.details-value textarea,.details-textarea{width:100%;max-width:100%;margin:0;resize:vertical;box-sizing:border-box}.details-text{margin:0;white-space:pre-wrap;font-size:.9rem;line-height:1.5;color:var(--color-text)}.details-text.empty,.details-empty{color:var(--color-text-muted)}.details-people{list-style:none;margin:0;padding:0;display:grid;gap:8px}.details-people li{display:flex;align-items:center;gap:8px;font-size:.9rem}.details-role{font-size:.75rem;color:var(--color-text-muted);text-transform:capitalize;margin-left:4px}.details-check-list{display:grid;gap:8px}.details-check{display:flex;align-items:flex-start;gap:10px;margin:0;font-size:.9rem;cursor:pointer}.details-check input{width:auto;margin-top:3px}@media (max-width: 640px){.details-field{grid-template-columns:1fr;gap:6px}}.callout{background:var(--color-primary-soft);border:1px solid #d5e0ea;border-radius:var(--radius);padding:12px 14px;margin-bottom:16px;font-size:.88rem;line-height:1.45;color:var(--color-primary-soft-text)}.callout strong{font-weight:600}.overview-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.overview-kicker{margin:0 0 6px;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.overview-objective{margin:0;font-size:1.15rem;font-weight:600;letter-spacing:-.02em;line-height:1.35}.overview-hero-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex-shrink:0}.stage-panel-actions{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px}.overview-meta{display:flex;align-items:center;gap:8px;font-size:.85rem}.overview-meta-label{color:var(--color-text-muted)}.checklist-done{text-decoration:line-through;color:var(--color-text-muted)}.chip-select{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--color-border);background:var(--color-surface);border-radius:999px;padding:6px 12px;font-size:.82rem;font-family:inherit;cursor:pointer;color:var(--color-text)}.chip:hover{background:var(--color-surface-sunken)}.chip.active{background:var(--color-primary-soft);border-color:transparent;color:var(--color-primary-soft-text)}.chip-role{font-size:.72rem;color:var(--color-text-muted);text-transform:capitalize}.chip.active .chip-role{color:var(--color-primary-soft-text);opacity:.8}.plain-list{margin:0;padding-left:18px}.plain-list li{margin-bottom:6px}.ticket-list{display:grid;gap:12px}.ticket-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:14px 16px}.ticket-card:hover{border-color:#d1d5db}.ticket-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px}.ticket-id{font-size:.78rem;font-weight:600;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.ticket-type-incident{background:var(--color-danger-soft);color:var(--color-danger)}.ticket-type-request{background:var(--color-primary-soft);color:var(--color-primary-soft-text)}.ticket-board-link{font-size:.8rem;font-weight:500;color:var(--color-primary);text-decoration:none;margin-left:4px}.ticket-board-link:hover{text-decoration:underline}.ticket-title{margin:0 0 6px;font-size:.95rem;font-weight:600}.ticket-body{margin:0;font-size:.88rem;color:var(--color-text);line-height:1.45;white-space:pre-wrap}.ticket-meta{display:flex;gap:6px;margin-top:10px;font-size:.78rem;color:var(--color-text-muted);text-transform:capitalize}.ticket-actions{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border)}.ticket-actions label{margin:0}.ticket-actions select{max-width:160px}.filter-count{margin-left:4px;font-variant-numeric:tabular-nums;opacity:.7}.page-lead{margin:-4px 0 18px;max-width:52rem;font-size:.92rem;line-height:1.45;color:var(--color-text-muted)}.activity-timeline{display:flex;flex-direction:column;gap:22px}.activity-day-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--color-border)}.activity-day-head h4{margin:0;font-size:.95rem;font-weight:600}.activity-day-count{font-size:.78rem;color:var(--color-text-muted)}.activity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.activity-item{display:grid;grid-template-columns:52px 12px 1fr;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid #f0f2f5}.activity-item:last-child{border-bottom:none}.activity-time{font-size:.78rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums;padding-top:2px}.activity-dot{width:8px;height:8px;border-radius:50%;margin-top:6px;background:#9ca3af;justify-self:center}.activity-dot.tone-create{background:var(--color-success)}.activity-dot.tone-update{background:var(--color-warning)}.activity-dot.tone-delete{background:var(--color-danger)}.activity-dot.tone-doc{background:var(--color-primary)}.activity-dot.tone-auth{background:#9ca3af}.activity-headline{font-size:.9rem;font-weight:500;color:var(--color-text);line-height:1.35}.activity-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:.78rem;color:var(--color-text-muted)}.activity-action{font-size:.68rem!important;text-transform:uppercase;letter-spacing:.03em}.activity-action.tone-create{background:var(--color-success-soft);color:var(--color-success)}.activity-action.tone-update{background:var(--color-warning-soft);color:var(--color-warning)}.activity-action.tone-delete{background:var(--color-danger-soft);color:var(--color-danger)}.activity-action.tone-doc{background:var(--color-primary-soft);color:var(--color-primary-soft-text)}.activity-project-link{font-size:.78rem;font-weight:500;color:var(--color-primary);text-decoration:none}.activity-project-link:hover{text-decoration:underline}.meeting-attendees-stack{display:flex;flex-direction:column}.people-typeahead{position:relative}.people-typeahead-box{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:38px;padding:5px 8px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);cursor:text}.people-typeahead-box:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.people-typeahead-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 6px 2px 8px;border-radius:4px;background:var(--color-primary-soft);color:var(--color-primary-soft-text);font-size:.78rem;font-weight:500}.people-typeahead-remove{border:none;background:transparent;color:inherit;cursor:pointer;font-size:1rem;line-height:1;padding:0 2px;opacity:.7}.people-typeahead-remove:hover{opacity:1}.people-typeahead-input{flex:1 1 120px;min-width:120px;border:none!important;outline:none!important;box-shadow:none!important;background:transparent!important;padding:4px 2px!important;font-size:.88rem;margin:0!important}.people-typeahead-menu{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);margin:0;padding:4px;list-style:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 8px 24px #0f172a1a;max-height:200px;overflow:auto}.people-typeahead-option{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;border:none;background:transparent;text-align:left;padding:8px 10px;border-radius:4px;cursor:pointer;font-family:inherit;font-size:.88rem;color:var(--color-text)}.people-typeahead-option:hover{background:var(--color-surface-sunken)}.people-typeahead-option span{font-size:.72rem;color:var(--color-text-muted);text-transform:capitalize}.people-typeahead-empty{padding:8px 10px;font-size:.8rem;color:var(--color-text-muted)}.meeting-attendee-chips{margin-top:2px}.meeting-attendees-compact .meeting-who-form-row{align-items:flex-start;gap:12px}.meeting-inline-label{font-size:.72rem!important;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:4px!important}.chip-sm{padding:3px 8px!important;font-size:.75rem!important;border-radius:4px!important}.meeting-who-compact{flex-direction:row;flex-wrap:wrap;gap:6px 16px;margin-top:8px;font-size:.8rem;color:var(--color-text-muted)}.meeting-who-line{display:inline-flex;align-items:baseline;gap:6px}.meeting-who-compact .meeting-who-label{flex:none;padding-top:0}.meeting-attendees-box{border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;background:var(--color-surface)}.meeting-attendees-block{padding:12px 14px}.meeting-attendees-block+.meeting-attendees-block{border-top:1px solid var(--color-border)}.meeting-attendees-head{font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:2px}.meeting-who{display:flex;flex-direction:column;gap:8px;margin-top:12px}.meeting-who-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 10px}.meeting-who-label{flex:0 0 64px;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);padding-top:5px}.meeting-who-chips{display:flex;flex-wrap:wrap;gap:6px;flex:1}.meeting-who-chip{display:inline-flex;align-items:center;padding:3px 9px;border-radius:4px;font-size:.78rem;font-weight:500}.meeting-who-chip.is-internal{background:var(--color-primary-soft);color:var(--color-primary-soft-text)}.meeting-who-chip.is-external{background:var(--color-surface-sunken);color:var(--color-text);border:1px solid var(--color-border)}.meeting-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:6px;font-size:.8rem;color:var(--color-text-muted)}.meeting-meta a{color:var(--color-primary);font-weight:500;text-decoration:none}.meeting-meta a:hover{text-decoration:underline}.meeting-summary{margin:10px 0 0;font-size:.92rem;font-weight:500;color:var(--color-text)}.rich-notes{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);overflow:hidden}.rich-notes-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;border-bottom:1px solid var(--color-border);background:#fafbfc}.rich-notes-btn{border:1px solid var(--color-border);background:#fff;border-radius:4px;padding:3px 8px;font-size:.78rem;font-weight:600;color:var(--color-text);cursor:pointer}.rich-notes-btn:hover{background:var(--color-surface-sunken)}.rich-notes-hint{margin-left:auto;font-size:.72rem;color:var(--color-text-muted)}.rich-notes-frame{position:relative}.rich-notes-placeholder{position:absolute;top:10px;left:12px;color:var(--color-text-muted);font-size:.88rem;pointer-events:none}.rich-notes-editor{padding:10px 12px;outline:none;font-size:.9rem;line-height:1.5;color:var(--color-text)}.rich-notes-editor ul,.rich-notes-view ul{margin:.4em 0;padding-left:1.3em;list-style:disc}.rich-notes-editor ol,.rich-notes-view ol{margin:.4em 0;padding-left:1.3em;list-style:decimal}.rich-notes-editor p,.rich-notes-view p{margin:.35em 0}.rich-notes-view{margin-top:10px;font-size:.9rem;line-height:1.5;color:var(--color-text)}.meeting-timeline{display:flex;flex-direction:column;gap:12px}.meeting-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.meeting-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}.meeting-field-label{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}@media (max-width: 800px){.overview-hero{flex-direction:column}.overview-hero-side{align-items:flex-start}.meeting-grid{grid-template-columns:1fr}}.work-task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.work-task-link{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);text-decoration:none;color:var(--color-text);background:var(--color-surface)}.work-task-link:hover{background:var(--color-surface-sunken);border-color:#d1d5db}.work-task-title{font-weight:500;font-size:.88rem;flex:1 1 140px;min-width:0}.work-task-project{font-size:.78rem;color:var(--color-text-muted);text-align:right}.person-work-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.person-work-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:14px;background:#fafbfc}.person-work-head{margin-bottom:10px}.person-work-name{font-weight:600;font-size:.95rem}.person-work-meta{display:flex;align-items:center;gap:8px;margin-top:6px}.checkbox-inline{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:.82rem;color:var(--color-text-muted);font-weight:500;cursor:pointer}.checkbox-inline input{width:auto}.column-settings{display:grid;gap:22px;margin-bottom:8px}.column-settings-block{display:grid;gap:10px}.column-settings-label{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.column-chip-row{display:flex;flex-wrap:wrap;gap:8px}.column-chip{display:inline-flex;align-items:center;padding:7px 12px;border-radius:6px;background:var(--color-surface-sunken);border:1px solid var(--color-border);font-size:.82rem;font-weight:500;color:var(--color-text)}.column-option-list{display:grid;gap:10px}.column-option{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;margin:0}.column-option:hover{background:var(--color-surface-sunken)}.column-option-text{display:grid;gap:4px;min-width:0}.column-option-text strong{font-size:.9rem;font-weight:600;color:var(--color-text)}.column-option-text span{font-size:.8rem;color:var(--color-text-muted);line-height:1.35}.column-option input[type=checkbox]{width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:var(--color-brand)}.project-chrome{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.back-link{color:var(--color-text-muted);text-decoration:none;font-size:.84rem;font-weight:500}.back-link:hover{color:var(--color-text)}.board-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-bottom:12px;min-height:28px;flex-wrap:wrap}.sprint-brief{margin:0 0 14px;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-sunken)}.sprint-brief-name{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.9rem;margin-bottom:6px}.sprint-brief p{margin:0;font-size:.84rem;color:var(--color-text-muted);line-height:1.4}.sprint-brief p+p{margin-top:4px}.sprint-brief strong{color:var(--color-text);font-weight:600;margin-right:6px}.people-page{display:grid;gap:14px;max-width:720px}.people-list{list-style:none;margin:0;padding:0}.people-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--color-border)}.people-list li:last-child{border-bottom:none}.kanban-column[data-status=review]{background:#f7f8fc}.kanban-column[data-status=review] .kanban-column-header{color:#3d4a6b}.kanban-column[data-status=backlog]{background:#f8fafc}.board-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:4px 0 2px}.board-toolbar-main{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0;flex:1}.board-desc{margin:0;color:var(--color-text-muted);font-size:.875rem;line-height:1.4}.board-toolbar-side{display:flex;align-items:center;gap:10px;flex-shrink:0}.board-edit-inline{display:grid;gap:8px;width:100%;max-width:560px}.board-edit-actions{display:flex;gap:8px}.avatar-stack{display:flex;align-items:center}.avatar-sm{width:28px;height:28px;border-radius:999px;background:var(--color-avatar-bg);color:var(--color-avatar-text);border:2px solid var(--color-surface);display:grid;place-items:center;font-size:.65rem;font-weight:600;margin-left:-6px}.avatar-stack .avatar-sm:first-child{margin-left:0}.avatar-sm.more{background:var(--color-surface-sunken);color:var(--color-text-muted)}.member-strip{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:4px}.member-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:var(--color-primary-soft);border:1px solid transparent;font-size:.76rem;color:var(--color-primary-soft-text)}.chip-remove{margin-left:2px;border:none;background:transparent;color:inherit;cursor:pointer;font-size:.95rem;line-height:1;padding:0 1px;opacity:.65}.chip-remove:hover{opacity:1;color:var(--color-danger)}.invite-list{list-style:none;margin:0;padding:0;display:grid;gap:0}.invite-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--color-border)}.invite-list li:last-child{border-bottom:none}.notes-page{display:flex;flex-direction:column;gap:14px}.notes-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;align-items:start}@media (max-width: 900px){.notes-layout{grid-template-columns:1fr}}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px 18px}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.panel-header h2{margin:0;font-size:.95rem;font-weight:600}.notes-editor{width:100%;min-height:360px;resize:vertical;font-family:inherit;font-size:.9rem;line-height:1.5;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:12px;background:#fafbfc}.docs-table-link{color:var(--color-primary);font-weight:500;text-decoration:none}.docs-table-link:hover{text-decoration:underline}.docs-desc-cell{max-width:280px;color:var(--color-text-muted);font-size:.88rem;white-space:normal}.docs-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.docs-list li{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fafbfc}.docs-list-main{display:flex;flex-direction:column;gap:2px;min-width:0}.docs-list-main a{font-weight:500;text-decoration:none;color:var(--color-text)}.docs-list-main a:hover{color:var(--color-primary)}.docs-url{font-size:.72rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs-add{display:grid;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--color-border)}.docs-add-flush{margin-top:0;padding-top:0;border-top:none}.empty-state.quiet{padding:18px 0;border:none;background:transparent}.kanban-card-meta{margin-top:6px}.due-pill{display:inline-flex;align-items:center;font-size:.7rem;font-weight:600;padding:2px 7px;border-radius:999px;background:var(--color-surface-sunken);color:var(--color-text-muted)}.due-pill.due-soon{background:var(--color-warning-soft);color:var(--color-warning)}.due-pill.due-overdue{background:var(--color-danger-soft);color:var(--color-danger)}
