:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f7f4ee;color:#282622;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #f7f4ee;--panel: #fffdfa;--panel-soft: #f0ebe2;--line: #ded7ca;--text: #282622;--muted: #746d62;--strong: #151412;--accent: #2f6f68;--accent-strong: #1f514c;--danger: #a5483e;--shadow: 0 18px 50px rgba(42, 38, 30, .13)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#fffdfad1,#f7f4eedb),var(--bg)}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:7px;background:#fffefa;color:var(--text);outline:none}input,select{height:38px;padding:0 10px}textarea{min-height:96px;padding:10px;resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2f6f6824}h1,h2,h3,p{margin:0}.center-screen{display:grid;min-height:100vh;place-content:center;gap:14px;padding:24px;text-align:center}.loader-dot{width:12px;height:12px;margin:0 auto;border-radius:999px;background:var(--accent);animation:pulse 1.1s ease-in-out infinite}.auth-layout{display:grid;min-height:100vh;place-items:center;padding:24px}.auth-panel{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(280px,1fr);width:min(860px,100%);min-height:520px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.auth-copy{display:flex;flex-direction:column;justify-content:flex-end;gap:14px;padding:42px;border-right:1px solid var(--line);background:#eee7dc}.auth-copy h1{font-size:34px;line-height:1.05}.auth-copy p,.muted{color:var(--muted)}.brand-mark{display:grid;width:40px;height:40px;place-items:center;border:1px solid rgba(47,111,104,.22);border-radius:8px;color:var(--accent-strong);background:#2f6f6817}.auth-form,.modal-form{display:flex;flex-direction:column;gap:16px}.auth-form{justify-content:center;padding:42px}.auth-form h2{margin-bottom:6px;font-size:24px}label{display:grid;gap:7px;color:var(--strong);font-size:13px;font-weight:650}.primary-button,.secondary-button,.danger-button,.text-button,.icon-button,.chip{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid transparent;border-radius:7px;text-decoration:none}.primary-button{padding:0 14px;border-color:var(--accent-strong);background:var(--accent-strong);color:#fff;font-weight:700}.primary-button.compact,.secondary-button,.danger-button{min-height:36px;padding:0 12px}.secondary-button{border-color:var(--line);background:#fffefa;color:var(--text)}.danger-button{border-color:#a5483e3d;background:#a5483e14;color:var(--danger);font-weight:700}.text-button{border:0;background:transparent;color:var(--accent-strong);font-weight:700}.icon-button{width:36px;height:36px;min-height:36px;border-color:var(--line);background:#fffefa;color:var(--text)}.form-error,.notice.error{color:var(--danger)}.spin{animation:spin .9s linear infinite}.workspace{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;flex-direction:column;gap:14px;min-height:100vh;padding:18px;border-right:1px solid var(--line);background:#eee8dd}.sidebar-head,.topbar,.title-row,.account-box,.toolbar,.filter-row,.task-card-head,.task-actions,.modal header,.modal-actions{display:flex;align-items:center}.sidebar-head,.account-box,.modal header{justify-content:space-between;gap:12px}.eyebrow{color:var(--muted);font-size:11px;font-weight:750;letter-spacing:0;text-transform:uppercase}.sidebar h1{margin-top:3px;font-size:20px}.filter-row{gap:6px}.chip{min-height:30px;padding:0 10px;border-color:var(--line);background:#fffdfa94;color:var(--muted);font-size:12px;font-weight:700}.chip.active{background:var(--panel);color:var(--text)}.project-list{display:flex;flex:1;flex-direction:column;gap:4px;overflow:auto}.project-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:38px;padding:8px 10px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text);text-align:left}.project-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-item small,.account-box small{color:var(--muted)}.project-item.selected,.project-item:hover{border-color:var(--line);background:#fffdfac7}.account-box{padding-top:14px;border-top:1px solid var(--line)}.account-box div{display:grid;min-width:0;gap:2px}.account-box strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{min-width:0;padding:22px}.topbar{justify-content:space-between;gap:18px;margin-bottom:18px}.title-row{gap:8px}.title-row h2{font-size:28px;line-height:1.1}.toolbar{flex-wrap:wrap;justify-content:flex-end;gap:8px}.search-box{position:relative;display:block;min-width:220px}.search-box svg{position:absolute;left:11px;top:11px;color:var(--muted)}.search-box input{padding-left:34px}.segmented{display:inline-grid;grid-template-columns:repeat(3,36px);height:38px;padding:3px;border:1px solid var(--line);border-radius:7px;background:var(--panel-soft)}.segmented button{display:grid;place-items:center;border:0;border-radius:5px;background:transparent;color:var(--muted)}.segmented button.active{background:var(--panel);color:var(--text);box-shadow:0 1px 4px #2a261e1a}.calendar-nav,.calendar-view-switch{display:inline-flex;align-items:center;gap:6px}.calendar-view-switch{min-height:38px;padding:3px;border:1px solid var(--line);border-radius:7px;background:var(--panel-soft)}.calendar-view-switch button{min-width:58px;min-height:30px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:12px;font-weight:750;text-transform:capitalize}.calendar-view-switch button.active{background:var(--panel);color:var(--text);box-shadow:0 1px 4px #2a261e1a}.calendar-shell{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fffdfaad}.calendar-weekdays,.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(112px,1fr))}.calendar-weekdays{border-bottom:1px solid var(--line);background:#f0ebe2b8}.calendar-weekdays span{padding:9px 10px;color:var(--muted);font-size:12px;font-weight:750}.calendar-month-grid{overflow-x:auto}.calendar-day-cell{display:grid;align-content:start;gap:7px;min-height:126px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fffdfa8a}.calendar-day-cell:nth-child(7n){border-right:0}.calendar-day-cell:nth-last-child(-n+7){border-bottom:0}.calendar-day-cell.outside{background:#eee8dd7a;color:var(--muted)}.calendar-day-cell.today{box-shadow:inset 0 0 0 2px #2f6f683d}.calendar-day-number{display:grid;width:28px;height:28px;place-items:center;border:0;border-radius:999px;background:transparent;color:inherit;font-size:12px;font-weight:800}.calendar-day-cell.today .calendar-day-number{background:var(--accent-strong);color:#fff}.calendar-cell-events,.calendar-event-stack{display:grid;gap:6px;min-width:0}.calendar-event-chip{display:grid;width:100%;min-width:0;gap:3px;padding:8px 9px;border:1px solid rgba(47,111,104,.22);border-left:4px solid var(--accent);border-radius:7px;background:#eef7f4;color:var(--text);text-align:left}.calendar-event-chip.compact{display:flex;align-items:center;gap:6px;min-height:26px;padding:4px 7px;border-left-width:3px;font-size:12px}.calendar-event-chip strong,.calendar-event-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-chip strong{font-size:13px}.calendar-event-chip.compact strong{font-size:12px}.event-time,.event-location,.calendar-more,.calendar-empty{color:var(--muted);font-size:12px}.event-location{display:inline-flex;align-items:center;gap:4px}.calendar-more{padding:0 7px;font-weight:750}.calendar-time-shell{overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fffdfab3}.calendar-time-shell.day{max-width:880px}.calendar-time-header,.calendar-all-day-row,.calendar-time-body{display:grid;grid-template-columns:68px minmax(0,1fr);min-width:100%}.calendar-time-header,.calendar-all-day-row{position:sticky;z-index:5;background:var(--panel)}.calendar-time-header{top:0;border-bottom:1px solid var(--line)}.calendar-all-day-row{top:56px;border-bottom:1px solid var(--line)}.calendar-time-days{display:grid;min-width:0}.calendar-time-day-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px;padding:8px 10px;border-left:1px solid var(--line)}.calendar-time-day-head.today{background:#2f6f6812}.calendar-time-day-head span{color:var(--muted);font-size:12px;font-weight:750}.calendar-time-day-head strong{display:grid;width:34px;height:34px;place-items:center;border-radius:999px;font-size:24px}.calendar-time-day-head.today strong{background:var(--accent-strong);color:#fff}.calendar-time-gutter{display:flex;justify-content:flex-end;min-width:68px;padding:8px 10px 0 0;color:var(--muted);font-size:11px;font-weight:750}.calendar-all-day-cell{display:grid;align-content:start;gap:5px;min-height:42px;padding:6px;border-left:1px solid var(--line)}.calendar-hour-labels{display:grid;grid-template-rows:repeat(24,56px);border-right:1px solid var(--line)}.calendar-hour-labels span{position:relative;top:-8px;padding-right:9px;color:var(--muted);font-size:11px;text-align:right}.calendar-timed-day{position:relative;min-height:1344px;border-left:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 55px,var(--line) 55px,var(--line) 56px),#fffdfa61}.calendar-timed-day.today{background:repeating-linear-gradient(to bottom,transparent 0,transparent 55px,rgba(47,111,104,.18) 55px,rgba(47,111,104,.18) 56px),#2f6f680d}.calendar-hour-slot{display:block;width:100%;height:56px;border:0;background:transparent}.calendar-hour-slot:hover{background:#2f6f680d}.calendar-timed-event{position:absolute;left:6px;right:6px;z-index:2;display:grid;align-content:start;gap:2px;min-width:0;overflow:hidden;padding:6px 8px;border:1px solid rgba(47,111,104,.28);border-left:4px solid var(--accent);border-radius:7px;background:#dff1ed;color:var(--text);text-align:left;box-shadow:0 6px 16px #2a261e14}.calendar-timed-event strong,.calendar-timed-event span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-timed-event strong{font-size:12px}.calendar-timed-event span{color:var(--muted);font-size:11px}.calendar-empty{padding:12px;color:var(--muted);font-size:12px}.checkbox-row{display:flex;align-items:center;grid-template-columns:auto 1fr;width:max-content;gap:9px}.checkbox-row input{width:16px;height:16px;padding:0}.notice{margin-bottom:12px;color:var(--muted);font-size:13px}.board{position:relative;display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:12px;overflow-x:auto;padding-bottom:10px}.board.dragging-active{-webkit-user-select:none;user-select:none}.board-column{min-width:220px;min-height:230px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fffdfa75;transition:border-color .32s ease,background-color .32s ease,box-shadow .32s ease,transform .32s ease}.board-column.drop-target{border-color:#2f6f686b;background:#2f6f6812;box-shadow:inset 0 0 0 1px #2f6f6814;transform:translateY(2px)}.board-column header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.board-column h3{display:inline-flex;align-items:center;gap:7px;font-size:13px}.board-column header span{color:var(--muted);font-size:12px}.task-stack{display:grid;align-content:start;gap:8px;min-height:160px}.task-card{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);cursor:grab;touch-action:none;transition:opacity .22s ease,transform .22s ease,box-shadow .22s ease,border-color .22s ease}.task-card:hover{border-color:#2f6f683d;box-shadow:0 8px 22px #2a261e14}.task-card.dragging{opacity:.28;transform:scale(.99);cursor:grabbing}.drag-preview{position:fixed;top:0;left:0;z-index:1000;margin:0;opacity:.98;pointer-events:none;cursor:grabbing;box-shadow:0 18px 38px #2a261e2e;transition:none;will-change:transform}.drag-title{min-width:0;color:var(--text);font-weight:750;overflow-wrap:anywhere}.task-card-head{justify-content:space-between;gap:10px}.task-title-button,.table-title{border:0;background:transparent;color:var(--text);font-weight:750;text-align:left}.task-title-button{min-width:0;padding:0}.task-card p{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:13px;line-height:1.42;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:3}.task-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}.task-actions{justify-content:space-between;gap:8px}.status-menu{position:relative;min-width:142px}.status-trigger,.status-option{display:flex;align-items:center;gap:8px;width:100%;border:1px solid var(--line);border-radius:7px;background:#fffefa;color:var(--text);font-size:13px;font-weight:700;text-align:left}.status-trigger{justify-content:flex-start;min-height:36px;padding:0 10px}.status-trigger svg,.status-option svg,.status-icon{flex:0 0 auto}.status-trigger.all,.status-option{color:var(--muted)}.status-trigger.todo,.status-icon.todo{color:#6b6256}.status-trigger.in_progress,.status-icon.in_progress{color:#8a6227}.status-trigger.done,.status-icon.done{color:var(--accent-strong)}.status-trigger.archived,.status-icon.archived{color:#7a7180}.status-options{position:absolute;z-index:20;top:calc(100% + 6px);left:0;display:grid;width:max(100%,172px);gap:4px;padding:6px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 12px 34px #2a261e29}.status-option{min-height:34px;padding:0 9px;border-color:transparent}.status-option:hover,.status-option.selected{background:var(--panel-soft);color:var(--text)}.priority{display:inline-flex;align-items:center;width:max-content;min-height:24px;padding:0 8px;border-radius:999px;background:#ece6db;color:var(--muted);font-size:12px;font-weight:750}.priority.high{background:#efe0ce;color:#865a24}.priority.urgent{background:#f1ddd9;color:var(--danger)}.priority.low{background:#e1ebe6;color:var(--accent-strong)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fffdfa8f}.task-table{width:100%;border-collapse:collapse;min-width:760px}.task-table th,.task-table td{height:48px;padding:8px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.task-table th{color:var(--muted);font-size:12px;font-weight:750}.task-table tr:last-child td{border-bottom:0}.empty-state{display:grid;place-items:center;gap:10px;min-height:360px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);text-align:center}.empty-state h3{color:var(--text)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#28262247;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{width:min(520px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.modal header{margin-bottom:18px}.modal h2{font-size:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-actions{justify-content:flex-end;gap:8px}.approval-screen{max-width:520px;margin:0 auto}@keyframes pulse{0%,to{opacity:.4;transform:scale(.86)}50%{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:980px){.workspace{grid-template-columns:1fr}.sidebar{min-height:auto;border-right:0;border-bottom:1px solid var(--line)}.project-list{flex-direction:row;overflow-x:auto;padding-bottom:2px}.project-item{width:auto;min-width:150px}.account-box{display:none}.topbar{align-items:flex-start;flex-direction:column}.toolbar{justify-content:flex-start;width:100%}.search-box{min-width:min(100%,320px)}}@media(max-width:720px){.auth-panel{grid-template-columns:1fr;min-height:auto}.auth-copy{min-height:220px;border-right:0;border-bottom:1px solid var(--line);padding:28px}.auth-form{padding:28px}.content,.sidebar{padding:14px}.title-row h2{font-size:24px}.toolbar>*,.search-box{width:100%}.segmented{width:114px}.calendar-nav,.calendar-view-switch{width:auto}.calendar-shell{overflow-x:auto}.calendar-weekdays,.calendar-month-grid{min-width:784px}.calendar-time-header,.calendar-all-day-row,.calendar-time-body{min-width:760px}.calendar-time-shell.day .calendar-time-header,.calendar-time-shell.day .calendar-all-day-row,.calendar-time-shell.day .calendar-time-body{min-width:320px}.board{grid-template-columns:repeat(4,82vw)}.form-grid{grid-template-columns:1fr}}
