[hidden]{display:none!important}
#connectPanel{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:12px}#connectForm{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}#connectCode{max-width:100%;padding:8px}#pairVideo{display:block;max-width:100%;width:480px;margin-top:12px}
:root{color-scheme:light;--ink:#17202b;--muted:#687587;--line:#dfe5ec;--blue:#2764d8;--danger:#b42318}*{box-sizing:border-box}body{margin:0;background:#f4f6f8;color:var(--ink);font:15px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}button,input,textarea{font:inherit}button{border:0;border-radius:9px;background:var(--blue);color:#fff;cursor:pointer;padding:10px 15px;font-weight:600}button:disabled{cursor:wait;opacity:.55}.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.danger{background:#fff;color:var(--danger);border:1px solid #efb8b3}.shell{max-width:1060px;margin:auto;padding:30px 28px 60px}.topbar{align-items:center;display:flex;justify-content:space-between;margin-bottom:28px}h1,h2,p{margin-top:0}.topbar h1{font-size:30px;margin:0}.eyebrow{color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 30px #1522380b;padding:28px}.pairing{margin:8vh auto;max-width:610px;text-align:center}.pairing img{display:block;height:280px;margin:24px auto;width:280px}.pairing code{display:block;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.pairing pre{white-space:pre-wrap}.toolbar{align-items:center;display:flex;gap:10px;margin-bottom:18px}.toolbar span{color:var(--muted);margin-left:auto}.sync-problem{align-items:center;background:#fff4f2;border:1px solid #efb8b3;border-radius:12px;color:var(--danger);display:flex;gap:14px;justify-content:space-between;margin-bottom:16px;padding:12px 14px}.sync-problem button{flex:none}.task-form{align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;display:flex;flex-wrap:wrap;gap:9px;margin-bottom:16px;padding:14px}.task-form input:first-child{flex:1;min-width:240px}.task-form input,.task-form button{border-radius:8px;border:1px solid var(--line);padding:10px}.task-form button{border:0}.task-form label{color:var(--muted);white-space:nowrap}.task-list{display:grid;gap:10px}.task-card{align-items:center;background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent,#8aa8df);border-radius:12px;display:grid;gap:12px;grid-template-columns:auto 1fr auto;padding:14px 16px}.task-card.done .task-text{text-decoration:line-through;color:var(--muted)}.task-text{font-size:16px;overflow-wrap:anywhere}.task-meta{color:var(--muted);font-size:12px;margin-top:3px}.task-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.task-actions button{font-size:12px;padding:7px 9px}.task-actions input{max-width:180px;padding:7px}.check{height:20px;width:20px}.trash{margin-top:30px}.link-button{background:none;color:var(--blue);padding:5px 0}.trash #trashList{display:grid;gap:10px;margin-top:12px}.settings-head{align-items:center;display:flex;justify-content:space-between}.device{border-top:1px solid var(--line);padding:13px 0}.device small{color:var(--muted)}#taskStatus,#status{color:var(--muted);min-height:1.45em}.ok{color:#087443!important}.error{color:var(--danger)!important}@media(max-width:650px){.shell{padding:20px 14px}.topbar h1{font-size:24px}.toolbar{flex-wrap:wrap}.toolbar span{margin-left:0;width:100%}.sync-problem{align-items:flex-start;flex-direction:column}.task-card{grid-template-columns:auto 1fr}.task-actions{grid-column:2;justify-content:flex-start}.pairing img{height:220px;width:220px}}
.modal:not([hidden]){align-items:center;background:#17202b66;display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:10}.modal-card{background:#fff;border-radius:16px;box-shadow:0 16px 50px #15223833;display:grid;gap:12px;max-width:560px;padding:24px;width:100%}.modal-card label{display:grid;gap:5px;color:var(--muted);font-weight:600}.modal-card input:not([type=checkbox]),.modal-card textarea,.modal-card select{border:1px solid var(--line);border-radius:8px;padding:10px}.modal-actions{display:flex;gap:8px;justify-content:flex-end}.snackbar{align-items:center;background:#17202b;color:#fff;border-radius:10px;bottom:20px;display:flex;gap:16px;justify-content:space-between;left:50%;padding:10px 12px 10px 16px;position:fixed;transform:translateX(-50%);z-index:11}.snackbar .secondary{color:var(--ink);white-space:nowrap}

.modal-card{max-height:calc(100dvh - 36px);overflow-y:auto}
.modal-card textarea{width:100%;resize:vertical;line-height:1.45;min-height:6em}
.task-text{white-space:pre-wrap}
.snackbar{max-width:calc(100% - 28px);width:max-content;padding-bottom:16px;overflow:hidden}
.snackbar-progress-track{position:absolute;bottom:0;left:0;right:0;height:4px;background:#ffffff33}
.snackbar-progress{height:100%;background:#ffc107;transform-origin:left}

/* Desktop task workspace. */
.shell{display:flex;flex-direction:column;min-height:100dvh;max-width:1500px;padding:18px 30px 16px}
.topbar{gap:24px;margin-bottom:12px}.topbar h1{font-size:31px}.topbar-actions{align-items:center;display:flex;gap:10px}.topbar-actions #syncStatus{color:var(--muted);font-size:13px;white-space:nowrap}.topbar-actions #syncStatus.ok{color:#087443!important}.topbar-actions #syncStatus.ok::after{content:" · только что"}.icon-button{align-items:center;display:inline-flex;font-size:22px;height:44px;justify-content:center;line-height:1;padding:0;width:44px}.topbar-actions #settingsButton{height:44px;padding:0 16px}
#tasks{flex:1}.task-toolbar{align-items:center;display:grid;gap:14px;grid-template-columns:minmax(170px,220px) minmax(260px,1fr) minmax(170px,220px);margin-bottom:6px}.task-toolbar #newTaskButton{height:46px;justify-self:start;min-width:190px}.toolbar-spacer{height:1px}
.category-filters{align-items:center;display:flex;gap:12px;justify-content:center;min-width:0}.category-button{background:var(--category,#fff);border:2px solid transparent;border-radius:50%;box-shadow:0 2px 8px #17202b12;height:34px;min-width:0;padding:0;position:relative;width:34px}.category-button:hover{filter:brightness(.96);transform:translateY(-1px)}.category-button.selected{border-color:var(--blue);box-shadow:0 0 0 3px #2764d81a}.category-all{background:#fff;color:var(--ink);font-size:12px;height:42px;width:42px}.category-all.selected{border-color:var(--blue)}.category-button.category-color{align-items:center;background:transparent;border:0;border-radius:0;box-shadow:none;color:var(--ink);display:inline-flex;gap:6px;height:34px;width:auto}.category-button.category-color:hover{filter:none}.category-button.category-color.selected{border:0;box-shadow:none}.category-dot{align-items:center;background:var(--category);border:2px solid transparent;border-radius:50%;box-shadow:0 2px 8px #17202b12;display:flex;font-size:14px;font-weight:800;height:34px;justify-content:center;flex:none;position:relative;width:34px}.category-button.category-color.selected .category-dot{border-color:var(--blue);box-shadow:0 0 0 3px #2764d81a}.category-button.category-color.selected .category-dot::after{background:var(--blue);border-radius:4px;bottom:-8px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:20px}.category-label{font-size:13px;white-space:nowrap}
.task-form{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px #1522380b;display:block;margin:4px 0 10px;max-height:0;opacity:0;overflow:hidden;padding:0 14px;transform:translateY(-6px);transition:max-height .18s ease,opacity .15s ease,transform .18s ease,padding .18s ease}.task-form.open{max-height:260px;opacity:1;padding:14px;transform:translateY(0)}.task-form.collapsed{pointer-events:none}.task-form textarea{border:1px solid var(--line);border-radius:9px;display:block;line-height:1.45;min-height:84px;padding:12px;resize:vertical;width:100%}.task-form-row{align-items:center;display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}.task-form-row input[type=date],.task-form-row input[type=time],.task-form-row select{border:1px solid var(--line);border-radius:8px;flex:0 1 auto;min-width:0;padding:9px 10px}.task-form-row label{align-items:center;color:var(--muted);display:inline-flex;flex:0 0 auto;gap:6px;margin-right:auto;white-space:nowrap}.task-form-row label input[type=checkbox]{flex:0 0 auto;height:16px;margin:0;min-width:16px;width:16px}.task-form-row button{padding:9px 14px}
.category-notice{background:#17202be8;border-radius:8px;color:#fff;font-size:13px;margin:0 auto 7px;max-width:620px;padding:7px 12px;text-align:center}
#taskStatus{color:var(--muted);font-size:13px;margin:5px 0 7px;min-height:1.2em}.task-list{gap:9px;overflow:visible}.task-card{box-shadow:0 4px 16px #1522380a;min-width:0;padding:11px 14px;transition:opacity .18s ease,box-shadow .18s ease}.task-card:focus-visible,.task-card.keyboard-selected{outline:3px solid #2764d84d;outline-offset:2px}.task-card.category-dimmed{opacity:.32}.task-card.category-dimmed:hover{opacity:.46}.task-card>div{min-width:0}.task-actions button{background:#edf3fc;color:#174d9f}.task-copy-button{align-items:center;display:inline-flex;height:34px;justify-content:center;padding:0;width:34px}.task-copy-button svg{fill:none;height:18px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:18px}.trash{margin-top:18px}
.ad-banner{align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 6px 22px #15223812;display:flex;flex:none;gap:16px;height:72px;margin-top:14px;padding:10px 14px}.ad-label{background:#eef1f5;border-radius:6px;color:var(--muted);font-size:11px;padding:4px 7px}.ad-copy{color:var(--muted);flex:1;font-size:14px;text-align:center}.ad-close{align-items:center;border:0;display:flex;font-size:22px;height:34px;justify-content:center;padding:0;width:34px}body.plus .ad-banner{display:none!important}
@media(max-width:800px){.shell{padding:18px 16px}.topbar{align-items:flex-start;flex-direction:column}.topbar-actions{flex-wrap:wrap;width:100%}.topbar-actions #syncStatus{margin-right:auto}.task-toolbar{display:flex;flex-wrap:wrap}.task-toolbar #newTaskButton{min-width:160px}.category-filters{flex:1;justify-content:flex-start;min-width:260px}.toolbar-spacer{display:none}.task-card{grid-template-columns:auto minmax(0,1fr)}.task-actions{grid-column:2}.ad-copy{text-align:left}}
@media(max-width:520px){.topbar-actions #syncStatus{width:100%}.category-filters{gap:8px;min-width:100%;order:2}.category-button{height:31px;width:31px}.category-all{height:38px;width:38px}.task-form-row label{margin-right:0;width:max-content}.task-form-row button{flex:1}.ad-banner{gap:8px}.ad-copy{font-size:12px}.task-card{padding:10px}.task-actions{justify-content:flex-start}}

.category-select{display:none}.task-category-picker{align-items:center;display:flex;gap:6px}.task-category-button{background:var(--category,#fff);font-size:14px;font-weight:800;border:2px solid #d9e0e8;border-radius:50%;box-shadow:0 1px 4px #17202b18;color:var(--ink);height:30px;min-width:30px;padding:0;position:relative;width:30px}.task-category-button:hover{filter:brightness(.95);transform:translateY(-1px)}.task-category-button.selected{border-color:var(--blue);box-shadow:0 0 0 3px #2764d825}.task-category-button.selected::after{background:var(--blue);border-radius:4px;bottom:-7px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:16px}.task-category-button.task-category-none{background:#fff;font-weight:800}.modal-card .task-category-picker{margin-top:2px}

.task-category-picker .task-category-button{align-items:center;border-radius:50%;display:inline-flex;justify-content:center;line-height:1;padding:0}

.modal-card label.checkbox-label{align-items:center;display:flex;gap:6px}.modal-card label.checkbox-label input[type=checkbox]{margin:0}

.settings-category-toggle{align-items:center;display:flex;gap:8px;margin:16px 0}.settings-category-toggle input{height:18px;margin:0;width:18px}

.devices-heading{margin:22px 0 0}.device-pairing{margin-top:18px}

/* Manual task ordering is deliberately opt-in, so ordinary card controls stay unchanged. */
.task-drag-handle{align-items:center;background:#edf3fc!important;color:#174d9f!important;cursor:grab;display:inline-flex;font-size:20px;height:34px;justify-content:center;line-height:1;padding:0!important;touch-action:none;width:34px}.task-drag-handle:active{cursor:grabbing}.task-card.move-dragging{box-shadow:0 10px 26px #174d9f33;opacity:.82;position:relative;will-change:transform;z-index:2}.task-card.move-insertion-before{box-shadow:0 -3px 0 var(--blue),0 4px 16px #1522380a}.task-card.move-insertion-after{box-shadow:0 3px 0 var(--blue),0 4px 16px #1522380a}.task-card .task-actions{align-items:center}
