:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#1d2740;background:#f7f8fc;--violet:#6058e8;--violetdark:#5249cb;--light:#f1efff;--ink:#1d2740;--muted:#8993a9;--line:#e7eaf2;--surface:#fff;--green:#22a682;--danger:#e96275;--orange:#e8a15b;--shadow:0 8px 35px rgba(47,55,89,.045)}*{box-sizing:border-box}html,body{margin:0;min-height:100dvh}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{accent-color:var(--violet)}input:focus-visible,button:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #bab5ff;outline-offset:2px}[hidden]{display:none!important}.loading{height:100dvh;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--violet);font-size:27px;font-weight:800}.loading span{color:var(--ink)}.logo{display:grid;place-items:center;background:var(--violet);color:white;width:43px;height:43px;border-radius:14px;font-size:29px;box-shadow:0 6px 15px #6058e833;flex:none}.app-shell{display:flex;min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;flex:none;width:238px;background:#fff;border-right:1px solid var(--line);padding:26px 13px 16px;display:flex;flex-direction:column;gap:4px;overflow:auto}.sidebar-brand{display:flex;align-items:center;gap:11px;margin:0 8px 30px}.sidebar-brand b{font-size:18px;letter-spacing:-.7px}.sidebar-brand small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.side-item{width:100%;display:flex;align-items:center;text-align:left;gap:11px;padding:11px 11px;border-radius:11px;background:transparent;font-size:13px;font-weight:650;color:#65718b}.side-item>span:first-child{font-size:20px;width:24px;text-align:center;font-weight:400}.side-item:hover,.side-item.selected{color:var(--violet);background:#f0eeff}.shortcut{margin-left:auto;color:#aab0bc;font-size:10px}.side-item em{margin-left:auto;font-style:normal;font-size:11px;color:#a2aab8}.section-caption{text-transform:uppercase;color:#a3adc0;letter-spacing:1.4px;font-weight:800;font-size:10px;margin:24px 11px 8px}.project-nav{display:flex;flex-direction:column;gap:1px}.project-nav .side-item{font-size:12px;padding:9px 9px 9px 15px}.project-nav .project-dot{width:8px;height:8px;flex:none;border-radius:3px}.side-spacer{flex:1;min-height:20px}.userchip{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding:16px 8px 0;font-size:12px;color:#78839a}.userchip .avatar{background:#eeeafd;color:var(--violet);display:grid;place-items:center;width:34px;height:34px;border-radius:12px;font-weight:800}.userchip b{display:block;color:var(--ink);font-size:12px}.userchip .text-small{display:block;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main{min-width:0;flex:1;padding:0 clamp(16px,2.5vw,40px) 145px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:24px 0 27px;gap:12px}.breadcrumbs{font-size:12px;letter-spacing:.2px;color:#a1aabc;font-weight:700}.mobile-logo{display:none}.top-actions{display:flex;gap:9px;align-items:center}.icon-pill{background:#fff;border:1px solid var(--line);color:#7e87a1;width:41px;height:41px;border-radius:13px;font-size:22px}.primary{color:#fff;background:var(--violet);border-radius:12px;padding:12px 17px;font-weight:750;font-size:13px;box-shadow:0 5px 13px #5f5aef18}.primary:hover,.send:hover{background:var(--violetdark)}.secondary{background:#fff;color:#526079;border:1px solid var(--line);border-radius:11px;padding:11px 14px;font-weight:700;font-size:12px}.secondary:hover{background:#f5f5ff}.danger{color:var(--danger);background:#fff1f3;border:1px solid #ffd5dd;border-radius:10px;padding:10px 12px;font-size:12px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px}.eyebrow{font-size:10px;letter-spacing:2.4px;color:var(--violet);font-weight:850;text-transform:uppercase}.page-heading h1{font-size:clamp(27px,2.5vw,39px);letter-spacing:-1.4px;margin:8px 0 5px;line-height:1.1}.subtitle{font-size:12px;color:var(--muted);line-height:1.6}.heading-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.period{white-space:nowrap;font-size:12px;font-weight:750;min-width:150px;text-align:center}.arrow{font-size:20px;font-weight:500}.pills{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 17px}.pill{background:white;border:1px solid var(--line);color:#6d7990;border-radius:10px;padding:9px 12px;font-weight:700;font-size:11px}.pill.active{background:#eeedff;color:var(--violet);border-color:#e1ddff}.statrow{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-bottom:17px;font-weight:700;color:#8590a6;font-size:11px}.statrow b{color:#26324b}.statsdot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#81aef9;margin-right:5px}.week-strip{display:none}.board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:11px;align-items:stretch}.day{min-width:0;background:#fff;border:1px solid var(--line);border-radius:20px;padding:13px 9px;min-height:430px;box-shadow:var(--shadow)}.day.today{border:2px solid #8982f8;padding:12px 8px;background:#fefdff}.day.over{outline:3px dashed #908aff;outline-offset:-5px}.day-head{display:flex;flex-direction:column;gap:13px;padding:2px 3px 14px;border-bottom:1px solid var(--line)}.day-top{display:flex;align-items:center;justify-content:space-between}.day-name{color:#73809b;font-size:10px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.today-badge{color:var(--violet);background:#efedff;border-radius:6px;padding:4px;font-size:8px;font-weight:900}.day-number{font-size:31px;font-weight:800;letter-spacing:-1px}.day-load{font-size:10px;color:#a2adbf}.day-load.overload{color:var(--danger)}.day-list{display:flex;flex-direction:column;gap:8px;padding-top:11px}.task-card{border-radius:11px;background:#f7f8fc;padding:10px 8px;position:relative;display:flex;gap:7px;min-width:0;box-shadow:inset 3px 0 0 var(--project-color,#bec4d3);cursor:pointer}.task-card:hover{background:#f1f1fc}.task-card.done{opacity:.48}.task-card.done .task-title{text-decoration:line-through}.task-card.overdue{background:#fff6f6}.task-check{width:17px;height:17px;flex:none;background:#fff;border:1.5px solid #c5ccd8;border-radius:5px;margin-top:1px;padding:0;color:white;font-size:12px;line-height:12px}.task-card.done .task-check{background:var(--green);border-color:var(--green)}.task-inner{min-width:0;flex:1}.task-title{font-size:11.5px;line-height:1.42;font-weight:750;overflow-wrap:anywhere}.task-meta{font-size:10px;font-weight:650;color:#909ab0;margin-top:6px;display:flex;flex-wrap:wrap;gap:5px}.task-meta i{font-style:normal}.task-tag{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;border-radius:6px;background:#fff;padding:3px 5px;margin-top:7px;color:#7a86a0}.add-day{width:100%;margin-top:11px;border-radius:10px;border:1px dashed #e2e7f0;background:transparent;color:#aab3c3;height:31px;font-size:20px}.add-day:hover{color:var(--violet);border-color:#8a86ed}.empty-day{font-size:10px;color:#c1c8d4;text-align:center;padding:25px 5px}.bottom-area{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-top:19px}.tip-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;font-size:12px;color:#8893a8}.tip-card b{color:#29344a}.tip-card button{background:transparent;color:var(--violet);font-size:12px;font-weight:750}.quick-dock{position:fixed;z-index:15;bottom:24px;left:calc(238px + (100vw - 238px)/2);transform:translateX(-50%);width:min(640px,calc(100vw - 270px));border-radius:22px;background:#fff;box-shadow:0 14px 55px #19224028;border:1px solid #e2e6ee;padding:10px;display:flex;gap:6px;align-items:center}.quick-dock input[type=text],.quick-dock>input:not([type]){flex:1;border:0;min-width:0;padding:9px;outline:0;color:var(--ink);font-size:13px}.quick-dock>button{background:transparent;color:#8490a6;border-radius:11px;height:39px;min-width:34px;font-size:21px}.quick-dock .send{background:var(--violet);color:#fff;border-radius:13px;width:42px;font-size:22px}.mobile-tabs{display:none}.panel{background:white;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow)}.panel-title{font-size:16px;font-weight:850;margin:0 0 18px;letter-spacing:-.4px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:14px}.project-card{background:white;border:1px solid var(--line);border-radius:18px;padding:21px;box-shadow:var(--shadow);cursor:pointer}.project-card:hover{border-color:#c8c4f7;transform:translateY(-1px)}.project-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:white;font-size:20px}.project-card h3{margin:15px 0 6px;font-size:17px}.project-card p{font-size:12px;color:var(--muted);min-height:28px}.progress{height:7px;background:#f0f1f6;border-radius:10px;overflow:hidden;margin:11px 0}.progress>div{height:100%;border-radius:10px;background:var(--violet)}.project-foot{display:flex;justify-content:space-between;font-size:11px;color:#8c97a9}.toolbar{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:18px}.kanban{display:flex;gap:14px;overflow-x:auto;padding-bottom:12px}.kanban-col{flex:1;min-width:220px;background:#f4f5fa;border-radius:16px;padding:12px;max-width:370px}.kanban-header{font-weight:800;font-size:13px;padding:9px 7px;display:flex;justify-content:space-between}.kanban-header span{font-size:11px;color:var(--muted)}.kanban-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px;margin:8px 0;font-size:12px;font-weight:700;cursor:pointer}.kanban-card small{display:block;margin-top:7px;color:var(--muted);font-weight:500}.list-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid #f1f2f7;padding:13px 4px}.list-row:last-child{border:0}.list-row button.check{width:20px;height:20px;border:1.5px solid #ccd2de;background:white;border-radius:6px;color:var(--green)}.list-row button.check.checked{background:var(--green);color:white}.list-main{flex:1;min-width:0;font-size:13px;font-weight:700;cursor:pointer}.list-main small{font-size:11px;color:var(--muted);display:block;margin-top:5px;font-weight:500}.list-row time{font-size:11px;color:#8f99ac}.empty{text-align:center;background:#fff;border:1px dashed #dfe3ef;border-radius:16px;padding:36px;color:#a2acc0;font-size:13px}.mini-label{font-size:10px;font-weight:850;letter-spacing:1px;text-transform:uppercase;color:#a1acbf;margin-bottom:10px}.metric{font-size:34px;font-weight:850;letter-spacing:-1.5px}.metric small{font-size:12px;font-weight:600;color:var(--muted)}.metric-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:22px}.metric-card p{font-size:12px;color:#8a94aa;margin-top:8px}.goal-list{display:grid;gap:12px}.goal{display:flex;align-items:center;gap:10px;padding:13px;background:#f8f9fc;border-radius:12px}.focus-circle{display:grid;place-items:center;margin:32px auto;width:224px;height:224px;border:13px solid #eceaff;border-top-color:var(--violet);border-radius:50%;font-size:45px;font-weight:850;font-variant-numeric:tabular-nums}.focus-hint{text-align:center;color:var(--muted);font-size:13px}.timeline{display:flex;flex-direction:column;gap:10px}.timeline-line{display:flex;align-items:center;gap:9px}.timeline-line>span{font-size:11px;width:120px;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-track{background:#f1f1fa;flex:1;height:24px;border-radius:7px;position:relative}.timeline-bar{background:#817afa;height:18px;position:absolute;top:3px;border-radius:5px;min-width:10px}.timeline-axis{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin:9px 0 10px 129px}.fields{display:grid;gap:15px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-size:11px;font-weight:800;color:#6e7b93}.field input,.field select,.field textarea{width:100%;background:#fafbfe;border:1px solid #e3e7f0;padding:11px 12px;min-height:40px;border-radius:10px;color:#23304a}.field textarea{min-height:85px;resize:vertical}.field textarea.small{min-height:50px}.fieldrow{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fieldrow.three{grid-template-columns:1fr 1fr 1fr}.hint{font-size:11px;line-height:1.5;color:#8b97a9}.overlay{position:fixed;z-index:30;inset:0;background:#1a1e36a1;display:flex;justify-content:center;align-items:center;padding:15px}.modal{width:min(100%,580px);max-height:min(91dvh,910px);overflow:auto;background:white;border-radius:23px;box-shadow:0 25px 90px #0b123c50;padding:23px}.modal.wide{width:min(100%,760px)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px}.modal-head h2{font-size:20px;margin:0;letter-spacing:-.5px}.modal-head .close{background:#f2f3f8;border-radius:9px;width:32px;height:32px;font-size:20px;color:#8792a9}.modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:9px;margin-top:20px}.modal-actions .danger{margin-right:auto}.tabline{display:flex;gap:6px;margin-bottom:18px}.tabline button{padding:10px 13px;background:#f7f8fc;color:#8590a6;font-size:12px;border-radius:9px;font-weight:750}.tabline button.active{background:var(--light);color:var(--violet)}.badge{background:#f1efff;color:var(--violet);font-size:10px;padding:6px 9px;border-radius:7px;font-weight:800}.suggestion{display:flex;align-items:center;gap:10px;padding:12px;background:#f8f9fc;border-radius:11px;margin:8px 0;font-size:12px}.suggestion input{width:16px;height:16px;flex:none}.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 25% 10%,#e8e4ff,transparent 36%),#f7f8fc}.auth-card{background:white;border:1px solid #e9e8f5;border-radius:24px;padding:36px;width:min(100%,440px);box-shadow:0 25px 65px #27355a13}.auth-brand{display:flex;align-items:center;gap:13px}.auth-brand strong{font-size:19px}.auth-brand small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.auth-card h1{font-size:25px;letter-spacing:-.8px;margin:33px 0 8px}.auth-card p{color:#8f9aaf;font-size:13px;margin-bottom:25px}.auth-card form{display:grid;gap:16px}.auth-card label{font-size:12px;color:#66728b;font-weight:800}.auth-card label input{display:block;width:100%;border:1px solid var(--line);border-radius:12px;padding:13px;margin-top:7px}.wide{width:100%}.auth-bottom{font-size:12px;color:#8794aa;text-align:center;margin-top:22px}.link-button{color:var(--violet);background:transparent;font-weight:800}#toast{position:fixed;z-index:80;bottom:100px;left:50%;transform:translateX(-50%) translateY(10px);max-width:min(90vw,500px);border-radius:12px;background:#25304a;color:white;padding:12px 17px;font-size:12px;box-shadow:0 9px 30px #0002;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.controls .secondary{padding:9px 12px}.setting-block{padding:17px 0;border-bottom:1px solid var(--line)}.setting-block:last-child{border:0}.setting-block h3{font-size:14px;margin:0 0 8px}.setting-block p{color:var(--muted);font-size:12px;line-height:1.5}.calendar-note{margin-top:16px;color:#9ca5b6;font-size:11px}
@media(max-width:1200px){.sidebar{width:205px}.quick-dock{left:calc(205px + (100vw - 205px)/2);width:min(650px,calc(100vw - 240px))}.board{gap:7px}.day{padding:11px 7px}.day.today{padding:10px 6px}.task-card{padding:8px 5px}.task-title{font-size:10.5px}.task-meta{font-size:9px}}
@media(max-width:850px){.sidebar{display:none}.main{padding:0 14px 180px}.topbar{padding:15px 0 18px}.mobile-logo{display:inline-block;color:var(--violet);font-size:25px;vertical-align:middle;margin-right:7px}.board{display:flex;flex-direction:column;gap:8px}.day,.day.today{min-height:0;display:grid;grid-template-columns:84px 1fr;gap:10px;padding:11px;border-radius:16px}.day-head{border-bottom:0;border-right:1px solid var(--line);padding:5px 8px 5px 1px;justify-content:center;gap:9px}.day-number{font-size:27px}.day-list{padding:0;gap:7px}.task-card{padding:10px}.task-title{font-size:12px}.task-meta{font-size:10px}.empty-day{padding:12px}.add-day{margin:4px 0 0}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:0 0 15px}.week-strip button{border-radius:11px;padding:8px 0;background:#fff;border:1px solid var(--line);display:grid;gap:3px;color:#75819a;justify-items:center;font-size:10px}.week-strip button b{font-size:16px;color:#29344b}.week-strip button.today{border-color:#7d73ee;background:#f1efff}.week-strip button.selected{background:var(--violet);color:white}.week-strip button.selected b{color:white}.day-load{font-size:10px}.quick-dock{bottom:82px;left:50%;width:calc(100% - 20px);border-radius:18px}.mobile-tabs{z-index:13;display:flex;position:fixed;left:0;bottom:0;width:100%;padding:8px 10px max(11px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);justify-content:space-around;gap:5px}.mobile-tabs button{background:transparent;color:#929cb0;display:grid;gap:3px;justify-items:center;font-size:10px;font-weight:700;min-width:65px}.mobile-tabs button b{font-size:22px;font-weight:400}.mobile-tabs button.active{color:var(--violet)}.top-add{display:none}.page-heading{align-items:start}.page-heading h1{font-size:30px}.heading-actions .period{min-width:0}.bottom-area{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.page-heading{flex-direction:column;gap:12px}.page-heading h1{font-size:30px}.heading-actions{justify-content:space-between;width:100%}.period{flex:1}.statrow{gap:10px}.pill{padding:8px 10px}.grid-2,.grid-3{grid-template-columns:1fr}.fieldrow.three{grid-template-columns:1fr 1fr}.modal{padding:18px;border-radius:17px}.auth-card{padding:27px}.quick-dock input{font-size:12px!important}.panel{padding:17px}.top-actions{gap:6px}.topbar .breadcrumbs{font-size:11px}.toolbar{align-items:flex-start}.focus-circle{width:200px;height:200px}.timeline-line>span{width:85px}.timeline-axis{margin-left:94px}}


/* Task Zadatch 1.0.2: two-theme UI. System mode resolves to one of these values. */
:root {--app-bg:#f7f8fc;--surface-soft:#f7f8fc;--surface-strong:#fff}
html {background:var(--app-bg)}
body {background:var(--app-bg);color:var(--ink)}
.theme-toggle {font-size:23px;line-height:1;display:grid;place-items:center;flex:none;transition:background .18s,color .18s}
.auth-screen {position:relative}
.auth-theme-toggle {position:absolute;top:23px;right:24px;z-index:2}
.theme-choices {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:540px}
.theme-choice {display:flex;align-items:center;justify-content:center;gap:9px;min-height:45px;padding:10px 9px;border-radius:12px;background:var(--surface-soft);color:var(--ink);border:1px solid var(--line);font-weight:700;font-size:12px}
.theme-choice-icon {font-size:19px;font-weight:500;line-height:1}
.theme-choice:hover {border-color:var(--violet)}
.theme-choice.active {color:var(--violet);background:var(--light);border-color:var(--violet);box-shadow:inset 0 0 0 1px var(--violet)}
@media(max-width:520px){.theme-choices{gap:6px}.theme-choice{flex-direction:column;gap:5px;min-height:68px;padding:8px 3px;font-size:10px}.auth-theme-toggle{top:14px;right:14px}}
html[data-theme="dark"] {
 color-scheme:dark;
 --app-bg:#10141e;
 --surface:#1d2332;
 --surface-strong:#1d2332;
 --surface-soft:#252d3e;
 --ink:#eef2fc;
 --muted:#abb7ce;
 --line:#374155;
 --violet:#a89fff;
 --violetdark:#9185ef;
 --light:#332e54;
 --green:#62d3ac;
 --danger:#ff8d9d;
 --orange:#f5bc79;
 --shadow:0 9px 35px rgba(0,0,0,.14);
 background:var(--app-bg);
 color:var(--ink);
}
html[data-theme="dark"] ::selection {background:#655abe;color:#fff}
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea {color:var(--ink);caret-color:var(--violet)}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder {color:#96a4bd;opacity:1}
html[data-theme="dark"] input:focus-visible,
html[data-theme="dark"] button:focus-visible,
html[data-theme="dark"] textarea:focus-visible,
html[data-theme="dark"] select:focus-visible {outline:2px solid #b5acff;outline-offset:3px}
html[data-theme="dark"] select option {background:#1d2332;color:#eef2fc}
html[data-theme="dark"] .loading,
html[data-theme="dark"] .main {background:var(--app-bg)}
html[data-theme="dark"] .sidebar {background:#171c29;border-color:var(--line)}
html[data-theme="dark"] .sidebar-brand small,
html[data-theme="dark"] .breadcrumbs,
html[data-theme="dark"] .section-caption,
html[data-theme="dark"] .shortcut,
html[data-theme="dark"] .side-item em {color:#a1aec8}
html[data-theme="dark"] .side-item {color:#bac5dc}
html[data-theme="dark"] .side-item:hover,
html[data-theme="dark"] .side-item.selected {color:#c4bcff;background:#2d2a4b}
html[data-theme="dark"] .userchip {color:#bbc4d9}
html[data-theme="dark"] .userchip .avatar {background:#332d53;color:#c7bfff}
html[data-theme="dark"] .icon-pill,
html[data-theme="dark"] .secondary,
html[data-theme="dark"] .pill {color:#d3dcee;background:#242b3c;border-color:var(--line)}
html[data-theme="dark"] .icon-pill:hover,
html[data-theme="dark"] .secondary:hover,
html[data-theme="dark"] .pill:hover {background:#313b50}
html[data-theme="dark"] .primary,
html[data-theme="dark"] .send {background:#756de8;color:#fff;box-shadow:0 5px 16px #0002}
html[data-theme="dark"] .primary:hover,
html[data-theme="dark"] .send:hover {background:#655ad4}
html[data-theme="dark"] .pill.active,
html[data-theme="dark"] .tabline button.active,
html[data-theme="dark"] .badge {background:#352f59;color:#c6bfff;border-color:#514779}
html[data-theme="dark"] .statrow {color:#b6c1d8}
html[data-theme="dark"] .statrow b,
html[data-theme="dark"] .tip-card b {color:var(--ink)}
html[data-theme="dark"] .day,
html[data-theme="dark"] .panel,
html[data-theme="dark"] .project-card,
html[data-theme="dark"] .metric-card,
html[data-theme="dark"] .tip-card {background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}
html[data-theme="dark"] .day.today {border-color:#9e93ff;background:#22233b}
html[data-theme="dark"] .day.over {outline-color:#b1a9ff}
html[data-theme="dark"] .day-name {color:#bec9df}
html[data-theme="dark"] .day-load,
html[data-theme="dark"] .task-meta,
html[data-theme="dark"] .project-foot,
html[data-theme="dark"] .tip-card {color:#aab7cc}
html[data-theme="dark"] .today-badge {background:#3d3667;color:#d3cdff}
html[data-theme="dark"] .task-card {background:#283144}
html[data-theme="dark"] .task-card:hover {background:#323d53}
html[data-theme="dark"] .task-card.done {opacity:.7}
html[data-theme="dark"] .task-card.overdue {background:#422a38}
html[data-theme="dark"] .task-check,
html[data-theme="dark"] .list-row button.check {background:#19202d;border-color:#7887a0;color:#fff}
html[data-theme="dark"] .task-tag {background:#3a4458;color:#d6def0}
html[data-theme="dark"] .empty-day {color:#91a1ba}
html[data-theme="dark"] .add-day {border-color:#57647b;color:#b7c3da}
html[data-theme="dark"] .quick-dock {background:#1b2231;border-color:#424c64;box-shadow:0 14px 48px #0008}
html[data-theme="dark"] .quick-dock>input {background:transparent;color:var(--ink)}
html[data-theme="dark"] .quick-dock>button {color:#c5cee1}
html[data-theme="dark"] .quick-dock .send {color:#fff}
html[data-theme="dark"] .progress {background:#343e51}
html[data-theme="dark"] .kanban-col {background:#242b3b}
html[data-theme="dark"] .kanban-card {background:#30394d;border-color:#44516a;color:var(--ink)}
html[data-theme="dark"] .kanban-card:hover {background:#38445a}
html[data-theme="dark"] .list-row {border-color:var(--line)}
html[data-theme="dark"] .list-row time,
html[data-theme="dark"] .metric-card p {color:#aebbd3}
html[data-theme="dark"] .empty {background:#1b2230;border-color:#505e76;color:#b7c4d9}
html[data-theme="dark"] .goal,
html[data-theme="dark"] .suggestion {background:#293143}
html[data-theme="dark"] .focus-circle {border-color:#3c375d;border-top-color:#a89fff}
html[data-theme="dark"] .timeline-track {background:#343d53}
html[data-theme="dark"] .timeline-bar {background:#938aff}
html[data-theme="dark"] .field label,
html[data-theme="dark"] .auth-card label {color:#bfcbe2}
html[data-theme="dark"] .field input,
html[data-theme="dark"] .field select,
html[data-theme="dark"] .field textarea,
html[data-theme="dark"] #joinCode,
html[data-theme="dark"] .auth-card input {background:#252e3f;border-color:#46526a;color:#f3f5fe}
html[data-theme="dark"] .field input:disabled,
html[data-theme="dark"] .field textarea:disabled {opacity:.65}
html[data-theme="dark"] .overlay {background:rgba(4,7,15,.79)}
html[data-theme="dark"] .modal {background:#1c2332;border:1px solid #495269;box-shadow:0 24px 80px #000a}
html[data-theme="dark"] .modal-head .close {background:#2f394e;color:#e0e7f5}
html[data-theme="dark"] .tabline button {background:#2b3446;color:#b9c5dc}
html[data-theme="dark"] .danger {background:#422936;border-color:#784053;color:#ffb3c0}
html[data-theme="dark"] .auth-screen {background:radial-gradient(circle at 25% 10%,#282547,transparent 40%),#10141e}
html[data-theme="dark"] .auth-card {background:#1d2332;border-color:#3d465c;box-shadow:0 25px 65px #0005}
html[data-theme="dark"] .auth-card p,
html[data-theme="dark"] .auth-bottom,
html[data-theme="dark"] .hint,
html[data-theme="dark"] .subtitle,
html[data-theme="dark"] .calendar-note {color:#aab8d0}
html[data-theme="dark"] .link-button {color:#b8aeff}
html[data-theme="dark"] #toast {background:#393557;color:#fff;border:1px solid #61588e}
html[data-theme="dark"] .mobile-tabs {background:#171c29;border-color:var(--line)}
html[data-theme="dark"] .mobile-tabs button {color:#b0bed8}
html[data-theme="dark"] .mobile-tabs button.active {color:#bcb4ff}
html[data-theme="dark"] .week-strip button {background:#242c3c;border-color:#414d65;color:#c7d0e4}
html[data-theme="dark"] .week-strip button b {color:var(--ink)}
html[data-theme="dark"] .week-strip button.today {border-color:#9e93ff;background:#342f57}
html[data-theme="dark"] .week-strip button.selected {background:#655cd3;color:#fff}
html[data-theme="dark"] .week-strip button.selected b {color:#fff}
html[data-theme="dark"] .theme-choice {background:#252d3e;color:#dce4f4;border-color:#45516b}
html[data-theme="dark"] .theme-choice.active {background:#403963;color:#f1edff;border-color:#a89fff}
html[data-theme="dark"] .theme-choice:hover {border-color:#a89fff}
html[data-theme="dark"] {scrollbar-color:#4a5670 #191e2b}

/* 1.0.3 — wide two-panel task editor and stage management */
.modal.task-editor-modal {width:min(1180px,calc(100vw - 48px));max-width:1180px;max-height:min(92dvh,980px);padding:0;overflow:hidden;display:flex;flex-direction:column}
.task-editor-modal .modal-head{padding:24px 28px 14px;flex:none;border-bottom:1px solid var(--line)}
.task-editor-modal .modal-content{min-height:0;overflow-y:auto;padding:0 28px 8px;flex:1}
.task-editor-modal #taskForm{display:flex;flex-direction:column;gap:0}
.task-edit-grid{display:grid;grid-template-columns:minmax(310px,0.82fr) minmax(390px,1.18fr);gap:24px;min-height:540px}
.task-edit-left{min-width:0;padding-top:20px;border-right:1px solid var(--line);padding-right:24px}
.task-edit-right{min-width:0;padding:20px 0 12px;display:flex;flex-direction:column;gap:10px}
.task-editor-modal .modal-actions{position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding:16px 0;margin-top:6px;z-index:3}
.editor-header,.subtask-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.editor-header h3,.subtask-heading h3{font-size:15px;margin:0 0 4px}
.editor-header .hint{display:block;font-size:11px}
.rich-description{font-size:14px;line-height:1.65;overflow-wrap:anywhere;color:var(--ink)}
.rich-description a{color:var(--violet);text-decoration:underline;cursor:pointer;text-underline-offset:3px}
.rich-description p{margin:0 0 10px}.rich-description ul,.rich-description ol{padding-left:25px}.rich-description li{margin:4px 0}
.rich-description h3{font-size:17px;margin:12px 0 7px}.rich-description blockquote{border-left:3px solid var(--violet);padding-left:13px;color:var(--muted)}
#descriptionPreview{background:var(--surface-soft);border:1px solid var(--line);border-radius:13px;padding:16px;min-height:220px;max-height:330px;overflow:auto}
#descriptionPreview.empty-description:after{content:'Добавьте описание, ссылки или чек-лист…';color:var(--muted);font-size:12px}
#richEditShell{min-width:0}
.rich-toolbar{display:flex;gap:5px;flex-wrap:wrap;padding:7px;background:var(--surface-soft);border:1px solid var(--line);border-radius:12px 12px 0 0}
.rich-toolbar button{border-radius:7px;padding:7px 10px;color:var(--ink);background:var(--surface);border:1px solid var(--line);font-size:12px}
.rich-toolbar button:hover{background:var(--light);color:var(--violet)}
.rich-editor{min-height:220px;max-height:360px;overflow-y:auto;padding:15px;border:1px solid var(--line);border-top:0;background:var(--surface-soft);border-radius:0 0 12px 12px;outline:0}
.rich-editor:focus{border-color:var(--violet)}
.rich-editor:empty:before{content:attr(data-placeholder);color:var(--muted)}
#previewDescription{margin-top:9px}
.rich-description ul[data-checklist="true"]{list-style:none;padding-left:5px}
.rich-description ul[data-checklist="true"] li{position:relative;padding-left:30px}
.checkmark-button{position:absolute;left:0;top:0;color:var(--violet);font-size:19px;line-height:1.3;background:transparent;padding:0;cursor:pointer}
.rich-description li[data-checked="true"]{color:var(--muted);text-decoration:line-through}
.subtask-area{border-top:1px solid var(--line);padding:16px 0 0;margin-top:8px}
.subtask-heading span{font-size:12px;color:var(--muted)}
.subtask-row{display:flex;align-items:center;gap:11px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.subtask-row span{cursor:pointer;min-width:0;flex:1}.subtask-done{text-decoration:line-through;color:var(--muted)}
.subcheck{font-size:21px;line-height:1;color:var(--violet);background:transparent}
.subtask-new{display:flex;gap:7px;margin-top:10px}.subtask-new input{width:100%;border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);border-radius:9px;padding:10px}
.stage-bar{display:flex;align-items:center;gap:8px;min-height:38px;margin-bottom:9px;cursor:grab;user-select:none}
.stage-bar strong{font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stage-grip{font-size:23px;color:var(--muted);cursor:grab}
.stage-count{font-size:11px;color:var(--muted);margin-right:auto}
.stage-actions{display:flex;gap:3px;align-items:center}
.stage-actions button{padding:5px 6px;background:transparent;color:var(--muted);border-radius:6px;font-size:14px}
.stage-actions button:hover{background:var(--light);color:var(--violet)}
.kanban-col.stage-target,.stage-list-section.stage-target{outline:2px dashed var(--violet);outline-offset:-2px}
.kanban-col.stage-dragging,.stage-list-section.stage-dragging{opacity:.45}
.stage-list-section{margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.stage-list-section .stage-bar{background:var(--surface-soft);border-radius:9px;padding:7px 10px}
@media(max-width:900px){.task-edit-grid{grid-template-columns:1fr;gap:0}.task-edit-left{padding-right:0;border-right:0;border-bottom:1px solid var(--line);padding-bottom:15px}.task-edit-right{padding-top:18px}.modal.task-editor-modal{width:calc(100vw - 20px);max-height:94dvh}.task-editor-modal .modal-content{padding:0 15px}.task-editor-modal .modal-head{padding:18px 15px 12px}.stage-actions button{min-width:32px;min-height:34px}}
@media(max-width:520px){.task-editor-modal .modal-actions{flex-wrap:wrap}.task-edit-grid{min-height:auto}.rich-toolbar button{min-width:34px}}

/* 1.0.4 — compact chat directly inside the task modal */
.task-right-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);padding-bottom:10px;order:-1}
.task-right-tabs button{padding:10px 14px;background:transparent;color:var(--muted);border-radius:10px;font-size:13px;font-weight:750}
.task-right-tabs button.active{background:var(--light);color:var(--violet)}
.chat-count{margin-left:4px;border-radius:20px;padding:2px 6px;background:var(--surface-soft);color:var(--ink);font-size:10px}
.task-notes-pane{display:flex;flex-direction:column;gap:10px;min-height:0}
.task-chat-pane{display:flex;flex-direction:column;gap:12px;min-height:460px;max-height:650px;min-width:0}
.task-chat-pane[hidden],.task-notes-pane[hidden]{display:none!important}
.chat-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:7px 2px 0}
.chat-heading h3{margin:0 0 4px;font-size:16px}
.chat-heading p{margin:0;max-width:370px}
.chat-heading button{padding:6px 11px}
.task-chat-feed{flex:1;min-height:250px;max-height:440px;overflow-y:auto;background:var(--surface-soft);border:1px solid var(--line);border-radius:14px;padding:15px 12px;display:flex;flex-direction:column;gap:13px;overscroll-behavior:contain}
.chat-empty{margin:auto;text-align:center;color:var(--muted);font-size:13px;line-height:1.5;max-width:260px}
.chat-message{display:flex;align-items:flex-start;gap:9px;max-width:96%}
.chat-message.mine{align-self:flex-end;flex-direction:row-reverse}
.chat-avatar{flex:none;display:grid;place-items:center;border-radius:50%;width:30px;height:30px;font-size:12px;font-weight:800;background:var(--light);color:var(--violet)}
.chat-bubble{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:9px 12px;min-width:0;max-width:430px;box-shadow:0 2px 8px #00000008}
.chat-message.mine .chat-bubble{background:var(--light);border-color:var(--line)}
.chat-meta{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;margin-bottom:5px}
.chat-meta strong{font-size:11px;color:var(--ink)}.chat-meta time{font-size:10px;color:var(--muted)}
.chat-text{white-space:normal;font-size:13px;line-height:1.45;overflow-wrap:anywhere;color:var(--ink)}
.chat-text a{color:var(--violet);text-decoration:underline;text-underline-offset:2px}
.chat-attachment{border:1px solid var(--line);display:block;margin-top:7px;text-align:left;padding:9px 10px;border-radius:9px;background:var(--surface-soft);color:var(--violet);font-size:12px;font-weight:650;max-width:100%;overflow-wrap:anywhere}
.chat-attachment small{font-size:10px;color:var(--muted);margin-left:5px;font-weight:400}
.chat-compose{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;padding:10px;flex:none}
.chat-compose textarea{display:block;width:100%;background:transparent;border:0;padding:7px 8px;color:var(--ink);min-height:70px;resize:vertical;font-size:13px;outline:none;max-height:150px}
.chat-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;padding-top:5px}
.chat-file-label{cursor:pointer;display:inline-flex;align-items:center;padding:8px 9px;color:var(--muted);font-size:12px;border-radius:9px}
.chat-file-label:hover{background:var(--light);color:var(--violet)}
.chat-tools .hint{flex:1;min-width:50px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-tools button{padding:9px 13px}
@media(max-width:900px){.task-chat-pane{min-height:390px;max-height:none}.task-chat-feed{max-height:50dvh}.chat-compose textarea{min-height:54px}}
