.app{width:min(100% - 32px,1100px);margin:0 auto;padding:32px 0 60px}.app-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px;display:flex}.app-header h1{color:#111827;margin:0;font-size:36px;line-height:1.2}.app-header p{color:#6b7280;margin:8px 0 0}.app-header>span{color:#3730a3;background:#e0e7ff;border-radius:999px;flex-shrink:0;padding:8px 14px;font-size:14px;font-weight:600}.task-form{background:#fff;border:1px solid #e5e7eb;border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:32px;padding:24px;display:grid;box-shadow:0 4px 16px #0f172a0d}.form-group{flex-direction:column;gap:7px;min-width:0;display:flex}.form-group-full{grid-column:1/-1}.form-group label{color:#374151;font-size:14px;font-weight:600}.form-group input,.form-group textarea,.form-group select{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;width:100%;padding:11px 13px;transition:border-color .2s,box-shadow .2s}.form-group textarea{resize:vertical;min-height:90px}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51f}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af}.form-actions{align-items:flex-end;gap:10px;display:flex}.form-actions button{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;min-height:42px;padding:11px 18px;font-weight:600;transition:background .2s,transform .2s}.form-actions button:hover:not(:disabled){background:#4338ca}.form-actions button:active:not(:disabled){transform:translateY(1px)}.form-actions button:disabled{cursor:not-allowed;background:#a5b4fc}.form-actions .cancel-button{color:#374151;background:#fff;border:1px solid #d1d5db}.form-actions .cancel-button:hover{background:#f3f4f6}.search-bar{margin-bottom:12px}.search-bar label{color:#374151;margin-bottom:7px;font-size:14px;font-weight:600;display:block}.search-input-container{gap:10px;display:flex}.search-input-container input{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;flex:1;min-width:0;padding:12px 14px;transition:border-color .2s,box-shadow .2s}.search-input-container input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51f}.clear-search-button{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:10px 16px;font-weight:500}.clear-search-button:hover{background:#f3f4f6}.task-filters{background:#fff;border:1px solid #e5e7eb;border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:12px;margin-top:16px;padding:18px;display:grid;box-shadow:0 3px 12px #0f172a0a}.filter-group{flex-direction:column;gap:7px;min-width:0;display:flex}.filter-group label{color:#374151;font-size:14px;font-weight:600}.filter-group select{color:#111827;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;width:100%;min-width:0;padding:11px 12px;transition:border-color .2s,box-shadow .2s}.filter-group select:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51f}.clear-filters-button{color:#374151;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;min-height:42px;padding:11px 16px;font-weight:500}.clear-filters-button:hover:not(:disabled){background:#f3f4f6}.clear-filters-button:disabled{color:#9ca3af;cursor:not-allowed;opacity:.7}.search-results-count{color:#6b7280;margin:14px 0 0;font-size:14px}.task-list{margin-top:30px}.task-list h2{color:#111827;margin:0 0 16px;font-size:22px}.task-list-container{gap:14px;display:grid}.task-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:24px;padding:20px;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex;box-shadow:0 3px 12px #0f172a0a}.task-item:hover{border-color:#c7d2fe;transform:translateY(-1px);box-shadow:0 7px 20px #0f172a14}.task-content{flex:1;align-items:flex-start;gap:14px;min-width:0;display:flex}.task-content input[type=checkbox]{accent-color:#4f46e5;cursor:pointer;flex-shrink:0;width:18px;height:18px;margin-top:3px}.task-details{flex:1;min-width:0}.task-item h3{overflow-wrap:anywhere;color:#111827;margin:0;font-size:17px;line-height:1.4}.task-description{overflow-wrap:anywhere;color:#6b7280;margin:7px 0 0;line-height:1.5}.task-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.category-badge,.priority-badge,.due-date,.task-status{border-radius:999px;align-items:center;padding:5px 9px;font-size:12px;font-weight:600;display:inline-flex}.category-badge{color:#4338ca;background:#eef2ff}.priority-low{color:#047857;background:#ecfdf5}.priority-medium{color:#b45309;background:#fffbeb}.priority-high{color:#dc2626;background:#fef2f2}.due-date{color:#4b5563;background:#f3f4f6}.task-status{color:#1d4ed8;background:#eff6ff;margin:0}.completed-task{opacity:.72;background:#f9fafb}.completed-task h3{color:#9ca3af;text-decoration:line-through}.completed-task .task-description{color:#9ca3af}.completed-task .task-status{color:#047857;background:#ecfdf5}.task-actions{flex-shrink:0;gap:8px;display:flex}.edit-button,.delete-button{cursor:pointer;border-radius:8px;padding:8px 12px;font-weight:500;transition:background .2s}.edit-button{color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe}.edit-button:hover{background:#e0e7ff}.delete-button{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.delete-button:hover{background:#fee2e2}.empty-state{text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:12px;margin-top:30px;padding:48px 20px}.empty-state h2{color:#111827;margin:0 0 8px}.empty-state p{color:#6b7280;margin:0}@media (width<=950px){.task-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.clear-filters-button{width:100%}}@media (width<=700px){.app{width:min(100% - 24px,1100px);padding-top:24px}.app-header{flex-direction:column;align-items:flex-start;gap:14px}.app-header h1{font-size:30px}.task-form{grid-template-columns:1fr;padding:18px}.form-group-full{grid-column:auto}.form-actions{flex-direction:column;align-items:stretch}.form-actions button{width:100%}.search-input-container{flex-direction:column}.clear-search-button{width:100%}.task-filters{grid-template-columns:1fr;padding:16px}.task-item{flex-direction:column;align-items:stretch;gap:18px}.task-actions{width:100%}.task-actions button{flex:1}}@media (width<=400px){.task-content{gap:10px}.task-actions{flex-direction:column}.task-meta{flex-direction:column;align-items:flex-start}}.task-count{color:#3730a3;background:#e0e7ff;border-radius:999px;flex-shrink:0;padding:8px 14px;font-size:14px;font-weight:600}.theme-button{border:1px solid var(--input-border);background:var(--surface-background);min-height:38px;color:var(--primary-text);cursor:pointer;border-radius:8px;padding:8px 13px;font-weight:600}.theme-button:hover{background:var(--secondary-background)}[data-theme=dark] .app-header p,[data-theme=dark] .task-description,[data-theme=dark] .search-results-count,[data-theme=dark] .empty-state p{color:var(--secondary-text)}[data-theme=dark] .task-form,[data-theme=dark] .task-filters,[data-theme=dark] .task-item,[data-theme=dark] .empty-state{border-color:var(--border-color);background:var(--surface-background);box-shadow:none}[data-theme=dark] .form-group label,[data-theme=dark] .search-bar label,[data-theme=dark] .filter-group label{color:var(--primary-text)}[data-theme=dark] .form-group input,[data-theme=dark] .form-group textarea,[data-theme=dark] .form-group select,[data-theme=dark] .search-input-container input,[data-theme=dark] .filter-group select{border-color:var(--input-border);background:var(--secondary-background);color:var(--primary-text)}[data-theme=dark] .form-group input::placeholder,[data-theme=dark] .form-group textarea::placeholder,[data-theme=dark] .search-input-container input::placeholder{color:#9ca3af}[data-theme=dark] .clear-search-button,[data-theme=dark] .clear-filters-button,[data-theme=dark] .form-actions .cancel-button{border-color:var(--input-border);background:var(--secondary-background);color:var(--primary-text)}[data-theme=dark] .clear-search-button:hover,[data-theme=dark] .clear-filters-button:hover:not(:disabled),[data-theme=dark] .form-actions .cancel-button:hover{background:#4b5563}[data-theme=dark] .completed-task{background:#18202f}[data-theme=dark] .due-date{color:#e5e7eb;background:#374151}[data-theme=dark] .task-status{color:#bfdbfe;background:#1e3a5f}[data-theme=dark] .task-count{color:#e0e7ff;background:#312e81}@media (width<=700px){.header-actions{justify-content:space-between;width:100%}}.header-actions{align-items:center;gap:10px;display:flex}.task-count{color:#3730a3;background:#e0e7ff;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600}.theme-button{border:1px solid var(--input-border);background:var(--surface-background);color:var(--primary-text);cursor:pointer;border-radius:8px;padding:9px 14px;font-weight:600}[data-theme=dark] .task-form,[data-theme=dark] .task-filters,[data-theme=dark] .task-item,[data-theme=dark] .empty-state{border-color:var(--border-color);background:var(--surface-background)}[data-theme=dark] .app-header h1,[data-theme=dark] .task-list h2,[data-theme=dark] .task-item h3,[data-theme=dark] .empty-state h2{color:var(--primary-text)}[data-theme=dark] .app-header p,[data-theme=dark] .task-description,[data-theme=dark] .empty-state p,[data-theme=dark] .search-results-count{color:var(--secondary-text)}[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select,[data-theme=dark] .clear-search-button,[data-theme=dark] .clear-filters-button,[data-theme=dark] .cancel-button{border-color:var(--input-border);background:var(--secondary-background);color:var(--primary-text)}@media (width<=700px){.header-actions{justify-content:space-between;width:100%}}.shortcut-help{color:var(--secondary-text);flex-wrap:wrap;gap:10px 18px;margin:-14px 0 24px;font-size:13px;display:flex}.shortcut-help span{align-items:center;gap:5px;display:inline-flex}.shortcut-help kbd{border:1px solid var(--input-border);background:var(--surface-background);min-width:25px;color:var(--primary-text);text-align:center;border-bottom-width:2px;border-radius:5px;padding:3px 6px;font-family:inherit;font-size:12px;font-weight:600}@media (width<=700px){.shortcut-help{margin-top:-5px}}.task-stats{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(220px,2fr);gap:12px;margin-bottom:28px;display:grid}.stat-card{border:1px solid var(--border-color);background:var(--surface-background);border-radius:12px;padding:18px;box-shadow:0 3px 12px #0f172a0a}.stat-card>span{color:var(--secondary-text);margin-bottom:7px;font-size:13px;font-weight:600;display:block}.stat-card>strong{color:var(--primary-text);font-size:26px}.overdue-stat strong{color:#dc2626}.progress-stat{flex-direction:column;justify-content:center;display:flex}.progress-heading{justify-content:space-between;gap:10px;margin-bottom:12px;display:flex}.progress-heading span{color:var(--secondary-text);font-size:13px;font-weight:600}.progress-heading strong{color:var(--primary-text)}.progress-bar{background:var(--secondary-background);border-radius:999px;width:100%;height:9px;overflow:hidden}.progress-fill{border-radius:inherit;background:#4f46e5;height:100%;transition:width .3s}.overdue-task{border-left:4px solid #dc2626}.overdue-task:not(.completed-task){background:snow}.overdue-badge,.overdue-task .task-status{color:#dc2626;background:#fef2f2}[data-theme=dark] .overdue-task:not(.completed-task){background:#2b1d22}[data-theme=dark] .overdue-badge,[data-theme=dark] .overdue-task .task-status{color:#fecaca;background:#451a1a}[data-theme=dark] .stat-card{box-shadow:none}@media (width<=950px){.task-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-stat{grid-column:1/-1}}@media (width<=500px){.task-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{padding:15px}.stat-card>strong{font-size:22px}}.auth-page{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--border-color);background:var(--surface-background);border-radius:16px;width:min(100%,430px);padding:32px;box-shadow:0 16px 40px #0f172a1a}.auth-heading{text-align:center;margin-bottom:28px}.auth-heading h1{color:var(--primary-text);margin:0;font-size:34px}.auth-heading p{color:var(--secondary-text);margin:10px 0 0;line-height:1.5}.auth-form{gap:18px;display:grid}.auth-form-group{flex-direction:column;gap:7px;display:flex}.auth-form-group label{color:var(--primary-text);font-size:14px;font-weight:600}.auth-form-group input{border:1px solid var(--input-border);background:var(--secondary-background);width:100%;color:var(--primary-text);border-radius:8px;outline:none;padding:12px 14px}.auth-form-group input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51f}.auth-submit-button{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;padding:12px 18px;font-weight:600}.auth-submit-button:hover:not(:disabled){background:#4338ca}.auth-submit-button:disabled{cursor:wait;opacity:.7}.auth-message,.session-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0;padding:10px 12px;font-size:14px}.auth-switch{color:var(--secondary-text);justify-content:center;gap:6px;margin-top:22px;font-size:14px;display:flex}.auth-switch button{color:#4f46e5;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.auth-loading{color:var(--secondary-text);text-align:center;margin:0}.account-bar{border-bottom:1px solid var(--border-color);background:var(--surface-background);color:var(--secondary-text);justify-content:space-between;align-items:center;gap:16px;padding:10px max(16px,50% - 550px);font-size:14px;display:flex}.account-bar strong{color:var(--primary-text)}.account-bar button{border:1px solid var(--input-border);background:var(--secondary-background);color:var(--primary-text);cursor:pointer;border-radius:8px;padding:8px 13px;font-weight:600}.session-error{width:min(100% - 32px,1100px);margin:16px auto 0}[data-theme=dark] .auth-card{box-shadow:none}@media (width<=600px){.auth-card{padding:24px 18px}.account-bar{flex-direction:column;align-items:flex-start}}.cloud-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0 0 20px;padding:12px 14px;line-height:1.5}[data-theme=dark] .cloud-error{color:#fecaca;background:#451a1a;border-color:#7f1d1d}:root{--page-background:#f5f7fb;--surface-background:#fff;--secondary-background:#f3f4f6;--primary-text:#111827;--secondary-text:#6b7280;--border-color:#e5e7eb;--input-border:#d1d5db;font-family:Arial,Helvetica,sans-serif}[data-theme=dark]{--page-background:#111827;--surface-background:#1f2937;--secondary-background:#374151;--primary-text:#f9fafb;--secondary-text:#d1d5db;--border-color:#374151;--input-border:#4b5563}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{background:var(--page-background);min-width:320px;min-height:100vh;color:var(--primary-text);margin:0;transition:background-color .25s,color .25s}button,input,textarea,select{font:inherit}
