:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1d263b;background:#f7f8fb;font-synthesis:none;--bg:#f7f8fb;--panel:#fff;--ink:#1d263b;--muted:#8791a4;--border:#edf0f5;--accent:#745df5;--accent-light:#f0edff;--shadow:0 6px 24px #24335d08;--sidebar:#fff}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}input,select,textarea{color:var(--ink)}.app-layout{display:flex;min-height:100vh}.sidebar{width:259px;flex-shrink:0;background:var(--sidebar);border-right:1px solid var(--border);padding:29px 17px 24px;display:flex;flex-direction:column;position:sticky;height:100vh;top:0;z-index:15}.brand{display:flex;align-items:center;gap:11px;padding:0 13px 33px}.brand-symbol{width:36px;height:36px;border-radius:12px;background:linear-gradient(140deg,#8a75ff,#5e55ec);color:white;display:grid;place-items:center;font-size:24px;box-shadow:0 6px 15px #7868ef40}.brand strong{display:block;font-size:22px;letter-spacing:-.9px}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.25px;margin-top:1px}.group-label{padding-left:15px;font-size:10px;font-weight:800;letter-spacing:1.7px;color:#acb3c2;margin:10px 0 11px}.nav,.list-links{display:grid;gap:4px}.nav-link{border:0;border-radius:10px;background:transparent;display:flex;align-items:center;text-align:left;padding:11px 14px;color:#737f95;font-weight:600;font-size:13px;gap:11px;width:100%}.nav-link:hover,.list-link:hover{background:var(--accent-light);color:var(--accent)}.nav-link.active{background:#f0edff;color:#6d58eb}.nav-icon{font-size:19px;width:20px;text-align:center;line-height:1}.nav-counter{font-size:11px;background:#e2dcff;padding:3px 8px;color:#7057ee;border-radius:20px;margin-left:auto}.list-links{margin-bottom:15px}.list-link{display:flex;gap:12px;align-items:center;text-align:left;border:0;background:transparent;color:#7d8798;padding:10px 16px;font-size:13px;border-radius:10px}.list-link.active{background:var(--accent-light);color:var(--accent)}.list-dot{width:9px;height:9px;border-radius:3px;background:#f5b87b;display:inline-block}.sidebar-footer{margin-top:auto}.sidebar-tip{padding:17px;margin:19px 5px 0;border-radius:13px;background:linear-gradient(130deg,#f0edff,#f8f4ff);color:#8b7dbb;line-height:1.65;font-size:12px}.sidebar-tip strong{color:#695c9b}.workspace{min-width:0;flex:1}.topbar{height:79px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 6.1%;background:var(--panel)}.topbar-left,.topbar-actions{display:flex;align-items:center;gap:21px}.breadcrumbs{font-size:12px;color:#a0aabc}.breadcrumbs span{padding:0 10px;color:#c5cad3}.breadcrumbs b{color:#586478;font-weight:600}.sync-indicator{display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:999px;padding:7px 12px;font-size:11px;color:#7b8a9f;font-weight:650;background:var(--panel);max-width:200px}.status-dot{height:7px;width:7px;border-radius:50%;background:#f8b35a;flex-shrink:0}.sync-indicator.synced .status-dot{background:#5bc99b}.sync-indicator.warning .status-dot{background:#ef7878}.icon-button{border:0;background:transparent;color:#8995aa;display:grid;place-items:center;width:29px;height:29px;font-size:18px;border-radius:8px}.icon-button:hover{background:var(--accent-light)}.avatar-button{width:33px;height:33px;border-radius:50%;border:0;background:#e6dffd;color:#7256d2;font-weight:800}.page-content{width:min(1030px,88%);margin:45px auto 70px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}.eyebrow{font-size:10px;letter-spacing:2.1px;color:#9d90eb;font-weight:850}.page-heading h1{font-size:33px;letter-spacing:-1.4px;margin:8px 0 8px;font-weight:790}.page-heading p{font-size:13px;color:#98a1b1;margin:0}.date-stamp{font-size:12px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px 17px;color:#79859c;font-weight:650;white-space:nowrap}.summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.summary-card{display:flex;align-items:center;gap:15px;border:1px solid var(--border);border-radius:15px;background:var(--panel);padding:21px 20px;box-shadow:var(--shadow);min-width:0}.summary-icon{height:43px;width:43px;flex-shrink:0;border-radius:12px;display:grid;place-items:center;font-size:21px;font-weight:800}.summary-icon.coral{background:#fff1ed;color:#fb8a73}.summary-icon.lilac{background:#f2efff;color:#a18aff}.summary-icon.mint{background:#eafaf4;color:#50cba0}.summary-value{font-size:25px;display:block;letter-spacing:-.9px;font-weight:780}.summary-text{font-size:11px;display:block;color:#9ca5b4;margin-top:4px}.add-panel{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);border-radius:15px;padding:17px 20px;margin-bottom:32px}.quick-add{display:flex;align-items:center;gap:13px}.quick-icon{height:30px;width:30px;background:var(--accent-light);color:var(--accent);border-radius:9px;display:grid;place-items:center;font-size:22px;flex-shrink:0}.quick-add input{border:0;outline:0;flex:1;min-width:0;font-size:14px;background:transparent}.quick-add input::placeholder{color:#b8c0cd}.primary-button{border:0;color:white;background:#745df5;border-radius:9px;font-weight:700;font-size:12px;padding:12px 17px;display:inline-flex;justify-content:center;align-items:center;gap:13px;white-space:nowrap}.primary-button:hover{background:#6048d8}.quick-fields{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-left:43px;margin-top:12px}.quick-fields label{display:flex;align-items:center;gap:7px;color:#a5afbf;font-size:10px}.quick-fields input,.quick-fields select{border:1px solid var(--border);border-radius:6px;padding:5px 7px;background:var(--panel);color:#66738b;font-size:11px;max-width:140px}.main-area{min-height:260px}.section-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 13px;gap:12px}.section-title{font-size:16px;letter-spacing:-.3px;font-weight:760}.count-pill{font-size:11px;background:#eceafa;color:#8878cd;padding:4px 9px;border-radius:8px;margin-left:9px}.section-tools{display:flex;gap:8px;align-items:center}.search-input{border:1px solid var(--border);background:var(--panel);border-radius:9px;padding:9px 11px;font-size:12px;width:180px;outline-color:var(--accent)}.task-list{background:var(--panel);border:1px solid var(--border);border-radius:15px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:27px}.task-row{display:flex;align-items:center;gap:13px;padding:15px 19px;border-bottom:1px solid var(--border);transition:background .15s}.task-row:last-child{border-bottom:0}.task-row:hover{background:rgba(117,93,245,.025)}.task-toggle{appearance:none;width:19px;height:19px;border:1.8px solid #cbd2df;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:transparent;cursor:pointer}.task-toggle.checked{background:#6f61e8;border-color:#6f61e8;color:white}.task-toggle.checked::before{content:'✓';font-size:12px;font-weight:800}.task-main{flex:1;min-width:0;cursor:pointer}.task-title{font-size:13px;color:var(--ink);font-weight:630;overflow-wrap:anywhere}.task-row.completed .task-title{text-decoration:line-through;color:#aab3c1}.task-sub{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:6px;font-size:10px;color:#a5afbd}.priority-chip{font-size:10px;font-weight:700;border-radius:6px;padding:3px 6px}.priority-chip.high{color:#d85f67;background:#fff0ef}.priority-chip.medium{color:#d39b3d;background:#fff7e5}.priority-chip.low{color:#5b9bd2;background:#eef6ff}.task-edit{border:0;background:transparent;font-size:17px;color:#acb6c3;padding:3px 6px}.task-edit:hover{color:var(--accent)}.task-date.overdue{color:#e86e72}.task-date.today{color:#8063dc}.empty-state{padding:56px 22px;text-align:center;border:1px dashed #d8dbea;border-radius:15px;background:var(--panel)}.empty-illustration{display:grid;place-items:center;width:65px;height:65px;border-radius:19px;background:var(--accent-light);color:var(--accent);font-size:29px;margin:0 auto 19px}.empty-state h3{margin:0 0 8px;font-size:16px}.empty-state p{margin:0 auto;color:var(--muted);font-size:12px;line-height:1.7;max-width:340px}.calendar-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px}.calendar-actions{display:flex;gap:6px}.calendar-actions button,.secondary-button{border:1px solid var(--border);background:var(--panel);border-radius:9px;padding:10px 13px;color:var(--ink);font-size:12px;font-weight:700}.calendar-actions button:hover,.secondary-button:hover{border-color:#c4b9fd}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--panel);border-radius:15px;border:1px solid var(--border);overflow:hidden}.weekday{padding:12px 8px;font-size:11px;font-weight:700;color:var(--muted);text-align:center;background:#fcfcfe;border-bottom:1px solid var(--border)}.day-cell{background:var(--panel);min-height:106px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:10px 8px;overflow:hidden}.day-cell:nth-child(7n){border-right:0}.day-cell.other-month{opacity:.37}.day-cell.current-day .day-number{background:var(--accent);color:white}.day-number{display:grid;place-items:center;font-weight:700;font-size:12px;width:26px;height:26px;border-radius:8px;margin-bottom:8px}.calendar-event{display:block;border-radius:5px;background:#f1efff;color:#6755c9;padding:4px 5px;font-size:10px;line-height:1.25;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.calendar-event.done{background:#eaf9f2;color:#489c76;text-decoration:line-through}.stats-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}.stat-panel{background:var(--panel);border:1px solid var(--border);padding:23px;border-radius:15px}.stat-panel h3{font-size:15px;margin:0 0 20px}.bar-chart{display:flex;align-items:end;gap:14px;height:170px;border-bottom:1px solid var(--border);padding-bottom:7px}.bar-slot{height:100%;display:flex;flex:1;justify-content:end;align-items:center;flex-direction:column;gap:7px;min-width:0}.bar-track{height:130px;width:100%;display:flex;align-items:flex-end;justify-content:center}.bar-track div{width:min(35px,70%);min-height:3px;background:linear-gradient(180deg,#a393ff,#7261ed);border-radius:8px 8px 3px 3px}.bar-name{font-size:10px;color:var(--muted)}.stats-list{display:grid;gap:18px}.stats-line{display:flex;justify-content:space-between;font-size:12px}.stats-line span{color:var(--muted)}.stats-line b{font-size:14px}.settings-card{border:1px solid var(--border);background:var(--panel);padding:24px;border-radius:15px;margin-bottom:16px}.settings-card p{font-size:13px;line-height:1.75;color:var(--muted);margin:8px 0 18px}.settings-actions{display:flex;gap:10px;flex-wrap:wrap}.dialog{border:1px solid var(--border);border-radius:18px;width:min(520px,calc(100vw - 28px));padding:26px;background:var(--panel);color:var(--ink);box-shadow:0 30px 90px #16172a29;max-height:90vh;overflow:auto}.dialog::backdrop{background:#11182777;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.dialog-heading h2{margin:6px 0 0;font-size:23px;letter-spacing:-.7px}.field-label{display:flex;flex-direction:column;gap:7px;color:#677389;font-size:12px;font-weight:700;margin-bottom:15px}.field-label input,.field-label select,.field-label textarea{padding:11px 12px;width:100%;border:1px solid var(--border);background:var(--bg);border-radius:9px;color:var(--ink);outline-color:#9a8df0;font-weight:400}.field-label textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.dialog-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:15px}.danger-ghost{border:0;background:transparent;color:#db6b70;font-size:12px;font-weight:720;padding:10px}.cloud-note{border-radius:10px;padding:13px;background:var(--accent-light);color:#7260bb;font-size:12px;line-height:1.6;margin-bottom:21px}.auth-form{border-top:1px solid var(--border);margin-top:20px;padding-top:20px}.help-copy{font-size:11px;line-height:1.7;color:var(--muted)}.account-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.account-actions button{font-size:11px}.account-email{font-size:13px;font-weight:700}.toast{position:fixed;bottom:24px;right:26px;background:#2c3451;color:white;padding:13px 18px;border-radius:11px;font-size:12px;box-shadow:0 14px 35px #18203830;opacity:0;transform:translateY(20px);transition:.2s;pointer-events:none;max-width:min(380px,85vw);z-index:100}.toast.visible{opacity:1;transform:translateY(0)}.mobile-menu,.close-menu,.menu-overlay{display:none}
[data-theme="dark"]{--bg:#131622;--panel:#1d2231;--ink:#f0f1f8;--muted:#a3acc1;--border:#30384a;--sidebar:#191e2a;--accent-light:#342c53;--shadow:none;color-scheme:dark}[data-theme="dark"] .nav-link.active{background:#342c53;color:#b9aaff}[data-theme="dark"] .sidebar-tip{background:#312b49;color:#bcb0d3}[data-theme="dark"] .sidebar-tip strong{color:#ded4ff}[data-theme="dark"] .weekday{background:#202637}[data-theme="dark"] .calendar-event{background:#383052;color:#c6baff}[data-theme="dark"] .calendar-event.done{background:#223f37;color:#9ce0c2}[data-theme="dark"] .cloud-note{color:#c6baff}[data-theme="dark"] .task-row:hover{background:#24293a}
@media(max-width:1020px){.sidebar{width:222px}.topbar{padding:0 4%}.page-content{width:92%}.summary-card{padding:15px 12px}.summary-icon{width:38px;height:38px}.summary-text{font-size:10px}}
@media(max-width:760px){.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-100%);transition:transform .24s;width:270px;box-shadow:20px 0 80px #0002}.sidebar.open{transform:translateX(0)}.menu-overlay{position:fixed;inset:0;border:0;background:#11182766;z-index:14}.menu-overlay.open{display:block}.mobile-menu,.close-menu{display:grid}.close-menu{margin-left:auto}.topbar{height:64px;padding:0 18px}.breadcrumbs{font-size:11px}.topbar-actions{gap:10px}.sync-indicator{padding:6px 9px}.page-content{width:auto;margin:28px 16px 50px}.page-heading h1{font-size:28px}.date-stamp{display:none}.summary-strip{gap:7px}.summary-card{display:block;padding:13px 10px}.summary-icon{height:32px;width:32px;border-radius:9px;margin-bottom:9px;font-size:16px}.summary-value{font-size:21px}.summary-text{font-size:10px;min-height:26px}.add-panel{padding:14px 12px}.quick-fields{padding-left:0}.quick-fields label{font-size:0}.quick-fields label select,.quick-fields label input{font-size:11px;max-width:116px}.quick-add{gap:7px}.primary-button{padding:11px 12px}.quick-add input{font-size:13px}.section-header{align-items:flex-start;flex-direction:column}.search-input{width:100%}.section-tools{width:100%}.task-row{padding:14px 11px;gap:9px}.task-sub{gap:7px}.day-cell{min-height:68px;padding:5px 3px}.day-number{font-size:10px;width:22px;height:22px}.calendar-event{font-size:9px;padding:3px}.weekday{padding:10px 2px}.stats-grid{grid-template-columns:1fr}.form-grid{gap:8px}.dialog{padding:19px}.account-actions{grid-template-columns:1fr}}
.task-wrap{border-bottom:1px solid var(--border)}.task-wrap:last-child{border-bottom:0}.task-wrap .task-row{border-bottom:0}.subtask-container{padding:0 20px 12px 53px}.subtask-container summary{color:var(--muted);font-size:11px;cursor:pointer}.subtask-row{display:flex;align-items:center;gap:9px;margin:8px 0;font-size:12px;color:var(--ink)}.subtask-row input{accent-color:#745df5}.sub-done{text-decoration:line-through;color:var(--muted)}.date-button{border:0;background:transparent;color:var(--ink);cursor:pointer}.date-button:hover{outline:1px solid #b5a9fd}.calendar-selected{margin-top:28px}.subtle-copy{font-size:12px;color:var(--muted);padding:12px}.account-actions{margin-top:15px}
/* Нові модулі v0.2 — кольори використовують змінні теми */
.feature-help{display:block;margin:14px 0 0;color:var(--muted);font-size:11px;line-height:1.7;font-weight:400}
.habit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.habit-card,.timer-card,.focus-aside,.metric-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}
.habit-card{padding:20px;min-width:0}
.habit-header{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:19px}
.habit-name{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--ink)}.habit-name strong{overflow-wrap:anywhere}
.habit-dot{height:12px;width:12px;border-radius:5px;flex-shrink:0}.habit-meta{margin-top:7px;color:var(--muted);font-size:11px;padding-left:20px}
.habit-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.habit-day{background:var(--bg);border:1px solid var(--border);border-radius:10px;min-width:0;padding:9px 1px;color:var(--muted);display:grid;place-items:center;gap:6px;transition:.15s}
.habit-day span{font-size:9px}.habit-day b{font-size:12px;color:var(--ink)}.habit-day.checked{background:var(--habit-color);border-color:var(--habit-color);color:#fff}.habit-day.checked b{color:#fff}.habit-day:hover{border-color:var(--accent)}
.focus-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.timer-card{padding:34px;text-align:center}.focus-aside{padding:29px}
.timer-mode,.timer-duration,.period-buttons{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}
.timer-mode button,.timer-duration button,.period-buttons button{border:0;background:var(--bg);color:var(--muted);padding:10px 14px;border-radius:10px;font-size:12px;font-weight:700}
.timer-mode .selected,.timer-duration .selected,.period-buttons .selected{color:var(--accent);background:var(--accent-light)}
.timer-clock{font-size:clamp(58px,7vw,96px);font-weight:800;letter-spacing:-5px;line-height:1.2;color:var(--ink);font-variant-numeric:tabular-nums;margin:32px 0 2px}
.timer-caption{font-size:12px;color:var(--muted);margin-bottom:27px}.timer-controls{display:flex;gap:9px;justify-content:center;margin-bottom:27px}
.focus-aside h3{font-size:15px;margin:0 0 30px}.focus-aside strong{font-size:48px;letter-spacing:-2px}.focus-aside strong small{font-size:17px;color:var(--muted);letter-spacing:0}.focus-aside p{color:var(--muted);font-size:12px;line-height:1.7}
.stats-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:10px}
.bar-chart.detailed{gap:3px}.bar-chart.detailed .bar-name{font-size:9px;white-space:nowrap}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.metric-card{padding:23px}.metric-card span{display:block;color:var(--muted);font-size:11px;margin-bottom:10px}.metric-card b{font-size:26px;color:var(--ink)}
@media(max-width:1050px){.habit-grid{grid-template-columns:1fr}}
@media(max-width:760px){.focus-grid,.metric-grid{grid-template-columns:1fr}.timer-card{padding:23px 15px}.focus-aside{padding:22px}.habit-card{padding:16px}.habit-days{gap:5px}.stats-toolbar{flex-direction:column;align-items:start}}

/* v0.3: підвищена контрастність заголовків у темній темі */
[data-theme="dark"] .page-heading h1,
[data-theme="dark"] .section-title,
[data-theme="dark"] .summary-value,
[data-theme="dark"] .brand strong,
[data-theme="dark"] .stat-panel h3,
[data-theme="dark"] .settings-card h3,
[data-theme="dark"] .focus-aside h3,
[data-theme="dark"] .habit-month-label,
[data-theme="dark"] .habit-name strong,
[data-theme="dark"] .timer-custom-title,
[data-theme="dark"] .timer-custom-controls label,
[data-theme="dark"] .empty-state h3 { color: #f2f4ff; }
[data-theme="dark"] .section-title .count-pill { color:#a992ff; }
[data-theme="dark"] .task-title { color: #eef0fa; }
[data-theme="dark"] .field-label,
[data-theme="dark"] .list-link,
[data-theme="dark"] .nav-link { color: #aeb9cd; }
[data-theme="dark"] .list-link.active { color: #d3c6ff; }
[data-theme="dark"] .nav-link.active { color: #d3c6ff; }
[data-theme="dark"] .task-sub { color: #b1bfd2; }
[data-theme="dark"] .summary-text { color: #b4bfd1; }
[data-theme="dark"] .date-stamp {color:#cbd3e4;}
[data-theme="dark"] .habit-day:disabled {color:#7c859a;opacity:.45;}
[data-theme="dark"] .habit-day:disabled b {color:#8a93a6;}
[data-theme="dark"] .timer-custom input {background:var(--bg);color:var(--ink);}

/* v0.3: повноцінні власні списки */
.add-list-button{border:1px dashed var(--border);color:var(--accent);background:transparent;
  font-size:12px;font-weight:750;text-align:left;margin:0 7px 12px;padding:9px 12px;border-radius:9px}
.add-list-button:hover{background:var(--accent-light)}
.list-name{min-width:0;overflow-wrap:anywhere}
.section-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* v0.3: весь місяць на кожній картці звички */
.habit-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.habit-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.habit-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.habit-month-label{font-size:14px;font-weight:700;margin-top:7px;color:var(--ink)}
.habit-card{max-width:850px}
.habit-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.habit-weekday{font-size:11px;color:var(--muted);text-align:center;font-weight:750;padding:3px 0 5px}
.habit-blank{min-height:42px}
.habit-day{min-height:44px;padding:8px 2px;display:flex;align-items:center;justify-content:center}
.habit-day b{font-size:13px}
.habit-day.current{outline:2px solid var(--accent);outline-offset:2px}
.habit-day:disabled{opacity:.38;cursor:not-allowed}
.habit-day:disabled:hover{border-color:var(--border)}

/* v0.3: гнучкий таймер до 23:59:59 */
.timer-clock{letter-spacing:-3px;font-size:clamp(44px,6vw,82px);overflow-wrap:anywhere}
.timer-custom{border-top:1px solid var(--border);margin-top:25px;padding-top:22px;text-align:left}
.timer-custom-title{display:block;text-align:center;color:var(--ink);font-size:13px;font-weight:750;margin-bottom:15px}
.timer-custom-controls{display:flex;gap:9px;justify-content:center;align-items:flex-end;flex-wrap:wrap}
.timer-custom-controls label{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:11px;font-weight:650;min-width:70px;max-width:100px;flex:1}
.timer-custom-controls input{max-width:100%;width:100%;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:10px;color:var(--ink);font-size:17px;text-align:center;outline-color:var(--accent)}
.timer-custom-controls .secondary-button{min-height:44px}
.timer-sound{margin-top:22px;border-top:1px solid var(--border);padding-top:18px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.timer-sound label{display:flex;gap:9px;align-items:center;font-size:12px;font-weight:650;color:var(--ink)}
.timer-sound input{accent-color:var(--accent);width:17px;height:17px}
.focus-total{font-size:clamp(21px,3vw,32px)!important;letter-spacing:-1px!important;display:block;overflow-wrap:anywhere}
@media(max-width:760px){.habit-grid{grid-template-columns:1fr}.habit-card{padding:14px}
  .habit-days{gap:4px}.habit-day{min-height:40px}.habit-blank{min-height:40px}
  .timer-custom-controls label{min-width:62px;max-width:80px}.timer-custom-controls .secondary-button{flex:1 1 100%}
  .timer-clock{font-size:clamp(44px,12vw,67px)}.habit-toolbar-actions{gap:5px}}

/* v0.4: день/тиждень/місяць, Kanban та матриця Ейзенхауера */
.calendar-mode-switch {display:flex;gap:5px;background:var(--panel);border:1px solid var(--border);border-radius:13px;padding:6px;width:max-content;max-width:100%;margin-bottom:16px}
.calendar-mode-switch button {background:none;border:0;border-radius:9px;padding:10px 17px;color:var(--muted);font-weight:750;font-size:12px;cursor:pointer}
.calendar-mode-switch button.selected {background:var(--accent-light);color:var(--accent)}
.schedule-scroll {overflow:auto;border:1px solid var(--border);border-radius:17px;background:var(--panel);max-height:660px;overscroll-behavior:contain}
.schedule-grid {--schedule-days:7;display:grid;grid-template-columns:63px repeat(var(--schedule-days), minmax(130px,1fr));min-width:calc(63px + var(--schedule-days) * 130px)}
.schedule-corner,.schedule-day-head {position:sticky;top:0;z-index:2;background:var(--panel);font-size:11px;font-weight:800;color:var(--ink);padding:13px 8px;border-bottom:1px solid var(--border);text-align:center}
.schedule-corner {left:0;z-index:3}
.schedule-hour {position:sticky;left:0;z-index:1;background:var(--panel);border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:9px 7px;text-align:center;font-size:11px;font-weight:650;color:var(--muted);min-height:77px}
.schedule-slot {min-height:77px;position:relative;overflow:hidden;padding:5px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--panel);transition:background .15s}
.schedule-slot:hover,.board-column:has(.board-task:active),.matrix-panel:has(.board-task:active){background:var(--accent-light)}
.slot-add {border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:17px;opacity:.55;cursor:pointer;padding:0 6px}
.schedule-slot:hover .slot-add,.slot-add:focus-visible{opacity:1;color:var(--accent)}
.slot-event{display:block;background:var(--accent-light);color:var(--ink);font-size:11px;padding:5px 6px;margin-top:3px;border-left:3px solid var(--accent);border-radius:6px;cursor:grab;overflow-wrap:anywhere;line-height:1.5}
.slot-event b {color:var(--accent)}.slot-event small{display:block;color:var(--muted)}
.board-toolbar{margin-bottom:16px;color:var(--muted);font-size:12px;line-height:1.6}
.kanban-board{display:grid;grid-template-columns:repeat(3,minmax(225px,1fr));gap:15px;overflow-x:auto;padding-bottom:10px}
.matrix-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:16px}
.board-column,.matrix-panel{background:var(--panel);border:1px solid var(--border);border-radius:18px;min-height:260px;padding:17px}
.board-column header,.matrix-panel header{margin-bottom:16px;border-bottom:1px solid var(--border);padding-bottom:13px}
.board-column h3,.matrix-panel h3{color:var(--ink);font-size:15px;margin:0 0 7px;display:flex;align-items:center;gap:8px}
.board-column small,.matrix-panel small{color:var(--muted);font-size:11px}
.matrix-panel.q-do{border-top:3px solid #f0807e}.matrix-panel.q-plan{border-top:3px solid #8f79f3}
.matrix-panel.q-delegate{border-top:3px solid #eab06d}.matrix-panel.q-later{border-top:3px solid #65bfa5}
.board-items{display:flex;flex-direction:column;gap:7px;min-height:90px}
.board-task{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:11px 12px;color:var(--ink);cursor:grab;overflow-wrap:anywhere}
.board-task:active{cursor:grabbing}.board-task:focus-visible{outline:2px solid var(--accent)}
.board-task strong{display:block;font-size:13px;margin:8px 0}
.board-task-top{display:flex;align-items:center;justify-content:space-between;gap:6px}
.priority-mini{font-size:10px;color:var(--muted);font-weight:700}
.board-edit{background:transparent;border:0;color:var(--accent);font-size:15px;cursor:pointer}
.board-meta{color:var(--muted);font-size:11px}
.board-select-label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;margin:0 0 9px 6px}
.board-select-label select{width:100%;min-width:0;max-width:195px;border:1px solid var(--border);background:var(--panel);color:var(--ink);border-radius:8px;padding:6px 5px;font-size:11px}
.empty-lane{font-size:12px;color:var(--muted);text-align:center;padding:24px 5px;border:1px dashed var(--border);border-radius:12px}
[data-theme='dark'] .schedule-grid .schedule-slot,[data-theme='dark'] .board-task{color:#e9edff}
[data-theme='dark'] .schedule-grid .schedule-day-head,[data-theme='dark'] .board-column h3,[data-theme='dark'] .matrix-panel h3{color:#f2f4ff}
@media(max-width:1050px){.kanban-board{grid-template-columns:repeat(3,minmax(245px,1fr))}}
@media(max-width:720px){.matrix-grid{grid-template-columns:1fr}.schedule-scroll{max-height:540px}.calendar-mode-switch{width:100%;justify-content:center}}


/* v0.5 — сенсорний мобільний інтерфейс і встановлювана PWA. */
.mobile-tabs,.mobile-install{display:none}
.install-feature{display:flex;align-items:center;gap:14px;padding:16px;background:var(--accent-light);border-radius:15px;margin-bottom:15px}
.install-feature strong{color:var(--ink);font-size:17px}.install-feature p{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.5}
.install-feature .brand-symbol{flex:none}.install-note{color:var(--muted);font-size:12px;line-height:1.65;margin:18px 0 0}
.install-action{width:100%;font-size:14px;padding:14px}
@media(max-width:760px){
  html{scroll-padding-bottom:calc(92px + env(safe-area-inset-bottom))}
  body{padding-bottom:env(safe-area-inset-bottom)}
  .workspace{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
  .mobile-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;position:fixed;left:0;right:0;bottom:0;z-index:13;background:var(--panel);border-top:1px solid var(--border);box-shadow:0 -8px 30px #1520370a;padding:7px 6px calc(9px + env(safe-area-inset-bottom))}
  .mobile-tab{min-width:0;background:none;border:0;color:var(--muted);display:flex;align-items:center;flex-direction:column;gap:2px;padding:5px 2px;border-radius:10px;min-height:49px;justify-content:center}
  .mobile-tab span{font-size:24px;line-height:1.1}.mobile-tab small{font-size:10px;font-weight:650;white-space:nowrap}
  .mobile-tab.active{color:var(--accent);background:var(--accent-light)}
  .mobile-tab-add span{display:grid;place-items:center;width:39px;height:36px;background:var(--accent);color:white;border-radius:13px;box-shadow:0 5px 16px #745df545}
  .mobile-install{display:grid}
  .page-content{margin-bottom:28px}
  .sidebar{overflow-y:auto;overflow-x:hidden;padding-bottom:calc(24px + env(safe-area-inset-bottom));z-index:30}
  .menu-overlay{z-index:29}
  .topbar{position:sticky;top:0;z-index:10}
  .sync-indicator{max-width:150px}.sync-indicator #syncLabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .topbar-left{min-width:0}.breadcrumbs{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .dialog{width:min(94vw,600px);max-height:calc(94dvh - env(safe-area-inset-bottom));overscroll-behavior:contain}
  .month-grid{min-width:0}
  .kanban-board{scroll-snap-type:x proximity;gap:12px}
  .board-column{scroll-snap-align:start}
  .timer-custom-controls input,.quick-fields select,.quick-fields input{min-height:40px}
  button,select{touch-action:manipulation}
}
@media(max-width:490px){
  .topbar{padding:0 12px}.topbar-left,.topbar-actions{gap:8px}
  .breadcrumbs{max-width:110px;font-size:10px}.breadcrumbs span{padding:0 3px}
  .sync-indicator{max-width:110px;padding:6px 7px;font-size:10px}
  .page-content{margin:21px 12px 30px}
  .page-heading{margin-bottom:19px}.page-heading h1{font-size:27px}
  .summary-strip{gap:6px}.summary-card{padding:10px 8px;border-radius:12px}
  .summary-icon{width:29px;height:29px;font-size:15px;margin-bottom:7px}
  .summary-value{font-size:22px}.summary-text{font-size:10px;line-height:1.3}
  .quick-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding-left:0}
  .quick-fields label{font-size:10px;display:flex;flex-direction:column;align-items:stretch;gap:5px;min-width:0}
  .quick-fields input,.quick-fields select{width:100%;max-width:100%;padding:8px 6px;font-size:12px;min-width:0}
  .quick-add{gap:8px}.quick-add .primary-button{padding:12px 10px}
  .search-input{width:100%}.form-grid{grid-template-columns:1fr}
  .dialog{padding:17px 14px;border-radius:17px}.dialog-heading h2{font-size:20px}
  .habit-days{gap:3px}.habit-day{min-height:39px;border-radius:8px}.habit-day b{font-size:12px}
  .matrix-grid{grid-template-columns:minmax(0,1fr)}
  .calendar-mode-switch button{padding:10px 13px}
  .day-cell{min-height:58px}.calendar-event{font-size:8px;white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
