:root{font-family:Segoe UI,Tahoma,sans-serif;color:#1d2939;background:#f8fafc;--app-sticky-top: 72px;--calendar-week-head-height: 56px}*{box-sizing:border-box}body{margin:0}.app{padding:16px}.app.is-calendar-board{height:100dvh;min-height:100dvh;overflow:hidden;display:flex;flex-direction:column}.auth-screen{min-height:100vh;background:#000;display:flex;align-items:center;justify-content:center;padding:16px}.auth-modal{width:min(420px,100%);border:1px solid #d0d5dd;border-radius:12px;background:#fff;box-shadow:0 12px 24px #0f172a24;padding:18px}.auth-title{margin:0;font-size:24px;color:#111827}.auth-subtitle{margin:8px 0 14px;color:#475467;font-size:14px}.auth-form{display:grid;gap:8px}.auth-label{margin-top:4px;font-size:13px;font-weight:700;color:#111827}.auth-meta{margin-top:4px;color:#475467;font-size:13px}.auth-meta-error{color:#b42318}.auth-button{margin-top:6px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;position:sticky;top:0;z-index:25;background:#f8fafc;padding:12px 0 10px}.app.is-calendar-board .toolbar,.app.is-calendar-board .error-banner,.app.is-calendar-board .offline-banner,.app.is-calendar-board .calendar-board{flex-shrink:0}.app.is-calendar-board .calendar-board{flex:1;min-height:0;height:auto}.toolbar h1{margin:0;font-size:24px}.toolbar-title-tabs{display:inline-flex;align-items:center;gap:8px}.toolbar-tab{border:none;background:transparent;padding:0;margin:0;font:inherit;color:#111827;cursor:pointer;line-height:1.2;text-decoration:none}.toolbar-tab.is-active{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.toolbar-tab-dot{color:#111827;line-height:1;font-weight:700}.toolbar-tab:hover{text-decoration:underline}.toolbar-tab:focus-visible{outline:2px solid #175cd3;outline-offset:3px;border-radius:4px}.toolbar-filters{display:flex;align-items:center;gap:12px}.toolbar-search{position:relative;width:240px;flex:0 0 240px}.toolbar-search-input{width:100%;height:36px;border:1px solid #d0d5dd;border-radius:8px;padding:8px 10px;background:#fff;color:#111827;font:inherit}.toolbar-search-input:focus{outline:2px solid #175cd3;outline-offset:1px;border-color:#175cd3}.toolbar-search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:40;display:grid;gap:4px;padding:8px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;box-shadow:0 14px 30px #0f172a24}.toolbar-search-result{border:none;background:transparent;color:#111827;font:inherit;text-align:left;padding:8px 10px;border-radius:8px;cursor:pointer}.toolbar-search-result:hover{background:#f2f4f7}.toolbar-search-empty{padding:8px 10px;color:#667085;font-size:13px}.desktop-update-panel{display:grid;gap:6px}.desktop-update-progress{min-width:240px;max-width:280px}.desktop-update-progress-text,.desktop-update-progress-meta{font-size:12px;color:#475467}.desktop-update-progress-bar{width:100%;height:8px;margin-top:4px;border-radius:999px;overflow:hidden;background:#d0d5dd}.desktop-update-progress-bar-fill{height:100%;border-radius:inherit;background:#175cd3;transition:width .16s ease-out}.desktop-update-progress-meta{margin-top:4px}.filter-dropdown{position:relative}.filter-trigger{border:none;background:transparent;color:#175cd3;font-size:14px;font-weight:600;padding:6px 2px;cursor:pointer}.filter-trigger:hover{color:#1849a9;text-decoration:underline}.calendar-view-toggle{border:none;background:transparent;color:#111827;font-size:14px;font-weight:700;padding:6px 2px;margin-right:6px;cursor:pointer}.calendar-view-toggle:hover{color:#111827;text-decoration:underline}.filter-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:30;min-width:220px;max-height:300px;overflow:auto;border:1px solid #d0d5dd;border-radius:10px;background:#fff;box-shadow:0 12px 24px #0f172a1f;padding:6px}.filter-option{width:100%;border:none;background:transparent;border-radius:8px;padding:7px 8px;text-align:left;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.filter-option:hover{background:#f2f4f7}.filter-option-row{display:flex;align-items:center;gap:4px}.filter-option-main{flex:1}.filter-option-editing{flex:1;cursor:default}.filter-option-editing:hover{background:transparent}.filter-edit-input{border:none;border-bottom:1px solid #d0d5dd;background:transparent;padding:0;margin:0;font:inherit;color:#111827;width:100%;min-width:0}.filter-edit-input:focus{outline:none;border-bottom-color:#175cd3}.filter-edit-button{width:20px;height:20px;min-width:20px;border:none;border-radius:6px;background:transparent;color:#667085;font-size:12px;line-height:1;cursor:pointer}.filter-edit-button:hover{background:#f2f4f7;color:#111827}.filter-check{width:16px;height:16px;border:1px solid #d0d5dd;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;color:#175cd3;font-size:12px;line-height:1}.filter-check.is-selected{border-color:#175cd3;background:#eff8ff}.priority-filter-icon{font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center;width:18px}.board-grid{display:grid;grid-template-columns:repeat(6,minmax(230px,1fr));gap:12px;overflow-x:auto;padding-bottom:8px}.board-grid-day{grid-template-columns:repeat(5,minmax(0,1fr))}.board-grid-acrm{grid-template-columns:repeat(3,minmax(0,1fr))}.board-grid-day .task-card{padding:10px}.board-grid-day .task-head{gap:10px}.column{background:#fff;border:1px solid #d0d5dd;border-radius:10px;min-height:70vh;padding:10px}.column-header{position:relative;display:flex;justify-content:center;align-items:center;gap:8px;padding:0 32px;margin-bottom:10px}.column-header h2{margin:0;font-size:14px;text-align:center}.column-header-action{position:absolute;right:0;top:50%;transform:translateY(-50%)}.column-header-action-clear{top:50%;transform:translateY(-50%)}.column-list{display:flex;flex-direction:column;gap:8px}.task-card{border:1px solid #d0d5dd;border-radius:8px;background:#fff;padding:10px;cursor:grab}.task-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.task-priority-wrap{display:inline-flex;align-items:center;gap:6px}.task-title{font-size:14px;line-height:1.35;font-weight:600;flex:1;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.task-project-prefix{color:#175cd3}.task-description{margin-top:8px;font-size:13px;color:#475467;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.priority-badge{font-size:12px;width:22px;height:22px;border-radius:999px;border:1px solid #d0d5dd;background:#f8fafc;color:#111827;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-weight:700;flex-shrink:0}.priority-low,.priority-medium,.priority-high,.priority-critical{background:#f8fafc;color:#111827;border-color:#d0d5dd}.button{border:1px solid #d0d5dd;background:#fff;color:#1d2939;border-radius:8px;padding:6px 10px;cursor:pointer}.button:disabled{cursor:not-allowed;opacity:.5}.button-primary{background:#175cd3;color:#fff;border-color:#175cd3}.button-ghost{border:none;background:transparent}.input,.textarea,.select{width:100%;border:1px solid #d0d5dd;border-radius:8px;padding:8px;font:inherit}.textarea-autogrow{min-height:38px;line-height:1.4;resize:none;overflow:hidden}.field-label{margin-top:12px;margin-bottom:6px;display:block;font-size:13px;color:#111827;font-weight:700}.fields-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.new-project-block{margin-top:8px;display:flex;align-items:flex-start;gap:8px}.new-project-block .button{white-space:nowrap;min-height:32px;font-size:14px;padding:6px 10px;display:inline-flex;align-items:center}.new-project-name-input{min-height:32px;height:32px;font-size:14px;line-height:1.2;padding-top:6px;padding-bottom:6px}.new-project-block-compact{margin-top:6px}.add-checklist-toggle{margin-top:12px;border:none;background:transparent;color:#175cd3;font-weight:600;cursor:pointer;padding:0}.add-checklist-toggle:hover{text-decoration:underline}.checklist-block{margin-top:10px}.checklist-list{display:flex;flex-direction:column;gap:8px}.checklist-row{display:flex;align-items:flex-start;gap:8px}.check-box{width:18px;height:18px;min-width:18px;border:1px solid #d0d5dd;border-radius:4px;background:#fff;color:#111827;display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:1;padding:0;cursor:pointer}.check-box.is-active{border-color:#111827}.check-box.is-checked{background:#f3f4f6}.check-input{border:none;border-bottom:1px solid #d0d5dd;outline:none;width:100%;font:inherit;line-height:1.2;color:#1d2939;padding:0;margin:0;position:relative;top:-1px;background:transparent}.check-text{border:none;background:transparent;padding:0;margin:0;text-align:left;font:inherit;line-height:1.2;color:#1d2939;cursor:pointer;flex:1;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;position:relative;top:-1px}.check-text.is-done{text-decoration:line-through;color:#667085}.check-actions{display:flex;align-items:center;gap:6px}.deadline-with-marker{display:inline-flex;align-items:center;gap:6px}.icon-button{border:none;background:transparent;cursor:pointer;color:#475467;padding:0;font-size:20px;line-height:1}.icon-button:hover{color:#111827}.check-add{margin-top:8px;border:1px dashed #98a2b3;background:#fff;border-radius:8px;width:28px;height:28px;font-size:18px;line-height:1;cursor:pointer}.checklist-preplus-spacer{height:24px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:#0f172a61;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:16px}.modal{width:min(600px,100%);background:#fff;border-radius:10px;border:1px solid #d0d5dd;padding:14px}.modal-large{width:min(1080px,100%);max-height:108vh;overflow:auto}.confirm-modal{width:min(360px,100%)}.modal-header{display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0}.create-task-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.modal-header-task{align-items:flex-start;gap:10px}.task-title-wrap{flex:1;min-width:0}.task-title-button{border:none;background:transparent;padding:0;margin:0;font:inherit;font-size:22px;font-weight:700;line-height:1.25;text-align:left;color:#111827;cursor:pointer;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.task-title-input{font-size:22px;font-weight:700;line-height:1.25;padding:0;margin:0;border:none;border-radius:0;background:transparent;color:#111827}.task-inline-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.time-range-editor{display:inline-flex;align-items:center;gap:4px;min-height:32px;justify-content:center;width:100%}.time-wheel-input{width:34px;min-width:34px;height:28px;border:1px solid #d0d5dd;border-radius:8px;text-align:center;padding:0 4px;font:inherit;font-size:12px;color:#111827;background:#fff}.time-range-separator,.time-range-dash{color:#667085;font-size:12px;font-weight:700}.select-compact{width:auto;min-width:112px;max-width:180px;font-size:13px;padding:6px 8px}.project-select-compact .select-compact{min-width:150px;max-width:190px}.project-recurrence-row{display:flex;align-items:flex-start;gap:8px}.project-select-grow{flex:1;min-width:0}.recurrence-menu{position:relative;flex-shrink:0}.recurrence-trigger{width:32px;height:32px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:#475467;font-size:18px;line-height:1;cursor:pointer}.recurrence-trigger.is-active{color:#0f766e;border-color:#99f6e4;background:#f0fdfa}.recurrence-menu-list{position:absolute;top:calc(100% + 8px);right:0;z-index:90;min-width:168px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;box-shadow:0 14px 30px #0f172a29;padding:6px}.recurrence-menu-item{width:100%;border:none;background:transparent;text-align:left;padding:8px 10px;border-radius:8px;font:inherit;font-size:14px;color:#101828;cursor:pointer}.recurrence-menu-item:hover{background:#f2f4f7}.recurrence-editor-overlay{z-index:170}.recurrence-editor-modal{width:min(360px,100%)}.recurrence-editor-header{align-items:center;margin-bottom:8px}.recurrence-editor-header-actions{display:flex;align-items:center;gap:6px}.recurrence-clear-button{color:#b42318;min-width:36px;min-height:36px;padding:0;font-size:28px;line-height:1}.recurrence-clear-button:hover{color:#912018}.recurrence-error-banner{margin-top:10px;padding:10px 12px}.deadline-picker{position:relative;flex-shrink:0}.deadline-trigger{border:1px solid #d0d5dd;background:#fff;color:#1d2939;border-radius:8px;font-size:13px;line-height:1;min-height:32px;min-width:38px;padding:7px 10px;cursor:pointer}.deadline-trigger.has-value{min-width:110px;font-weight:600}.calendar-icon{position:relative;display:inline-block;width:15px;height:15px;border:2px solid currentColor;border-radius:3px;vertical-align:-2px}.calendar-icon:before{content:"";position:absolute;left:-2px;right:-2px;top:3px;border-top:2px solid currentColor}.calendar-icon:after{content:"";position:absolute;left:3px;top:-4px;width:5px;height:4px;border-left:2px solid currentColor;border-right:2px solid currentColor}.deadline-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:60;width:230px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;box-shadow:0 14px 30px #0f172a33;padding:10px}.deadline-popover-footer{margin-top:8px;padding-top:8px;border-top:1px solid #e4e7ec}.deadline-popover.is-up{top:auto;bottom:calc(100% + 8px)}.deadline-controls{display:grid;grid-template-columns:1fr auto;gap:6px;margin-bottom:8px;align-items:center}.deadline-month-pill{min-height:30px;border:1px solid #d0d5dd;border-radius:999px;background:#f9fafb;color:#1d2939;display:grid;grid-template-columns:28px 1fr 28px;align-items:center;overflow:hidden}.deadline-month-label{min-width:0;text-align:center;font-size:12px;font-weight:700;white-space:nowrap}.deadline-month-arrow{width:28px;height:28px;border:none;background:transparent;color:#475467;cursor:pointer;font-size:22px;line-height:1;padding:0 0 2px}.deadline-month-arrow:hover{background:#eef2f6;color:#111827}.deadline-clear-button{border:none;background:transparent;color:#dc2626;font-size:16px;line-height:1;width:22px;height:22px;border-radius:6px;cursor:pointer;padding:0}.deadline-clear-button:hover{background:#fef2f2}.deadline-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.deadline-cell{border:1px solid #d0d5dd;border-radius:6px;height:26px;font-size:12px;background:#fff;color:#1d2939;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.deadline-cell:hover{background:#f2f4f7}.deadline-cell.is-today{border-color:#175cd3;background:#eff8ff;color:#1849a9}.deadline-cell.is-selected{background:#175cd3;border-color:#175cd3;color:#fff}.deadline-cell-empty{border-color:transparent;background:transparent;cursor:default}.deadline-picker-checklist .deadline-trigger{min-width:34px;min-height:28px;padding:5px 8px;font-size:12px}.deadline-picker-checklist .deadline-trigger.has-value{min-width:98px}.deadline-popover-checklist{right:0}.deadline-warning{position:relative;display:inline-flex;align-items:center;justify-content:center;width:17px;height:16px;clip-path:polygon(50% 0%,0% 100%,100% 100%);flex-shrink:0}.deadline-warning-yellow{background:#facc15}.deadline-warning-mark{position:absolute;top:4px;font-size:11px;line-height:1;font-weight:800;color:#111827}.deadline-filter-check{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:999px;background:#22c55e;color:#fff;font-size:10px;font-weight:700}.task-modal .task-description-input{margin-top:14px;margin-bottom:112px;margin-bottom:7lh;width:calc(100% - 44px);max-width:100%}.modal-actions{margin-top:12px;display:flex;justify-content:flex-end;gap:8px}.delete-action-wrap{position:relative}.inline-delete-confirm{position:absolute;right:0;bottom:calc(100% + 8px);min-width:266px;min-height:98px;display:flex;flex-direction:column;border:1px solid #d0d5dd;border-radius:10px;background:#fff;box-shadow:0 12px 24px #0f172a29;padding:11px;z-index:80}.inline-delete-confirm-text{font-size:14px;font-weight:600;line-height:1.3;color:#344054;margin-bottom:8px}.inline-delete-confirm-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:auto}.inline-delete-confirm .button{padding:8px 14px;font-size:13px}.inline-clear-confirm{position:absolute;right:0;top:calc(100% + 6px);min-width:150px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;box-shadow:0 10px 20px #0f172a1f;padding:8px;z-index:40}.inline-clear-confirm-text{font-size:12px;font-weight:600;color:#344054;margin-bottom:6px}.inline-clear-confirm-actions{display:flex;justify-content:flex-end;gap:6px}.inline-clear-confirm .button{padding:4px 8px;font-size:12px}.muted{color:#667085;margin:0}.error-banner{margin-bottom:12px;border:1px solid #fecdca;background:#fef3f2;color:#b42318;border-radius:8px;padding:8px 10px}.offline-banner{margin-bottom:12px;border:1px solid #fedf89;background:#fffaeb;color:#93370d;border-radius:8px;padding:8px 10px}.calendar-board{height:calc((100vh - 80px)*.95);overflow:hidden}.calendar-day-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);grid-template-rows:minmax(0,1fr);gap:16px;align-items:start;height:100%}.calendar-week-layout{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;gap:6px}.calendar-week-header{display:grid;grid-template-columns:42px 1fr 42px;gap:12px;align-items:center;flex-shrink:0;background:#f8fafc}.calendar-week-meta{text-align:center;font-size:14px;font-weight:700;color:#111827}.calendar-week-meta-button{border:none;background:transparent;width:100%;cursor:pointer}.calendar-week-range-picker{position:relative}.calendar-week-range-popover{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:40;width:230px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;box-shadow:0 14px 30px #0f172a33;padding:10px}.calendar-week-nav{border:1px solid #d0d5dd;background:#fff;border-radius:10px;height:38px;color:#344054;font-size:24px;line-height:1;cursor:pointer}.calendar-week-column-head{width:100%;border:none;background:transparent;display:grid;gap:2px;justify-items:center;margin-bottom:10px;cursor:pointer;color:#111827}.calendar-week-column-head.is-selected{background:#175cd30f}.calendar-week-column-head-table{min-width:0;padding:10px 6px 8px;border-left:1px solid #d0d5dd;border-bottom:1px solid #d0d5dd;border-radius:0;margin-bottom:0}.calendar-week-column-head-table:first-of-type{border-left:none}.calendar-week-column-head span{font-size:12px;font-weight:700;color:#667085}.calendar-week-column-head strong{font-size:18px}.calendar-main-pane,.calendar-day-scroll-shell{min-width:0;height:100%;min-height:0;overflow:hidden}.calendar-mini-panel{border:1px solid #d0d5dd;border-radius:12px;background:#fff;padding:12px;position:sticky;top:0;align-self:start}.calendar-mini-header{margin-bottom:10px;display:grid;grid-template-columns:28px 1fr 28px;align-items:center;gap:8px}.calendar-mini-title{font-size:15px;font-weight:700;color:#111827;text-align:center}.calendar-mini-nav{width:28px;height:28px;border:none;background:transparent;color:#475467;cursor:pointer;font-size:22px;line-height:1;padding:0 0 2px;border-radius:8px}.calendar-mini-nav:hover{background:#eef2f6;color:#111827}.calendar-mini-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:6px;color:#667085;font-size:11px;font-weight:700;text-align:center}.calendar-mini-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-mini-cell{border:1px solid #d0d5dd;background:#fff;color:#111827;border-radius:8px;min-height:34px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer}.calendar-mini-cell.is-today{border-color:#175cd3;color:#175cd3}.calendar-mini-cell.is-selected{background:#175cd3;border-color:#175cd3;color:#fff}.calendar-mini-cell-empty{border-color:transparent;background:transparent;cursor:default}.calendar-day-lane{display:flex;flex-direction:column;gap:20px;height:100%}.calendar-all-day-shell{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:start;flex-shrink:0}.calendar-all-day-spacer{min-height:1px}.calendar-all-day-scroll-region{min-width:0;overflow:visible}.calendar-all-day{min-height:0;max-height:122px;overflow-y:auto;border:1px solid #d0d5dd;border-radius:12px;background:#fff;padding:10px;display:flex;flex-direction:column;gap:8px;margin-bottom:12px;-webkit-overflow-scrolling:touch}.calendar-day-grid-shell{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;flex:1;min-height:0;overflow-y:auto;padding-top:16px;align-items:start}.calendar-day-grid-scroll-region{min-width:0;overflow:visible}.calendar-time-axis{position:relative;height:1100px;background:#fff}.calendar-time-label{position:absolute;right:0;transform:translateY(-50%);font-size:12px;font-weight:700;color:#667085}.calendar-time-axis-content .calendar-time-label:first-child{transform:none}.calendar-day-grid{position:relative;height:1100px;border:1px solid #d0d5dd;border-radius:12px;background:linear-gradient(180deg,#175cd305,#175cd303),#fff}.calendar-quarter-line{position:absolute;left:0;right:0;height:0;border-top:1px solid rgba(208,213,221,.55)}.calendar-quarter-line.is-hour{border-top-color:#98a2b3cc}.calendar-selection-overlay{position:absolute;left:3px;right:3px;border-radius:14px;background:#175cd31f;border:1px dashed rgba(23,92,211,.45);pointer-events:none}.calendar-now-line{position:absolute;left:0;right:0;height:0;border-top:2px solid #d92d20;pointer-events:none;z-index:4;transition:top 60s linear}.calendar-now-line-dot{position:absolute;left:-5px;top:-6px;width:10px;height:10px;border-radius:999px;background:#d92d20;box-shadow:0 0 0 2px #fffffff2}.calendar-overflow-indicator{position:absolute;left:0;width:4px;border-radius:999px;background:#d92d20;pointer-events:none;z-index:5}.calendar-task-pill{position:relative;border:1px solid;border-radius:16px;box-shadow:0 10px 20px #0f172a14;cursor:grab;text-align:left;padding:9px 28px 9px 12px;display:grid;gap:4px;min-width:0;align-content:start}.calendar-task-pill.is-all-day{align-self:stretch;width:100%;padding:5px 24px 5px 8px;border-radius:12px;gap:2px}.calendar-task-pill.is-timed{position:absolute;padding:12px 28px 10px 12px;border-radius:18px;min-height:24px;overflow:hidden}.calendar-task-pill.is-dragging{opacity:.3}.calendar-task-pill.is-compact .calendar-task-pill-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-task-pill.is-subhour-timed{padding:1px 20px 0 8px;min-height:0;gap:0;border-radius:10px;align-content:center}.calendar-task-pill.is-subhour-timed .calendar-task-pill-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.05;align-self:center}.calendar-task-pill-title{font-size:12px;font-weight:700;line-height:1.2;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.calendar-task-pill-time{font-size:11px;font-weight:600;opacity:.85;align-self:start}.calendar-task-drag-handle{display:none}.calendar-task-delete-button{position:absolute;top:5px;right:6px;width:16px;height:16px;border:none;padding:0;border-radius:999px;background:#d92d20;color:#fff;font-size:12px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:4}.calendar-task-delete-button.is-timed{top:7px;right:8px}.calendar-drag-preview{position:fixed;z-index:200;box-shadow:0 16px 32px #0f172a2e;pointer-events:none;transform:translateZ(0);box-sizing:border-box;overflow:hidden;margin:0;cursor:grabbing}.calendar-drag-preview.calendar-task-pill,.calendar-drag-preview.calendar-task-pill.is-timed,.calendar-drag-preview.calendar-task-pill.is-all-day{position:fixed}.calendar-week-scroll-shell{display:flex;flex:1;min-width:0;min-height:0;overflow:hidden}.calendar-week-table{flex:1;height:100%;min-height:0;min-width:950px;display:flex;flex-direction:column;overflow:hidden;border:1px solid #d0d5dd;border-radius:12px;background:#fff}.calendar-week-head-row{display:grid;grid-template-columns:56px minmax(0,1fr);flex-shrink:0;background:#fff;box-sizing:border-box;padding-right:var(--calendar-week-scrollbar-offset, 0px)}.calendar-week-head-scroll-region{min-width:0;overflow:visible}.calendar-week-head-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0}.calendar-week-all-day-row{display:grid;grid-template-columns:56px minmax(0,1fr);flex-shrink:0;background:#fff;margin-bottom:1px;box-sizing:border-box;padding-right:var(--calendar-week-scrollbar-offset, 0px)}.calendar-week-all-day-scroll-region{min-width:0;overflow:visible}.calendar-week-all-day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0}.calendar-week-timed-row{flex:1;min-height:0;overflow:hidden;padding-top:16px}.calendar-week-axis-spacer{border-bottom:1px solid #d0d5dd;background:#fff}.calendar-week-all-day-spacer{border-right:1px solid #d0d5dd}.calendar-week-all-day-cell{min-width:0;max-height:85px;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px;border-left:1px solid #d0d5dd;border-bottom:1px solid #d0d5dd;-webkit-overflow-scrolling:touch}.calendar-week-all-day-cell:first-of-type{border-left:none}.calendar-week-all-day-cell.is-selected{background:#175cd308}.calendar-time-axis-week{position:sticky;top:0;left:0;z-index:3;flex:0 0 56px;height:100%;min-height:0;overflow:hidden;border-right:1px solid #d0d5dd;background:#fff}.calendar-week-grid-scroll-content{display:flex;align-items:flex-start;min-width:max-content;min-height:1100px}.calendar-time-axis-content{position:relative;height:1100px}.calendar-time-axis-week .calendar-time-label{right:8px}.calendar-week-grid{flex:1 0 890px;position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:890px;height:1100px}.calendar-week-grid-scroll-region{min-width:0;min-height:0;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.calendar-week-grid-day{position:relative;min-width:0;border-left:1px solid #d0d5dd}.calendar-week-grid-day:first-child{border-left:none}.calendar-week-grid-day.is-selected{background:#175cd308}.calendar-week-mobile-shell{display:none}.calendar-task-resize{position:absolute;left:10px;right:10px;height:12px;cursor:ns-resize;z-index:3}.calendar-task-resize-top{top:-4px}.calendar-task-resize-bottom{bottom:-4px}@media (max-width: 1200px){.board-grid{grid-template-columns:repeat(6,minmax(220px,1fr))}.board-grid-day{grid-template-columns:repeat(5,minmax(0,1fr))}.board-grid-acrm{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-day-layout{grid-template-columns:1fr}}@media (max-width: 760px){.app.is-calendar-board{height:auto;min-height:100dvh;overflow:visible}.app.is-calendar-board .calendar-board{flex:0 0 auto;height:auto;overflow:visible}.toolbar{align-items:flex-start;flex-direction:column;gap:6px}.toolbar-filters{gap:10px;width:100%;flex-wrap:wrap}.toolbar-search{width:100%;flex-basis:100%}.board-grid,.fields-row{grid-template-columns:1fr}.column{min-height:auto}.modal-header-task{flex-wrap:wrap}.task-inline-controls{width:100%}.select-compact{min-width:104px;max-width:100%}.project-select-compact .select-compact{min-width:128px}.deadline-popover{right:auto;left:0}.task-modal .task-description-input{width:100%}.calendar-day-lane{min-width:0}.calendar-week-table{min-width:0;width:100%}.calendar-day-layout{grid-template-columns:1fr;grid-template-rows:auto auto;height:auto;min-height:auto}.calendar-day-grid-shell{grid-template-columns:42px 1fr;column-gap:12px;overflow-y:visible}.calendar-week-head-row,.calendar-week-all-day-row{grid-template-columns:42px minmax(0,1fr)}.calendar-week-timed-row{grid-template-columns:42px 1fr}.calendar-all-day-shell{grid-template-columns:42px minmax(0,1fr)}.calendar-time-axis{width:42px;height:1100px}.calendar-time-axis-week{width:42px;flex:0 0 42px}.calendar-day-grid{width:100%;min-width:0;height:1100px}.calendar-all-day{width:100%;min-width:0}.calendar-main-pane,.calendar-day-scroll-shell,.calendar-day-lane{height:auto;min-height:0;overflow:visible}.calendar-mini-panel{position:static}.calendar-task-pill{cursor:pointer;user-select:none;-webkit-user-select:none}.calendar-task-transfer-handle{position:absolute;right:28px;top:50%;z-index:4;display:inline-flex;width:18px;height:18px;padding:0;border:none;border-radius:6px;background:#ffffffb3;cursor:grab;transform:translateY(-50%);touch-action:none;align-items:center;justify-content:center}.calendar-task-transfer-handle:before{content:"";display:block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:5px solid currentColor}.calendar-task-transfer-handle:after{content:"";display:block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;margin-top:2px}.calendar-task-pill.is-timed .calendar-task-transfer-handle,.calendar-task-pill.is-subhour-timed .calendar-task-transfer-handle{right:30px}.calendar-week-mobile-shell{display:flex;flex:0 0 auto;min-width:0;width:100%;overflow:hidden;border:1px solid #d0d5dd;border-radius:12px;background:#fff}.calendar-week-mobile-x-scroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.calendar-week-mobile-wide{width:1310px;min-width:1310px;display:flex;flex-direction:column;background:#fff}.calendar-week-mobile-head-row,.calendar-week-mobile-all-day-row{display:grid;grid-template-columns:42px 1265px;flex-shrink:0;background:#fff}.calendar-week-mobile-all-day-row{margin-bottom:1px}.calendar-week-mobile-timed-viewport{width:1310px;max-height:58vh;min-height:360px;overflow-x:visible;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-top:16px}.calendar-week-head-grid,.calendar-week-all-day-grid,.calendar-week-grid{min-width:1265px}.calendar-week-grid{flex:0 0 1265px}.calendar-week-grid-scroll-content{min-width:1310px}.calendar-all-day-scroll-region,.calendar-day-grid-scroll-region,.calendar-week-head-scroll-region,.calendar-week-all-day-scroll-region,.calendar-week-grid-scroll-region{width:100%;max-width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:none}.calendar-all-day-scroll-region::-webkit-scrollbar,.calendar-day-grid-scroll-region::-webkit-scrollbar,.calendar-week-head-scroll-region::-webkit-scrollbar,.calendar-week-all-day-scroll-region::-webkit-scrollbar,.calendar-week-grid-scroll-region::-webkit-scrollbar{display:none}.calendar-all-day-scroll-region,.calendar-day-grid-scroll-region,.calendar-week-head-scroll-region,.calendar-week-all-day-scroll-region{overflow-x:auto}.calendar-week-head-scroll-region,.calendar-week-all-day-scroll-region{overflow-x:hidden;overflow-y:hidden;touch-action:none}.calendar-week-head-grid,.calendar-week-all-day-grid{touch-action:none}.calendar-week-grid-scroll-region{overflow-x:auto;overflow-y:auto}.app.is-calendar-board{padding-bottom:0}.calendar-time-axis,.calendar-all-day-spacer,.calendar-week-axis-spacer,.calendar-week-all-day-spacer,.calendar-time-axis-week,.calendar-week-column-head-table{background:#fff}.calendar-quarter-line{transform:translateY(-1px)}}
