:root{--bg:#f4f6f9;--panel:#fff;--text:#111827;--muted:#6b7280;--line:#e5e7eb;--primary:#2563eb;--primary2:#1d4ed8;--sidebar:#111827;--sidebar2:#1f2937;--danger:#dc2626;--success:#059669;--shadow:0 10px 30px rgba(17,24,39,.07);--radius:18px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}body.modal-open{overflow:hidden}.hidden{display:none!important}.muted{color:var(--muted)}.tiny{font-size:12px;color:var(--muted);line-height:1.5}.eyebrow{margin:0 0 5px;text-transform:uppercase;font-size:11px;letter-spacing:.12em;font-weight:800;color:#64748b}.desktop-hide{display:none!important}
.app-shell{display:flex;min-height:100vh}.sidebar{width:260px;background:linear-gradient(180deg,#0f172a,#111827);color:#d1d5db;padding:22px 16px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:20}.logo{display:flex;align-items:center;gap:10px;color:#fff;margin:2px 8px 24px}.logo span:last-child{display:flex;flex-direction:column;line-height:1}.logo b{font-size:18px}.logo small{font-size:11px;color:#94a3b8;margin-top:5px;text-transform:uppercase;letter-spacing:.15em}.brand-mark{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#3b82f6,#6d28d9);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:23px;box-shadow:0 8px 20px rgba(37,99,235,.25)}.brand-mark.sm{width:38px;height:38px;border-radius:11px;font-size:20px}.brand-mark.xs{width:31px;height:31px;border-radius:9px;font-size:16px}
.btn{border:0;border-radius:11px;padding:11px 16px;font-weight:700;transition:.2s;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary2)}.btn.soft{background:#eef2f7;color:#334155}.btn.danger-outline{background:#fff;color:var(--danger);border:1px solid #fecaca}.btn.wide{width:100%}.sidebar>.btn{margin-bottom:18px}
.side-nav{display:flex;flex-direction:column;gap:4px}.side-nav a,.sidebar-bottom a,.more-link{min-height:42px;padding:0 11px;border-radius:10px;display:flex;align-items:center;gap:11px;font-size:14px;color:#cbd5e1}.side-nav a>span{width:20px;text-align:center;color:#94a3b8;font-size:16px}.side-nav a em,.project-links em{margin-left:auto;font-style:normal;font-size:11px;color:#94a3b8}.side-nav a.active,.side-nav a:hover,.sidebar-bottom a:hover,.more-link:hover,.more-link.active{background:rgba(255,255,255,.08);color:#fff}.side-nav a.active>span{color:#60a5fa}.danger-text{color:#f87171!important}.side-section{margin-top:22px;min-height:0}.side-title{padding:0 9px 8px;display:flex;align-items:center;justify-content:space-between;color:#64748b;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:800}.mini-add{border:0;background:transparent;color:#94a3b8;font-size:18px}.project-links{display:flex;flex-direction:column;gap:2px}.project-links a{display:flex;align-items:center;min-height:36px;padding:0 11px;border-radius:9px;gap:9px;font-size:13px;color:#cbd5e1}.project-links a:hover{background:rgba(255,255,255,.06)}.project-links i{width:8px;height:8px;border-radius:50%;flex:none}.project-links span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.more-link{min-height:34px;font-size:12px;color:#94a3b8}.sidebar-bottom{margin-top:auto;padding-top:15px;border-top:1px solid rgba(255,255,255,.07)}
.main-area{margin-left:260px;width:calc(100% - 260px);min-width:0}.topbar{height:84px;background:rgba(244,246,249,.9);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10;padding:0 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(229,231,235,.75)}.topbar h1{font-size:22px;margin:0}.mobile-brand{display:none}.top-actions{display:flex;align-items:center;gap:12px}.user-pill{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);padding:6px 10px 6px 6px;border-radius:13px}.user-pill>span{width:34px;height:34px;border-radius:10px;background:#e0e7ff;color:#4338ca;display:flex;align-items:center;justify-content:center;font-weight:900}.user-pill div{display:flex;flex-direction:column}.user-pill b{font-size:12px}.user-pill small{font-size:10px;color:var(--muted);margin-top:2px}.content{padding:28px 30px 100px;max-width:1500px;margin:0 auto}
.alert{padding:12px 15px;border-radius:12px;margin-bottom:16px;font-size:13px;font-weight:650;transition:.4s}.alert.success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.alert.error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.alert.fade{opacity:.2}.welcome{background:linear-gradient(135deg,#111827,#1e293b);color:#fff;border-radius:22px;padding:28px 30px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow);margin-bottom:18px}.welcome h2{font-size:28px;margin:2px 0 6px}.welcome p{margin:0;color:#cbd5e1}.welcome .eyebrow{color:#93c5fd}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;align-items:center;gap:13px;box-shadow:0 3px 12px rgba(15,23,42,.03);transition:.2s}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.stat-card strong{display:block;font-size:24px;line-height:1}.stat-card small{display:block;color:var(--muted);margin-top:6px;font-size:12px}.stat-icon{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-weight:900}.stat-icon.blue{background:#eff6ff;color:#2563eb}.stat-icon.red{background:#fef2f2;color:#dc2626}.stat-icon.purple{background:#f5f3ff;color:#7c3aed}.stat-icon.green{background:#ecfdf5;color:#059669}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr);gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 18px rgba(15,23,42,.035)}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid #eef0f3}.panel-head h3{font-size:15px;margin:0}.panel-head p{font-size:11px;color:var(--muted);margin:4px 0 0}.panel-head>a,.link-btn{border:0;background:transparent;color:var(--primary);font-size:12px;font-weight:750;padding:4px}.task-list{padding:8px}.task-row{display:flex;align-items:center;min-height:68px;border-radius:12px;padding:8px 9px;transition:.15s}.task-row:hover{background:#f8fafc}.task-row+.task-row{border-top:1px solid #f1f5f9}.task-check{margin:0 9px 0 2px}.check-btn{width:24px;height:24px;border-radius:8px;border:1.8px solid #cbd5e1;background:#fff;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;line-height:1}.task-row.is-done .check-btn,.big-check.is-done .check-btn{background:#22c55e;border-color:#22c55e}.task-row.is-done .check-btn{background:#22c55e;border-color:#22c55e}.task-main{min-width:0;flex:1}.task-title{font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-meta{display:flex;align-items:center;gap:7px;margin-top:6px;flex-wrap:wrap}.project-chip,.due,.priority{font-size:10px;color:#64748b;background:#f8fafc;border-radius:6px;padding:3px 6px;display:inline-flex;align-items:center;gap:5px}.project-chip i{width:6px;height:6px;border-radius:50%}.due.danger{color:#dc2626;background:#fef2f2}.priority.high{color:#b91c1c;background:#fef2f2}.priority.medium{color:#b45309;background:#fffbeb}.priority.low{color:#0369a1;background:#f0f9ff}.task-actions{margin-left:8px}.icon-btn{width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:#fff;display:inline-flex;align-items:center;justify-content:center;color:#64748b;font-weight:800}.task-row.is-done{opacity:.58}.task-row.is-done .task-title{text-decoration:line-through}.empty{text-align:center;padding:48px 20px;color:var(--muted)}.empty>span{width:48px;height:48px;border-radius:15px;background:#f1f5f9;display:inline-flex;align-items:center;justify-content:center;font-size:20px;color:#64748b}.empty h4{margin:13px 0 5px;color:#334155}.empty p{font-size:12px;margin:0}.empty.small{padding:26px 10px}.empty.small .btn{margin-top:12px}.project-card-list{padding:10px}.project-card-mini{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px}.project-card-mini:hover{background:#f8fafc}.project-card-mini>div{display:flex;flex-direction:column;min-width:0;flex:1}.project-card-mini b{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-card-mini small{font-size:10px;color:var(--muted);margin-top:3px}.project-card-mini>span:last-child{color:#94a3b8}.project-icon{width:36px;height:36px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-weight:900;flex:none}.project-icon.big{width:46px;height:46px;border-radius:14px}.project-icon.hero{width:58px;height:58px;border-radius:17px;font-size:21px}
.list-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.list-toolbar p{margin:0;font-size:13px}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.project-box{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:0 3px 14px rgba(15,23,42,.03)}.project-box.archived{opacity:.65}.project-box-main{display:block;padding:20px}.project-box-top{display:flex;align-items:center;justify-content:space-between}.pin{font-size:9px;padding:4px 7px;border-radius:6px;background:#fef3c7;color:#92400e;font-weight:800}.project-box h3{margin:14px 0 6px;font-size:16px}.project-box p{height:34px;overflow:hidden;margin:0;color:var(--muted);font-size:11px;line-height:1.5}.project-progress{display:flex;justify-content:space-between;margin-top:18px;padding-top:13px;border-top:1px solid #f1f5f9;font-size:10px;color:#64748b}.project-box-actions{border-top:1px solid #f1f5f9;padding:8px 14px;display:flex;justify-content:space-between}.project-box-actions form{margin:0}.project-hero{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;align-items:center;gap:15px;margin-bottom:16px}.project-hero>div:nth-child(2){flex:1}.project-hero h2{margin:0 0 5px;font-size:22px}.project-hero p:last-child{margin:0;color:var(--muted);font-size:12px}
.task-page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.back-link{color:#64748b;font-size:12px;font-weight:700}.task-page-actions{display:flex;gap:8px}.task-page-actions form{margin:0}.dropdown{position:relative}.dropdown-menu{display:none;position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:6px;min-width:170px;z-index:8}.dropdown.open .dropdown-menu{display:block}.dropdown-menu form{display:flex;flex-direction:column}.dropdown-menu button{border:0;background:#fff;text-align:left;padding:9px 10px;border-radius:8px;font-size:12px}.dropdown-menu button:hover{background:#f8fafc}.task-editor{display:grid;grid-template-columns:minmax(0,1fr) 280px;overflow:hidden}.editor-main{padding:24px 26px}.editor-side{padding:22px;background:#fafbfc;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:14px}.editor-side label,.settings-form label,.modal-card label,.auth-card label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#64748b;font-weight:750}.title-edit-row{display:flex;align-items:center;gap:12px;margin-bottom:18px}.big-check{margin:0}.big-check .check-btn{width:30px;height:30px}.task-title-input{border:0;outline:0;font-size:23px;font-weight:800;width:100%;padding:4px 0;background:transparent}.field-label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#64748b;font-weight:750}input,select,textarea{width:100%;border:1px solid #dbe1e8;border-radius:10px;padding:10px 11px;background:#fff;color:#111827;outline:none}input:focus,select:focus,textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 3px rgba(59,130,246,.1)}textarea{resize:vertical;line-height:1.5}.checklist-block,.attachments-block{margin-top:24px;padding-top:20px;border-top:1px solid #eef0f3}.block-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px}.subtask-input-row{display:flex;align-items:center;gap:8px;margin:7px 0}.subtask-input-row>input[type=checkbox]{width:18px;height:18px;flex:none}.subtask-input-row>input[type=text],.subtask-input-row>input:not([type]){flex:1}.remove-row{border:0;background:transparent;color:#94a3b8;font-size:20px}.attachment-list{display:grid;gap:7px}.attachment{display:flex;align-items:center;justify-content:space-between;background:#f8fafc;border:1px solid #edf0f4;border-radius:10px;padding:8px 10px}.attachment>a{display:flex;align-items:center;gap:9px;min-width:0}.attachment>a>div{display:flex;flex-direction:column;min-width:0}.attachment b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment small{font-size:9px;color:var(--muted);margin-top:2px}.attachment form{margin:0}.attachment button{border:0;background:transparent;color:#94a3b8}.file-drop{margin-top:9px;border:1px dashed #cbd5e1;border-radius:11px;padding:13px;display:flex;flex-direction:column;align-items:center;cursor:pointer;color:#475569!important}.file-drop input{display:none}.file-drop span{font-size:11px;font-weight:800}.file-drop small{font-size:9px;color:#94a3b8;margin-top:3px}.save-note{text-align:center;color:#94a3b8;font-size:9px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-card{padding:22px}.settings-card h3{margin:0 0 6px}.settings-card>p{font-size:11px;margin-bottom:18px}.settings-form{display:flex;flex-direction:column;gap:13px}.settings-form .btn{align-self:flex-start}.settings-info{margin:20px 0;display:grid;gap:10px}.settings-info>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f1f5f9;font-size:11px}.settings-info span{color:#64748b}
.modal{display:none;position:fixed;inset:0;z-index:100}.modal.show{display:block}.modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.56);backdrop-filter:blur(3px)}.modal-card{position:relative;background:#fff;width:min(610px,calc(100% - 28px));max-height:calc(100vh - 42px);overflow:auto;margin:21px auto;border-radius:20px;padding:24px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.task-create-card{width:min(700px,calc(100% - 28px))}.modal-x{position:absolute;right:16px;top:14px;width:34px;height:34px;border-radius:10px;border:0;background:#f1f5f9;color:#64748b;font-size:22px}.modal-head{margin-bottom:18px}.modal-head h2{margin:0;font-size:21px}.modal-card form{display:flex;flex-direction:column;gap:13px}.big-input{font-size:16px;font-weight:700;padding:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.inline-new-project{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;padding:12px;display:grid;grid-template-columns:1fr 80px;gap:10px}.create-checklist{padding-top:6px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.checkbox-label{flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;margin-top:21px}.checkbox-label input{width:18px}
.auth-body{display:flex;align-items:center;justify-content:center;min-height:100vh;background:radial-gradient(circle at top,#eef2ff,#f8fafc 48%,#eef2f7);padding:24px}.auth-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:23px;padding:32px;box-shadow:0 25px 60px rgba(15,23,42,.09);text-align:center}.auth-card .brand-mark{margin-bottom:12px}.auth-card h1{margin:3px 0 5px;font-size:24px}.auth-card>p{margin:0 0 22px;font-size:12px}.auth-card form{text-align:left;display:flex;flex-direction:column;gap:13px}.auth-footer{margin-top:20px;font-size:10px;color:#94a3b8}.install-card{width:min(500px,100%)}.install-card .tiny{margin-top:17px}
.mobile-bottom{display:none}
@media(max-width:1100px){.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.projects-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){body{background:#f5f7fa}.sidebar{display:none}.main-area{margin-left:0;width:100%}.topbar{height:70px;padding:0 15px;background:rgba(245,247,250,.94)}.topbar h1{font-size:17px;margin-top:2px}.mobile-brand{display:flex;align-items:center;gap:8px;font-size:11px;color:#475569}.user-pill{display:none}.desktop-hide{display:inline-flex!important}.content{padding:16px 13px 92px}.welcome{padding:21px 18px;border-radius:17px;align-items:flex-start}.welcome h2{font-size:21px}.welcome p{font-size:11px}.welcome>.btn{display:none}.stat-grid{grid-template-columns:repeat(2,1fr);gap:9px}.stat-card{padding:13px;border-radius:14px;gap:9px}.stat-icon{width:35px;height:35px;border-radius:10px}.stat-card strong{font-size:19px}.stat-card small{font-size:10px}.dashboard-grid{gap:12px}.panel{border-radius:15px}.panel-head{padding:16px}.task-row{min-height:64px;padding:7px 5px}.task-title{font-size:12.5px}.task-meta{gap:4px}.priority{display:none}.task-actions{display:none}.projects-panel{display:none}.list-toolbar{margin-bottom:10px}.list-toolbar .btn{display:none}.projects-grid{grid-template-columns:1fr;gap:10px}.project-box-main{padding:17px}.project-hero{padding:16px;align-items:flex-start;flex-wrap:wrap}.project-hero>div:nth-child(2){min-width:calc(100% - 80px)}.project-hero>.btn{width:100%;margin-top:4px}.task-editor{grid-template-columns:1fr}.editor-main{padding:18px 16px}.editor-side{border-left:0;border-top:1px solid var(--line);padding:17px 16px}.task-title-input{font-size:19px}.task-page-actions .btn{padding:9px 11px;font-size:11px}.settings-grid{grid-template-columns:1fr}.mobile-bottom{position:fixed;z-index:50;left:0;right:0;bottom:0;height:72px;padding:7px 10px max(7px,env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-top:1px solid #e5e7eb;display:grid;grid-template-columns:repeat(5,1fr);align-items:center}.mobile-bottom a{height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#94a3b8}.mobile-bottom a span{font-size:18px;line-height:1}.mobile-bottom a small{font-size:9px;font-weight:700}.mobile-bottom a.active{color:#2563eb}.mobile-add{width:48px;height:48px;justify-self:center;border:0;border-radius:15px;background:#2563eb;color:#fff;font-size:25px;box-shadow:0 7px 20px rgba(37,99,235,.28)}.modal-card{margin:10px auto;max-height:calc(100vh - 20px);padding:20px 16px;border-radius:18px}.form-grid{grid-template-columns:1fr 1fr}.inline-new-project{grid-template-columns:1fr 70px}.modal-actions .btn{flex:1}.auth-card{padding:26px 20px}.project-chip{max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:410px){.stat-grid{grid-template-columns:1fr 1fr}.stat-card{padding:11px 9px}.stat-icon{display:none}.form-grid{grid-template-columns:1fr}.inline-new-project{grid-template-columns:1fr 70px}.checkbox-label{margin-top:0}}

/* v1.2 — statuses, live deadlines and quick actions */
.status-chip,.deadline-timer,.completed-time{font-size:10px;border-radius:6px;padding:3px 6px;display:inline-flex;align-items:center;gap:5px;font-weight:700;white-space:nowrap}
.status-chip.waiting{background:#fff7ed;color:#c2410c}
.deadline-timer{background:#eff6ff;color:#1d4ed8;font-variant-numeric:tabular-nums}
.deadline-timer.urgent{background:#fffbeb;color:#b45309}
.deadline-timer.critical,.deadline-timer.overdue{background:#fef2f2;color:#dc2626}
.deadline-timer.waiting{background:#fff7ed;color:#c2410c}
.completed-time{background:#ecfdf5;color:#047857}
.task-row.is-waiting{background:linear-gradient(90deg,#fffaf4 0,#fff 34%)}
.task-row.is-waiting:hover{background:#fff7ed}
.row-tools .dropdown-menu{min-width:205px}
.task-quick-menu .dropdown-sep{height:1px;background:#eef0f3;margin:5px 2px}
.dropdown-link{display:block;padding:9px 10px;border-radius:8px;font-size:12px;color:#475569;font-weight:700}
.dropdown-link:hover{background:#f8fafc}
.row-tools .icon-btn{font-size:13px;letter-spacing:1px}
@media(max-width:760px){
  .task-row{align-items:flex-start}
  .task-check{margin-top:7px}
  .task-actions.row-tools{display:block;margin-left:2px;margin-top:4px}
  .task-actions.row-tools .icon-btn{width:32px;height:32px;border:0;background:transparent}
  .task-actions.row-tools .dropdown-menu{right:0;min-width:210px}
  .deadline-timer{font-size:9.5px}
  .task-main{padding-top:3px}
}

/* v1.3 — plan, subtasks, calendar, search, filters, trash, statistics, dark theme */
.side-search{margin:0 0 14px}.side-search input{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.08);color:#fff;padding:10px 11px}.side-search input::placeholder{color:#64748b}.focus-chip,.tag-chip,.contact-mini{font-size:10px;border-radius:6px;padding:3px 6px;display:inline-flex;align-items:center;font-weight:700;white-space:nowrap}.focus-chip{background:#fff7ed;color:#a16207}.tag-chip{background:#f1f5f9;color:#475569}.contact-mini{background:#ecfeff;color:#0e7490}.focus-btn{background:#fff7ed!important;color:#a16207!important;border:1px solid #fde68a!important}.day-progress{margin-bottom:18px;padding:20px 22px;display:grid;grid-template-columns:1fr 88px;grid-template-areas:"text ring" "line line";align-items:center;gap:14px}.day-progress>div:first-child{grid-area:text}.day-progress h3{margin:2px 0 4px;font-size:18px}.day-progress p{margin:0;color:var(--muted);font-size:11px}.progress-ring{grid-area:ring;width:74px;height:74px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:conic-gradient(var(--primary) calc(var(--p)*1%),#e8edf3 0);position:relative}.progress-ring:after{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--panel)}.progress-ring strong{position:relative;z-index:1;font-size:14px}.progress-line{grid-area:line;height:7px;background:#edf1f5;border-radius:999px;overflow:hidden}.progress-line i,.today-progress-mini div i,.project-stats div>div i{display:block;height:100%;background:linear-gradient(90deg,#3b82f6,#7c3aed);border-radius:inherit}.focus-panel{margin-bottom:18px}.filter-bar{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto auto;gap:8px;margin:0 0 12px;align-items:center}.filter-bar select{padding:9px 10px;font-size:11px}.filter-reset{font-size:11px;color:var(--muted);padding:8px}.today-progress-mini{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 13px;margin-bottom:12px;font-size:11px}.today-progress-mini div{height:6px;background:#edf1f5;border-radius:999px;overflow:hidden}.today-progress-mini span{font-weight:800;color:var(--primary)}.segmented{display:inline-flex;background:#e9eef4;border-radius:11px;padding:3px;margin:0 0 14px}.segmented a{padding:8px 13px;border-radius:8px;font-size:11px;font-weight:750;color:#64748b}.segmented a.active{background:#fff;color:#111827;box-shadow:0 2px 8px rgba(15,23,42,.07)}.side-divider{height:1px;background:#e8edf3;margin:2px 0}.side-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;font-weight:850}.call-btn{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.block-title>div{display:flex;flex-direction:column;gap:2px}.block-title small{font-size:9px;color:var(--muted);font-weight:500}.subtask-card-row{display:grid;grid-template-columns:20px minmax(180px,1fr) 135px 105px auto 28px;align-items:center;gap:7px;margin:8px 0;padding:9px;background:#f8fafc;border:1px solid #edf0f4;border-radius:11px}.subtask-card-row input{padding:8px 9px;font-size:11px}.subtask-card-row .subtask-check{width:18px;height:18px}.subtask-title-field{font-weight:650}.subtask-timer{font-size:9px;max-width:150px;justify-content:center}.subtask-new-dot{color:#94a3b8;text-align:center}.activity-panel{margin-top:16px}.comment-form{display:grid;grid-template-columns:1fr auto;gap:10px;padding:16px 20px;border-bottom:1px solid #eef0f3}.comment-form textarea{min-height:60px}.activity-feed{padding:8px 20px 18px}.activity-item{display:flex;gap:11px;padding:13px 0;border-bottom:1px solid #f1f5f9}.activity-item:last-child{border-bottom:0}.activity-item>span{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:9px;background:#f1f5f9;flex:none}.activity-item>div{min-width:0}.activity-item b{font-size:11.5px}.activity-item p{margin:4px 0;font-size:12px;line-height:1.45;color:#334155}.activity-item small{font-size:9px;color:#94a3b8}.activity-item.comment>span{background:#eff6ff}.create-more{border:1px solid #e5e7eb;border-radius:11px;padding:10px 12px}.create-more summary{cursor:pointer;font-size:11px;font-weight:800;color:#475569}.create-more[open] summary{margin-bottom:12px}.contact-create{margin-bottom:12px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.calendar-toolbar .segmented{margin:0}.calendar-nav{display:flex;gap:7px}.calendar-month{overflow:hidden}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#f8fafc;border-bottom:1px solid var(--line)}.cal-weekdays b{text-align:center;padding:9px;font-size:10px;color:#64748b}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.cal-day{min-height:118px;padding:8px;border-right:1px solid #eef0f3;border-bottom:1px solid #eef0f3;display:flex;flex-direction:column;gap:4px}.cal-day:nth-child(7n){border-right:0}.cal-day:hover{background:#f8fafc}.cal-number{font-size:11px;font-weight:850;width:25px;height:25px;border-radius:8px;display:flex;align-items:center;justify-content:center}.today-cell .cal-number{background:var(--primary);color:#fff}.muted-day{opacity:.45}.cal-task{display:block;padding:4px 5px;border-radius:5px;background:#eff6ff;color:#1e40af;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-task.done{text-decoration:line-through;opacity:.55}.cal-task i{font-style:normal;margin-right:4px;color:#64748b}.cal-day em{font-size:9px;color:#64748b;font-style:normal}.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:10px;overflow-x:auto}.week-day{min-height:330px;padding:12px}.week-day.current{outline:2px solid #bfdbfe}.week-day>a{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;border-bottom:1px solid #eef0f3}.week-day>a b{font-size:12px}.week-day>a span{font-size:9px;color:#94a3b8}.week-task{display:block;margin-top:8px;padding:8px;border-radius:9px;background:#f8fafc}.week-task small{font-size:9px;color:#64748b}.week-task b{display:block;font-size:10.5px;margin-top:2px}.search-page{max-width:1000px}.big-search{display:grid;grid-template-columns:1fr auto;gap:9px;margin-bottom:14px}.big-search input{font-size:15px;padding:13px 14px}.trash-list{padding:8px}.trash-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px;border-bottom:1px solid #eef0f3}.trash-row:last-child{border-bottom:0}.trash-row>div:first-child{display:flex;flex-direction:column;gap:4px}.trash-row b{font-size:12px}.trash-row small{font-size:9px;color:#94a3b8}.trash-row>div:last-child{display:flex;gap:7px}.trash-row form{margin:0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.metric{padding:19px}.metric span{display:block;font-size:10px;color:#64748b}.metric strong{display:block;font-size:25px;margin-top:6px}.statistics-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:16px}.stats-panel{overflow:hidden}.mini-bars{height:260px;display:grid;grid-template-columns:repeat(14,1fr);align-items:end;gap:7px;padding:25px 20px 14px}.mini-bars>div{height:210px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px}.mini-bars i{width:70%;min-height:4px;max-height:160px;background:linear-gradient(180deg,#3b82f6,#7c3aed);border-radius:5px 5px 2px 2px}.mini-bars b{font-size:9px}.mini-bars small{font-size:8px;color:#94a3b8;writing-mode:vertical-rl;transform:rotate(180deg)}.project-stats{padding:13px 20px 20px}.project-stats>div{display:grid;grid-template-columns:minmax(110px,1fr) 1fr 42px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #f1f5f9}.project-stats>div>span{display:flex;flex-direction:column}.project-stats b{font-size:10.5px}.project-stats small{font-size:8px;color:#94a3b8;margin-top:2px}.project-stats div>div{height:6px;background:#edf1f5;border-radius:999px;overflow:hidden}.project-stats em{font-style:normal;font-size:9px;font-weight:800;color:#64748b;text-align:right}

html[data-theme="dark"]{--bg:#0b1020;--panel:#111827;--text:#e5e7eb;--muted:#94a3b8;--line:#273244;--sidebar:#070b14;--sidebar2:#111827;--shadow:0 10px 30px rgba(0,0,0,.24)}
html[data-theme="dark"] body,html[data-theme="dark"] .topbar{background:var(--bg);color:var(--text)}html[data-theme="dark"] .topbar{border-color:#202a3a}html[data-theme="dark"] .panel,html[data-theme="dark"] .stat-card,html[data-theme="dark"] .project-box,html[data-theme="dark"] .user-pill,html[data-theme="dark"] .modal-card,html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea,html[data-theme="dark"] .dropdown-menu,html[data-theme="dark"] .dropdown-menu button{background:#111827;color:#e5e7eb;border-color:#293446}html[data-theme="dark"] .task-row:hover,html[data-theme="dark"] .project-card-mini:hover,html[data-theme="dark"] .dropdown-menu button:hover,html[data-theme="dark"] .dropdown-link:hover,html[data-theme="dark"] .week-task,html[data-theme="dark"] .subtask-card-row,html[data-theme="dark"] .attachment,html[data-theme="dark"] .cal-weekdays{background:#172033}html[data-theme="dark"] .editor-side{background:#0f172a;border-color:#273244}html[data-theme="dark"] .task-row+ .task-row,html[data-theme="dark"] .panel-head,html[data-theme="dark"] .activity-item,html[data-theme="dark"] .trash-row,html[data-theme="dark"] .week-day>a,html[data-theme="dark"] .cal-day,html[data-theme="dark"] .cal-weekdays{border-color:#263247}html[data-theme="dark"] .btn.soft{background:#1e293b;color:#cbd5e1}html[data-theme="dark"] .btn.danger-outline{background:#111827;border-color:#7f1d1d}html[data-theme="dark"] .project-chip,html[data-theme="dark"] .tag-chip{background:#1e293b;color:#cbd5e1}html[data-theme="dark"] .segmented{background:#1e293b}html[data-theme="dark"] .segmented a.active{background:#334155;color:#fff}html[data-theme="dark"] .activity-item p{color:#cbd5e1}html[data-theme="dark"] .file-drop{border-color:#475569;color:#cbd5e1!important}html[data-theme="dark"] .task-title-input{color:#f8fafc}html[data-theme="dark"] .mobile-bottom{background:rgba(15,23,42,.97);border-color:#273244}html[data-theme="dark"] .mobile-brand{color:#cbd5e1}html[data-theme="dark"] .today-progress-mini{background:#111827;border-color:#273244}html[data-theme="dark"] .progress-ring:after{background:#111827}html[data-theme="dark"] .cal-day:hover{background:#172033}html[data-theme="dark"] .cal-task{background:#1e3a5f;color:#bfdbfe}

@media(max-width:1100px){.statistics-layout{grid-template-columns:1fr}.filter-bar{grid-template-columns:repeat(2,1fr) auto auto}.stats-grid{grid-template-columns:repeat(2,1fr)}.subtask-card-row{grid-template-columns:20px 1fr 120px 95px 28px}.subtask-timer{grid-column:2/5;justify-self:start}}
@media(max-width:760px){.filter-bar{grid-template-columns:1fr 1fr}.filter-bar .btn,.filter-reset{display:flex}.calendar-toolbar{align-items:flex-start;gap:10px;flex-direction:column}.calendar-month{overflow-x:auto}.cal-weekdays,.cal-grid{min-width:720px}.calendar-week{grid-template-columns:repeat(7,220px)}.subtask-card-row{grid-template-columns:20px 1fr 28px}.subtask-card-row input[type=date],.subtask-card-row input[type=time]{grid-column:2/3}.subtask-timer{grid-column:2/3}.comment-form{grid-template-columns:1fr}.comment-form .btn{width:100%}.stats-grid{grid-template-columns:1fr 1fr}.day-progress{grid-template-columns:1fr 70px;padding:16px}.progress-ring{width:62px;height:62px}.trash-row{align-items:flex-start;flex-direction:column}.trash-row>div:last-child{width:100%}.trash-row form{flex:1}.trash-row .btn{width:100%;font-size:10px}.top-actions .theme-toggle{display:inline-flex}.focus-panel .panel-head{align-items:flex-start}.activity-feed{padding:8px 14px 14px}.big-search{grid-template-columns:1fr}.big-search .btn{width:100%}}
@media(max-width:410px){.filter-bar{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.metric{padding:14px}.metric strong{font-size:20px}.subtask-card-row{padding:8px}}
.mobile-quick-links{display:none}
@media(max-width:760px){.mobile-quick-links{display:flex;gap:7px;overflow-x:auto;margin:-4px 0 12px;padding-bottom:2px;scrollbar-width:none}.mobile-quick-links::-webkit-scrollbar{display:none}.mobile-quick-links a{flex:none;padding:7px 10px;border:1px solid var(--line);background:var(--panel);border-radius:999px;font-size:9.5px;font-weight:750;color:var(--muted)}}

/* v1.4 — карточка задачи и видимые подзадачи */
.task-row{align-items:flex-start}.task-check{margin-top:10px}.task-content{min-width:0;flex:1}.task-main{width:100%;display:block;border:0;background:transparent;text-align:left;padding:7px 0 5px;color:inherit;cursor:pointer}.task-main:hover .task-title{color:var(--primary)}.task-actions{margin-top:8px}.dropdown-link{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}.subtask-preview{margin:2px 0 7px;padding:8px 10px;background:#f8fafc;border:1px solid #eef2f6;border-radius:10px}.subtask-preview-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px;font-size:9px;color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-weight:800}.subtask-preview-head b{font-size:9px;color:#475569}.subtask-preview-row{display:grid;grid-template-columns:16px minmax(100px,1fr) auto auto;gap:6px;align-items:center;min-height:25px;border-top:1px solid #edf1f5;padding:4px 0}.subtask-preview-row:first-of-type{border-top:0}.subtask-preview-check{font-size:12px;color:#94a3b8}.subtask-preview-row.done .subtask-preview-check{color:#16a34a}.subtask-preview-title{min-width:0;font-size:10.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subtask-preview-row.done .subtask-preview-title{text-decoration:line-through;color:#94a3b8}.subtask-preview-state{font-size:8.5px;font-weight:800;border-radius:999px;padding:3px 6px;white-space:nowrap}.subtask-preview-state.open{background:#eff6ff;color:#2563eb}.subtask-preview-state.done{background:#ecfdf5;color:#059669}.subtask-preview-state.late{background:#fef2f2;color:#dc2626}.subtask-preview-timer{font-size:8.5px;padding:3px 6px;white-space:nowrap}.subtask-preview-date{font-size:8.5px;color:#64748b}.subtask-more{border:0;background:transparent;color:var(--primary);padding:5px 0 0;font-size:9px;font-weight:750;cursor:pointer}
.task-view-card{width:min(780px,calc(100% - 28px));padding:0;overflow:auto}.task-view-card>.modal-x{z-index:2}.task-view-loading{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;color:#64748b}.task-view-loading span{width:30px;height:30px;border-radius:50%;border:3px solid #dbeafe;border-top-color:#2563eb;animation:taskspin .8s linear infinite}.task-view-loading b{font-size:12px}@keyframes taskspin{to{transform:rotate(360deg)}}.task-view-error{padding:40px 28px;color:#991b1b}.task-view-error b{font-size:17px}.task-view-error p{white-space:pre-wrap;font-size:11px}.task-view-head{padding:28px 30px 22px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fbfdff,#fff)}.task-view-kicker,.task-view-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.task-view-head h2{font-size:24px;line-height:1.2;margin:11px 38px 12px 0}.status-chip.open,.status-chip.completed{font-size:10px;padding:3px 7px;border-radius:6px;font-weight:800}.status-chip.open{background:#eff6ff;color:#2563eb}.status-chip.completed{background:#ecfdf5;color:#059669}.task-view-section{padding:18px 30px;border-bottom:1px solid #eef2f6}.task-view-section h3{margin:0 0 11px;font-size:12px}.task-view-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.task-view-section-head h3{margin:0}.task-view-section-head span{font-size:9px;color:#94a3b8}.task-view-description{font-size:12.5px;line-height:1.65;color:#334155}.task-view-subtasks{display:grid;gap:7px}.task-view-subtask{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 10px;border:1px solid #edf1f5;background:#f8fafc;border-radius:10px}.task-view-subtask-check{width:21px;height:21px;border:1px solid #cbd5e1;border-radius:7px;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:11px;font-weight:900}.task-view-subtask.done .task-view-subtask-check{background:#22c55e;border-color:#22c55e;color:#fff}.task-view-subtask>div{min-width:0}.task-view-subtask b{display:block;font-size:11px}.task-view-subtask.done b{text-decoration:line-through;color:#94a3b8}.task-view-subtask small{display:block;margin-top:3px;font-size:9px;color:#64748b}.task-contact-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f8fafc;border:1px solid #edf1f5;border-radius:12px;padding:12px}.task-contact-card>div{display:flex;flex-direction:column;gap:3px}.task-contact-card b{font-size:12px}.task-contact-card small{font-size:9px;color:#64748b}.task-contact-card>div>a{font-size:11px;color:var(--primary);font-weight:750}.task-view-tags{display:flex;flex-wrap:wrap;gap:6px}.task-view-files{display:grid;gap:7px}.task-view-files .attachment{width:100%}.task-view-files .attachment>div{display:flex;flex-direction:column;min-width:0}.task-view-files .attachment span{color:var(--primary);font-weight:900}.task-view-activity .activity-feed.compact{padding:0}.task-view-more-note{font-size:9px;color:#94a3b8;margin:10px 0 0}.task-view-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 30px 22px;position:sticky;bottom:0;background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}.week-task{width:100%;border:0;text-align:left;cursor:pointer;color:inherit}
html[data-theme="dark"] .subtask-preview,html[data-theme="dark"] .task-view-subtask,html[data-theme="dark"] .task-contact-card{background:#172033;border-color:#263247}html[data-theme="dark"] .subtask-preview-row{border-color:#263247}html[data-theme="dark"] .task-view-head{background:linear-gradient(180deg,#111827,#0f172a);border-color:#263247}html[data-theme="dark"] .task-view-section{border-color:#263247}html[data-theme="dark"] .task-view-description{color:#cbd5e1}html[data-theme="dark"] .task-view-footer{background:rgba(17,24,39,.96)}html[data-theme="dark"] .task-main{color:#e5e7eb}
@media(max-width:760px){.task-row{padding:7px 6px}.task-check{margin-left:0;margin-right:7px}.task-main{padding-top:5px}.task-actions{margin-left:4px}.subtask-preview{padding:7px 8px}.subtask-preview-row{grid-template-columns:15px minmax(80px,1fr) auto}.subtask-preview-timer{grid-column:2/4;justify-self:start}.subtask-preview-date{display:none}.task-view-card{width:100%;height:100%;max-height:none;margin:0;border-radius:0}.task-view-head{padding:24px 18px 18px}.task-view-head h2{font-size:21px}.task-view-section{padding:16px 18px}.task-view-footer{padding:13px 18px calc(13px + env(safe-area-inset-bottom));}.task-view-subtask{grid-template-columns:22px minmax(0,1fr)}.task-view-subtask>.deadline-timer{grid-column:2/3;justify-self:start}.task-contact-card{align-items:flex-start;flex-direction:column}.task-contact-card .btn{width:100%}}

/* v1.5 — интерактивные подзадачи */
.subtask-preview-check,.task-view-subtask-check{font-family:inherit;cursor:pointer;transition:transform .16s ease,color .16s ease,border-color .16s ease,background .16s ease}
button.subtask-preview-check{border:0;background:transparent;padding:0;width:16px;height:20px;display:inline-flex;align-items:center;justify-content:center}
button.subtask-preview-check:hover{transform:scale(1.14);color:#2563eb}
button.task-view-subtask-check{cursor:pointer}
button.task-view-subtask-check:hover{border-color:#2563eb;color:#2563eb;transform:scale(1.05)}
.subtask-toggle:disabled{opacity:.45;cursor:wait}
.task-view-shell{min-height:100%}

/* v1.7 — subtask ordering */
.task-view-subtask{grid-template-columns:22px minmax(0,1fr) auto auto}
.subtask-order-controls,.subtask-editor-order{display:flex;align-items:center;gap:3px;flex:none}
.subtask-order-controls button,.subtask-editor-order button{width:26px;height:26px;padding:0;border:1px solid #dbe3ed;border-radius:8px;background:#fff;color:#64748b;font:800 13px/1 inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.15s ease}
.subtask-order-controls button:hover:not(:disabled),.subtask-editor-order button:hover:not(:disabled){border-color:#93c5fd;background:#eff6ff;color:#2563eb}
.subtask-order-controls button:disabled,.subtask-editor-order button:disabled{opacity:.25;cursor:default}
.subtask-card-row{grid-template-columns:20px minmax(180px,1fr) 135px 105px auto 58px 28px}
html[data-theme="dark"] .subtask-order-controls button,html[data-theme="dark"] .subtask-editor-order button{background:#111827;border-color:#334155;color:#94a3b8}
html[data-theme="dark"] .subtask-order-controls button:hover:not(:disabled),html[data-theme="dark"] .subtask-editor-order button:hover:not(:disabled){background:#1e3a5f;border-color:#3b82f6;color:#bfdbfe}
@media(max-width:1100px){.subtask-card-row{grid-template-columns:20px 1fr 120px 95px 58px 28px}.subtask-timer{grid-column:2/5;justify-self:start}}
@media(max-width:760px){.task-view-subtask{grid-template-columns:22px minmax(0,1fr) auto}.task-view-subtask>.deadline-timer{grid-column:2/3;justify-self:start}.subtask-order-controls{grid-column:3/4;grid-row:1/3}.subtask-card-row{grid-template-columns:20px 1fr 58px 28px}.subtask-card-row input[type=date],.subtask-card-row input[type=time]{grid-column:2/3}.subtask-timer{grid-column:2/3}.subtask-editor-order{grid-column:3/4;grid-row:1/4;flex-direction:column}}
