:root,[data-theme=light]{--bg-canvas: #ffffff;--fg-pure: #000000;--dock-bg: #fdfdfd;--dock-border: #f0f0f0;--dock-shadow: 0 4px 24px rgba(0, 0, 0, .03), inset 0 0 0 1px rgba(255, 255, 255, 1);--dot-color: #e0e0e0;--card-border: #e8e8e8;--muted: #666666;--card-hover-border: #d0d0d0;--input-bg: #ffffff;--modal-overlay: rgba(0, 0, 0, .35);--tag-important-border: #000000;--tag-bugfix-border-style: dashed;--tag-support-bg: transparent;--tag-idea-style: dotted;--ch-wa: #16a34a;--ch-tg: #2563eb;--ch-core: #52525b;--ch-web: #737373;--ch-landing: #7c3aed}[data-theme=dark]{--bg-canvas: #0e0e0f;--fg-pure: #f4f4f5;--dock-bg: #161618;--dock-border: #2a2a2e;--dock-shadow: 0 4px 28px rgba(0, 0, 0, .45), inset 0 0 0 1px rgba(255, 255, 255, .04);--dot-color: #52525b;--card-border: #2e2e33;--muted: #a1a1aa;--card-hover-border: #3f3f46;--input-bg: #161618;--modal-overlay: rgba(0, 0, 0, .65);--tag-important-border: #f4f4f5;--tag-bugfix-border-style: dashed;--tag-support-bg: transparent;--tag-idea-style: dotted;--ch-wa: #4ade80;--ch-tg: #60a5fa;--ch-core: #a1a1aa;--ch-web: #a1a1aa;--ch-landing: #a78bfa}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-canvas);color:var(--fg-pure);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh}#root{min-height:100vh}.app-title{font-size:24px;font-weight:800;letter-spacing:-.03em}.header-bar{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;width:100%;max-width:900px}.header-actions{display:flex;align-items:center;gap:12px}.btn-ghost{background:none;border:2px solid var(--fg-pure);color:var(--fg-pure);border-radius:999px;padding:8px 16px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.btn-ghost:hover{transform:translateY(-1px)}.btn-ghost:active{transform:scale(.98)}.theme-toggle{width:44px;height:44px;border-radius:50%;border:2px solid var(--fg-pure);background:var(--dock-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--fg-pure);transition:transform .15s ease}.theme-toggle:hover{transform:translateY(-2px)}.theme-toggle svg{width:22px;height:22px;stroke:currentColor;stroke-width:2.2px;fill:none;stroke-linecap:round;stroke-linejoin:round}header.app-header{padding:48px 40px 32px;display:flex;flex-direction:column;align-items:center;gap:20px}.filters-bar{display:flex;flex-direction:column;align-items:stretch;gap:14px;width:100%;max-width:900px}.filter-row{display:flex;flex-direction:column;gap:8px}.filter-row-label{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-left:4px}.filter-dock{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;background:var(--dock-bg);border:1px solid var(--dock-border);border-radius:32px;padding:10px 16px;box-shadow:var(--dock-shadow)}.filter-dock-secondary .filter-btn span{max-width:7.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(min-width:480px){.filter-dock-secondary .filter-btn span{max-width:none}}.filter-btn{background:transparent;border:none;cursor:pointer;padding:8px 14px;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--fg-pure);position:relative;border-radius:999px;transition:transform .2s ease,background .18s ease,color .18s ease,box-shadow .18s ease;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.filter-btn:hover{transform:translateY(-2px)}.filter-btn svg{width:26px;height:26px;stroke:var(--fg-pure);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;fill:none;transition:stroke .18s ease}.filter-btn.active{background:var(--fg-pure);color:var(--bg-canvas);box-shadow:0 2px 12px color-mix(in srgb,var(--fg-pure) 22%,transparent)}.filter-btn.active svg{stroke:var(--bg-canvas)}.filter-btn.active:after{content:"";position:absolute;bottom:5px;width:6px;height:6px;background-color:var(--bg-canvas);border-radius:50%;opacity:.45;box-shadow:0 0 0 1px color-mix(in srgb,var(--bg-canvas) 40%,transparent)}.board{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:0 40px 60px;max-width:1400px;margin:0 auto;width:100%}@media(max-width:1024px){.board{grid-template-columns:1fr}}.column{display:flex;flex-direction:column;gap:16px;min-height:120px}.column-drop{border-radius:20px;min-height:80px;padding-bottom:8px;transition:background .15s ease;flex:1}.column-drop.drag-over{background:color-mix(in srgb,var(--dock-bg) 80%,var(--fg-pure))}.column-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:2px solid var(--fg-pure);margin-bottom:4px}.column-title{font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.task-count{font-size:13px;font-weight:800;border:2px solid var(--fg-pure);border-radius:8px;padding:2px 8px}.card{background:var(--bg-canvas);border:1px solid var(--card-border);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:14px;transition:box-shadow .2s ease,border-color .2s,opacity .15s ease}.card-draggable{touch-action:none;-webkit-user-select:none;user-select:none}@media(hover:hover)and (pointer:fine){.card-draggable{cursor:grab}.card-draggable:active{cursor:grabbing}.card-open-details.card-draggable{cursor:pointer}.card-open-details.card-draggable:active{cursor:grabbing}}.card:hover{box-shadow:0 12px 32px #00000014;border-color:var(--card-hover-border)}[data-theme=dark] .card:hover{box-shadow:0 12px 36px #00000080}.card-drag-overlay{cursor:grabbing;box-shadow:0 20px 50px #0000002e;max-width:min(100vw - 32px,380px)}[data-theme=dark] .card-drag-overlay{box-shadow:0 20px 50px #0000008c}.card-drag-hint{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-top:-6px}.card.completed{opacity:.62}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.card-edit-btn{flex-shrink:0;align-self:flex-start;margin-top:2px;padding:6px 12px;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border:2px solid var(--fg-pure);border-radius:999px;background:var(--dock-bg);color:var(--fg-pure);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.card-edit-btn:active{transform:scale(.97)}.card-title{font-size:17px;font-weight:700;line-height:1.3;letter-spacing:-.01em}.card.completed .card-title{text-decoration:line-through}.card-desc{font-size:14px;color:var(--muted);line-height:1.5;font-weight:500}.card-cancel-reason{font-size:12px;color:var(--muted);line-height:1.45;font-weight:500}.card-cancel-reason-label{font-weight:800;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--muted) 85%,var(--fg-pure))}.tags{display:flex;flex-wrap:wrap;gap:8px}.tag{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:4px 10px;border-radius:999px;border:2px solid var(--fg-pure);background:var(--bg-canvas);color:var(--fg-pure)}.tag-idea{border-style:var(--tag-idea-style);opacity:.92}.tag-important{background:var(--fg-pure);color:var(--bg-canvas);border-color:var(--tag-important-border)}.tag-bugfix{border-style:var(--tag-bugfix-border-style)}.tag-support{background:var(--tag-support-bg)}.tag-general{border-style:solid;border-color:color-mix(in srgb,var(--muted) 45%,var(--fg-pure));color:color-mix(in srgb,var(--muted) 25%,var(--fg-pure));font-weight:800}.tag-ch{font-weight:700;border-width:1.5px}.tag-ch-whatsapp{border-color:color-mix(in srgb,var(--ch-wa) 55%,var(--fg-pure));color:color-mix(in srgb,var(--ch-wa) 85%,var(--fg-pure))}.tag-ch-telegram{border-color:color-mix(in srgb,var(--ch-tg) 55%,var(--fg-pure));color:color-mix(in srgb,var(--ch-tg) 85%,var(--fg-pure))}.tag-ch-core{border-color:color-mix(in srgb,var(--ch-core) 50%,var(--fg-pure));color:color-mix(in srgb,var(--ch-core) 80%,var(--fg-pure))}.tag-ch-web{border-color:color-mix(in srgb,var(--ch-web) 45%,var(--card-border));color:var(--muted)}.tag-ch-landing{border-color:color-mix(in srgb,var(--ch-landing) 55%,var(--fg-pure));color:color-mix(in srgb,var(--ch-landing) 85%,var(--fg-pure))}.tag-ch-general{border-color:color-mix(in srgb,var(--muted) 55%,var(--fg-pure));color:color-mix(in srgb,var(--muted) 35%,var(--fg-pure))}.tag-assignee{text-transform:none;font-weight:700;letter-spacing:.02em;font-size:11px;max-width:min(100%,220px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-width:1.5px;border-color:color-mix(in srgb,var(--muted) 35%,var(--fg-pure));color:var(--fg-pure)}.tag-assignee-empty{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-color:var(--card-border);border-style:dashed}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:380px;border:1px solid var(--card-border);border-radius:24px;padding:36px;background:var(--dock-bg);box-shadow:var(--dock-shadow)}.login-card h1{font-size:22px;font-weight:800;letter-spacing:-.03em;margin-bottom:8px;text-align:center}.login-card p{font-size:13px;color:var(--muted);text-align:center;margin-bottom:28px}.field{margin-bottom:16px}.field label{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.field input,.field select,.field textarea{width:100%;padding:12px 14px;border-radius:12px;border:2px solid var(--card-border);background:var(--input-bg);color:var(--fg-pure);font-size:15px;font-family:inherit}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--fg-pure)}.login-error{color:#dc2626;font-size:13px;margin-bottom:12px;text-align:center}.btn-primary{width:100%;margin-top:8px;padding:14px;border:none;border-radius:999px;background:var(--fg-pure);color:var(--bg-canvas);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:transform .22s ease,opacity .26s ease,filter .28s ease,box-shadow .22s ease}.btn-primary:hover:not(:disabled){transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary.btn-primary-save-locked:disabled{opacity:.34;filter:grayscale(.52);transform:scale(.97);box-shadow:none}.loading-screen,.error-banner{text-align:center;padding:48px 24px;color:var(--muted);font-weight:600}.error-banner{color:#dc2626}.add-task-panel{max-width:1400px;margin:0 auto 24px;padding:0 40px}.add-task-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.add-task-form{margin-top:16px;padding:20px;border:1px solid var(--card-border);border-radius:20px;background:var(--dock-bg);display:flex;flex-direction:column;gap:12px}.add-task-form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:640px){.add-task-form .row{grid-template-columns:1fr}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-overlay);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1200}.modal{width:100%;max-width:400px;background:var(--bg-canvas);border:1px solid var(--card-border);border-radius:24px;padding:28px;box-shadow:var(--dock-shadow)}.modal-wide{max-width:min(100%,560px)}.modal-view-task{max-width:min(100%,440px)}.view-task-meta{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.view-task-heading{font-size:20px;font-weight:800;letter-spacing:-.02em;line-height:1.25;margin-bottom:14px}.view-task-body{max-height:min(50vh,280px);overflow-y:auto;margin-bottom:16px;padding-right:4px;-webkit-overflow-scrolling:touch}.view-task-desc{font-size:15px;line-height:1.55;color:var(--fg-pure);font-weight:500;white-space:pre-wrap;word-break:break-word}.view-task-desc-empty{font-size:14px;color:var(--muted);font-style:italic;font-weight:500}.view-task-cancel{margin-top:16px;padding-top:14px;border-top:1px dashed var(--card-border)}.view-task-cancel-label{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.view-task-cancel-text{font-size:14px;line-height:1.5;font-weight:500;white-space:pre-wrap;word-break:break-word}.view-task-tags{margin-bottom:4px}.modal-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:480px){.modal-form-row{grid-template-columns:1fr}}.inline-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.92em;padding:.1em .35em;border-radius:6px;background:var(--dock-bg);border:1px solid var(--card-border)}.import-json-textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.45;resize:vertical;min-height:200px}.import-json-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;align-items:center;justify-content:flex-end}.import-json-actions .btn-primary{width:auto;margin-top:0;margin-left:auto}.import-json-submit{flex-grow:1;min-width:120px}@media(min-width:520px){.import-json-submit{flex-grow:0;margin-left:0}.import-json-actions{justify-content:flex-end}.import-json-actions .btn-primary{margin-left:0}}.import-json-error{text-align:left;margin-top:4px}.modal h2{font-size:18px;font-weight:800;margin-bottom:8px;letter-spacing:-.02em}.modal p,.modal-lead{font-size:13px;color:var(--muted);margin-bottom:16px;line-height:1.45}.modal-actions{display:flex;gap:10px;margin-top:20px;justify-content:flex-end}.modal-actions-split{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px 12px}.modal-actions-end{display:flex;flex-wrap:nowrap;gap:10px;justify-content:flex-end;justify-self:end;min-width:0}@media(max-width:360px){.modal-actions-end{flex-wrap:wrap;justify-content:flex-end}}.modal-actions .btn-ghost{padding:10px 18px}.btn-ghost.btn-danger{border-color:#dc2626;color:#dc2626}.btn-ghost.btn-danger:hover:not(:disabled){opacity:.88}[data-theme=dark] .btn-ghost.btn-danger{border-color:#f87171;color:#f87171}.modal-actions .btn-primary{width:auto;margin-top:0;padding:10px 22px}.modal-edit-task .modal-actions-edit.modal-actions-split{grid-template-columns:max-content minmax(0,1fr);column-gap:14px;align-items:center}.modal-edit-task .modal-actions-edit .modal-actions-end{align-items:center}.modal-edit-task .modal-actions .btn-modal-compact{padding:8px 14px;font-size:11px;min-height:38px;line-height:1.15;display:inline-flex;align-items:center;justify-content:center}.modal-edit-task .modal-actions .btn-primary.btn-modal-compact{margin-top:0;padding-top:8px;padding-bottom:8px}@media(max-width:768px){.modal-edit-task .modal-actions .btn-modal-compact{min-height:42px}header.app-header{padding:24px 16px 20px;gap:20px;align-items:stretch}.header-bar{flex-direction:column;gap:16px;max-width:none}.header-actions{justify-content:center}.app-title{font-size:20px;text-align:center}.board{padding:0 16px 48px;gap:20px}.add-task-panel{padding:0 16px}.column,.column-drop{min-height:100px}.card{padding:18px;border-radius:18px}.btn-ghost,.btn-primary{min-height:44px;touch-action:manipulation}.theme-toggle{min-width:44px;min-height:44px}.filters-bar{max-width:100%}.filter-dock{flex-wrap:nowrap;justify-content:flex-start;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.filter-dock::-webkit-scrollbar{display:none}.filter-btn{flex-shrink:0;padding:10px 14px}.import-json-modal.modal-wide{max-width:100%}.modal-backdrop{padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom));align-items:flex-end}.modal{border-radius:20px 20px 0 0;max-height:90vh;overflow-y:auto}}
