:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{box-sizing:border-box;flex-direction:column;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}h2{font-size:20px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.app-container{background-color:var(--bg);-webkit-tap-highlight-color:transparent;grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{color:#adb5bd;border-right:1px solid var(--border);background-color:#1a1c23;flex-direction:column;height:100vh;padding:1.5rem 0;display:flex;position:sticky;top:0}.sidebar h1{cursor:pointer;color:#fff;background:0 0;border:none;justify-content:space-between;align-items:center;margin:0 0 2rem;padding:0 1.5rem;font-size:1.25rem;display:flex}.sidebar nav{flex-direction:column;display:flex}.sidebar nav button{color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:.75rem 1.5rem;font-size:.95rem;transition:all .2s}.sidebar nav button:hover{color:#fff;background-color:#2d303e}.sidebar nav button.active{background-color:var(--accent-bg);color:var(--accent);border-right:4px solid #fff}.sidebar-footer{border-top:1px solid #ffffff0d;margin-top:auto;padding:1rem 1.5rem}.sidebar .text-link-btn{color:#adb5bd;opacity:.7;font-size:.75rem;transition:opacity .2s}.sidebar .text-link-btn:hover{opacity:1}.main-content{flex-direction:column;display:flex}.app-header{background-color:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.header-actions{align-items:center;gap:1.5rem;margin-left:auto;display:flex}.user-profile{font-weight:500;transition:color .2s}.user-profile:hover{color:var(--accent)}.text-link-btn{color:#6c757d;cursor:pointer;background:0 0;border:none;font-size:.8rem;text-decoration:underline}.logout-btn{color:#ef4444;cursor:pointer;background:0 0;border:1px solid #ef4444;border-radius:4px;padding:.4rem .8rem;font-size:.85rem;transition:all .2s}.logout-btn:hover{color:#fff;background:#ef4444}.view-container{padding:2rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.stat-card{background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:1.5rem;transition:transform .2s,border-color .2s,box-shadow .2s;box-shadow:0 1px 3px #0000001a}.stat-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow);transform:translateY(-2px)}.stat-card h3{color:#6c757d;margin:0;font-size:.875rem}.stat-card p{margin:.5rem 0 0;font-size:1.5rem;font-weight:700}.app-footer{color:#adb5bd;border-top:1px solid #e9ecef;padding:1rem 2rem;font-size:.8rem}.view-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.add-button{background-color:var(--accent);color:#fff;cursor:pointer;width:44px;height:44px;box-shadow:var(--shadow);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.8rem;line-height:1;transition:all .2s;display:flex}.add-button:hover{filter:brightness(1.1);transform:scale(1.1)}.data-table{border-collapse:collapse;background-color:var(--bg);width:100%;box-shadow:var(--shadow);border:1px solid var(--border);border-radius:8px;overflow:hidden}.search-container{margin-bottom:1.5rem}.search-input{border:1px solid var(--border);background-color:var(--bg);width:100%;color:var(--text);border-radius:8px;outline:none;padding:.8rem 1.2rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.data-table thead{background-color:var(--code-bg);text-align:left}.data-table tbody tr{cursor:pointer;transition:background-color .2s}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}.data-table tbody tr:hover,.data-table tbody tr.selected-row{background-color:var(--accent-bg)}.data-table th,.data-table td{border-bottom:1px solid var(--border);padding:1rem}.status-badge{border-radius:4px;padding:4px 8px;font-size:.75rem;font-weight:500}.calendar-workbook{background:var(--bg);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.calendar-tabs{background:var(--code-bg);border-bottom:1px solid var(--border);display:flex;overflow-x:auto}.month-tab{cursor:pointer;color:var(--text);background:0 0;border:none;flex:1;min-width:60px;padding:.75rem;font-weight:500;transition:all .2s}.month-tab:hover{background:var(--border)}.month-tab.active{background:var(--bg);color:var(--accent);border-bottom:2px solid var(--accent)}.calendar-sheet{padding:1.5rem}.calendar-sheet h3{margin-top:0;margin-bottom:1rem}.calendar-table{border-collapse:collapse;table-layout:fixed;width:100%}.calendar-table th{color:var(--text);padding-bottom:.5rem;font-size:.8rem}.calendar-table td{border:1px solid var(--border);text-align:right;vertical-align:top;height:80px;padding:.5rem}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg);width:90%;max-width:600px;box-shadow:var(--shadow);color:var(--text-h);border-radius:12px;padding:2rem}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.full-width{grid-column:span 2}.form-group{flex-direction:column;display:flex}.form-group label{margin-bottom:.4rem;font-size:.85rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:.6rem}.modal-actions{justify-content:flex-end;gap:1rem;margin-top:2rem;display:flex}.cancel-button{border:1px solid var(--border);cursor:pointer;color:var(--text);background:0 0;border-radius:6px;padding:.6rem 1.2rem}.submit-button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.6rem 1.2rem}.action-cell{text-align:center;position:relative}.meatball-button{cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:1.25rem}.meatball-button:hover{background-color:var(--border)}.menu-dropdown{background:var(--bg);border:1px solid var(--border);box-shadow:var(--shadow);z-index:10;border-radius:8px;flex-direction:column;min-width:140px;display:flex;position:absolute;top:100%;right:0;overflow:hidden}.menu-dropdown button{text-align:left;cursor:pointer;color:var(--text);background:0 0;border:none;padding:10px 16px;font-size:.9rem}.menu-dropdown button:hover{background-color:var(--accent-bg)}.menu-dropdown button.danger{color:#ef4444}.menu-dropdown button.danger:hover{background-color:#fee2e2}.progress-container{background-color:var(--border);border-radius:4px;width:100%;height:8px;margin-bottom:4px;position:relative}.progress-bar{background-color:var(--accent);border-radius:4px;height:100%;transition:width .3s}.progress-text{color:var(--text);font-size:.7rem}.task-count{color:#6c757d;font-size:.7rem;display:block}.menu-toggle{color:#fff;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1;display:none}.error-text{color:#ef4444;text-align:center;margin-bottom:1rem;font-size:.9rem}.landing-container{color:#fff;background-color:#0f1115;flex-direction:column;min-height:100vh;display:flex}.landing-nav{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:1.5rem 4rem;display:flex}.landing-logo{letter-spacing:-1px;font-size:1.5rem;font-weight:800}.landing-nav-links{align-items:center;gap:2rem;display:flex}.primary-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.6rem 1.2rem;font-weight:600}.hero-section{text-align:center;max-width:900px;margin:0 auto;padding:8rem 2rem}.hero-section h1{margin-bottom:1.5rem;font-size:4rem;line-height:1.1}.highlight{color:var(--accent);background:linear-gradient(120deg, var(--accent) 0%, #a855f7 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.hero-section p{color:#94a3b8;margin-bottom:2.5rem;font-size:1.25rem}.hero-actions{justify-content:center;gap:1rem;display:flex}.cta-button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:1rem 2rem;font-size:1.1rem;font-weight:700}.features-grid-landing{background:#ffffff05;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;padding:4rem;display:grid}.feature-item{border:1px solid #ffffff0d;border-radius:12px;padding:2rem}.feature-icon{margin-bottom:1rem;font-size:2.5rem}.landing-footer{text-align:center;color:#64748b;padding:4rem}.tab-nav-btn{background:var(--code-bg);color:var(--text);cursor:pointer;border:none;justify-content:center;align-items:center;padding:0 .75rem;font-size:1.5rem;display:flex}.tab-nav-btn:disabled{opacity:.3;cursor:not-allowed}.calendar-header-mobile{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.calendar-header-mobile h3{margin:0;font-size:1.1rem}.week-label{color:var(--text);margin-left:.5rem;font-size:.85rem;font-weight:400}.week-nav-btn{background:var(--code-bg);border:1px solid var(--border);cursor:pointer;color:var(--text-h);border-radius:4px;padding:4px 12px;font-size:1.25rem}@media (width<=1024px){.landing-nav{padding:calc(1rem + env(safe-area-inset-top)) 1.5rem 1rem 1.5rem}.hero-section h1{font-size:2.5rem}.features-grid-landing{padding:2rem}.hero-actions{flex-direction:column}.app-container{grid-template-columns:1fr}.menu-toggle{display:block}.sidebar{padding:calc(1rem + env(safe-area-inset-top)) 0 1rem 0;border-right:none;border-bottom:1px solid var(--border);z-index:100;height:auto;position:sticky;top:0}.sidebar h1{margin-bottom:0;padding:0 1.5rem}.sidebar.mobile-open h1{margin-bottom:1rem}.sidebar nav{flex-direction:column;padding:0;display:none}.sidebar.mobile-open nav{border-top:1px solid #2d303e;display:flex}.sidebar nav button{padding:1rem 1.5rem}.sidebar nav button.active{border-right:none;border-bottom:3px solid var(--accent)}.sidebar-footer{padding:1rem 1.5rem calc(1rem + env(safe-area-inset-bottom)) 1.5rem;display:none}.sidebar.mobile-open .sidebar-footer{border-top:1px solid #2d303e;display:block}.view-container{padding:1rem calc(1rem + env(safe-area-inset-right)) 1rem calc(1rem + env(safe-area-inset-left))}.calendar-sheet{padding:.75rem}.data-table th,.data-table td{padding:.75rem .5rem;font-size:.9rem}.data-table .text-link-btn{font-size:.9rem}.form-grid{grid-template-columns:1fr}.full-width{grid-column:span 1}.calendar-table td{vertical-align:middle;height:45px;padding:2px;font-size:.75rem}.calendar-table td.day-label{text-align:left;background-color:var(--code-bg);border-right:1px solid var(--border);width:80px;padding-left:.75rem;font-weight:500}.calendar-table{table-layout:auto}.month-tab{min-width:50px;padding:.5rem;font-size:.8rem}.calendar-tabs{overflow-x:hidden}}@media (width<=768px){.projects-grid{grid-template-columns:1fr}}
