.app-layout-grid{display:grid;grid-template-columns:280px 1fr;grid-template-rows:auto 1fr;grid-template-areas:"header header" "sidebar main";min-height:100vh}.app-layout-grid>header{grid-area:header}.app-sidebar{grid-area:sidebar;background-color:var(--color-surface-secondary);padding:1.5rem;border-right:1px solid var(--color-border);overflow-y:auto;transition:background-color .3s ease,border-color .3s ease}.main-dashboard{grid-area:main;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;padding:1.5rem;overflow-y:auto;max-width:1600px;margin:0 auto}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);font-weight:700;letter-spacing:-.02em}h1{font-size:2.25rem}h2{font-size:1.5rem}h3{font-size:1.25rem;margin:0 0 1rem}h4{font-size:1rem}p{color:var(--color-text-secondary);line-height:1.6}.card{background-color:var(--color-surface-primary);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:1.5rem;box-shadow:var(--shadow-1);transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-2)}.today-focus{grid-column:1 / -1;padding:2rem}.today-focus h1{font-size:clamp(2rem,4vw,2.75rem);font-weight:800;margin:0 0 .5rem}.today-focus p{font-size:1rem;margin:0}.today-focus .stats{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.today-focus .stat-item{display:flex;align-items:center;gap:.75rem;font-size:1rem}.today-focus .stat-item .icon{color:var(--color-accent)}.today-focus .stat-item strong{color:var(--color-text-primary);font-weight:600}.task-list ul{list-style:none;padding:0;margin:0}.task-list li{display:flex;justify-content:space-between;align-items:center;padding:.75rem .25rem;border-bottom:1px solid var(--color-border);transition:background-color .2s ease}.task-list li:last-child{border-bottom:none}.task-list label{flex-grow:1;padding-right:1rem;color:var(--color-text-secondary);cursor:pointer;transition:color .2s ease}.task-list input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-accent);cursor:pointer}.task-list input[type=checkbox]:checked+label{text-decoration:line-through;color:var(--color-text-secondary);opacity:.6}.progress-overview .progress-category{margin-bottom:1.25rem}.progress-overview .progress-category.clickable{cursor:pointer;padding:.5rem;margin:-.5rem;border-radius:var(--radius-sm);transition:background-color .2s ease}.progress-overview .progress-category.clickable:hover{background-color:var(--color-surface-secondary)}.progress-overview .progress-label{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.875rem;font-weight:500}.progress-overview .progress-label span:first-child{color:var(--color-text-primary)}.progress-overview .progress-label span:last-child{color:var(--color-text-secondary)}.progress-overview .progress-bar{height:10px;background-color:var(--color-surface-secondary);border-radius:999px;overflow:hidden}.progress-overview .progress-bar-inner{height:100%;background-color:var(--color-accent);border-radius:999px;transition:width .3s ease-in-out}.progress-overview h4{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}.achievement-badge{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem .5rem;border-radius:var(--radius-md);background-color:var(--color-surface-secondary);opacity:.5;transition:all .2s ease}.achievement-badge.unlocked{opacity:1;background-color:var(--color-surface-primary)}.achievement-badge .icon{font-size:1.75rem;color:var(--color-text-secondary);margin-bottom:.5rem;transition:color .2s ease,transform .2s ease}.achievement-badge.unlocked .icon{color:var(--color-accent);transform:scale(1.1)}.achievement-badge .title{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.achievement-badge.unlocked .title{color:var(--color-text-primary)}.loading-screen{height:100vh;width:100vw;display:flex;justify-content:center;align-items:center;font-size:1.25rem;font-weight:500;background-color:var(--color-background);color:var(--color-text-primary)}.export-container{background-color:var(--color-surface-secondary);text-align:center}.export-container button{width:100%;padding:.75rem;font-size:1rem;font-weight:700;color:var(--color-accent-contrast);background-color:var(--color-accent);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s}.export-container button:hover{opacity:.9}.modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{width:90%;max-width:500px;text-align:center}.modal-content form{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.modal-content input[type=date]{padding:.5rem;border-radius:var(--border-radius);border:1px solid var(--color-border);background-color:var(--color-background);color:var(--color-text-primary);font-size:1rem}.modal-content button{padding:.75rem;font-size:1rem;font-weight:700;color:var(--color-accent-contrast);background-color:var(--color-accent);border:none;border-radius:var(--border-radius);cursor:pointer;transition:opacity .2s ease}.modal-content button:hover{opacity:.9}.modal-backdrop{opacity:0;visibility:hidden;transition:opacity .25s ease-in-out,visibility .25s ease-in-out}.modal-backdrop.open{opacity:1;visibility:visible}.modal-content{width:90%;max-width:700px;max-height:80vh;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.modal-header h3{margin:0}.modal-close-btn{font-size:1.75rem;font-weight:700;background:none;border:none;cursor:pointer;color:var(--color-text-secondary)}.modal-filters{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem 0}.modal-filters button{padding:.5rem 1rem;border-radius:20px;border:1px solid var(--color-border);background-color:transparent;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease}.modal-filters button.active,.modal-filters button:hover{background-color:var(--color-accent);color:var(--color-accent-contrast);border-color:var(--color-accent)}.modal-task-list{overflow-y:auto;padding-right:1rem}.modal-backdrop.celebrate{z-index:2000}.celebration-modal-content{width:90%;max-width:550px;text-align:center}.celebration-header{margin-bottom:1rem}.celebration-modal-content h2{font-size:1.75rem;color:var(--color-text-primary);margin-top:0;margin-bottom:.5rem}.motivational-quote{font-size:1rem;font-style:italic;color:var(--color-text-secondary);margin:1.5rem 0}.summary-list{list-style-type:none;padding:0;margin:1.5rem 0;text-align:left}.summary-list li{padding:.5rem 0;border-bottom:1px solid var(--color-border);font-size:.95rem}.celebration-modal-content button{padding:.75rem 2rem;font-size:1rem;font-weight:700;color:var(--color-accent-contrast);background-color:var(--color-accent);border:none;border-radius:50px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 10px #0000001a}.celebration-modal-content button:hover{transform:translateY(-2px);box-shadow:0 6px 15px #00000026}:root{--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--brand-50: #eff6ff;--brand-100: #dbeafe;--brand-200: #bfdbfe;--brand-500: #3b82f6;--brand-600: #2563eb;--brand-700: #1d4ed8;--neutral-50: #f8fafc;--neutral-100: #f1f5f9;--neutral-200: #e2e8f0;--neutral-300: #cbd5e1;--neutral-400: #94a3b8;--neutral-500: #64748b;--neutral-600: #475569;--neutral-700: #334155;--neutral-800: #1e2937;--neutral-900: #0f172a;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-1: 0 1px 2px rgba(0,0,0,.05);--shadow-2: 0 4px 12px rgba(0,0,0,.08);--shadow-3: 0 10px 24px rgba(0,0,0,.1)}:root{--color-background: var(--neutral-50);--color-surface-primary: #ffffff;--color-surface-secondary: var(--neutral-100);--color-border: var(--neutral-200);--color-text-primary: var(--neutral-800);--color-text-secondary: var(--neutral-500);--color-accent: var(--brand-600);--color-accent-contrast: #ffffff;--color-primary: var(--color-accent);--color-secondary: var(--color-surface-secondary);--border-radius: var(--radius-md)}[data-theme=dark]{--color-background: #0f172a;--color-surface-primary: #1e2937;--color-surface-secondary: #0f172a;--color-border: rgba(255, 255, 255, .1);--color-text-primary: #f1f5f9;--color-text-secondary: #94a3b8;--color-accent: var(--brand-500);--color-accent-contrast: #ffffff}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);background-color:var(--color-background);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}#root{width:100%;margin:0 auto;padding:0}
