:root{--color-white: #ffffff;--color-gray-50: #f9fafb;--color-gray-100: #f5f5f7;--color-gray-150: #f0f0f2;--color-gray-200: #e8e8ed;--color-gray-250: #e5e5ea;--color-gray-400: #aeaeb2;--color-gray-500: #86868b;--color-gray-600: #6b7280;--color-gray-900: #1d1d1f;--color-zinc-100: #f4f4f5;--color-zinc-300: #d4d4d8;--color-zinc-400: #a1a1aa;--color-zinc-500: #71717a;--color-night-50: #2a2d36;--color-night-100: #252832;--color-night-200: #20232b;--color-night-300: #1f222a;--color-night-400: #1a1c22;--color-night-500: #17191f;--color-night-600: #12141a;--color-night-700: #101114;--color-night-border: #30333d;--color-night-input: #373b46;--color-indigo-50: #eef2ff;--color-indigo-500: #4f46e5;--color-indigo-600: #4338ca;--color-lavender-300: #a29bff;--color-lavender-400: #8b83ff;--color-red-50: #fef2f2;--color-red-500: #ef4444;--color-red-600: #dc2626;--color-rose-300: #fca5a5;--color-rose-400: #fb7185;--color-rose-500: #f43f5e;--color-green-50: #f0fdf4;--color-green-300: #86efac;--color-green-400: #4ade80;--color-green-600: #16a34a;--color-amber-50: #fef3c7;--color-amber-300: #fcd34d;--color-amber-400: #fbbf24;--color-amber-500: #f59e0b;--color-amber-600: #d97706;--color-amber-700: #b45309;--color-orange-200: #fed7aa;--color-orange-300: #fdba74;--color-blue-50: #eff6ff;--color-blue-300: #93c5fd;--color-blue-400: #60a5fa;--color-blue-600: #2563eb;--color-purple-300: #c4b5fd;--color-purple-600: #7c3aed;--color-slate-300: #cbd5e1;--color-garden-leaf: #4e9d3f;--color-garden-edge: rgba(120, 180, 120, .25);--color-garden-shadow: rgba(0, 0, 0, .25);--color-garden-hint: #5b7a52;--color-garden-hint-bg: rgba(255, 255, 255, .55);color-scheme:light;--bg: var(--color-gray-100);--bg-secondary: var(--color-gray-200);--surface: var(--color-white);--surface-hover: var(--color-gray-50);--surface-raised: var(--color-white);--border: var(--color-gray-250);--border-light: var(--color-gray-150);--input-bg: var(--color-white);--input-border: var(--color-gray-250);--text: var(--color-gray-900);--text-primary: var(--color-gray-900);--text-secondary: var(--color-gray-500);--text-tertiary: var(--color-gray-400);--text-inverse: var(--color-white);--primary: var(--color-indigo-500);--primary-hover: var(--color-indigo-600);--primary-light: var(--color-indigo-50);--primary-soft: rgba(79, 70, 229, .1);--danger: var(--color-red-500);--danger-hover: var(--color-red-600);--danger-light: var(--color-red-50);--danger-soft: rgba(220, 38, 38, .08);--success: var(--color-green-600);--success-light: var(--color-green-50);--success-soft: rgba(34, 197, 94, .1);--warning: var(--color-amber-500);--warning-light: var(--color-amber-50);--warning-soft: rgba(245, 158, 11, .1);--info: var(--color-blue-600);--info-light: var(--color-blue-50);--info-soft: rgba(59, 130, 246, .1);--overlay: rgba(0, 0, 0, .4);--status-backlog-bg: rgba(107, 114, 128, .1);--status-backlog-text: var(--color-gray-600);--status-todo-bg: rgba(59, 130, 246, .1);--status-todo-text: var(--color-blue-600);--status-progress-bg: rgba(245, 158, 11, .1);--status-progress-text: var(--color-amber-600);--status-review-bg: rgba(139, 92, 246, .1);--status-review-text: var(--color-purple-600);--status-done-bg: rgba(34, 197, 94, .1);--status-done-text: var(--color-green-600);--status-warning-bg: var(--color-amber-50);--status-warning-text: var(--color-amber-700);--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);--toast-bg: var(--color-gray-900);--toast-text: var(--color-white);--toast-text-muted: var(--color-slate-300);--toast-border: rgba(255, 255, 255, .15);--toast-hover-bg: rgba(255, 255, 255, .12);--toast-divider: rgba(255, 255, 255, .1);--toast-code-bg: rgba(255, 255, 255, .08);--toast-code-text: var(--color-orange-200);--toast-shadow: 0 4px 16px rgba(0, 0, 0, .18);--toast-ok: var(--color-green-300);--toast-failed: var(--color-rose-300);--radius: 8px;--radius-lg: 12px;--font: "Google Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--hover: var(--surface-hover)}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg: var(--color-night-700);--bg-secondary: var(--color-night-400);--surface: var(--color-night-500);--surface-hover: var(--color-night-200);--surface-raised: var(--color-night-300);--border: var(--color-night-border);--border-light: var(--color-night-100);--input-bg: var(--color-night-600);--input-border: var(--color-night-input);--text: var(--color-zinc-100);--text-primary: var(--color-zinc-100);--text-secondary: var(--color-zinc-400);--text-tertiary: var(--color-zinc-500);--text-inverse: var(--color-white);--primary: var(--color-lavender-400);--primary-hover: var(--color-lavender-300);--primary-light: rgba(139, 131, 255, .16);--primary-soft: rgba(139, 131, 255, .16);--danger: var(--color-rose-400);--danger-hover: var(--color-rose-500);--danger-light: rgba(251, 113, 133, .14);--danger-soft: rgba(251, 113, 133, .14);--success: var(--color-green-400);--success-light: rgba(74, 222, 128, .13);--success-soft: rgba(74, 222, 128, .13);--warning: var(--color-amber-400);--warning-light: rgba(251, 191, 36, .15);--warning-soft: rgba(251, 191, 36, .15);--info: var(--color-blue-400);--info-light: rgba(96, 165, 250, .14);--info-soft: rgba(96, 165, 250, .14);--overlay: rgba(0, 0, 0, .68);--status-backlog-bg: rgba(161, 161, 170, .14);--status-backlog-text: var(--color-zinc-300);--status-todo-bg: rgba(96, 165, 250, .14);--status-todo-text: var(--color-blue-300);--status-progress-bg: rgba(251, 191, 36, .15);--status-progress-text: var(--color-amber-300);--status-review-bg: rgba(167, 139, 250, .16);--status-review-text: var(--color-purple-300);--status-done-bg: rgba(74, 222, 128, .13);--status-done-text: var(--color-green-300);--status-warning-bg: rgba(251, 191, 36, .15);--status-warning-text: var(--color-amber-300);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow: 0 8px 24px rgba(0, 0, 0, .28);--shadow-lg: 0 18px 48px rgba(0, 0, 0, .38);--toast-bg: var(--color-night-50);--toast-text: var(--color-zinc-100);--toast-text-muted: var(--color-zinc-400);--toast-border: rgba(255, 255, 255, .12);--toast-hover-bg: rgba(255, 255, 255, .08);--toast-divider: rgba(255, 255, 255, .08);--toast-code-bg: rgba(255, 255, 255, .08);--toast-code-text: var(--color-orange-300);--toast-shadow: 0 8px 28px rgba(0, 0, 0, .5);--toast-ok: var(--color-green-400);--toast-failed: var(--color-rose-400)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}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:var(--shadow-lg);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 8px;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}.nav-more{position:relative;display:inline-flex}.nav-more-trigger{gap:4px}.nav-more-caret{font-size:11px;color:var(--text-tertiary);transition:transform .15s}.nav-more.open .nav-more-trigger{color:var(--text);background:var(--bg)}.nav-more.open .nav-more-caret{transform:rotate(180deg)}.nav-more-trigger.has-active{color:var(--primary);background:var(--primary-light)}.nav-more-trigger.has-active .nav-more-caret{color:var(--primary)}.nav-more-dropdown{position:absolute;left:0;top:calc(100% + 6px);background:var(--surface-raised);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);min-width:200px;z-index:100;padding:4px 0;animation:att-popover-in .12s ease-out}.nav-more-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 14px;border:none;background:none;cursor:pointer;font-family:var(--font);font-size:13px;color:var(--text);text-align:left;transition:background .1s}.nav-more-item:hover{color:var(--text);background:var(--bg)}.nav-more-item:hover i{color:var(--text)}.nav-more-item.active{color:var(--primary);background:var(--primary-light)}.nav-more-item i{font-size:15px;color:var(--text-secondary)}.nav-more-item.active i{color:var(--primary)}.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}.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:var(--shadow-lg);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)}.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)}.assignee-filter-option{padding-left:10px}.avatar-everyone{background:var(--text-tertiary);color:#fff}.assignee-filter-option .avatar-xs i{font-size:13px}.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)}.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 var(--border);border-radius:999px;background:var(--surface);cursor:pointer;transition:border-color .15s,background .15s}.user-menu-trigger:hover{border-color:var(--input-border);background:var(--surface-hover)}.user-menu.open .user-menu-trigger{border-color:var(--primary);background:var(--primary-light)}.user-menu-caret{font-size:12px;color:var(--text-tertiary);transition:transform .15s}.user-menu.open .user-menu-caret{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;right:0;top:calc(100% + 6px);background:var(--surface-raised);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);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 var(--border-light)}.user-menu-name{font-size:13px;font-weight:600;color:var(--text)}.user-menu-email{font-size:11px;color:var(--text-tertiary);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:var(--text);text-align:left;transition:background .1s}.user-menu-item:hover{background:var(--surface-hover)}.user-menu-item i{font-size:15px;color:var(--text-secondary)}.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:var(--danger-light)}.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 var(--primary-soft)}.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:var(--text-tertiary);font-size:16px}.status-icon.todo{color:var(--text-tertiary)}.status-icon.in-progress{color:var(--warning)}.status-icon.review{color:var(--status-review-text)}.status-icon.done{color:var(--success)}.status-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(20px);background:var(--toast-bg);color:var(--toast-text);padding:10px 16px;border-radius:10px;font-size:13px;font-weight:500;box-shadow:var(--toast-shadow);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;z-index:9999;max-width:560px;display:flex;flex-direction:column;gap:8px}.status-toast-row{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:var(--toast-text-muted);padding:4px 8px;border-radius:5px;border:1px solid var(--toast-border);transition:background .12s,color .12s}.status-toast-option:hover{background:var(--toast-hover-bg);color:var(--toast-text)}.status-toast-option:disabled{opacity:.5;cursor:default}.status-toast-slack{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid var(--toast-divider);font-size:12px}.status-toast-slack[hidden]{display:none}.status-toast-slack.ok{color:var(--toast-ok)}.status-toast-slack.retrying{color:var(--toast-text-muted)}.status-toast-slack.failed{color:var(--toast-failed)}.status-toast-slack code{background:var(--toast-code-bg);padding:1px 6px;border-radius:4px;font-size:11px;color:var(--toast-code-text)}.status-toast-slack-actions{display:flex;gap:4px;flex-shrink:0}.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:var(--danger);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-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.calendar-collapsed .my-day-right{display:none}.myday-cal-toggle{margin-left:auto;flex-shrink:0;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.myday-cal-toggle:hover{border-color:var(--primary);color:var(--text-primary)}.myday-cal-toggle.active{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.myday-cal-toggle i{font-size:15px}.my-day-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px;gap:16px}.my-day-header.garden-band{position:relative;overflow:hidden;min-height:184px;padding:18px 20px;border-radius:18px;border:1px solid var(--color-garden-edge)}.my-day-header.garden-band>*:not(.garden-root){position:relative;z-index:2}.garden-root{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;border-radius:inherit;overflow:hidden}.garden-sky{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 80% at 80% -10%,rgba(255,246,196,.7),transparent 60%),linear-gradient(180deg,#eaf7ff,#eef8ec 48%,#dcefd0)}.garden-grass{position:absolute;left:0;right:0;bottom:0;height:46px}.garden-blade{position:absolute;bottom:0;width:6px;height:var(--h, 18px);background:linear-gradient(180deg,#7cc36a,#4e9d3f);border-radius:4px 4px 0 0;transform-origin:bottom center;animation:garden-sway 3.2s var(--d, 0s) ease-in-out infinite alternate}.garden-blade.has-flower i{position:absolute;top:-15px;left:50%;transform:translate(-50%);font-style:normal;font-size:14px}.garden-cursors,.garden-messages{position:absolute;top:0;right:0;bottom:0;left:0}.garden-messages{z-index:2;pointer-events:none}.garden-cursors{z-index:3;pointer-events:none}.garden-cursor{position:absolute;top:0;left:0;will-change:transform;filter:drop-shadow(0 1px 1px var(--color-garden-shadow))}.garden-cursor svg{display:block}.garden-cursor-name{position:absolute;left:15px;top:17px;padding:1px 7px;border-radius:4px 10px 10px;color:#fff;font-size:11px;font-weight:600;line-height:1.5;white-space:nowrap;box-shadow:var(--shadow)}.garden-flower{position:absolute;transform:translate(-50%,-100%);transform-origin:bottom center;pointer-events:auto;animation:garden-bloom .5s cubic-bezier(.2,1.3,.4,1) both;transition:opacity .8s ease}.garden-flower-bubble{position:relative;max-width:220px;background:var(--color-white);border:1.5px solid var(--c, var(--color-garden-leaf));border-radius:12px;padding:5px 9px;font-size:12px;line-height:1.35;color:var(--color-gray-900);box-shadow:var(--shadow-lg)}.garden-flower-bubble:after{content:"";position:absolute;left:50%;bottom:-7px;width:10px;height:10px;background:var(--color-white);border-right:1.5px solid var(--c, var(--color-garden-leaf));border-bottom:1.5px solid var(--c, var(--color-garden-leaf));transform:translate(-50%) rotate(45deg)}.garden-flower-name{display:block;font-size:10px;font-weight:700;letter-spacing:.02em;margin-bottom:1px}.garden-flower-text{display:block;word-break:break-word}.garden-flower-stem{width:2px;height:16px;margin:0 auto;background:linear-gradient(180deg,#5aa84a,#3c7d31)}.garden-flower-bloom{font-size:22px;text-align:center;line-height:1;transition:transform .8s ease,opacity .8s ease}.garden-flower.wilting .garden-flower-bloom{transform:rotate(22deg) translateY(2px);opacity:.6}.garden-flower.wilting .garden-flower-bubble{opacity:.65}.garden-flower-x{position:absolute;top:-8px;right:-8px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:var(--color-white);color:var(--color-gray-600);font-size:14px;line-height:1;cursor:pointer;pointer-events:auto;box-shadow:var(--shadow);opacity:0;transition:opacity .15s,color .15s}.garden-flower:hover .garden-flower-x{opacity:1}.garden-flower-x:hover{color:var(--danger)}.garden-typing{position:absolute;transform:translate(-2px,-50%);z-index:4;display:flex;align-items:center;gap:0;pointer-events:auto}.garden-typing-tag{color:#fff;font-size:10px;font-weight:700;padding:3px 6px;border-radius:6px 0 0 6px;white-space:nowrap}.garden-typing-input{border:1.5px solid var(--c, var(--color-garden-leaf));border-left:none;border-radius:0 8px 8px 0;padding:4px 8px;font-size:12px;width:180px;outline:none;background:var(--color-white);box-shadow:var(--shadow-lg)}.garden-hint{position:absolute;left:50%;bottom:10px;transform:translate(-50%);display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:500;color:var(--color-garden-hint);background:var(--color-garden-hint-bg);padding:3px 10px;border-radius:999px;opacity:.9;transition:opacity .4s ease}.garden-root.garden-hint-gone .garden-hint{opacity:0}@keyframes garden-sway{0%{transform:rotate(-7deg)}to{transform:rotate(7deg)}}@keyframes garden-bloom{0%{transform:translate(-50%,-100%) scale(.2);opacity:0}60%{transform:translate(-50%,-100%) scale(1.08)}to{transform:translate(-50%,-100%) scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.garden-blade,.garden-flower{animation:none}}.my-day-greeting-row{display:flex;align-items:center;margin-bottom:4px}.my-day-greeting-trigger{all:unset;cursor:pointer;display:flex;align-items:center;gap:6px;padding:2px 8px 2px 6px;margin-left:-6px;border-radius:8px;color:var(--text);transition:background .15s}.my-day-greeting-trigger:hover{background:var(--hover)}.my-day-greeting{font-size:20px;font-weight:700}.myday-person-caret{font-size:14px;color:var(--text-secondary);transition:color .15s}.my-day-greeting-trigger:hover .myday-person-caret{color:var(--text)}.person-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);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)}.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 var(--border)}.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:var(--primary-soft);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:var(--bg-secondary);color:var(--text-secondary)}.client-tab.active .client-tab-count{background:var(--primary-soft);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-section[data-section] .my-day-section-header{cursor:pointer;-webkit-user-select:none;user-select:none}.my-day-collapse-caret{margin-left:auto;font-size:12px!important;color:var(--text-tertiary);transition:transform .15s}.my-day-section-header:hover .my-day-collapse-caret{color:var(--text-secondary)}.my-day-section.collapsed .my-day-collapse-caret{transform:rotate(-90deg)}.my-day-section.collapsed .my-day-upnext-list,.my-day-section.collapsed .my-day-weekday-list{display:none}.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:var(--warning)}.my-week-holiday-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 8px;border-radius:10px;background:var(--status-warning-bg);color:var(--status-warning-text);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 var(--warning)}.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:var(--warning);font-size:13px;flex-shrink:0}.my-day-card.scheduled{border-left:3px solid var(--warning)}.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:var(--warning);font-weight:500}.my-day-deadline.due-soon{color:var(--warning)}.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:var(--warning);border-color:transparent}.my-day-action-btn.add-focus:hover{background:var(--status-warning-bg);border-color:var(--warning)}.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:var(--overlay);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(--input-border);border-radius:6px;font-family:var(--font);font-size:16px;color:var(--text);background:var(--input-bg);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 var(--primary-soft)}.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:var(--bg-secondary);color:var(--text-secondary)}.status-pill.active[data-status=in_progress]{background:var(--status-warning-bg);color:var(--status-warning-text)}.status-pill.active[data-status=review]{background:var(--status-review-bg);color:var(--status-review-text)}.status-pill.active[data-status=done]{background:var(--status-done-bg);color:var(--status-done-text)}.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 var(--primary-soft)}.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 var(--primary-soft)}.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:var(--shadow-lg);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:var(--shadow-lg);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:6px;padding:3px 8px 3px 4px;border-radius:6px;background:var(--surface-raised);border:1px solid var(--border);color:var(--text);font-size:13px;font-weight:500;line-height:1.2;white-space:nowrap}.mention-chip.person,.mention-chip.project{background:var(--surface-raised);color:var(--text)}.mention-chip img.avatar-photo-xs{width:18px;height:18px}.mention-chip .avatar-xs{width:18px;height:18px;font-size:9px}.mention-chip .client-logo-xs{width:16px;height:16px;border-radius:4px}.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}.manage-view{padding:24px;max-width:1280px;margin:0 auto}.manage-header{margin-bottom:20px}.manage-header h2{font-size:18px;font-weight:700;margin-bottom:4px}.manage-header p{color:var(--text-secondary);font-size:13px}.manage-layout{display:grid;grid-template-columns:300px 1fr;gap:24px;min-height:0;align-items:start}.manage-sidebar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px;display:flex;flex-direction:column;gap:12px;position:sticky;top:24px;max-height:calc(100vh - 140px)}.manage-sidebar-actions{display:flex;gap:8px}.manage-sidebar-actions .btn-primary{flex:1}.manage-sidebar-search{position:relative;display:flex;align-items:center}.manage-sidebar-search i{position:absolute;left:10px;color:var(--text-tertiary);font-size:14px;pointer-events:none}.manage-sidebar-search input{width:100%;padding:8px 10px 8px 32px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;font-family:var(--font);background:var(--bg)}.manage-sidebar-search input:focus{outline:none;border-color:var(--primary);background:var(--surface)}.manage-sidebar-list{display:flex;flex-direction:column;gap:2px;overflow-y:auto;flex:1;min-height:0}.manage-sidebar-empty{text-align:center;padding:24px 12px;color:var(--text-tertiary);font-size:13px}.manage-client-row{all:unset;cursor:pointer;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius);transition:background .15s}.manage-client-row:hover{background:var(--bg)}.manage-client-row.active{background:var(--primary-light)}.manage-client-row.active .manage-client-row-name{color:var(--primary)}.manage-client-logo{width:28px;height:28px;border-radius:6px;object-fit:cover;flex-shrink:0}.manage-client-logo-placeholder{display:inline-flex;align-items:center;justify-content:center;background:var(--bg);color:var(--text-secondary);font-weight:600;font-size:13px}.manage-client-row-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.manage-client-row-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manage-client-row-meta{font-size:11px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manage-slack-indicator{color:var(--text-tertiary);font-size:14px;flex-shrink:0}.manage-client-row.active .manage-slack-indicator{color:var(--primary)}.manage-detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;min-height:400px}.manage-detail-empty{text-align:center;padding:80px 20px;color:var(--text-tertiary)}.manage-detail-empty i{font-size:40px;opacity:.4}.manage-detail-empty h3{font-size:15px;font-weight:600;color:var(--text-secondary);margin:16px 0 6px}.manage-detail-empty p{font-size:13px;margin:0}.manage-detail-header{display:flex;align-items:center;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--border-light);margin-bottom:24px}.manage-detail-logo{width:48px;height:48px;border-radius:10px;object-fit:cover;flex-shrink:0}.manage-detail-logo.manage-client-logo-placeholder{font-size:20px}.manage-detail-identity{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.manage-detail-name{font-size:18px;font-weight:700;margin:0}.manage-detail-chips{display:flex;flex-wrap:wrap;gap:8px}.manage-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-secondary);background:var(--bg);padding:3px 8px;border-radius:12px}.manage-chip code{font-family:var(--font-mono, ui-monospace, monospace);font-size:11px}.manage-chip .muted{color:var(--text-tertiary)}.manage-detail-actions{display:flex;gap:4px;flex-shrink:0}.manage-section{margin-top:24px}.manage-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.manage-section-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin:0}.manage-section-count{font-size:11px;font-weight:500;color:var(--text-tertiary);background:var(--bg);padding:1px 7px;border-radius:10px;margin-left:4px;text-transform:none}.manage-rows{display:flex;flex-direction:column;gap:4px}.manage-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border-light);border-radius:var(--radius);background:var(--surface);transition:all .15s}.manage-row.project-row{cursor:pointer}.manage-row.project-row:hover{border-color:var(--border);background:var(--bg)}.manage-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.manage-row-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manage-row-meta{font-size:11px;color:var(--text-tertiary);display:inline-flex;align-items:center;gap:4px}.manage-row-actions{display:flex;gap:2px;flex-shrink:0}.manage-empty-row{padding:14px;color:var(--text-tertiary);font-size:13px;text-align:center;background:var(--bg);border:1px dashed var(--border);border-radius:var(--radius)}.manage-inline-form{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;padding:14px;background:var(--bg);border-radius:var(--radius)}.manage-inline-form .form-input,.manage-inline-form .form-select{flex:1;min-width:140px}.btn-ghost.danger{color:var(--danger)}.btn-ghost.danger:hover{background:var(--danger-soft)}.btn-sm{padding:4px 10px;font-size:12px}@media(max-width:768px){.manage-view{padding:16px}.manage-layout{grid-template-columns:1fr}.manage-sidebar{position:static;max-height:320px}.manage-detail{padding:16px}.manage-inline-form{flex-direction:column}.manage-inline-form .form-input,.manage-inline-form .form-select{min-width:100%}}.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:var(--danger-light)}.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:var(--primary-soft);border-radius:3px;pointer-events:none;z-index:9999}.my-day-card.selected,.my-task-row.selected{box-shadow:inset 0 0 0 2px var(--primary);background:var(--primary-soft)}.backlog-view{padding:24px;max-width:980px;margin:0 auto}.backlog-list{display:flex;flex-direction:column}.backlog-empty{padding:64px 20px;text-align:center;color:var(--text-tertiary)}.backlog-empty i{font-size:32px;opacity:.4}.backlog-empty p{margin:12px 0 0;font-size:13px}.backlog-promote-btn{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:4px 10px;margin-left:8px;border-radius:6px;font-size:11px;font-weight:600;color:var(--primary);background:var(--surface);border:1px solid var(--border);flex-shrink:0;opacity:0;pointer-events:none;transition:opacity .15s,background .15s,color .15s,border-color .15s}.backlog-promote-btn i{font-size:12px}.my-task-row:hover .backlog-promote-btn{opacity:1;pointer-events:auto}.backlog-promote-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.my-task-row.promoting{opacity:.5;pointer-events:none}.backlog-assignees{display:inline-flex;gap:-2px}.backlog-assignee{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;object-fit:cover;border:1.5px solid var(--surface);margin-left:-4px}.backlog-assignees .backlog-assignee:first-child{margin-left:0}.backlog-assignee-initial{color:#fff;font-size:10px;font-weight:600}.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:var(--info-soft);color:var(--info);text-decoration:none;transition:background .15s}.tg-allday-chip:hover{background:var(--info-light)}.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:var(--danger)}.tg-now-line{position:absolute;left:8px;right:0;top:0;height:0;border-top:2px solid var(--danger)}.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 var(--warning);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:var(--shadow-lg);z-index:10;cursor:grabbing}.task-block.done{background:var(--success-soft);border-left-color:var(--success);opacity:.65}.task-block.done .tb-title{text-decoration:line-through;color:var(--text-tertiary)}.task-block.done:hover{opacity:.85}.cal-block{background:var(--info-soft);border-left:3px solid var(--info);padding:4px 8px;text-decoration:none;color:var(--text);cursor:pointer;align-items:flex-start}.cal-block:hover{background:var(--info-light);box-shadow:var(--shadow-sm)}.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:var(--danger);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:var(--info-light);color:var(--info)}.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);border-radius:4px;z-index:0}.tg-slot.slot-hover{background:var(--info-soft);border-radius:4px;z-index:0}.tg-hover-label{position:absolute;right:8px;font-size:10px;font-weight:600;color:var(--info);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:var(--shadow-lg);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}.backlog-view{padding:16px;max-width:100%}.my-task-row{padding:10px;gap:8px}.my-task-title{font-size:14px}.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:var(--surface-hover)}.att-grid-name-header{position:sticky;left:0;z-index:3;background:var(--surface-hover)}.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:var(--surface);border-top:1px solid var(--border);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:var(--text-tertiary);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:var(--primary)}.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:var(--overlay)}.mobile-more-content{position:absolute;bottom:0;left:0;right:0;background:var(--surface);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:var(--text);border-bottom:1px solid var(--border-light)}.mobile-more-item{display:flex;align-items:center;gap:12px;width:100%;padding:14px 20px;background:none;border:none;font-size:15px;color:var(--text);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent}.mobile-more-item:active{background:var(--bg-secondary)}.mobile-more-item i{font-size:20px;color:var(--text-secondary);width:24px;text-align:center}.mobile-more-item.active,.mobile-more-item.active i{color:var(--primary)}.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 var(--primary-soft)}.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:var(--warning)}.activity-task-icon.status-review{color:var(--info)}.activity-task-icon.status-done{color:var(--success)}.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:var(--danger-light);color:var(--danger)}.priority-high{background:var(--warning-soft);color:var(--warning)}.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-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{font-family:var(--font);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{background:var(--surface-hover);color:var(--text-primary)}.segmented-control .segment.active,.segmented-control .segment.active:hover{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.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:var(--status-done-bg);color:var(--status-done-text)}.ts-status-in_progress{background:var(--status-progress-bg);color:var(--status-progress-text)}.ts-status-review{background:var(--status-review-bg);color:var(--status-review-text)}.ts-status-todo{background:var(--status-todo-bg);color:var(--status-todo-text)}.ts-status-backlog{background:var(--status-backlog-bg);color:var(--status-backlog-text)}.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)}.attendance-balances{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-bottom:32px}.balance-card{background:var(--surface);border:1px solid var(--border);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:var(--text-tertiary)}.balance-card-rows{display:flex;flex-direction:row;gap:16px}.balance-row{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.balance-label{font-size:11px;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.balance-nums{display:flex;flex-direction:column;align-items:stretch;gap:2px}.balance-detail-line{font-size:12px;color:var(--text-secondary);line-height:1.3}.balance-result{border-top:1px dashed var(--border);border-bottom:1px dashed var(--border);padding:6px 0;margin-top:4px;display:flex;flex-direction:column;gap:2px}.balance-headline{font-size:14px;color:var(--text);line-height:1.2}.balance-headline strong{font-size:18px;font-weight:700;margin-right:2px}.balance-unpaid{font-size:12px;color:var(--danger);line-height:1.3}.balance-unpaid strong{font-weight:600;color:var(--danger)}.balance-num-ok strong,.balance-num-ok .balance-headline{color:var(--success)}.balance-num-over strong,.balance-num-over .balance-headline{color:var(--danger)}.balance-detail-line strong{font-weight:600}.balance-nums .balance-detail-accrued strong{color:var(--success)}.balance-num-overtime{color:var(--success);font-size:11px;font-weight:500}.balance-num-warn{background:var(--danger-light);color:var(--danger);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:var(--border);border:1px solid var(--border);border-radius:8px;overflow:hidden}.att-grid-cell{background:var(--surface);display:flex;align-items:center;justify-content:center;min-height:36px;font-size:12px}.att-grid-name-header{background:var(--surface-hover)}.att-grid-day-header{background:var(--surface-hover);flex-direction:column;padding:4px 0;font-size:10px;color:var(--text-secondary)}.att-day-name{font-size:9px;text-transform:uppercase;color:var(--text-tertiary)}.att-day-num{font-weight:500;font-size:11px;color:var(--text)}.att-grid-name{justify-content:flex-start;padding:0 10px;gap:6px;font-size:12px;font-weight:500;background:var(--surface-hover);white-space:nowrap}.att-weekend{background:var(--surface-hover)!important}.att-weekend.att-grid-day-header{opacity:.5}.att-holiday{background:var(--primary-light)!important}.att-holiday .att-day-num{color:var(--primary)}.att-holiday-marker{display:block;width:4px;height:4px;border-radius:50%;background:var(--primary);margin-top:1px}.att-holiday-cell{background:var(--primary-light)!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:var(--text)}.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:var(--success)}.att-dot-yellow{background:var(--warning)}.att-dot-red{background:var(--danger)}.attendance-leave-list h3{font-size:15px;font-weight:600;margin-bottom:12px;color:var(--text)}.attendance-empty{color:var(--text-tertiary);font-size:13px}.leave-list-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--border);border-radius:8px;margin-bottom:8px;background:var(--surface)}.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:var(--text-secondary)}.leave-list-right{display:flex;align-items:center;gap:8px}.leave-list-date{font-size:12px;color:var(--text-tertiary)}.leave-badge-unpaid{font-size:10px;background:var(--status-warning-bg);color:var(--status-warning-text);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:var(--success-light);border:1px solid var(--success);border-radius:8px;padding:10px 14px;font-size:13px;color:var(--success)}.leave-summary-warn{color:var(--status-warning-text)}.modal-sm{max-width:480px}.attendance-policy{margin-top:32px;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.attendance-policy h3{font-size:15px;font-weight:600;margin-bottom:8px;color:var(--text)}.policy-intro{font-size:13px;color:var(--text-secondary);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:var(--border);color:var(--text);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:var(--text);line-height:1.5}.policy-item-content strong{display:block;margin-bottom:2px}.policy-item-content p{color:var(--text-secondary);margin:0}.policy-note{margin-top:16px;padding-top:14px;border-top:1px solid var(--border);font-size:12px;color:var(--text-tertiary);line-height:1.5}.att-clickable{cursor:pointer;transition:background .15s}.att-clickable:hover{background:var(--primary-light)!important}.att-popover{position:fixed;z-index:1000;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);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:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border-light)}.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:var(--text-secondary);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:var(--text);text-align:left;width:100%;transition:background .1s}.att-popover-option:hover{background:var(--bg-secondary)}.att-popover-option i{font-size:15px;color:var(--text-secondary);width:18px;text-align:center}.att-popover-option[data-status=clear]{color:var(--text-tertiary);border-top:1px solid var(--border-light);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 var(--border);background:var(--surface-hover);color:var(--text)}.att-popover-edit:hover{background:var(--bg-secondary)}.att-popover-cancel{border:1px solid var(--danger);background:var(--danger-light);color:var(--danger)}.att-popover-cancel:hover{background:var(--danger-soft)}.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}.week-picker{display:flex;align-items:center;gap:4px}.week-picker-btn{font-family:var(--font);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}.week-picker-btn:hover{background:var(--bg);color:var(--text)}.week-picker-label{font-family:var(--font);background:none;border:none;font-size:14px;font-weight:600;color:var(--text);cursor:pointer;padding:4px 12px;border-radius:var(--radius)}.week-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)}.contracts-view{max-width:880px;margin:0 auto;padding:24px 20px 80px}.contracts-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.contracts-header h2{margin:0;font-size:20px}.contracts-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:12px}.contracts-card-header{display:flex;align-items:center;gap:12px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--border-light)}.contracts-card-info{flex:1;display:flex;flex-direction:column}.contracts-card-name{font-weight:600;font-size:14px}.contracts-card-meta{font-size:12px;color:var(--text-secondary)}.contracts-unpaid{color:var(--danger);font-weight:600}.contracts-card-rows{display:flex;flex-direction:column;gap:6px}.contract-row{display:grid;grid-template-columns:minmax(220px,auto) 1fr auto;align-items:center;gap:12px;padding:8px 4px;border-radius:6px}.contract-row:hover{background:var(--surface-hover)}.contract-row-dates{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);white-space:nowrap}.contract-row-arrow{color:var(--text-tertiary)}.contract-status{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:4px;margin-left:4px;white-space:nowrap}.contract-status-active{background:var(--status-done-bg);color:var(--status-done-text)}.contract-status-ended{background:var(--status-backlog-bg);color:var(--status-backlog-text)}.contract-row-notes{font-size:12px;color:var(--text-secondary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contract-row-actions{display:flex;gap:4px}@media(max-width:640px){.contract-row{grid-template-columns:1fr auto;grid-template-areas:"dates actions" "notes notes"}.contract-row-dates{grid-area:dates;flex-wrap:wrap}.contract-row-actions{grid-area:actions}.contract-row-notes{grid-area:notes;white-space:normal}}.btn-xs{padding:4px 6px;font-size:12px;line-height:1}.contracts-empty{text-align:center;color:var(--text-tertiary);padding:40px 20px}.contracts-empty-row{font-size:12px;color:var(--text-tertiary);margin:0;padding:4px}.form-label-hint{color:var(--text-tertiary);font-weight:400;font-size:11px}
