@import"https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700;800&display=swap";:root{--bg: #f5f7fb;--bg-alt: #ffffff;--panel: rgba(255,255,255,.86);--bg-gradient: radial-gradient(circle at 18% 18%, #eef2ff 0%, #f8fafc 72%);--text: #1f2937;--text-soft: #6b7280;--border: #e5e7eb;--accent: #2563eb;--accent-hover: #1d4ed8;--info: #0891b2;--warning: #d97706;--danger: #dc2626;--danger-hover: #b91c1c;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 24px;--shadow-sm: 0 2px 8px -2px rgba(0,0,0,.08);--shadow: 0 16px 42px -18px rgba(15,23,42,.24);--gradient-text: linear-gradient(90deg,#2563eb,#0ea5e9,#22c55e);--focus: 0 0 0 3px rgba(37,99,235,.25)}:root[data-theme=dark]{--bg: #0f172a;--bg-alt: #1e293b;--panel: rgba(15,23,42,.82);--bg-gradient: radial-gradient(circle at 18% 18%, #1e293b 0%, #020617 74%);--text: #f8fafc;--text-soft: #94a3b8;--border: #334155;--accent: #3b82f6;--accent-hover: #60a5fa;--info: #22d3ee;--warning: #f59e0b;--danger: #f87171;--danger-hover: #ef4444;--gradient-text: linear-gradient(90deg,#93c5fd,#60a5fa,#34d399);--shadow: 0 16px 42px -18px rgba(0,0,0,.6)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Figtree,Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg-gradient);color:var(--text);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}.app-shell{min-height:100dvh;display:block;padding-top:84px}.app-container{width:min(1540px,100%);min-height:calc(100dvh - 84px);margin:0 auto;padding:clamp(30px,3.3vw,52px);border-radius:0;background:var(--panel);border:0;box-shadow:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:relative;overflow:hidden}.app-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 85% 10%,rgba(37,99,235,.16),transparent 48%);pointer-events:none}.top-nav{position:fixed;top:14px;left:18px;right:18px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:14px;background:color-mix(in srgb,var(--bg-alt) 76%,transparent);border:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-radius:20px;padding:12px 14px;-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%);box-shadow:var(--shadow-sm)}.nav-left{display:flex;align-items:center;gap:10px;min-width:0}.nav-right{display:flex;align-items:center;gap:10px}.nav-brand{font-size:1.08rem;letter-spacing:.02em;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.title-icon{font-size:1.1em;line-height:1}.nav-workspace{display:grid;gap:6px;min-width:260px}.workspace-label{font-size:.74rem;color:var(--text-soft);font-weight:700;text-transform:uppercase;letter-spacing:.1em}.workspace-inline{display:grid;gap:6px;margin-top:10px;max-width:360px}.nav-list-picker{display:flex;align-items:center;gap:8px;background:color-mix(in srgb,var(--bg) 84%,transparent);border:1px solid var(--border);border-radius:14px;padding:8px 10px}.nav-list-picker span{font-size:.8rem;color:var(--text-soft);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.nav-list-picker select{border:none;background:transparent;color:var(--text);outline:none;min-width:210px}.nav-list-picker select option{background:var(--bg-alt);color:var(--text)}.profile-wrap{position:relative}.profile-trigger{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:14px;padding:10px 14px;font-weight:700;cursor:pointer}.profile-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:230px;background:var(--bg-alt);border:1px solid var(--border);border-radius:16px;padding:12px;box-shadow:var(--shadow);display:grid;gap:8px}.profile-name{margin:0;font-weight:800}.profile-email{margin:0;color:var(--text-soft);font-size:.88rem}.app-header,.project-shell,.stats-grid,.task-composer,.planner-toolbar,.todo-list,.auth-panel,.error-banner{position:relative;z-index:1}.app-header{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:30px}.title-wrap{display:flex;align-items:center;gap:14px}.gradient-text{margin:0;font-size:clamp(2rem,5vw,3rem);line-height:1.05;font-weight:800;letter-spacing:.02em;background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-flex;align-items:center;gap:10px}.count-chip{display:inline-grid;place-items:center;min-width:38px;height:38px;border-radius:999px;background:var(--accent);color:#fff;font-weight:700;box-shadow:var(--shadow-sm)}.header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.theme-toggle,.user-chip,.project-pill,.archive-toggle,.ghost-btn{background:var(--bg);border:1px solid var(--border);color:var(--text)}.theme-toggle{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;cursor:pointer}.theme-toggle:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.user-chip{border-radius:999px;padding:8px 12px;font-size:.82rem;font-weight:600}.logout-btn,.project-create-form button,.task-composer button[type=submit],.primary-btn,.auth-form button[type=submit]{border:none;border-radius:14px;background:var(--accent);color:#fff;font-weight:700;cursor:pointer}.logout-btn{padding:10px 14px}.logout-btn:hover,.project-create-form button:hover,.task-composer button[type=submit]:hover,.primary-btn:hover,.auth-form button[type=submit]:hover{background:var(--accent-hover)}.error-banner{margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:16px;background:linear-gradient(90deg,#ef4444,#e11d48);color:#fff;font-weight:700}.dismiss{border:none;border-radius:10px;padding:4px 8px;cursor:pointer;background:#ffffff2e;color:#fff}.project-shell{margin-bottom:26px;display:grid;gap:14px}.project-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.manage-inline-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.section-title{margin:0;font-size:1.15rem}.section-copy{margin:0;color:var(--text-soft)}.workspace-inline{display:flex;align-items:center;gap:10px;margin-top:0;max-width:none}.workspace-inline .nav-list-picker{min-width:260px}.project-create-form{display:flex;gap:10px;flex-wrap:wrap}.project-create-form input,.toolbar-search input,.toolbar-controls select,.task-composer input,.task-composer select,.task-composer textarea,.todo-editor input,.todo-editor select,.todo-editor textarea,.auth-form input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--bg);color:var(--text);outline:none}.project-create-form input{min-width:min(260px,100%)}.project-create-form input:focus,.toolbar-search input:focus,.toolbar-controls select:focus,.task-composer input:focus,.task-composer select:focus,.task-composer textarea:focus,.todo-editor input:focus,.todo-editor select:focus,.todo-editor textarea:focus,.auth-form input:focus{box-shadow:var(--focus);border-color:var(--accent)}.project-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.project-pill{border-radius:18px;padding:14px;text-align:left;cursor:pointer;display:grid;gap:8px;box-shadow:var(--shadow-sm)}.project-pill strong{font-size:.98rem}.project-pill span{justify-self:start;display:inline-grid;place-items:center;min-width:30px;height:30px;border-radius:999px;background:#2563eb1f;color:var(--accent);font-weight:700}.project-pill.active{border-color:var(--accent);box-shadow:var(--focus)}.stats-grid{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px}.stats-grid.compact{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-card{padding:16px 18px;border-radius:18px;background:var(--bg-alt);border:1px solid var(--border);box-shadow:var(--shadow-sm);display:grid;gap:8px}.stat-card span{color:var(--text-soft);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.stat-card strong{font-size:1.7rem}.stat-primary strong{color:var(--accent)}.stat-info strong{color:var(--info)}.stat-warning strong{color:var(--warning)}.stat-danger strong{color:var(--danger)}.task-composer{display:grid;gap:18px;padding:28px;border-radius:22px;background:var(--bg-alt);border:1px solid var(--border);box-shadow:var(--shadow-sm);margin-bottom:26px}.composer-head{display:grid;gap:4px;padding:2px 2px 0}.composer-head h3{margin:0;font-size:1.08rem;letter-spacing:.01em}.composer-head p{margin:0;color:var(--text-soft);font-size:.9rem}.composer-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:14px;align-items:stretch}.composer-main{display:grid;gap:12px}.composer-side-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}.composer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.composer-row.compact button{min-width:126px}.composer-grid{display:grid;gap:12px}.responsive-four{grid-template-columns:repeat(4,minmax(0,1fr))}.field-block{display:grid;gap:6px}.field-block span,.toolbar-search label,.toolbar-controls label span,.auth-form label span{color:var(--text-soft);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.field-span-2{grid-column:span 2}.task-composer .field-card{padding:12px;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:14px;background:color-mix(in srgb,var(--bg) 64%,transparent)}.task-submit-field{align-content:end}.task-submit-btn{justify-self:start;width:136px;min-width:136px;max-width:136px;min-height:42px}.task-composer textarea,.todo-editor textarea{resize:vertical}.saved-category-box{border:1px dashed var(--border);border-radius:14px;padding:12px;background:var(--bg)}.saved-category-box p{margin:0 0 10px;color:var(--text-soft);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.saved-category-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.saved-category-list li{margin:0}.planner-toolbar{display:grid;gap:14px;margin-bottom:26px}.toolbar-controls{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end}.toolbar-controls label{display:grid;gap:6px}.archive-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;border-radius:14px;padding:12px 14px;cursor:pointer;font-weight:700}.archive-toggle span{display:inline-grid;place-items:center;min-width:28px;height:28px;border-radius:999px;background:#2563eb24;color:var(--accent)}.archive-toggle.active{border-color:var(--accent);box-shadow:var(--focus)}.todo-table-wrap{border:1px solid var(--border);border-radius:20px;background:var(--bg-alt);box-shadow:var(--shadow-sm);overflow:hidden}.todo-table-head{display:grid;grid-template-columns:96px minmax(280px,2fr) minmax(150px,1fr) 130px 160px 280px;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);background:var(--bg);color:var(--text-soft);font-size:.74rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.todo-list{list-style:none;margin:0;padding:0;display:grid;gap:0}.todo-row{display:grid;grid-template-columns:96px minmax(280px,2fr) minmax(150px,1fr) 130px 160px 280px;gap:12px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--border)}.todo-row:last-child{border-bottom:none}.todo-row.dragging{opacity:.6}.todo-row.done{background:linear-gradient(90deg,#0ea5e91f,#0ea5e908)}.todo-row.archived{opacity:.82}.todo-row.overdue{border-left:4px solid rgba(220,38,38,.45)}.todo-cell{min-width:0}.status-cell input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}.task-cell{display:grid;gap:8px}.todo-row.done .todo-title{text-decoration:line-through;opacity:.72}.todo-badges{display:flex;flex-wrap:wrap;gap:8px}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--text-soft);font-size:.76rem;font-weight:700}.priority-high{color:var(--danger);border-color:#dc26263d}.priority-medium{color:var(--accent);border-color:#2563eb3d}.priority-low{color:var(--warning);border-color:#d977063d}.badge-danger{color:var(--danger);border-color:#dc26264d}.badge-info{color:var(--info);border-color:#0891b24d}.todo-notes{margin:0;color:var(--text-soft);line-height:1.6}.todo-meta-line{margin:0;color:var(--text-soft);font-size:.78rem}.todo-mobile-meta{display:none}.list-cell{color:var(--text-soft);font-weight:700}.todo-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start;align-content:flex-start}.ghost-btn{border-radius:14px;padding:10px 12px;cursor:pointer;font-weight:700}.todo-actions .delete{border:1px solid var(--border);background:transparent;color:var(--danger);border-radius:14px;padding:10px 12px;cursor:pointer;font-weight:700}.todo-actions .delete:hover{background:var(--danger);border-color:var(--danger);color:#fff}.todo-editor{display:grid;gap:12px;grid-column:1 / -1;padding:8px 0}.todo-editor-category{display:grid;gap:8px}.todo-editor-grid{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}.todo-editor-actions{display:flex;justify-content:flex-end;gap:10px}.table-pagination{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pagination-pages{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page-btn{border:1px solid var(--border);background:var(--bg);color:var(--text);min-width:36px;height:36px;border-radius:10px;cursor:pointer;font-weight:700}.page-btn.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--bg));color:var(--accent)}.table-pagination .ghost-btn:disabled{opacity:.45;cursor:not-allowed}.empty{margin:24px 0 8px;text-align:center;color:var(--text-soft)}.clear-btn{margin-top:16px;border:none;border-radius:14px;padding:13px 18px;background:linear-gradient(90deg,#f43f5e,#e11d48);color:#fff;cursor:pointer;font-weight:700}.auth-panel{margin-top:12px}.auth-form{display:grid;gap:16px;background:var(--bg);border:1px solid var(--border);border-radius:22px;padding:24px;box-shadow:var(--shadow-sm)}.auth-form h2{margin:0}.auth-form label{display:grid;gap:6px}.auth-actions{display:flex;align-items:center;justify-content:flex-start;gap:10px;flex-wrap:wrap}.auth-form button[type=submit]{width:auto;min-width:130px;min-height:44px;padding:11px 16px}.auth-form .link-btn{background:transparent;border:none;color:var(--accent);text-align:left;padding:0;cursor:pointer;font-weight:700;white-space:nowrap}.error-msg{border-radius:12px;padding:10px 12px;background:linear-gradient(90deg,#f87171,#ef4444);color:#fff;font-weight:700}@media (max-width: 900px){.composer-layout{grid-template-columns:1fr}.composer-side-grid,.toolbar-controls,.responsive-four,.todo-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-span-2{grid-column:span 2}.todo-table-head{display:none}.todo-row{grid-template-columns:80px minmax(0,1fr);gap:12px 16px;padding:18px}.todo-row>.todo-cell:nth-child(3),.todo-row>.todo-cell:nth-child(4),.todo-row>.todo-cell:nth-child(5),.todo-row>.todo-cell:nth-child(6){grid-column:2}}@media (max-width: 700px){.app-shell{padding-top:118px}.app-container{min-height:calc(100dvh - 118px);padding:18px}.app-header,.project-header-row,.composer-row{grid-template-columns:1fr}.project-create-form,.header-actions,.todo-editor-actions{width:100%;justify-content:flex-start}.project-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.composer-side-grid,.toolbar-controls,.responsive-four,.todo-editor-grid{grid-template-columns:1fr}.field-span-2{grid-column:span 1}.todo-actions{flex-direction:row}.todo-actions{width:auto;gap:6px}.todo-actions .ghost-btn,.todo-actions .delete{width:auto;min-width:0;padding:7px 10px;border-radius:10px}.todo-table-wrap{border-radius:16px}.todo-row{grid-template-columns:24px minmax(0,1fr);grid-template-areas:"status task" "actions actions";gap:4px 8px;padding:8px 10px;align-items:start}.todo-row>.todo-cell.status-cell{grid-area:status;margin:2px 0 0}.todo-row>.todo-cell.task-cell{grid-area:task}.todo-row>.todo-cell:nth-child(6){grid-area:actions}.todo-row>.todo-cell.task-cell{justify-items:stretch;text-align:left;gap:4px}.todo-row>.todo-cell.task-cell .todo-badges{justify-self:start}.todo-row>.todo-cell.status-cell{justify-content:flex-start}.todo-mobile-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;justify-self:stretch;font-size:.86rem;color:var(--text-soft)}.todo-mobile-meta span{display:flex;align-items:center;justify-content:center;text-align:center;width:100%;min-height:34px;padding:4px 6px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--bg) 78%,transparent);max-width:100%;overflow-wrap:anywhere}.todo-mobile-meta .meta-project{color:var(--text-soft)}.todo-mobile-meta .meta-priority-high{color:var(--danger);border-color:#dc26263d}.todo-mobile-meta .meta-priority-medium{color:var(--accent);border-color:#2563eb3d}.todo-mobile-meta .meta-priority-low{color:var(--warning);border-color:#d977063d}.todo-mobile-meta .meta-due-overdue{color:var(--danger);border-color:#dc26264d}.todo-mobile-meta .meta-due-today{color:var(--info);border-color:#0891b24d}.todo-row>.todo-cell:nth-child(3),.todo-row>.todo-cell:nth-child(4),.todo-row>.todo-cell:nth-child(5){display:none}.todo-title,.todo-notes,.todo-meta-line,.todo-badges,.todo-mobile-meta{max-width:100%;overflow-wrap:anywhere;word-break:break-word}.todo-title{font-size:1.08rem}.todo-notes{font-size:.96rem}.todo-badges{justify-content:flex-start;gap:4px}.todo-badges .badge{font-size:.74rem}.todo-badges .badge{max-width:100%}.todo-actions{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:6px}.status-cell input[type=checkbox]{width:18px;height:18px}.todo-notes{line-height:1.28;margin-top:2px}.todo-meta-line{font-size:.84rem}.todo-actions .ghost-btn,.todo-actions .delete{width:100%;padding:7px 6px;font-size:.96rem;text-align:center}.top-nav{left:12px;right:12px;top:10px;padding:10px;align-items:flex-start;flex-wrap:wrap}.nav-left{width:auto;min-width:0;gap:8px}.nav-right{width:100%;justify-content:flex-end}.nav-brand{font-size:.95rem}.manage-inline-row{width:100%;align-items:flex-start}.workspace-inline{width:100%;flex-wrap:wrap}.nav-list-picker{width:100%}.nav-list-picker select{min-width:0;width:100%}.table-pagination{justify-content:flex-start}.auth-form .link-btn{white-space:normal}}@media (max-width: 420px){.app-shell{padding-top:126px}.app-container{min-height:calc(100dvh - 126px);padding:14px}.count-chip{min-width:34px;height:34px}.project-rail{grid-template-columns:1fr}.logout-btn,.archive-toggle,.project-create-form button,.task-composer button[type=submit]{width:auto;max-width:100%}.project-create-form button,.task-composer button[type=submit]{min-width:120px}.todo-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
