@font-face{font-family:Outfit;font-style:normal;font-weight:300 700;font-display:swap;src:url(../../../fonts/outfit-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:300 700;font-display:swap;src:url(../../../fonts/outfit-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-weight:300 800;font-display:swap;src:url(../../../fonts/newsreader-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:300 800;font-display:swap;src:url(../../../fonts/newsreader-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:italic;font-weight:300 800;font-display:swap;src:url(../../../fonts/newsreader-italic-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:italic;font-weight:300 800;font-display:swap;src:url(../../../fonts/newsreader-italic-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--primary-50:#fff5ee;--primary-100:#ffe4cc;--primary-200:#ffcda8;--primary-500:#d4763a;--primary-600:#c05621;--primary-700:#9a4419;--gray-50:#faf8f6;--gray-100:#f3f0ec;--gray-200:#e7e3de;--gray-300:#d4cfc8;--gray-400:#a8a29e;--gray-500:#78716c;--gray-600:#57534e;--gray-700:#44403c;--gray-800:#292524;--gray-900:#1c1917;--success-50:#ecfdf5;--success-500:#22c55e;--success-600:#15803d;--warning-50:#fffbeb;--warning-100:#fef3c7;--warning-500:#f59e0b;--warning-600:#d97706;--warning-700:#b45309;--error-50:#fef2f2;--error-100:#fecaca;--error-500:#ef4444;--error-600:#dc2626;--error-700:#b91c1c;--accent-primary:#c05621;--accent-success:#15803d;--bg-secondary:#f7f4f0;--font-sans:"Outfit", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-serif:"Newsreader", Georgia, "Times New Roman", serif;--font-mono:"SF Mono", Monaco, Inconsolata, "Roboto Mono", monospace;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--radius-sm:.375rem;--radius:.5rem;--radius-md:.625rem;--radius-lg:.875rem;--radius-xl:1.25rem;--shadow-sm:0 1px 2px 0 #1c19170a;--shadow:0 1px 3px 0 #1c191712, 0 1px 2px -1px #1c19170d;--shadow-md:0 4px 6px -1px #1c191712, 0 2px 4px -2px #1c19170d;--shadow-lg:0 10px 15px -3px #1c191712, 0 4px 6px -4px #1c19170d;--shadow-xl:0 20px 25px -5px #1c191714, 0 8px 10px -6px #1c19170d;--bg-primary:#fff;--bg-page:#faf8f6;--bg-card:#fff;--bg-input:#fff;--bg-nav:#fff;--bg-hover:#f3f0ec;--bg-active:#e7e3de;--bg-overlay:#1c191766;--dropdown-bg:var(--bg-card);--tag-bg:var(--gray-200);--tag-text:var(--gray-700);--text-primary:var(--gray-900);--text-secondary:var(--gray-600);--text-muted:var(--gray-500);--border-color:var(--gray-200);--border-light:var(--gray-100);--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease}[data-theme=dark]{--primary-50:#2a1a0e;--primary-100:#3d2412;--primary-200:#5c361c;--gray-50:#1c1917;--gray-100:#292524;--gray-200:#44403c;--gray-300:#57534e;--gray-400:#78716c;--gray-500:#a8a29e;--gray-600:#d6d3cd;--gray-700:#e7e3de;--gray-800:#f3f0ec;--gray-900:#faf8f6;--success-50:#052e16;--warning-50:#451a03;--warning-100:#78350f;--error-50:#450a0a;--error-100:#7f1d1d;--bg-secondary:#292524;--bg-primary:#292524;--bg-page:#1c1917;--bg-card:#292524;--bg-input:#44403c;--bg-nav:#292524;--bg-hover:#44403c;--bg-active:#57534e;--bg-overlay:#0009;--dropdown-bg:#292524;--tag-bg:#44403c;--tag-text:#d6d3cd;--text-primary:#faf8f6;--text-secondary:#d6d3cd;--text-muted:#a8a29e;--border-color:#44403c;--border-light:#292524;--shadow-sm:0 1px 2px 0 #0003;--shadow:0 1px 3px 0 #0000004d, 0 1px 2px -1px #0003;--shadow-md:0 4px 6px -1px #0000004d, 0 2px 4px -2px #0003;--shadow-lg:0 10px 15px -3px #0000004d, 0 4px 6px -4px #0003;--shadow-xl:0 20px 25px -5px #0000004d, 0 8px 10px -6px #0003}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;tab-size:4;scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent;line-height:1.5}body{font-family:var(--font-sans);font-feature-settings:normal;font-variation-settings:normal;background-color:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.6}::selection{color:inherit;background-color:#c0562124}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}a{color:var(--primary-600);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-700);text-decoration:underline}h1{font-family:var(--font-serif);font-optical-sizing:auto;letter-spacing:-.02em;color:var(--text-primary)}h2,h3,h4,h5,h6{color:var(--text-primary)}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-gray-500{color:var(--text-muted)}.text-gray-600,.text-gray-700{color:var(--text-secondary)}.text-gray-800,.text-gray-900{color:var(--text-primary)}.text-primary-600{color:var(--primary-600)}.text-primary-700{color:var(--primary-700)}.text-success-600{color:var(--success-600)}.text-warning-600{color:var(--warning-600)}.text-error-600{color:var(--error-600)}.bg-white{background-color:var(--bg-card)}.bg-gray-50{background-color:var(--bg-page)}.bg-gray-100{background-color:var(--gray-100)}.bg-primary-50{background-color:var(--primary-50)}.bg-primary-500{background-color:var(--primary-500)}.bg-primary-600{background-color:var(--primary-600)}.bg-success-500{background-color:var(--success-500)}.bg-success-600{background-color:var(--success-600)}.container{width:100%;padding-left:var(--space-4);padding-right:var(--space-4);margin-left:auto;margin-right:auto}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px;padding-left:var(--space-6);padding-right:var(--space-6)}}@media (width>=1280px){.container{max-width:1280px}}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.m-0{margin:0}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.ml-4{margin-left:var(--space-4)}.flex{display:flex}.flex-1{flex:1}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.space-x-2>*+*{margin-left:var(--space-2)}.space-x-4>*+*{margin-left:var(--space-4)}.space-x-8>*+*{margin-left:var(--space-8)}.space-y-2>*+*{margin-top:var(--space-2)}.space-y-4>*+*{margin-top:var(--space-4)}.space-y-6>*+*{margin-top:var(--space-6)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}@media (width>=768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.card{background-color:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--space-6);border:1px solid var(--border-color);transition:box-shadow var(--transition-base), transform var(--transition-base)}.card-compact{background-color:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--space-4);border:1px solid var(--border-color)}.form-group{margin-bottom:1rem}.form-group label{color:var(--text-primary);letter-spacing:.01em;margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.form-group small{color:var(--text-muted);font-size:.875rem}.form-input,.form-textarea,.form-select{appearance:none;background-color:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius);padding:var(--space-2) var(--space-3);font-size:.875rem;font-family:var(--font-sans);width:100%;color:var(--text-primary);line-height:1.25rem;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-textarea:focus,.form-select:focus{outline-offset:2px;border-color:var(--primary-500);outline:2px solid #0000;box-shadow:0 0 0 3px #c056211f}.form-input::placeholder,.form-textarea::placeholder,.form-select::placeholder{color:var(--text-muted)}.form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2378716c' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--space-2) center;cursor:pointer;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.form-select:hover{border-color:var(--gray-400)}.form-textarea{resize:vertical;min-height:80px}.btn{border-radius:var(--radius);font-size:.875rem;font-family:var(--font-sans);padding:var(--space-2) var(--space-4);cursor:pointer;letter-spacing:.01em;border:1px solid #0000;justify-content:center;align-items:center;font-weight:500;line-height:1.25rem;text-decoration:none;transition:all .2s ease-in-out;display:inline-flex}.btn+.btn{margin-left:var(--space-3)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.btn-primary{background-color:var(--primary-600);color:#fff}.btn.btn-primary:hover:not(:disabled){background-color:var(--primary-700);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn.btn-success{background-color:var(--success-600);color:#fff}.btn.btn-success:hover:not(:disabled){background-color:var(--success-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn.btn-secondary{background-color:var(--gray-100);color:var(--gray-700);border-color:var(--gray-300)}.btn.btn-secondary:hover:not(:disabled){background-color:var(--gray-200);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn.btn-delete{color:#fff;background-color:#dc2626}.btn.btn-delete:hover:not(:disabled){box-shadow:var(--shadow-md);background-color:#b91c1c;transform:translateY(-1px)}.btn.btn-edit-complete{color:#fff;background-color:#15803d}.btn.btn-edit-complete:hover:not(:disabled){background-color:var(--success-500);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn.btn-cancel{background-color:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300)}.btn.btn-cancel:hover:not(:disabled){background-color:var(--gray-200)}.btn.btn-warning{background-color:var(--warning-600);color:#fff}.btn.btn-warning:hover:not(:disabled){background-color:var(--warning-700);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn.btn-outline{color:var(--text-secondary);border:1px solid var(--border-color);background-color:#0000}.btn.btn-outline:hover:not(:disabled){background-color:var(--gray-100);color:var(--text-primary)}.btn.btn-sm{padding:var(--space-1) var(--space-3);font-size:.75rem;line-height:1rem}.btn.btn-med{padding:var(--space-2) var(--space-4);font-size:.875rem;line-height:1.25rem}.nav-bar{background-color:var(--bg-nav);box-shadow:none;border-bottom:1px solid var(--border-color);z-index:50;position:relative}.nav-link{padding:var(--space-2) var(--space-3);border-radius:var(--radius);color:var(--text-muted);font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s ease-in-out}.nav-link:hover{color:var(--text-secondary);background-color:var(--bg-hover)}.nav-link.active{background-color:var(--primary-50);color:var(--primary-600)}.priority-high{background-color:var(--error-50);color:var(--error-600);border-left:4px solid var(--error-500)}.priority-medium{background-color:var(--warning-50);color:var(--warning-600);border-left:4px solid var(--warning-500)}.priority-low{background-color:var(--gray-50);color:var(--gray-600);border-left:4px solid var(--gray-400)}.badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);align-items:center;font-size:.75rem;font-weight:500;line-height:1rem;display:inline-flex}.badge.badge-pending{background-color:var(--gray-100);color:var(--gray-600)}.badge.badge-completed{background-color:var(--success-50);color:var(--success-600)}.project-toggle{min-width:2rem;height:2rem;font-size:.875rem;line-height:1;transition:all .2s ease-in-out}.project-toggle:hover{background-color:var(--gray-200);transform:scale(1.05)}.modal{z-index:1000;background-color:var(--bg-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:100%;height:100%;animation:.3s ease-out fadeIn;display:none;position:fixed;top:0;left:0}.modal.modal-open,.modal.show{justify-content:center;align-items:center;display:flex}.modal-content{background-color:var(--bg-card);box-shadow:var(--shadow-xl);border:1px solid var(--border-color);border-radius:14px;width:90%;max-width:500px;max-height:90vh;padding:32px;animation:.3s ease-out slideIn;position:relative;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;display:flex}.modal-header h2{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:600}.modal-body{margin-bottom:24px}.modal-body .form-submit{margin-top:25px}.modal-body .form-submit .form-actions{text-align:center}.close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:28px;font-weight:700;transition:all .2s;display:flex}.close:hover{color:var(--text-secondary);background-color:var(--bg-hover)}.add-project-btn{color:#fff;cursor:pointer;z-index:100;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;font-weight:700;transition:all .3s;display:flex;position:fixed;bottom:24px;right:24px}.add-project-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);box-shadow:0 6px 20px #00000040}.add-project-btn{background:#15803d;box-shadow:0 4px 12px #15803d59}.add-todo-btn{color:#fff;cursor:pointer;z-index:100;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;font-weight:700;transition:all .3s;display:flex;position:fixed;bottom:24px;right:24px}.add-todo-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);box-shadow:0 6px 20px #00000040}.add-todo-btn{background:#c05621;box-shadow:0 4px 12px #c0562159}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=640px){.form-grid{grid-template-columns:1fr}}.form-full-width{grid-column:span 2}@media (width<=640px){.form-full-width{grid-column:span 1}}.form-column{flex-direction:column;gap:16px;display:flex}.project-form-container{max-width:600px;margin:0 auto}.auth-container{max-width:400px;margin:2rem auto;padding:2rem}.error-message{background-color:var(--error-50);color:var(--error-600);border-radius:var(--radius);border:1px solid var(--error-500);margin-top:1rem;padding:.75rem;font-size:.875rem}.success-message{background-color:var(--success-50);color:var(--success-600);border-radius:var(--radius);border:1px solid var(--success-500);margin-top:1rem;padding:.75rem;font-size:.875rem}.client-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.5rem;transition:box-shadow .2s}.client-card:hover{box-shadow:var(--shadow-md)}.client-info{background:var(--bg-secondary);border-radius:var(--radius);margin-bottom:1.5rem;padding:1rem}.scope-list{margin:1rem 0;padding:0;list-style:none}.scope-item{background:var(--bg-secondary);border-radius:var(--radius);border-left:4px solid var(--accent-primary);margin-bottom:.5rem;padding:.75rem}.button-group{gap:1rem;margin-top:1.5rem;display:flex}#calendar-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.calendar-headers{grid-template-columns:repeat(7,minmax(100px,1fr));gap:8px;min-width:700px;margin-bottom:16px;display:grid}.calendar-header-day{text-align:center;color:var(--text-secondary);padding:8px 4px;font-weight:600}#calendar-grid{grid-template-columns:repeat(7,minmax(100px,1fr));gap:8px;min-width:700px;display:grid}.calendar-day{border:2px solid var(--border-color);border-radius:var(--radius);background-color:var(--bg-card);flex-direction:column;min-height:120px;padding:8px;transition:all .2s;display:flex;position:relative}.calendar-day:hover{border-color:var(--primary-500);background-color:var(--primary-50)}.calendar-day.today{border-color:var(--primary-500);background-color:var(--primary-50);border-width:2px}.calendar-day.today .calendar-date{color:#fff;font-weight:700}.calendar-day.today .calendar-date .date-number{background-color:var(--primary-500);border-radius:50%;justify-content:center;align-items:center;width:1.625rem;height:1.625rem;font-size:.8125rem;display:inline-flex}.calendar-day.other-month{background-color:var(--bg-page);color:var(--text-muted)}.calendar-day .calendar-date{color:var(--text-secondary);margin-bottom:4px;font-size:.875rem;font-weight:600}.calendar-day .hours-total{color:var(--text-secondary);border-radius:var(--radius-sm);background-color:var(--gray-100);text-align:center;margin-bottom:8px;padding:2px 4px;font-size:.75rem;font-weight:500}.calendar-day .hours-total.medium-hours{background-color:var(--warning-100);color:var(--warning-700)}.calendar-day .hours-total.high-hours{background-color:var(--error-100);color:var(--error-700);font-weight:600}.calendar-day .tasks-container{flex-direction:column;flex:1;gap:6px;min-height:20px;display:flex}.day-short{display:none}@media (width<=768px){.desktop-calendar{display:none!important}.calendar-task{padding:3px 4px;font-size:.6875rem}}.calendar-task{border-radius:var(--radius-sm);cursor:grab;color:#1f2937;border:none;padding:4px 6px;font-size:.75rem;transition:all .2s;box-shadow:0 2px 4px #00000014}.calendar-task:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000001f}.calendar-task:active{cursor:grabbing}.calendar-task.high-priority{border-right:2px solid var(--error-50);border-top:2px solid var(--error-50);border-bottom:2px solid var(--error-50)}.calendar-task.medium-priority{border-right:2px solid var(--warning-50);border-top:2px solid var(--warning-50);border-bottom:2px solid var(--warning-50)}.calendar-task.low-priority{border-right:2px solid var(--gray-400);border-top:2px solid var(--gray-400);border-bottom:2px solid var(--gray-400)}.calendar-task:not(.high-priority):not(.medium-priority):not(.low-priority){background-color:var(--primary-50);border-left:4px solid var(--primary-500)}.calendar-task-meta{align-items:center;gap:4px;margin-top:2px;display:flex}.calendar-deadline-type{text-transform:uppercase;letter-spacing:.04em;font-size:.5625rem;font-weight:700}.calendar-subtask-count{color:var(--text-muted);background-color:#0000000f;border-radius:3px;padding:0 .25rem;font-size:.625rem;font-weight:600;line-height:1.4}.calendar-subtask-item{cursor:grab}.calendar-subtask-item .calendar-subtask-parent{text-overflow:ellipsis;white-space:nowrap;border-radius:var(--radius-sm) var(--radius-sm) 0 0;margin:-3px -6px 2px -2px;padding:2px 6px;font-size:.5625rem;font-weight:600;overflow:hidden}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.mx-auto{margin-left:auto;margin-right:auto}.list-disc{list-style-type:disc}.list-inside{list-style-position:inside}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border-t{border-top:1px solid var(--border-color)}.border-gray-200{border-color:var(--border-color)}.border-gray-300{border-color:var(--gray-300)}.pt-4{padding-top:var(--space-4)}.hidden{display:none}.rounded{border-radius:var(--radius)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.shadow{box-shadow:var(--shadow)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.border{border:1px solid var(--border-color)}.border-l-4{border-left:4px solid}.w-full{width:100%}.h-10{height:2.5rem}.h-16{height:4rem}.block{display:block}.text-center{text-align:center}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:scale(.95)translateY(-8px)}to{opacity:1;transform:scale(1)translateY(0)}}.animate-fade-in{animation:.3s ease-out fadeIn}:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.theme-toggle{border:1px solid var(--border-color);border-radius:var(--radius);background-color:var(--bg-card);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.theme-toggle:hover{background-color:var(--bg-hover);color:var(--text-primary)}.theme-toggle svg{width:20px;height:20px}.project-filter-container{background-color:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);align-items:center;gap:.75rem;max-width:300px;padding:.75rem 1rem;display:flex}.project-filter-label{color:var(--text-secondary);white-space:nowrap;font-size:.875rem;font-weight:500}.project-filter-select{flex:1;min-width:0}.due-date-filter-container{background-color:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);align-items:center;gap:.75rem;max-width:300px;padding:.75rem 1rem;display:flex}.due-date-filter-label{color:var(--text-secondary);white-space:nowrap;font-size:.875rem;font-weight:500}.due-date-filter-select{flex:1;min-width:0}.detail-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem;font-size:.6875rem;font-weight:700;display:block}.detail-text{color:var(--text-primary);white-space:pre-wrap;font-size:.875rem;line-height:1.5}@media (width<=768px){.container{padding-left:var(--space-3);padding-right:var(--space-3)}.py-8{padding-top:var(--space-4);padding-bottom:var(--space-4)}.btn{min-height:2.75rem;padding:var(--space-2) var(--space-4)}.btn.btn-sm{min-height:2.25rem;padding:var(--space-1) var(--space-3)}.card{padding:var(--space-4)}.add-todo-btn,.add-project-btn{bottom:16px;right:16px}.md\:grid-cols-2{grid-template-columns:repeat(1,minmax(0,1fr))}.modal-content{border-radius:var(--radius-lg);width:95%;padding:20px}.project-filter-container,.due-date-filter-container{max-width:100%}}@media (width<=480px){.container{padding-left:var(--space-2);padding-right:var(--space-2)}h1.text-xl{font-size:1.125rem}.text-2xl{font-size:1.25rem}}.auth-page{min-height:calc(100vh - 5rem);padding:var(--space-4);justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:400px;box-shadow:0 25px 50px -12px #1c191714, 0 0 0 1px var(--border-color);animation:.5s ease-out cardEnter}.auth-title{margin-bottom:.25rem;font-size:1.75rem;font-weight:500}@keyframes cardEnter{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.btn-github{color:#fff;border-radius:var(--radius);width:100%;font-family:var(--font-sans);cursor:pointer;background-color:#292524;border:none;justify-content:center;align-items:center;gap:.5rem;margin-left:0;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.btn-github:hover:not(:disabled){box-shadow:var(--shadow-md);background-color:#1c1917;transform:translateY(-1px)}.btn-github:disabled{opacity:.7;cursor:not-allowed}.btn-github .github-icon{width:20px;height:20px}[data-theme=dark] .btn-github{color:#292524;background-color:#f3f0ec}[data-theme=dark] .btn-github:hover:not(:disabled){background-color:#e7e3de}.auth-divider{text-align:center;color:var(--text-muted);align-items:center;margin:1.5rem 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-bottom:1px solid var(--border-color);flex:1}.auth-divider span{letter-spacing:.04em;padding:0 .75rem;font-size:.8125rem}@media (prefers-reduced-motion:reduce){.auth-card,.home-container,.animate-fade-in{animation:none!important}}.wiki-content h1{color:var(--text-primary);margin:1.5rem 0 .75rem;font-size:1.5rem;font-weight:700}.wiki-content h2{color:var(--text-primary);margin:1.25rem 0 .625rem;font-size:1.25rem;font-weight:600}.wiki-content h3{color:var(--text-primary);margin:1rem 0 .5rem;font-size:1.0625rem;font-weight:600}.wiki-content p{color:var(--text-primary);margin:.75rem 0}.wiki-content ul,.wiki-content ol{margin:.75rem 0;padding-left:1.5rem}.wiki-content li{margin:.25rem 0}.wiki-content code{background:var(--bg-hover);border-radius:var(--radius-sm,3px);padding:.125rem .375rem;font-size:.8125rem}.wiki-content pre{background:var(--bg-hover);border-radius:var(--radius);margin:1rem 0;padding:1rem;overflow-x:auto}.wiki-content pre code{background:0 0;padding:0}.wiki-content blockquote{border-left:3px solid var(--primary-400);color:var(--text-secondary);margin:1rem 0;padding:.5rem 1rem}.wiki-content a{color:var(--primary-600);text-decoration:underline}.wiki-content a:hover{color:var(--primary-700)}.wiki-content .wiki-link{color:var(--primary-600);text-decoration:underline}.wiki-content .wiki-link-missing{color:var(--error-600,#dc2626);-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.wiki-content table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.875rem;display:block;overflow-x:auto}.wiki-content th{background:var(--bg-hover);text-align:left;border-bottom:2px solid var(--border-color);white-space:nowrap;padding:.625rem .75rem;font-weight:600}.wiki-content td{border-bottom:1px solid var(--border-color);vertical-align:top;padding:.625rem .75rem}.wiki-content tr:last-child td{border-bottom:none}.wiki-content tbody tr:hover{background:var(--bg-hover)}@media print{.no-print{display:none!important}.card{box-shadow:none;border:1px solid var(--gray-300)}}.theme-toggle.svelte-1cmi4dh{position:relative}.sun-icon.svelte-1cmi4dh,.moon-icon.svelte-1cmi4dh{transition:opacity .2s,transform .2s;position:absolute}[data-theme=dark] .sun-icon.svelte-1cmi4dh{opacity:1;transform:rotate(0)}[data-theme=dark] .moon-icon.svelte-1cmi4dh{opacity:0;transform:rotate(-90deg)}:root:not([data-theme=dark]) .sun-icon.svelte-1cmi4dh,[data-theme=light] .sun-icon.svelte-1cmi4dh{opacity:0;transform:rotate(90deg)}:root:not([data-theme=dark]) .moon-icon.svelte-1cmi4dh,[data-theme=light] .moon-icon.svelte-1cmi4dh{opacity:1;transform:rotate(0)}.connection-dot.svelte-1pdxfsa{border-radius:9999px;flex-shrink:0;width:.5rem;height:.5rem;display:inline-block}.connecting.svelte-1pdxfsa{background-color:var(--warning-500,#f59e0b);animation:1.5s ease-in-out infinite svelte-1pdxfsa-pulse}.disconnected.svelte-1pdxfsa{background-color:var(--error-500,#ef4444)}@keyframes svelte-1pdxfsa-pulse{0%,to{opacity:1}50%{opacity:.4}}.nav-brand.svelte-ocbj1u{color:inherit;font-size:1.25rem;font-weight:700;text-decoration:none}.nav-dropdown.svelte-ocbj1u{display:inline-block;position:relative}.nav-dropdown-trigger.svelte-ocbj1u{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;display:inline-flex}.dropdown-arrow.svelte-ocbj1u{flex-shrink:0;width:1rem;height:1rem;margin-left:.25rem;transition:transform .2s ease-in-out;display:inline-block}.dropdown-arrow.open.svelte-ocbj1u{transform:rotate(180deg)}.dropdown-menu.svelte-ocbj1u{background-color:var(--dropdown-bg);border-radius:var(--radius-lg);min-width:10rem;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);z-index:50;margin-top:.5rem;animation:.2s ease-out svelte-ocbj1u-slideDown;position:absolute;top:100%;left:0;overflow:hidden}.dropdown-menu-right.svelte-ocbj1u{left:auto;right:0}@keyframes svelte-ocbj1u-slideDown{0%{opacity:0;transform:translateY(-.375rem)}to{opacity:1;transform:translateY(0)}}.dropdown-item.svelte-ocbj1u{color:var(--text-secondary);transition:all var(--transition-fast);padding:.5rem 1rem;font-size:.875rem;text-decoration:none;display:block}.dropdown-item.svelte-ocbj1u:hover{background-color:var(--bg-hover);color:var(--text-primary)}.dropdown-item.active.svelte-ocbj1u{background-color:var(--primary-50);color:var(--primary-600);font-weight:600}.dropdown-logout.svelte-ocbj1u{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;font-family:inherit}.dropdown-header.svelte-ocbj1u{color:var(--text-primary);padding:.75rem 1rem .5rem;font-size:.875rem}.dropdown-divider.svelte-ocbj1u{background-color:var(--border-color);height:1px;margin:.25rem 0}.notification-bell.svelte-ocbj1u{color:var(--text-muted);transition:all var(--transition-fast);border-radius:9999px;justify-content:center;align-items:center;padding:.5rem;text-decoration:none;display:flex;position:relative}.notification-bell.svelte-ocbj1u:hover{background-color:var(--bg-hover);color:var(--text-primary)}.notification-badge.svelte-ocbj1u{text-align:center;color:#fff;background:var(--error-600,#dc2626);border-radius:9999px;min-width:1rem;height:1rem;padding:0 .25rem;font-size:.625rem;font-weight:700;line-height:1rem;position:absolute;top:.125rem;right:.125rem}.mobile-badge.svelte-ocbj1u{text-align:center;color:#fff;background:var(--error-600,#dc2626);border-radius:9999px;min-width:1.25rem;height:1.25rem;margin-left:.5rem;padding:0 .375rem;font-size:.6875rem;font-weight:700;line-height:1.25rem;display:inline-block}.user-dropdown.svelte-ocbj1u{position:relative}.user-dropdown-trigger.svelte-ocbj1u{cursor:pointer;transition:background-color var(--transition-fast);color:var(--text-muted);background:0 0;border:none;border-radius:9999px;justify-content:center;align-items:center;padding:.5rem;display:flex}.user-dropdown-trigger.svelte-ocbj1u:hover{background-color:var(--bg-hover);color:var(--text-primary)}.user-icon.svelte-ocbj1u{width:1.75rem;height:1.75rem}.mobile-menu-btn.svelte-ocbj1u{cursor:pointer;border-radius:var(--radius);width:2.5rem;height:2.5rem;color:var(--text-secondary);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:.375rem;display:none}.mobile-menu-btn.svelte-ocbj1u:hover{background-color:var(--bg-hover);color:var(--text-primary)}.mobile-menu-btn.svelte-ocbj1u svg:where(.svelte-ocbj1u){width:1.5rem;height:1.5rem}.mobile-menu-backdrop.svelte-ocbj1u{background-color:var(--bg-overlay);z-index:40;display:none;position:fixed;inset:4rem 0 0}.sr-only.svelte-ocbj1u{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mobile-menu.svelte-ocbj1u{background-color:var(--bg-card);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-lg);z-index:50;max-height:calc(100vh - 4rem);display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.mobile-menu-section.svelte-ocbj1u{padding:.5rem 0}.mobile-menu-label.svelte-ocbj1u{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:.5rem 1.25rem;font-size:.6875rem;font-weight:700}.mobile-menu-item.svelte-ocbj1u{color:var(--text-secondary);transition:background-color var(--transition-fast);padding:.75rem 1.25rem;font-size:.9375rem;text-decoration:none;display:block}.mobile-menu-item.svelte-ocbj1u:hover{background-color:var(--bg-hover);text-decoration:none}.mobile-menu-item.active.svelte-ocbj1u{background-color:var(--primary-50);color:var(--primary-600);font-weight:500}.mobile-logout-btn.svelte-ocbj1u{text-align:left;cursor:pointer;width:100%;color:var(--error-600);background:0 0;border:none;font-family:inherit}.mobile-menu-divider.svelte-ocbj1u{background-color:var(--border-color);height:1px;margin:.25rem 1rem}@media (width<=768px){.desktop-nav.svelte-ocbj1u{display:none!important}.mobile-menu-btn.svelte-ocbj1u{display:flex}.mobile-menu-backdrop.svelte-ocbj1u,.mobile-menu.svelte-ocbj1u{display:block}}.search-backdrop.svelte-1gvkdtx{z-index:1000;background:#0006;justify-content:center;align-items:flex-start;padding-top:15vh;display:flex;position:fixed;inset:0}.search-modal.svelte-1gvkdtx{background:var(--bg-card,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:var(--radius-lg,.75rem);flex-direction:column;width:100%;max-width:36rem;max-height:60vh;animation:.15s ease-out svelte-1gvkdtx-searchIn;display:flex;overflow:hidden;box-shadow:0 16px 48px #00000026}@keyframes svelte-1gvkdtx-searchIn{0%{opacity:0;transform:scale(.97)translateY(-8px)}to{opacity:1;transform:scale(1)translateY(0)}}.search-input-wrapper.svelte-1gvkdtx{border-bottom:1px solid var(--border-color,#e5e7eb);align-items:center;gap:.75rem;padding:.875rem 1rem;display:flex}.search-icon.svelte-1gvkdtx{width:1.25rem;height:1.25rem;color:var(--text-muted,#9ca3af);flex-shrink:0}.search-input.svelte-1gvkdtx{color:var(--text-primary,#1f2937);background:0 0;border:none;outline:none;flex:1;font-size:1rem}.search-input.svelte-1gvkdtx::placeholder{color:var(--text-muted,#9ca3af)}.search-kbd.svelte-1gvkdtx{border:1px solid var(--border-color,#e5e7eb);border-radius:var(--radius,.25rem);color:var(--text-muted,#9ca3af);background:var(--bg-page,#f9fafb);padding:.125rem .375rem;font-size:.6875rem;font-weight:500}.search-results.svelte-1gvkdtx{max-height:calc(60vh - 4rem);overflow-y:auto}.search-state.svelte-1gvkdtx{text-align:center;color:var(--text-muted,#9ca3af);justify-content:center;align-items:center;gap:.5rem;padding:2rem 1rem;font-size:.875rem;display:flex}.search-hint.svelte-1gvkdtx{padding:1.5rem 1rem}.search-spinner.svelte-1gvkdtx{border:2px solid var(--border-color,#e5e7eb);border-top-color:var(--primary-500,#3b82f6);border-radius:50%;width:1rem;height:1rem;animation:.6s linear infinite svelte-1gvkdtx-spin}@keyframes svelte-1gvkdtx-spin{to{transform:rotate(360deg)}}.result-group.svelte-1gvkdtx{border-bottom:1px solid var(--border-color,#e5e7eb)}.result-group.svelte-1gvkdtx:last-child{border-bottom:none}.result-group-header.svelte-1gvkdtx{background:var(--bg-page,#f9fafb);align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.result-group-label.svelte-1gvkdtx{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#9ca3af);font-size:.6875rem;font-weight:600}.result-group-count.svelte-1gvkdtx{background:var(--border-color,#e5e7eb);color:var(--text-muted,#6b7280);border-radius:9999px;padding:.0625rem .375rem;font-size:.625rem;font-weight:600}.search-result.svelte-1gvkdtx{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;padding:.625rem 1rem;font-family:inherit;transition:background .1s;display:flex}.search-result.svelte-1gvkdtx:hover{background:var(--bg-hover,#f3f4f6)}.result-left.svelte-1gvkdtx{flex:1;align-items:flex-start;gap:.625rem;min-width:0;display:flex}.result-priority.svelte-1gvkdtx{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:.375rem}.result-content.svelte-1gvkdtx{flex:1;min-width:0}.result-title.svelte-1gvkdtx{color:var(--text-primary,#1f2937);font-size:.875rem;font-weight:500;line-height:1.4}.result-subtitle.svelte-1gvkdtx{color:var(--text-muted,#9ca3af);text-overflow:ellipsis;white-space:nowrap;margin-top:.125rem;font-size:.75rem;overflow:hidden}.external-icon.svelte-1gvkdtx{width:.875rem;height:.875rem;color:var(--text-muted,#9ca3af);flex-shrink:0;margin-left:.5rem}@media (width<=768px){.search-backdrop.svelte-1gvkdtx{padding-top:5vh;padding-left:1rem;padding-right:1rem}}.toasts-container.svelte-r9p0hk{z-index:9999;pointer-events:none;flex-direction:column;gap:.5rem;max-width:24rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast.svelte-r9p0hk{border-radius:var(--radius-lg,.5rem);background:var(--bg-card,#fff);border:1px solid var(--border-color,#e5e7eb);color:var(--text-primary,#1f2937);pointer-events:auto;align-items:center;gap:.625rem;padding:.75rem 1rem;font-size:.875rem;display:flex;box-shadow:0 4px 12px #0000001a,0 1px 3px #0000000f}.toast-clickable.svelte-r9p0hk{cursor:pointer;transition:border-color .15s}.toast-clickable.svelte-r9p0hk:hover{border-color:var(--primary-400,#60a5fa)}.toast-icon.svelte-r9p0hk{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;font-size:.6875rem;font-weight:700;line-height:1;display:flex}.toast-icon-success.svelte-r9p0hk{background:var(--success-100,#dcfce7);color:var(--success-600,#16a34a)}.toast-icon-error.svelte-r9p0hk{background:var(--error-100,#fee2e2);color:var(--error-600,#dc2626)}.toast-icon-warning.svelte-r9p0hk{background:var(--warning-100,#fef3c7);color:var(--warning-600,#d97706)}.toast-icon-info.svelte-r9p0hk{background:var(--primary-100,#dbeafe);color:var(--primary-600,#2563eb)}.toast-message.svelte-r9p0hk{flex:1;line-height:1.4}.toast-action.svelte-r9p0hk{border-radius:var(--radius,.375rem);background:var(--primary-600,#2563eb);color:#fff;cursor:pointer;white-space:nowrap;border:none;flex-shrink:0;padding:.25rem .625rem;font-size:.75rem;font-weight:600;transition:background .15s}.toast-action.svelte-r9p0hk:hover{background:var(--primary-700,#1d4ed8)}.toast-dismiss.svelte-r9p0hk{color:var(--text-muted,#9ca3af);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:1.125rem;line-height:1;transition:color .15s}.toast-dismiss.svelte-r9p0hk:hover{color:var(--text-primary,#1f2937)}@media (width<=768px){.toasts-container.svelte-r9p0hk{max-width:none;bottom:1rem;left:1rem;right:1rem}}
