*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f5f5f7;--surface: #ffffff;--border: #e5e5ea;--border-light: #f0f0f2;--text: #1d1d1f;--text-secondary: #86868b;--text-tertiary: #aeaeb2;--primary: #4f46e5;--primary-hover: #4338ca;--primary-light: #eef2ff;--danger: #ef4444;--danger-hover: #dc2626;--radius: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .1);--font: "Google Sans", -apple-system, BlinkMacSystemFont, sans-serif}html,body{height:100%;font-family:var(--font);font-size:14px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}.hidden{display:none!important}#login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:url(/pk-work-bg.svg) center center / cover no-repeat;background-color:#ff4343}.login-card{background:var(--surface);border-radius:16px;padding:48px 40px;text-align:left;box-shadow:0 20px 60px #00000026;max-width:380px;width:100%}.login-logo{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:var(--primary);color:#fff;font-weight:700;font-size:20px;margin-bottom:20px}.login-logo-img{display:block;max-width:135px;height:auto;margin:0 0 16px}.login-title{font-size:20px;font-weight:700;margin-bottom:4px}.login-subtitle{color:var(--text-secondary);margin-bottom:32px}.btn-google{display:inline-flex;align-items:center;gap:10px;padding:10px 24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-family:var(--font);font-size:14px;font-weight:500;color:var(--text);cursor:pointer;transition:all .15s}.btn-google:hover{background:var(--bg);box-shadow:var(--shadow)}.login-note{font-size:12px;color:var(--text-tertiary);margin-top:16px}.login-denied{text-align:center}.login-denied-icon{font-size:40px;color:var(--text-tertiary);margin-bottom:12px}.login-denied h2{font-size:20px;font-weight:600;margin-bottom:8px}.login-denied p{font-size:14px;color:var(--text-secondary);line-height:1.5;margin-bottom:8px}.login-denied a{color:var(--primary);text-decoration:none;font-weight:500}.login-denied a:hover{text-decoration:underline}.login-denied .btn-google{margin-top:20px}#app-header{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.header-top{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 20px}.header-left{display:flex;align-items:center;gap:24px}.header-logo{font-size:18px;font-weight:800;letter-spacing:-.5px;color:var(--text);flex-shrink:0}.header-logo-dot{color:var(--primary)}.header-nav{display:flex;gap:2px}.nav-tab{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border:none;background:none;font-family:var(--font);font-size:13px;font-weight:500;color:var(--text-secondary);border-radius:6px;cursor:pointer;transition:all .15s;white-space:nowrap}.nav-tab:hover{color:var(--text);background:var(--bg)}.nav-tab.active{color:var(--primary);background:var(--primary-light)}.nav-divider{width:1px;height:16px;background:var(--border);align-self:center;margin:0 4px;flex-shrink:0}.board-subnav{display:flex;gap:2px;padding:10px 16px 0;border-bottom:1px solid var(--border);background:var(--surface)}.board-subnav-tab{padding:6px 14px;border:none;background:none;font-family:var(--font);font-size:13px;font-weight:500;color:var(--text-secondary);border-radius:6px 6px 0 0;cursor:pointer;transition:all .15s;white-space:nowrap}.board-subnav-tab:hover{color:var(--text);background:var(--bg)}.board-subnav-tab.active{color:var(--primary);background:var(--primary-light)}#board-body{height:calc(100% - 45px);overflow:auto}.header-right{display:flex;align-items:center;gap:12px}.filter-group{display:flex;gap:8px}.filter-select{padding:5px 8px;border:1px solid var(--border);border-radius:6px;font-family:var(--font);font-size:16px;color:var(--text-secondary);background:var(--surface);cursor:pointer;max-width:130px}.filter-select:focus{outline:none;border-color:var(--primary)}.header-filter-picker{position:relative}.header-filter-display{display:flex;align-items:center;gap:4px;padding:5px 8px;border:1px solid var(--border);border-radius:6px;cursor:pointer;background:var(--surface);transition:border-color .15s;max-width:180px}.header-filter-display:hover{border-color:var(--text-tertiary)}.header-filter-picker.open .header-filter-display{border-color:var(--primary)}.header-filter-text{flex:1;font-size:16px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font)}.header-filter-text.active{color:var(--text);font-weight:500}.header-filter-arrow{color:var(--text-tertiary);font-size:11px;flex-shrink:0}.header-filter-clear{border:none;background:none;color:var(--text-tertiary);cursor:pointer;font-size:14px;padding:0 2px;line-height:1;flex-shrink:0}.header-filter-clear:hover{color:var(--text)}.header-filter-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:240px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000001f;z-index:200;max-height:320px;display:flex;flex-direction:column}.header-filter-search{padding:8px 10px;border:none;border-bottom:1px solid var(--border);font-family:var(--font);font-size:14px;color:var(--text);background:transparent;outline:none;border-radius:8px 8px 0 0}.header-filter-list{overflow-y:auto;flex:1}.header-filter-checkbox{width:16px;height:16px;border:2px solid var(--border);border-radius:3px;flex-shrink:0;position:relative;transition:all .15s}.header-filter-checkbox.checked{background:var(--primary);border-color:var(--primary)}.header-filter-checkbox.checked:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.header-filter-checkbox.partial{border-color:var(--primary);background:var(--primary-light)}.header-filter-checkbox.partial:after{content:"";position:absolute;left:3px;top:5px;width:6px;height:2px;background:var(--primary);border-radius:1px}.header-filter-client{display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:600;color:var(--text);cursor:pointer;transition:background .1s;border-top:1px solid var(--border-light, #f0f0f0)}.header-filter-client:first-child{border-top:none}.header-filter-client:hover{background:var(--bg)}.header-filter-client img{width:16px;height:16px;border-radius:3px;object-fit:cover}.header-filter-client-name{flex:1}.header-filter-option{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 20px;font-size:14px;color:var(--text);cursor:pointer;transition:background .1s}.header-filter-option:hover{background:var(--bg)}.header-filter-option.selected{background:var(--primary-light)}.header-filter-group-label{display:flex;align-items:center;gap:6px;padding:8px 10px 2px;font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;border-top:1px solid var(--border-light, #f0f0f0)}.header-filter-group-label img{width:14px;height:14px;border-radius:3px;object-fit:cover}.header-filter-no-results{padding:12px 10px;font-size:13px;color:var(--text-tertiary);text-align:center}.user-menu{position:relative;margin-left:4px}.user-menu-trigger{display:flex;align-items:center;gap:4px;padding:4px 10px 4px 4px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}.user-menu-trigger:hover{border-color:#d1d5db;background:#f9fafb}.user-menu.open .user-menu-trigger{border-color:#c7d2fe;background:#f0f4ff}.user-menu-caret{font-size:12px;color:#9ca3af;transition:transform .15s}.user-menu.open .user-menu-caret{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 24px #0000001f;min-width:200px;z-index:100;padding:4px 0;animation:att-popover-in .12s ease-out}.user-menu-info{padding:10px 14px 8px;border-bottom:1px solid #f3f4f6}.user-menu-name{font-size:13px;font-weight:600;color:#111}.user-menu-email{font-size:11px;color:#9ca3af;margin-top:1px}.user-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 14px;border:none;background:none;cursor:pointer;font-size:13px;color:#374151;text-align:left;transition:background .1s}.user-menu-item:hover{background:#f3f4f6}.user-menu-item i{font-size:15px;color:#6b7280}.btn-primary{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border:none;border-radius:6px;background:var(--primary);color:#fff;font-family:var(--font);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.btn-primary:hover{background:var(--primary-hover)}.btn-ghost{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border:none;background:none;font-family:var(--font);font-size:13px;color:var(--text-secondary);cursor:pointer;border-radius:6px}.btn-ghost:hover{color:var(--text);background:var(--bg)}.btn-danger{padding:6px 14px;border:none;border-radius:6px;background:none;color:var(--danger);font-family:var(--font);font-size:13px;font-weight:500;cursor:pointer}.btn-danger:hover{background:#fef2f2}.avatar-sm{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#fff;flex-shrink:0}.avatar-xs{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#fff;flex-shrink:0}.client-logo{width:28px;height:28px;border-radius:6px;object-fit:cover;flex-shrink:0}.client-logo-xs{width:18px;height:18px;border-radius:4px;object-fit:cover;flex-shrink:0}.client-logo-placeholder{display:inline-flex;align-items:center;justify-content:center;background:var(--primary-light);color:var(--primary);font-size:12px;font-weight:600}.client-logo-placeholder.client-logo-xs{font-size:10px}.avatar-photo-sm{width:28px;height:28px;border-radius:50%;object-fit:cover;display:block}.avatar-photo-xs{width:22px;height:22px;border-radius:50%;object-fit:cover;flex-shrink:0}#main-content{height:calc(100vh - 56px);overflow:auto}.board{display:flex;gap:12px;padding:20px;height:100%;overflow-x:auto}.column{min-width:260px;width:260px;display:flex;flex-direction:column;flex-shrink:0}.column-header{display:flex;align-items:center;gap:8px;padding:8px 4px;margin-bottom:8px}.column-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.column-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.column-count{font-size:11px;color:var(--text-tertiary);margin-left:auto}.column-tasks{display:flex;flex-direction:column;gap:6px;overflow-y:auto}.column-add-input{padding:8px 10px;margin-top:6px;border:1px dashed var(--border);border-radius:var(--radius);font-size:16px;color:var(--text);background:none;font-family:var(--font);width:100%;outline:none;transition:all .15s}.column-add-input::placeholder{color:var(--text-tertiary)}.column-add-input:focus{border-style:solid;border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 3px #4f46e51a}.column-add-input:disabled{opacity:.5}.status-btn{all:unset;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;border-radius:50%;transition:transform .15s ease}.status-btn:hover{transform:scale(1.2)}.status-btn:active{transform:scale(.95)}.status-btn:disabled{opacity:.5;pointer-events:none}.status-icon{font-size:18px;flex-shrink:0;line-height:1}.status-icon.backlog{color:#9ca3af;font-size:16px}.status-icon.todo{color:#9ca3af}.status-icon.in-progress{color:#f59e0b}.status-icon.review{color:#8b5cf6}.status-icon.done{color:#22c55e}.status-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(20px);background:var(--text, #1e293b);color:#fff;padding:10px 16px;border-radius:10px;font-size:13px;font-weight:500;box-shadow:0 4px 16px #0000002e;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;z-index:9999;max-width:520px;display:flex;align-items:center;gap:12px;white-space:nowrap}.status-toast.show{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.status-toast.hide{opacity:0;transform:translate(-50%) translateY(20px)}.status-toast-msg{overflow:hidden;text-overflow:ellipsis}.status-toast-actions{display:flex;gap:4px;flex-shrink:0}.status-toast-option{all:unset;cursor:pointer;font-size:11px;font-weight:600;color:#cbd5e1;padding:4px 8px;border-radius:5px;border:1px solid rgba(255,255,255,.15);transition:background .12s,color .12s}.status-toast-option:hover{background:#ffffff1f;color:#fff}.status-toast-option:disabled{opacity:.5;cursor:default}.task-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);padding:12px;cursor:pointer;transition:all .15s}.task-card:hover{border-color:var(--border);box-shadow:var(--shadow-sm)}.task-card.dragging{opacity:.4}.task-card.done{opacity:.55;background:var(--bg)}.task-card.done .task-card-title{text-decoration:line-through;color:var(--text-tertiary)}.task-card.done:hover{opacity:1;background:var(--surface)}.task-card.done:hover .task-card-title{text-decoration:none;color:var(--text)}.column-tasks.drag-over{background:var(--primary-light);border-radius:var(--radius);outline:2px dashed var(--primary);outline-offset:-2px}.task-card-header{display:flex;align-items:flex-start;gap:8px;margin-bottom:6px}.urgent-icon{font-size:14px;color:#ef4444;flex-shrink:0;line-height:1}.task-card-title{font-size:13px;font-weight:500;line-height:1.4;flex:1;word-break:break-word}.task-card-meta{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.task-card-tags{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.task-tag{font-size:11px;color:var(--text-tertiary);background:var(--bg);padding:1px 6px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.task-card-deadline{font-size:11px;color:var(--text-tertiary);white-space:nowrap}.task-card-deadline.overdue{color:var(--danger);font-weight:500}.my-tasks{padding:24px;max-width:700px;margin:0 auto}.my-tasks-section{margin-bottom:24px}.my-tasks-section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:8px;display:flex;align-items:center;gap:8px}.my-tasks-count{font-size:11px;font-weight:500;color:var(--text-tertiary)}.my-tasks-list{min-height:8px;border-radius:var(--radius);transition:all .15s}.my-tasks-list.drag-over{background:var(--primary-light);outline:2px dashed var(--primary);outline-offset:-2px;min-height:40px}.my-tasks-empty{display:flex;align-items:center;justify-content:center;padding:6px;border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-tertiary);font-size:14px}.my-task-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border-light);border-radius:var(--radius);background:var(--surface);margin-bottom:4px;cursor:pointer;transition:all .15s}.my-task-row:hover{border-color:var(--border);box-shadow:var(--shadow-sm)}.my-task-row.dragging{opacity:.4}.my-task-row.done{opacity:.55;background:var(--bg)}.my-task-row.done .my-task-title{text-decoration:line-through;color:var(--text-tertiary)}.my-task-row.done:hover{opacity:1;background:var(--surface)}.my-task-row.done:hover .my-task-title{text-decoration:none;color:var(--text)}.my-task-title{font-size:13px;font-weight:500;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-task-meta{display:flex;align-items:center;gap:8px;flex-shrink:0}.my-task-project{font-size:11px;color:var(--text-tertiary);flex-shrink:0}.my-task-deadline{font-size:11px;color:var(--text-tertiary)}.my-task-deadline.overdue{color:var(--danger);font-weight:500}.my-day{padding:24px;max-width:1200px;margin:0 auto;display:flex;gap:24px}.my-day-left{flex:2;min-width:0;overflow-y:auto}.my-day-right{flex:1;min-width:280px;max-width:400px;position:sticky;top:0;align-self:flex-start;height:calc(100vh - 100px);overflow:hidden;display:flex;flex-direction:column}.my-day-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px;gap:16px}.my-day-greeting-row{display:flex;align-items:center;gap:6px}.my-day-greeting{font-size:20px;font-weight:700;margin-bottom:4px}.myday-person-toggle{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;color:var(--text-secondary);transition:background .15s,color .15s;margin-bottom:2px}.myday-person-toggle:hover{background:var(--hover);color:var(--text)}.person-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.person-picker-sheet{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:320px;overflow:hidden}.person-picker-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px}.person-picker-sheet-title{font-size:15px;font-weight:700;color:var(--text)}.person-picker-sheet-list{padding:0 8px 8px}.person-picker-option{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;cursor:pointer;color:var(--text);transition:background .12s}.person-picker-option:hover{background:var(--hover)}.person-picker-option.active{background:var(--primary-light, #ede9fe)}.person-picker-option-info{flex:1;display:flex;align-items:baseline;gap:6px}.person-picker-option-name{font-size:14px;font-weight:500}.person-picker-option.active .person-picker-option-name{color:var(--primary);font-weight:600}.person-picker-option-you{font-size:11px;color:var(--text-tertiary);font-weight:400}.avatar-photo-xs{width:24px;height:24px;border-radius:50%;object-fit:cover}.avatar-xs{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:11px;font-weight:700;color:#fff}.my-day-date{font-size:13px;color:var(--text-secondary)}.my-day-stats{display:flex;gap:16px;align-items:center;flex-shrink:0}.my-day-stat{font-size:12px;color:var(--text-secondary);display:flex;align-items:center;gap:4px}.my-day-stat i{font-size:14px}.my-week-client-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;margin-bottom:16px}.my-week-client-tabs::-webkit-scrollbar{display:none}.client-tab{display:flex;align-items:center;gap:6px;padding:8px 12px;border:none;border-bottom:1.5px solid transparent;border-radius:0;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s;flex-shrink:0}.client-tab:hover{color:var(--text)}.client-tab.active{background:linear-gradient(to bottom,var(--bg),var(--primary-light));color:var(--primary);border-bottom-color:var(--primary)}.client-tab-logos{display:flex;align-items:center;padding-right:9px}.client-tab-logos .client-tab-logo{margin-right:-9px;border:1px solid #f5f5f7}.client-tab-logos .client-tab-logo:last-child{margin-right:0}.client-tab-logo{width:18px;height:18px;border-radius:4px;object-fit:cover;flex-shrink:0}.client-tab-logo-placeholder{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;background:var(--border);color:var(--text-secondary);font-size:10px;font-weight:600;flex-shrink:0}.client-tab.active .client-tab-logo-placeholder{background:#4f46e526;color:var(--primary)}.client-tab-count{display:flex;align-items:center;justify-content:center;min-width:15px;padding:2px 4px;border-radius:4px;font-size:10px;font-weight:600;background:#86868b33;color:var(--text-secondary)}.client-tab.active .client-tab-count{background:#4f46e533;color:var(--primary)}.my-day-section{margin-bottom:20px}.my-day-section-header{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:8px;display:flex;align-items:center;gap:8px}.my-day-section-header i{font-size:14px}.my-day-count{font-size:11px;font-weight:500;color:var(--text-tertiary)}.my-day-focus-list,.my-day-upnext-list,.my-day-tomorrow-list,.my-day-weekday-list{min-height:8px;border-radius:var(--radius);transition:all .15s}.my-day-focus-list.drag-over,.my-day-upnext-list.drag-over,.my-day-tomorrow-list.drag-over,.my-day-weekday-list.drag-over{background:var(--primary-light);outline:2px dashed var(--primary);outline-offset:-2px;min-height:48px}.my-day-section.day-today .my-day-section-header{color:#f59e0b}.my-week-holiday-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 8px;border-radius:10px;background:#fef3c7;color:#b45309;font-size:10px;font-weight:600;text-transform:none;letter-spacing:0}.my-day-empty{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-tertiary);font-size:13px}.my-day-empty-sm{padding:8px;font-size:12px;min-height:32px}.my-day-empty i.ph{font-size:14px}.my-day-card{display:flex;align-items:center;gap:4px;padding:10px 12px;border:1px solid var(--border-light);border-radius:var(--radius);background:var(--surface);margin-bottom:4px;cursor:pointer;transition:all .15s}.my-day-card:hover{border-color:var(--border);box-shadow:var(--shadow-sm)}.my-day-card.dragging{opacity:.4}.my-day-card.focus{border-left:3px solid #f59e0b}.my-day-card.tomorrow{opacity:.85}.my-day-card.tomorrow:hover{opacity:1}.my-day-card.completed{opacity:.6;background:var(--bg)}.my-day-card.completed .my-day-card-title{text-decoration:line-through;color:var(--text-tertiary)}.my-day-card.completed:hover{opacity:1;background:var(--surface)}.my-day-card.completed:hover .my-day-card-title{text-decoration:none;color:var(--text)}.my-day-card-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.my-day-card-title{font-size:13px;font-weight:500;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-day-scheduled-badge{display:inline-flex;align-items:center;color:#f59e0b;font-size:13px;flex-shrink:0}.my-day-card.scheduled{border-left:3px solid #f59e0b}.my-day-card-meta{display:flex;align-items:center;gap:8px;flex-shrink:0}.my-day-project{font-size:11px;color:var(--text-tertiary);flex-shrink:0}.my-day-deadline{font-size:11px;color:var(--text-tertiary)}.my-day-deadline.overdue{color:var(--danger);font-weight:500}.my-day-deadline.due-today{color:#f59e0b;font-weight:500}.my-day-deadline.due-soon{color:#f59e0b}.my-day-time-ago{font-size:11px;color:var(--text-tertiary)}.my-day-card-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;opacity:0;transition:opacity .15s}.my-day-card:hover .my-day-card-actions{opacity:1}.my-day-action-btn{background:none;border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-size:13px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;gap:4px;transition:all .15s}.my-day-action-btn:hover{background:var(--bg);color:var(--text);border-color:var(--text-tertiary)}.my-day-action-btn.add-focus{color:#f59e0b;border-color:transparent}.my-day-action-btn.add-focus:hover{background:#fef3c7;border-color:#f59e0b}.my-day-standup-section{margin-top:32px;padding-top:24px;border-top:1px solid var(--border-light)}.my-day-standup{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:16px}.my-day-standup-field{margin-bottom:12px}.my-day-standup-field label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:4px}.my-day-standup-textarea{width:100%;font-family:var(--font);font-size:13px;border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;resize:vertical;background:var(--bg);color:var(--text);transition:border-color .15s}.my-day-standup-textarea:focus{outline:none;border-color:var(--primary);background:var(--surface)}.my-day-standup-submit{margin-top:4px}.my-day-standup-submit.posted{background:#22c55e;border-color:#22c55e}.standup-view{padding:24px;max-width:800px;margin:0 auto}.standup-header{margin-bottom:28px}.standup-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.standup-header h2{font-size:18px;font-weight:700;margin-bottom:4px}.standup-header p{color:var(--text-secondary);font-size:13px}.standup-progress{text-align:right;flex-shrink:0}.standup-progress-label{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:4px;display:block}.standup-progress-bar{width:140px;height:6px;background:var(--bg);border-radius:3px;overflow:hidden}.standup-progress-fill{height:100%;background:var(--primary);border-radius:3px;transition:width .3s ease}.standup-agenda-section{margin-bottom:28px}.standup-agenda-section:last-child{margin-bottom:0}.standup-agenda-header{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--text);margin-bottom:4px}.standup-agenda-count{font-size:11px;font-weight:600;color:var(--text-tertiary);background:var(--bg);border-radius:10px;padding:1px 7px;margin-left:2px}.standup-agenda-desc{font-size:12px;color:var(--text-tertiary);margin-bottom:10px;padding-left:27px}.standup-empty-section{font-size:13px;color:var(--text-tertiary);padding:12px 0 4px 27px}.standup-items{display:flex;flex-direction:column;gap:6px}.scrum-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;transition:all .15s}.scrum-card:hover{border-color:var(--text-tertiary);box-shadow:var(--shadow-sm)}.scrum-card.discussed{opacity:.55;border-left:3px solid #22c55e}.scrum-card.discussed:hover{opacity:.85}.scrum-card.attention{border-left:3px solid #ef4444}.scrum-card.attention.discussed{border-left-color:#22c55e}.scrum-card-main{cursor:pointer}.scrum-card-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.scrum-card-title{font-size:13px;font-weight:500;color:var(--text);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scrum-card-meta{display:flex;align-items:center;gap:5px;flex-shrink:0}.scrum-card-time{font-size:11px;color:var(--text-tertiary);margin-top:4px;display:block}.scrum-deadline{font-size:11px;font-weight:500;color:var(--text-tertiary)}.scrum-deadline.overdue{color:#ef4444;font-weight:600}.scrum-deadline.due-today{color:#f59e0b;font-weight:600}.scrum-deadline.due-soon{color:#f59e0b}.scrum-reasons{display:flex;gap:8px;margin-top:5px}.scrum-reason-tag{font-size:11px;font-weight:500;display:flex;align-items:center;gap:3px;text-transform:capitalize}.scrum-card-actions{display:flex;gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-light, #f0f0f0)}.scrum-action-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;border:none;background:none;cursor:pointer;font-family:var(--font);font-size:12px;color:var(--text-tertiary);border-radius:4px;transition:all .1s}.scrum-action-btn:hover{background:var(--bg);color:var(--text)}.scrum-action-btn.active{color:#22c55e;font-weight:600}.scrum-action-btn.active:hover{background:#22c55e14}.scrum-action-btn:disabled{opacity:.4;cursor:default}.scrum-member-group{margin-bottom:12px}.scrum-member-group:last-child{margin-bottom:0}.scrum-member-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.scrum-member-group .scrum-card{margin-left:16px}.scrum-note-row{display:flex;align-items:center;gap:6px;margin-top:8px;padding-top:6px;border-top:1px solid var(--border-light, #f0f0f0)}.scrum-note-input{flex:1;padding:5px 8px;border:1px solid var(--border);border-radius:4px;font-family:var(--font);font-size:12px;color:var(--text);outline:none}.scrum-note-input:focus{border-color:var(--primary)}.scrum-note-save{border:none;background:var(--primary);color:#fff;width:28px;height:28px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:opacity .1s}.scrum-note-save:hover{opacity:.85}.scrum-note-save:disabled{opacity:.4}.avatar-photo-xs{width:20px;height:20px;border-radius:50%;object-fit:cover}.avatar-xs{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#fff}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:520px;max-height:85vh;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.modal-title{font-size:16px;font-weight:700}.modal-close{border:none;background:none;font-size:22px;color:var(--text-tertiary);cursor:pointer;padding:4px;line-height:1}.modal-close:hover{color:var(--text)}.modal-body{padding:20px 24px;overflow-y:auto;flex:1}.modal-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid var(--border-light)}.modal-footer-right{display:flex;gap:8px;margin-left:auto}.form-row{margin-bottom:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.form-input,.form-select,.form-textarea{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:6px;font-family:var(--font);font-size:16px;color:var(--text);background:var(--surface);transition:border-color .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.form-textarea{resize:vertical}.notes-list{margin-top:4px}.note-item{padding:8px 10px;background:var(--bg);border-radius:6px;margin-bottom:6px;font-size:12px;line-height:1.5}.note-meta{font-size:11px;color:var(--text-tertiary);margin-bottom:2px}.avatar-stack{display:flex;flex-direction:row-reverse}.avatar-stack>*{margin-left:-6px;border:2px solid var(--surface)}.avatar-stack>:last-child{margin-left:0}.status-pills{display:flex;gap:6px}.status-pill{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-family:var(--font);font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap}.status-pill i{font-size:16px}.status-pill:hover{border-color:var(--text-tertiary);color:var(--text)}.status-pill.active{border-color:transparent;color:var(--text)}.status-pill.active[data-status=backlog],.status-pill.active[data-status=todo]{background:#f3f4f6;color:#6b7280}.status-pill.active[data-status=in_progress]{background:#fef3c7;color:#b45309}.status-pill.active[data-status=review]{background:#ede9fe;color:#7c3aed}.status-pill.active[data-status=done]{background:#dcfce7;color:#16a34a}.assignee-inline-row{display:flex;gap:8px;flex-wrap:wrap}.assignee-inline-item{display:inline-flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:5px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface);transition:all .15s}.assignee-inline-item:hover{border-color:var(--text-tertiary)}.assignee-inline-item.selected{border-color:var(--primary);background:var(--primary-light)}.assignee-inline-item input[type=checkbox]{accent-color:var(--primary);width:15px;height:15px;cursor:pointer}.assignee-inline-item span{font-size:13px;font-weight:500;color:var(--text)}.assignee-multi-select{border:1px solid var(--border);border-radius:6px;background:var(--surface);padding:6px;transition:border-color .15s}.assignee-multi-select:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.assignee-chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px;min-height:24px;align-items:center}.assignee-placeholder{font-size:13px;color:var(--text-tertiary);padding:0 4px}.assignee-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--bg);border-radius:12px;font-size:12px;font-weight:500;color:var(--text)}.assignee-chip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.assignee-chip-remove{border:none;background:none;font-size:14px;line-height:1;cursor:pointer;color:var(--text-tertiary);padding:0 2px}.assignee-chip-remove:hover{color:var(--danger)}.assignee-dropdown{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--border-light);padding-top:6px}.assignee-option{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:4px;cursor:pointer;font-size:13px;transition:background .1s}.assignee-option:hover{background:var(--bg)}.assignee-option.selected{background:var(--primary-light)}.assignee-option input[type=checkbox]{accent-color:var(--primary)}.project-picker{position:relative}.project-picker-display{display:flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--border);border-radius:6px;cursor:pointer;background:var(--surface);transition:border-color .15s}.project-picker-display:hover{border-color:var(--text-tertiary)}.project-picker.open .project-picker-display{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.project-picker-text{flex:1;font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-picker-text.placeholder{color:var(--text-tertiary)}.project-picker-arrow{color:var(--text-tertiary);font-size:12px;flex-shrink:0}.project-picker-clear{border:none;background:none;color:var(--text-tertiary);cursor:pointer;font-size:16px;padding:0 2px;line-height:1;flex-shrink:0}.project-picker-clear:hover{color:var(--text)}.project-picker-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000001f;z-index:100;max-height:280px;display:flex;flex-direction:column}.project-picker-search{padding:8px 10px;border:none;border-bottom:1px solid var(--border);font-family:var(--font);font-size:14px;color:var(--text);background:transparent;outline:none;border-radius:8px 8px 0 0}.project-picker-list{overflow-y:auto;flex:1}.project-picker-group{padding:4px 0}.project-picker-group-label{display:flex;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.project-picker-group-label img{width:14px;height:14px;border-radius:3px;object-fit:cover}.project-picker-option{display:flex;align-items:center;gap:8px;padding:7px 10px 7px 20px;font-size:14px;color:var(--text);cursor:pointer;transition:background .1s}.project-picker-option:hover{background:var(--bg)}.project-picker-option.selected{background:var(--primary-light);font-weight:500}.project-picker-option .ph-check{color:var(--primary);margin-left:auto}.project-picker-create{border-top:1px solid var(--border);padding:6px}.project-picker-create-btn{display:flex;align-items:center;gap:6px;width:100%;padding:7px 10px;border:none;background:none;cursor:pointer;font-family:var(--font);font-size:13px;color:var(--primary);border-radius:4px;transition:background .1s}.project-picker-create-btn:hover{background:var(--primary-light)}.project-picker-no-results{padding:12px 10px;font-size:13px;color:var(--text-tertiary);text-align:center}.column-add-wrap{position:relative;margin-top:6px}.column-add-wrap .column-add-input{margin-top:0}.mention-dropdown{position:fixed;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000001f;z-index:300;max-height:240px;overflow-y:auto;padding:4px}.mention-option{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:13px;color:var(--text);transition:background .1s}.mention-option:hover,.mention-option.active{background:var(--primary-light)}.mention-option img.avatar-photo-xs,.mention-option .avatar-xs{flex-shrink:0}.mention-chips{display:flex;flex-wrap:wrap;gap:4px;padding:0}.mention-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:10px;font-size:11px;font-weight:500;line-height:1;white-space:nowrap}.mention-chip.person{background:var(--primary-light);color:var(--primary)}.mention-chip.project{background:#f0fdf4;color:#16a34a}.mention-chip img.avatar-photo-xs{width:16px;height:16px}.mention-chip .avatar-xs{width:16px;height:16px;font-size:8px}.mention-chip .client-logo-xs{width:14px;height:14px}.mention-chip-remove{border:none;background:none;font-size:12px;line-height:1;cursor:pointer;color:inherit;opacity:.6;padding:0 1px}.mention-chip-remove:hover{opacity:1}.empty-state{text-align:center;padding:48px 24px;color:var(--text-tertiary)}.empty-state-icon{font-size:32px;margin-bottom:8px}.empty-state-text{font-size:13px}.clients-view{padding:24px;max-width:1100px;margin:0 auto}.clients-header{margin-bottom:24px}.clients-header h2{font-size:18px;font-weight:700;margin-bottom:4px}.clients-header p{color:var(--text-secondary);font-size:13px}.clients-sections{display:grid;grid-template-columns:1fr 1fr;gap:24px}.clients-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.section-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-title{font-size:14px;font-weight:600}.inline-form{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding:12px;background:var(--bg);border-radius:var(--radius)}.inline-form .form-input,.inline-form .form-select{flex:1;min-width:120px}.inline-form-actions{display:flex;gap:4px}.logo-upload-row{display:flex;align-items:center;gap:8px;width:100%}.logo-upload-btn{display:inline-flex;align-items:center;gap:4px;font-size:13px;cursor:pointer;border:1px dashed var(--border);border-radius:var(--radius);padding:6px 12px}.logo-upload-btn:hover{border-color:var(--primary);color:var(--primary)}.client-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border-light);border-radius:var(--radius);margin-bottom:4px;transition:all .15s}.client-row:hover{border-color:var(--border);box-shadow:var(--shadow-sm)}.client-row-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.client-row-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-row-meta{font-size:11px;color:var(--text-tertiary)}.client-row-actions{display:flex;gap:2px;flex-shrink:0}.ctx-menu{position:fixed;z-index:9999;min-width:180px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:4px 0;font-size:13px;-webkit-user-select:none;user-select:none}.ctx-item{display:flex;align-items:center;gap:8px;padding:7px 12px;cursor:pointer;color:var(--text);position:relative;transition:background .1s;white-space:nowrap}.ctx-item:hover{background:var(--bg)}.ctx-item i{font-size:14px;width:16px;text-align:center;flex-shrink:0}.ctx-item.danger{color:var(--danger)}.ctx-item.danger:hover{background:#fef2f2}.ctx-item.active{font-weight:500}.ctx-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ctx-arrow{margin-left:auto;font-size:11px!important;color:var(--text-tertiary)}.ctx-check{margin-left:auto;font-size:13px!important;color:var(--primary)}.ctx-separator{height:1px;background:var(--border-light);margin:4px 0}.ctx-submenu{display:none;position:absolute;left:100%;top:-4px;min-width:160px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:4px 0}.ctx-submenu.open{display:block}.ctx-schedule-sub{padding:8px 10px;min-width:200px}.ctx-cal-header{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text);margin-bottom:8px}.ctx-cal-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:10px;font-weight:600;color:var(--text-tertiary);margin-bottom:4px}.ctx-cal-we{color:var(--text-tertiary)}.ctx-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}.ctx-cal-day{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:6px;background:transparent;color:var(--text);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background .1s}.ctx-cal-day:hover{background:var(--primary-light);color:var(--primary)}.ctx-cal-day.today{background:var(--primary);color:#fff}.ctx-cal-day.today:hover{background:var(--primary-hover);color:#fff}.ctx-cal-day.past{color:var(--text-tertiary)}.ctx-cal-day.weekend{color:var(--text)}.ctx-multi-header{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:600;color:var(--primary);letter-spacing:.02em}.marquee-rect{position:fixed;border:1.5px solid var(--primary);background:#6366f114;border-radius:3px;pointer-events:none;z-index:9999}.my-day-card.selected{box-shadow:inset 0 0 0 2px var(--primary);background:#6366f10f}.myday-add-spacer{height:72px}.myday-add-bar{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;padding:12px 24px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(transparent,var(--bg) 30%);pointer-events:none;z-index:50}.myday-add-wrap{position:relative;width:100%;max-width:560px;pointer-events:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:4px;display:flex;flex-wrap:wrap;align-items:center;gap:4px}.myday-add-wrap .mention-chips{padding:4px 4px 0}.myday-add-input{flex:1;min-width:120px;padding:10px 12px;border:none;background:transparent;font-family:var(--font);font-size:14px;color:var(--text);outline:none}.myday-add-input::placeholder{color:var(--text-tertiary)}.tg-wrap{display:flex;flex-direction:column;gap:0;flex:1;min-height:0;overflow:hidden}.tg-connect{display:flex;align-items:center;gap:10px;padding:10px 16px;color:var(--text-secondary);font-size:13px}.tg-connect-btn{margin-left:auto;font-weight:500;color:var(--primary)}.tg-allday{display:flex;flex-wrap:wrap;gap:6px;padding:8px 16px}.tg-allday-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:500;background:#6366f11a;color:#6366f1;text-decoration:none;transition:background .15s}.tg-allday-chip:hover{background:#6366f12e}.tg-allday-chip i{font-size:13px}.tg-unscheduled{display:flex;flex-direction:column;gap:4px;padding:4px 0 8px}.tg-unscheduled-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);padding:4px 0 2px}.tg-day-nav{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 0 12px}.tg-day-nav-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-light);border-radius:6px;background:var(--surface);color:var(--text-secondary);cursor:pointer;font-size:14px;transition:all .15s}.tg-day-nav-btn:hover{background:var(--surface-hover);color:var(--text);border-color:var(--border)}.tg-day-nav-label{font-size:13px;font-weight:600;color:var(--text);background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .15s;min-width:100px;text-align:center}.tg-day-nav-label:hover{background:var(--surface-hover)}.tg-scroll{flex:1;min-height:0;overflow:hidden}.tg{position:relative;min-width:0}.tg-gutter{position:absolute;top:0;left:0;bottom:0;z-index:1;background:var(--bg)}.tg-label{position:absolute;left:0;width:52px;padding-right:8px;text-align:right;font-size:11px;font-weight:500;color:var(--text-tertiary);transform:translateY(-7px);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.tg-body{position:absolute;top:0;right:0;bottom:0}.tg-line{position:absolute;left:0;right:0;height:0;border-top:1px solid var(--border)}.tg-line.half{border-top-style:dashed;opacity:.5}.tg-now{position:absolute;left:-6px;right:0;z-index:5;pointer-events:none}.tg-now-dot{position:absolute;left:0;top:-4px;width:8px;height:8px;border-radius:50%;background:#ef4444}.tg-now-line{position:absolute;left:8px;right:0;top:0;height:0;border-top:2px solid #ef4444}.time-block{position:absolute;border-radius:var(--radius);overflow:hidden;display:flex;align-items:center;gap:4px;z-index:2;transition:box-shadow .15s;box-sizing:border-box;min-height:14px}.time-block:hover{z-index:3}.task-block{background:var(--surface);border:1px solid var(--border-light);border-left:3px solid #f59e0b;padding:4px 8px;cursor:pointer;flex-direction:column;justify-content:center}.task-block.compact{padding:0 8px;flex-direction:row;align-items:center}.task-block:hover{border-color:var(--border);box-shadow:var(--shadow-sm)}.task-block.dragging{opacity:.85;box-shadow:0 4px 12px #00000026;z-index:10;cursor:grabbing}.task-block.done{background:#22c55e0f;border-left-color:#22c55e;opacity:.65}.task-block.done .tb-title{text-decoration:line-through;color:var(--text-tertiary)}.task-block.done:hover{opacity:.85}.cal-block{background:#6366f11a;border-left:3px solid #6366f1;padding:4px 8px;text-decoration:none;color:var(--text);cursor:pointer;align-items:flex-start}.cal-block:hover{background:#6366f12e;box-shadow:0 1px 4px #00000014}.task-block .tb-main{flex:1;min-width:0;display:flex;align-items:center;gap:8px;overflow:hidden;height:100%}.tb-main-card{flex-direction:column!important;align-items:flex-start!important;gap:2px!important;height:auto!important}.tb-card-header{display:flex;align-items:center;gap:6px;width:100%;min-width:0}.tb-card-meta{display:flex;align-items:center;gap:6px;width:100%;min-width:0;padding-left:22px}.tb-deadline{font-size:11px;color:var(--text-tertiary);white-space:nowrap}.tb-deadline.overdue{color:#ef4444;font-weight:600}.cal-block .tb-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;overflow:hidden}.cal-block.compact .tb-main{flex-direction:row;align-items:center;gap:6px}.tb-title{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.cal-block .tb-title{font-size:12px;font-weight:600;line-height:1.2}.tb-project{font-size:11px;color:var(--text-tertiary);flex-shrink:0;white-space:nowrap}.tb-duration{font-size:11px;color:var(--text-tertiary);font-variant-numeric:tabular-nums;flex-shrink:0;white-space:nowrap}.tb-time{font-size:10px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.task-block .status-icon{font-size:16px;flex-shrink:0}.task-block .urgent-icon{font-size:13px;flex-shrink:0}.task-block .client-logo-xs{flex-shrink:0}.tb-actions{flex-shrink:0;display:flex;align-items:center;opacity:0;transition:opacity .15s}.time-block:hover .tb-actions{opacity:1}.tb-resize{position:absolute;left:0;right:0;bottom:0;height:6px;cursor:ns-resize;opacity:0;transition:opacity .15s}.time-block:hover .tb-resize{opacity:1;background:linear-gradient(transparent,#f59e0b40)}.tb-meet{display:none;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius);color:var(--text-tertiary);font-size:13px;flex-shrink:0;transition:background .15s,color .15s;text-decoration:none}.cal-block:not(.compact):hover .tb-meet{display:flex}.tb-meet:hover{background:#6366f126;color:#6366f1}.tg-slots{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.tg-slot{position:absolute;left:0;right:0}.tg-slot.drop-hover{background:var(--surface-hover, rgba(0, 0, 0, .06));border-radius:4px;z-index:0}.tg-slot.slot-hover{background:#6366f114;border-radius:4px;z-index:0}.tg-hover-label{position:absolute;right:8px;font-size:10px;font-weight:600;color:#6366f1;pointer-events:none;z-index:4;transform:translateY(2px);font-variant-numeric:tabular-nums}.tg-picker{position:absolute;left:8px;right:8px;z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000026;overflow:hidden}.tg-picker-header{padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);border-bottom:1px solid var(--border)}.tg-picker-new{display:flex;align-items:center;gap:8px;padding:8px 12px}.tg-picker-new-input{flex:1;border:none;background:none;font-family:var(--font);font-size:13px;color:var(--text);outline:none;padding:0}.tg-picker-new-input::placeholder{color:var(--text-tertiary)}.tg-picker-divider{height:1px;background:var(--border);margin:0}.tg-picker-list{max-height:200px;overflow-y:auto}.tg-picker-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:none;text-align:left;font-family:var(--font);font-size:13px;color:var(--text);cursor:pointer;transition:background .1s}.tg-picker-item:hover{background:var(--surface-hover)}.tg-picker-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.tg-picker-meta{font-size:11px;color:var(--text-tertiary);white-space:nowrap}@media(max-width:900px){.filter-group{display:none}.header-left{gap:12px}.btn-label{display:none}.people-sections{grid-template-columns:1fr}.project-detail-panel,.people-detail-panel{min-width:280px;max-width:400px}}@media(max-width:640px){.header-top{height:48px;padding:0 12px}.header-left{gap:0;flex:1;min-width:0}.header-nav{display:none}#main-content{margin-top:0;height:calc(100vh - 108px);padding-bottom:60px}.header-right{gap:8px}.btn-primary{padding:6px 10px;font-size:12px}.btn-ghost{padding:4px 6px;font-size:12px}.user-menu{gap:4px;margin-left:0}.mobile-bottom-nav{display:flex}.my-day{flex-direction:column;padding:16px;gap:16px}.my-day-left{flex:none;overflow-y:visible}.my-day-right{flex:none;min-width:0;max-width:100%;position:static;max-height:none;overflow-y:visible}.my-day-header{flex-direction:column;gap:8px}.my-day-header h1{font-size:20px}.my-day-stats{flex-wrap:wrap;gap:8px}.my-week-client-tabs{gap:4px;margin-bottom:12px}.client-tab{padding:6px 10px;font-size:11px}.time-grid-container{border-radius:8px}.board{padding:12px;gap:12px;scroll-snap-type:x mandatory;justify-content:center}.column{min-width:calc(100vw - 36px);width:calc(100vw - 36px);scroll-snap-align:center}.my-tasks{padding:16px;max-width:100%}.my-task-row{padding:10px;gap:8px}.my-task-title{font-size:14px}.standup-view{padding:16px;max-width:100%}.standup-header-top{flex-direction:column;gap:10px}.standup-progress{text-align:left}.scrum-card-top{flex-direction:column;align-items:flex-start;gap:4px}.scrum-card-meta{flex-wrap:wrap}.scrum-member-group .scrum-card{margin-left:0}.scrum-card-actions{flex-wrap:wrap}.attendance-view{padding:16px}.attendance-balances{grid-template-columns:1fr}.balance-card-header{flex-wrap:wrap;gap:8px}.attendance-grid{overflow-x:auto;-webkit-overflow-scrolling:touch}.att-grid-name{position:sticky;left:0;z-index:2;background:#f9fafb}.att-grid-name-header{position:sticky;left:0;z-index:3;background:#f9fafb}.att-grid-cell{min-width:32px}.attendance-policy{padding:16px}.clients-view{padding:16px;max-width:100%}.clients-sections{grid-template-columns:1fr}.clients-section{padding:14px}.inline-form{flex-direction:column;gap:8px}.inline-form .form-input,.inline-form .form-select{min-width:100%}.clients-layout{flex-direction:column}.clients-list-panel.detail-open{display:none}.project-detail-panel{max-width:100%;min-width:0;max-height:none}.people-view{padding:16px}.people-layout{flex-direction:column}.people-list-panel.detail-open{display:none}.people-detail-panel{max-width:100%;min-width:0;max-height:none}.people-sections{grid-template-columns:1fr}.people-section{padding:14px}.modal-overlay{align-items:flex-end}.modal{max-width:100%;max-height:95vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-header{padding:16px 16px 0}.modal-body{padding:16px}.modal-footer{padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.form-grid{grid-template-columns:1fr;gap:0}.status-pills{flex-wrap:wrap;gap:4px}.status-pill{padding:6px 10px;font-size:12px}.status-pill i{font-size:14px}.assignee-inline-row{gap:6px}.assignee-inline-item{padding:4px 8px}input[type=text],input[type=date],input[type=month],input[type=search],input[type=email],input[type=number],textarea,select,.header-filter-search,.project-picker-search{font-size:16px!important}.login-card{margin:16px;padding:32px 24px}}.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:60px;background:#fff;border-top:1px solid #e5e7eb;z-index:100;justify-content:space-around;align-items:center;padding-bottom:env(safe-area-inset-bottom,0px)}.mobile-nav-btn{display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;color:#9ca3af;font-size:10px;font-weight:500;padding:6px 12px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .15s}.mobile-nav-btn i{font-size:22px}.mobile-nav-btn.active,.mobile-nav-btn:active{color:#4f46e5}.mobile-more-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.mobile-more-sheet.hidden{display:none}.mobile-more-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000004d}.mobile-more-content{position:absolute;bottom:0;left:0;right:0;background:#fff;border-radius:16px 16px 0 0;padding:8px 0;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));animation:slideUp .2s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-more-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;font-weight:600;font-size:15px;color:#374151;border-bottom:1px solid #f3f4f6}.mobile-more-item{display:flex;align-items:center;gap:12px;width:100%;padding:14px 20px;background:none;border:none;font-size:15px;color:#374151;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent}.mobile-more-item:active{background:#f3f4f6}.mobile-more-item i{font-size:20px;color:#6b7280;width:24px;text-align:center}.mobile-more-item.active,.mobile-more-item.active i{color:#4f46e5}.clients-layout{display:flex;gap:24px;min-height:0}.clients-list-panel{flex:1;min-width:0}.project-detail-panel{flex:1;max-width:520px;min-width:340px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:0;overflow-y:auto;max-height:calc(100vh - 140px)}.project-clickable{cursor:pointer}.client-row.active{border-color:var(--primary);background:var(--primary-light)}.people-view{padding:24px;max-width:1100px;margin:0 auto}.people-header{margin-bottom:24px}.people-header h2{font-size:18px;font-weight:700;margin-bottom:4px}.people-header p{color:var(--text-secondary);font-size:13px}.people-layout{display:flex;gap:24px;min-height:0}.people-list-panel{flex:1;min-width:0}.people-detail-panel{flex:1;max-width:520px;min-width:340px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:0;overflow-y:auto;max-height:calc(100vh - 140px)}.people-sections{display:grid;grid-template-columns:1fr 1fr;gap:24px}.people-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.person-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border-light);border-radius:var(--radius);margin-bottom:4px;cursor:pointer;transition:all .15s}.person-row:hover{border-color:var(--border);box-shadow:var(--shadow-sm)}.person-row.active{border-color:var(--primary);background:var(--primary-light)}.person-row-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.person-row-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-row-meta{font-size:11px;color:var(--text-tertiary)}.avatar-lg{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px;color:#fff;flex-shrink:0}.avatar-photo-lg{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0}.person-detail{padding:20px}.person-detail-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}.person-back-btn{margin-top:4px;flex-shrink:0}.person-detail-identity{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.person-detail-name{font-size:16px;font-weight:700;margin-bottom:2px}.person-detail-role{font-size:13px;color:var(--text-secondary)}.person-detail-email{font-size:12px;color:var(--text-tertiary);margin-top:2px}.person-detail-actions{display:flex;gap:4px;flex-shrink:0}.tag-list{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.tag{display:inline-block;padding:2px 8px;background:var(--bg);border:1px solid var(--border);border-radius:99px;font-size:11px;color:var(--text-secondary);white-space:nowrap}.tab-bar{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:16px}.tab{padding:8px 16px;background:none;border:none;border-bottom:2px solid transparent;font-family:var(--font);font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s}.tab:hover{color:var(--text)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-content{min-height:200px}.page-display{position:relative}.page-content{font-size:14px;line-height:1.65;color:var(--text)}.page-content h1{font-size:20px;font-weight:700;margin:20px 0 10px}.page-content h1:first-child{margin-top:0}.page-content h2{font-size:16px;font-weight:600;margin:18px 0 8px}.page-content h2:first-child{margin-top:0}.page-content h3{font-size:14px;font-weight:600;margin:16px 0 6px}.page-content h3:first-child{margin-top:0}.page-content p{margin-bottom:8px}.page-content ul,.page-content ol{margin-left:20px;margin-bottom:10px}.page-content li{margin-bottom:4px}.page-content code{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-family:SF Mono,Menlo,Monaco,monospace;font-size:12px}.page-content strong{font-weight:600}.page-content em{font-style:italic}.page-content a{color:var(--primary);text-decoration:none}.page-content a:hover{text-decoration:underline}.page-content hr{border:none;border-top:1px solid var(--border);margin:16px 0}.page-content br{display:block;content:"";margin:4px 0}.page-edit-btn{margin-top:12px}.page-meta{font-size:11px;color:var(--text-tertiary);margin-bottom:12px}.page-editor{display:flex;flex-direction:column;gap:8px}.page-editor-textarea{width:100%;min-height:200px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);font-family:SF Mono,Menlo,Monaco,monospace;font-size:13px;line-height:1.5;resize:vertical;color:var(--text);background:var(--surface)}.page-editor-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.page-editor-actions{display:flex;gap:8px}.page-empty{text-align:center;padding:40px 24px;color:var(--text-tertiary)}.page-empty p{margin-bottom:12px;font-size:13px}.activity-timeline{display:flex;flex-direction:column;gap:16px}.activity-section-title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.activity-task{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:var(--radius);transition:background .1s}.activity-task:hover{background:var(--bg)}.activity-task.is-done{opacity:.5}.activity-task-icon{font-size:16px;margin-top:2px;flex-shrink:0}.activity-task-icon.status-backlog{color:var(--text-tertiary)}.activity-task-icon.status-todo{color:var(--text-secondary)}.activity-task-icon.status-in_progress{color:#f59e0b}.activity-task-icon.status-review{color:#3b82f6}.activity-task-icon.status-done{color:#22c55e}.activity-task-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.activity-task-title{font-size:13px;font-weight:500;color:var(--text);line-height:1.3}.activity-task-meta{font-size:11px;color:var(--text-tertiary)}.activity-more{font-size:12px;color:var(--text-tertiary);text-align:center;padding:8px}.priority-badge{display:inline-block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:2px 6px;border-radius:4px;white-space:nowrap;flex-shrink:0}.priority-urgent{background:#fef2f2;color:#ef4444}.priority-high{background:#fff7ed;color:#f97316}.person-edit-meta{display:flex;flex-direction:column;gap:12px}.person-edit-meta .form-row{margin-bottom:0}.rate-row{display:flex;gap:8px;align-items:flex-end}.rate-field{display:flex;flex-direction:column;gap:2px}.rate-currency-field{width:80px;flex-shrink:0}.form-label-sm{font-size:11px;color:var(--text-secondary);font-weight:500}.project-settings{padding:4px 0}.settings-section{margin-bottom:24px}.settings-section-title{font-size:13px;font-weight:600;margin-bottom:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.settings-row{display:flex;gap:8px;align-items:flex-end}.settings-hint{font-size:11px;color:var(--text-tertiary);margin-top:4px}.timesheets-view{max-width:900px;margin:0 auto;padding:24px 16px}.timesheets-header{margin-bottom:24px}.timesheets-header h2{font-size:20px;font-weight:600}.timesheets-header p{color:var(--text-secondary);font-size:13px;margin-top:4px}.timesheets-controls{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:24px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.timesheets-control-group{display:flex;flex-direction:column;gap:4px}.timesheets-control-group .form-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);font-weight:600}.timesheets-control-group .form-select,.timesheets-control-group .form-input{min-width:160px}.ts-generate-group{margin-left:auto}.ts-print-btn{display:flex;align-items:center;gap:6px;padding:8px 16px}.ts-loading{text-align:center;padding:32px 16px;color:var(--text-secondary)}.ts-empty{text-align:center;padding:48px 16px;color:var(--text-secondary)}.ts-empty p{margin-top:8px}.ts-empty-hint{font-size:12px;color:var(--text-tertiary)}.ts-sheet{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.ts-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);gap:12px;flex-wrap:wrap}.ts-sheet-title{display:flex;align-items:center;gap:12px}.ts-sheet-title h3{font-size:16px;font-weight:600}.ts-sheet-period{color:var(--text-secondary);font-size:13px}.ts-sheet-summary{display:flex;align-items:center;gap:16px}.ts-summary-item{font-size:13px;color:var(--text-secondary)}.ts-summary-total{font-size:16px;font-weight:700;color:var(--text)}.ts-table{width:100%;border-collapse:collapse;font-size:13px}.ts-table thead{background:var(--bg)}.ts-table th{padding:8px 12px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-bottom:1px solid var(--border)}.ts-table td{padding:10px 12px;border-bottom:1px solid var(--border-light);vertical-align:top}.ts-table tbody tr:hover{background:var(--bg)}.ts-col-num{width:40px;color:var(--text-tertiary);text-align:center!important}.ts-col-task{min-width:180px}.ts-col-date{width:90px;white-space:nowrap}.ts-col-person{width:130px;white-space:nowrap}.ts-col-time{width:140px;white-space:nowrap}.ts-col-amount{width:100px;text-align:right!important}.ts-task-title{font-weight:500}.ts-task-project{font-size:11px;color:var(--text-secondary);margin-top:2px}.ts-duration{font-weight:500}.ts-entry-row td{border-bottom:none}.ts-entry-row.ts-entry-last td{border-bottom:1px solid var(--border-light)}.ts-block-duration{color:var(--text-tertiary);font-size:11px}.ts-person{display:inline-flex;align-items:center;gap:6px}.ts-total-row td{border-top:2px solid var(--border);padding-top:12px;font-weight:600}.ts-total-label{text-align:right!important;padding-right:16px!important}@media(max-width:640px){.timesheets-controls{flex-direction:column;align-items:stretch}.ts-generate-group{margin-left:0}.timesheets-control-group .form-select,.timesheets-control-group .form-input{min-width:auto;width:100%}.ts-col-time,.ts-col-date,.ts-col-person{width:auto}}@media print{#login-screen,#task-modal,#app-header,.timesheets-header,.timesheets-controls{display:none!important}.timesheets-view{padding:0;max-width:none}.ts-sheet{border:none;box-shadow:none}}@media(max-width:380px){.header-logo{font-size:16px}.avatar-sm,.avatar-photo-sm{width:24px;height:24px}}.references-view{display:flex;flex-direction:column;height:100%}.references-header{padding:20px 24px 16px;border-bottom:1px solid var(--border)}.references-header h2{margin:0 0 4px;font-size:18px;font-weight:600}.references-header p{margin:0;font-size:13px;color:var(--text-secondary)}.references-toolbar{padding:12px 24px;display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--border)}.references-search{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;font-family:var(--font);background:var(--surface);outline:none}.references-search:focus{border-color:var(--primary)}.references-filter{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px;font-family:var(--font);background:var(--surface);color:var(--text);cursor:pointer}.references-body{flex:1;overflow-y:auto;padding:20px 24px}.references-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.ref-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s;display:block}.ref-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.ref-card-image{width:100%;aspect-ratio:16 / 10;background-size:cover;background-position:center;background-color:var(--bg);position:relative}.ref-card-placeholder{width:100%;aspect-ratio:16 / 10;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);position:relative}.ref-card-domain{position:absolute;bottom:8px;left:8px;background:#0009;color:#fff;font-size:11px;padding:2px 8px;border-radius:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ref-card-body{padding:12px}.ref-card-title{font-size:13px;font-weight:600;margin:0 0 8px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ref-card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.ref-tag{font-size:10px;padding:2px 6px;border-radius:4px;background:var(--primary-light);color:var(--primary);font-weight:500}.ref-card-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--text-secondary)}.moodboard-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:16px;cursor:pointer;transition:box-shadow .15s}.moodboard-card:hover{box-shadow:var(--shadow)}.moodboard-card-name{font-size:14px;font-weight:600;margin:0 0 4px}.moodboard-card-desc{font-size:12px;color:var(--text-secondary);margin:0 0 12px}.moodboard-card-count{font-size:11px;color:var(--text-tertiary)}.moodboard-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:12px;border-radius:var(--radius);overflow:hidden}.moodboard-thumb{aspect-ratio:16 / 10;background-size:cover;background-position:center;background-color:var(--bg)}.references-empty-subtext{font-size:12px;color:var(--text-tertiary);margin-top:4px}.ref-card-author{font-weight:500}.ref-card-date{color:var(--text-tertiary)}@media(max-width:768px){.references-toolbar{flex-wrap:wrap}.references-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.header-logo-client{font-weight:400;font-size:13px;color:var(--text-secondary);margin-left:4px}.client-board-view .client-board-header{display:flex;align-items:center;padding:20px 20px 0}.segmented-control{display:inline-flex;background:var(--bg-secondary);border-radius:8px;padding:3px;gap:2px}.segmented-control .segment{padding:6px 14px;border:none;background:transparent;border-radius:6px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;white-space:nowrap}.segmented-control .segment:hover{color:var(--text-primary)}.segmented-control .segment.active{background:#fff;color:var(--text-primary);box-shadow:0 1px 3px #00000014}.ts-status{font-size:11px;text-transform:capitalize;padding:2px 8px;border-radius:10px;background:var(--bg-secondary);white-space:nowrap}.ts-status-done{background:#22c55e1a;color:#16a34a}.ts-status-in_progress{background:#f59e0b1a;color:#d97706}.ts-status-review{background:#8b5cf61a;color:#7c3aed}.ts-status-todo{background:#3b82f61a;color:#2563eb}.ts-status-backlog{background:#6b72801a;color:#6b7280}.attendance-view{max-width:1200px;margin:0 auto;padding:24px 20px}.attendance-header{margin-bottom:24px}.attendance-header h2{font-size:20px;font-weight:600;color:var(--text-primary, #111)}.attendance-balances{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-bottom:32px}.balance-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.balance-card-header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.balance-card-info{flex:1;display:flex;flex-direction:column}.balance-card-name{font-weight:600;font-size:14px}.balance-card-joined{font-size:11px;color:#9ca3af}.balance-card-rows{display:flex;flex-direction:column;gap:10px}.balance-row{display:flex;align-items:center;gap:10px}.balance-label{font-size:12px;color:#6b7280;width:60px;flex-shrink:0}.balance-nums{display:flex;align-items:center;gap:4px;font-size:13px;color:#6b7280}.balance-num strong{color:#374151;font-weight:600}.balance-num-sep{color:#d1d5db;font-size:12px}.balance-num-ok strong{color:#16a34a}.balance-num-over strong{color:#dc2626}.balance-num-overtime{color:#16a34a;font-size:11px;font-weight:500}.balance-num-warn{background:#fef2f2;color:#dc2626;padding:1px 6px;border-radius:4px;font-size:11px;font-weight:500;margin-left:4px}.attendance-calendar-section{margin-bottom:32px}.attendance-calendar-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.attendance-month-label{font-size:16px;font-weight:600;min-width:160px;text-align:center}.attendance-grid{display:grid;gap:1px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.att-grid-cell{background:#fff;display:flex;align-items:center;justify-content:center;min-height:36px;font-size:12px}.att-grid-name-header{background:#f9fafb}.att-grid-day-header{background:#f9fafb;flex-direction:column;padding:4px 0;font-size:10px;color:#6b7280}.att-day-name{font-size:9px;text-transform:uppercase;color:#9ca3af}.att-day-num{font-weight:500;font-size:11px;color:#374151}.att-grid-name{justify-content:flex-start;padding:0 10px;gap:6px;font-size:12px;font-weight:500;background:#f9fafb;white-space:nowrap}.att-weekend{background:#f9fafb!important}.att-weekend.att-grid-day-header{opacity:.5}.att-holiday{background:#f5f3ff!important}.att-holiday .att-day-num{color:#8b5cf6}.att-holiday-marker{display:block;width:4px;height:4px;border-radius:50%;background:#8b5cf6;margin-top:1px}.att-holiday-cell{background:#f5f3ff!important}.attendance-holidays-section{margin-bottom:24px}.attendance-holidays-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.attendance-holidays-header h3{font-size:15px;font-weight:600;color:#374151}.att-holiday-form{display:flex;align-items:center;gap:8px;padding:10px 0}.att-holiday-form .form-input{flex:1;max-width:200px}.att-dot{width:8px;height:8px;border-radius:50%}.att-dot-green{background:#22c55e}.att-dot-yellow{background:#eab308}.att-dot-red{background:#ef4444}.attendance-leave-list h3{font-size:15px;font-weight:600;margin-bottom:12px;color:#374151}.attendance-empty{color:#9ca3af;font-size:13px}.leave-list-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:8px;background:#fff}.leave-list-left{display:flex;align-items:center;gap:8px;font-size:13px}.leave-list-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.leave-list-type{color:#6b7280}.leave-list-right{display:flex;align-items:center;gap:8px}.leave-list-date{font-size:12px;color:#9ca3af}.leave-badge-unpaid{font-size:10px;background:#fef3c7;color:#92400e;padding:2px 6px;border-radius:4px;font-weight:500}.leave-half-day-label{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.leave-summary{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:10px 14px;font-size:13px;color:#166534}.leave-summary-warn{color:#92400e}.modal-sm{max-width:480px}.attendance-policy{margin-top:32px;padding:24px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px}.attendance-policy h3{font-size:15px;font-weight:600;margin-bottom:8px;color:#374151}.policy-intro{font-size:13px;color:#6b7280;margin-bottom:16px}.policy-items{display:flex;flex-direction:column;gap:14px}.policy-item{display:flex;gap:12px;align-items:flex-start}.policy-item-number{width:24px;height:24px;border-radius:50%;background:#e5e7eb;color:#374151;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.policy-item-content{font-size:13px;color:#374151;line-height:1.5}.policy-item-content strong{display:block;margin-bottom:2px}.policy-item-content p{color:#6b7280;margin:0}.policy-note{margin-top:16px;padding-top:14px;border-top:1px solid #e5e7eb;font-size:12px;color:#9ca3af;line-height:1.5}.att-clickable{cursor:pointer;transition:background .15s}.att-clickable:hover{background:#f0f4ff!important}.att-popover{position:fixed;z-index:1000;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 24px #0000001f;min-width:200px;padding:8px 0;animation:att-popover-in .12s ease-out}@keyframes att-popover-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.att-popover-header{padding:6px 14px 8px;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #f3f4f6}.att-popover-status{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:13px}.att-popover-note{padding:4px 14px 8px;font-size:12px;color:#6b7280;font-style:italic}.att-popover-options{display:flex;flex-direction:column}.att-popover-option{display:flex;align-items:center;gap:8px;padding:8px 14px;border:none;background:none;cursor:pointer;font-size:13px;color:#374151;text-align:left;width:100%;transition:background .1s}.att-popover-option:hover{background:#f3f4f6}.att-popover-option i{font-size:15px;color:#6b7280;width:18px;text-align:center}.att-popover-option[data-status=clear]{color:#9ca3af;border-top:1px solid #f3f4f6;margin-top:2px;padding-top:10px}.att-popover-actions{display:flex;gap:6px;padding:6px 8px}.att-popover-action{flex:1;padding:6px 12px;border-radius:6px;font-size:12px;cursor:pointer;text-align:center;transition:background .15s}.att-popover-edit{border:1px solid #e5e7eb;background:#f9fafb;color:#374151}.att-popover-edit:hover{background:#f3f4f6}.att-popover-cancel{border:1px solid #fecaca;background:#fef2f2;color:#dc2626}.att-popover-cancel:hover{background:#fee2e2}.att-popover-action:disabled{opacity:.5;cursor:not-allowed}.timeline-view{display:flex;flex-direction:column;height:100%}.timeline-header{display:flex;align-items:center;gap:16px;padding:12px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.month-picker{display:flex;align-items:center;gap:4px}.month-picker-btn{background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;padding:4px 8px;font-size:14px;display:flex;align-items:center}.month-picker-btn:hover{background:var(--bg);color:var(--text)}.month-picker-label{background:none;border:none;font-size:14px;font-weight:600;color:var(--text);cursor:pointer;padding:4px 12px;border-radius:var(--radius)}.month-picker-label:hover{background:var(--bg)}.timeline-board{display:flex;gap:12px;padding:20px;height:100%;overflow-x:auto}.timeline-col-unscheduled{position:sticky;left:0;z-index:2;background:var(--bg);border-right:1px solid var(--border);padding-right:12px}.timeline-col-today{background:var(--primary-light);border-radius:var(--radius-lg);padding:0 6px}.timeline-col{min-width:200px;width:200px;display:flex;flex-direction:column;flex-shrink:0}.timeline-board .column-tasks{flex:1;min-height:120px}.week-nav{display:flex;align-items:center;gap:4px}.week-nav-btn{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;color:var(--text-secondary);font-size:12px}.week-nav-btn:hover{background:var(--border);color:var(--text)}.week-nav-label{cursor:pointer;border-radius:6px;padding:0 4px}.week-nav-label:hover{background:var(--border)}
