:root{--color-primary:#1f2937;--color-primary-hover:#374151;--color-accent:#2563eb;--color-surface:#fff;--color-surface-raised:#f9fafb;--color-border:#e5e7eb;--color-text-primary:#111827;--color-text-secondary:#6b7280;--color-text-hint:#9ca3af;--color-success:#16a34a;--color-error:#dc2626;--color-warning:#d97706;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-card:0 1px 3px #00000014, 0 1px 2px #0000000d;--shadow-modal:0 10px 40px #00000026;--font-heading:"Inter", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--font-size-display:2rem;--font-size-heading:1.25rem;--font-size-subheading:1rem;--font-size-body:.875rem;--font-size-label:.75rem;--font-size-hint:.6875rem;--font-size-mono:1rem}[data-theme=dark]{--color-primary:#f9fafb;--color-primary-hover:#e5e7eb;--color-accent:#3b82f6;--color-surface:#111827;--color-surface-raised:#1f2937;--color-border:#374151;--color-text-primary:#f9fafb;--color-text-secondary:#9ca3af;--color-text-hint:#6b7280;--shadow-card:0 1px 3px #0000004d, 0 1px 2px #0003;--shadow-modal:0 10px 40px #00000080}:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f3f4f6;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background-color:#f3f4f6;min-width:320px;margin:0}.auth-shell{background:#f9fafb;justify-content:center;align-items:center;min-height:100dvh;padding:2rem 1rem;display:flex}.auth-shell-inner{width:100%;max-width:420px}.auth-header{margin-bottom:2rem}.auth-brand{align-items:center;gap:.75rem;display:flex}.auth-brand-icon{font-size:2rem;line-height:1}.auth-brand-name{color:#111827;margin:0;font-size:1.5rem;font-weight:700}.auth-brand-sub{color:#6b7280;margin:0;font-size:.85rem}.app-shell{min-height:100dvh;display:flex}.sidebar{z-index:20;background:#fff;border-right:1px solid #e5e7eb;flex-direction:column;flex-shrink:0;width:240px;transition:transform .22s;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{border-bottom:1px solid #e5e7eb;align-items:center;gap:.65rem;padding:1.1rem 1rem 1rem;display:flex}.sidebar-brand-logo{color:#fff;background:#111827;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:2rem;min-width:2rem;height:2rem;display:flex}.auth-brand-logo{color:#fff;background:#111827;border-radius:10px;justify-content:center;align-items:center;width:2.5rem;min-width:2.5rem;height:2.5rem;display:flex}.sidebar-brand-text{flex-direction:column;gap:.05rem;min-width:0;display:flex}.sidebar-brand-name{color:#111827;font-size:.95rem;font-weight:700;line-height:1.2}.sidebar-brand-sub{color:#9ca3af;font-size:.72rem}.sidebar-nav{flex-direction:column;flex:1;gap:.15rem;padding:1rem .75rem;display:flex;overflow-y:auto}.sidebar-nav-label{text-transform:uppercase;letter-spacing:.1em;color:#9ca3af;margin-bottom:.35rem;padding:0 .4rem;font-size:.68rem;font-weight:600}.sidebar-nav-item{text-align:left;color:#6b7280;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:.65rem;width:100%;padding:.6rem .75rem;font-size:.88rem;font-weight:500;transition:background .15s,color .15s;display:flex}.sidebar-nav-item:hover{color:#111827;opacity:1;background:#f3f4f6}.sidebar-nav-item.active{color:#fff;background:#111827;font-weight:600}.sidebar-nav-item.active:hover{opacity:.92}.sidebar-nav-icon{width:1rem;color:inherit;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-footer{border-top:1px solid #e5e7eb;padding:.75rem}.sidebar-user{align-items:center;gap:.65rem;display:flex}.sidebar-user-avatar{color:#374151;background:#e5e7eb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2rem;min-width:2rem;height:2rem;font-size:.85rem;font-weight:700;display:flex}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{color:#111827;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:500;display:block;overflow:hidden}.sidebar-user-actions{flex-shrink:0;gap:.25rem;display:flex}.sidebar-icon-btn{color:#9ca3af;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;width:1.85rem;min-width:1.85rem;height:1.85rem;padding:0;transition:background .15s,color .15s;display:inline-flex}.sidebar-icon-btn:hover{color:#374151;opacity:1;background:#f3f4f6}.sidebar-icon-btn--logout:hover{color:#b91c1c;background:#fee2e2}@media (width<=767px){.sidebar{transform:translate(-100%)}.sidebar--open{transform:translate(0);box-shadow:4px 0 32px #00000059}}.sidebar-backdrop{z-index:19;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;border:0;border-radius:0;padding:0;position:fixed;inset:0}.main-wrapper{flex-direction:column;flex:1;min-width:0;margin-left:240px;display:flex}@media (width<=767px){.main-wrapper{margin-left:0}}.topbar{z-index:10;background:#fff;border-bottom:1px solid #e5e7eb;align-items:center;gap:.75rem;padding:.75rem 1rem;display:none;position:sticky;top:0}@media (width<=767px){.topbar{display:flex}}.topbar-menu-btn{color:#374151;background:0 0;border:1px solid #e5e7eb;border-radius:7px;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;display:inline-flex}.topbar-menu-btn:hover{opacity:1;background:#f3f4f6}.topbar-title{color:#111827;flex:1;font-size:.95rem;font-weight:700}.page-content{flex:1;width:100%;max-width:900px;margin:0 auto;padding:1.75rem 2rem 3rem}.auth-card{max-width:420px;margin-top:1.5rem}.auth-form{gap:.8rem;display:grid}.auth-actions{gap:.5rem;display:flex}.secondary-button{background:#4b5563}.error-message{color:#b91c1c;margin:0;font-size:.88rem}.month-selector{max-width:260px}.session-card{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.session-card h2{margin-bottom:.25rem}.session-actions{gap:.5rem;display:flex}.top-row{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;display:grid}.top-row-days{grid-template-columns:repeat(3,minmax(0,1fr))}.top-row-days .month-selector{max-width:none}.days-layout{gap:.75rem;display:grid}.days-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.days-overview-grid .inline-project-summary{grid-column:1/-1}.days-overview-grid .month-selector{max-width:none}.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:.875rem}.card h2{margin:0 0 .75rem;font-size:1.1rem}.field{gap:.4rem;display:grid}.field span{color:#374151;font-size:.9rem}input{box-sizing:border-box;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:.55rem .65rem;font-size:.95rem}select{box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:.55rem .65rem;font-size:.95rem}button{color:#fff;cursor:pointer;background:#1f2937;border:0;border-radius:8px;padding:.55rem .9rem;font-size:.9rem}button:hover{opacity:.92}.hint{color:#6b7280;margin:.75rem 0 0;font-size:.85rem}.section-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.section-header h2{margin:0}.models-header{margin-top:.9rem;margin-bottom:.75rem}.models-header h3{margin:0}.models-grid{gap:.75rem;display:grid}.model-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;gap:.65rem;padding:.75rem;display:grid}.days-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.65rem;display:grid}.day-entry{background:#fff;border:1px solid #e5e7eb;border-radius:12px;gap:.6rem;padding:.85rem .9rem;transition:box-shadow .15s;display:grid}.day-entry:hover{box-shadow:0 2px 8px #11182714}.day-entry-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.day-entry-date-row{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:flex}.day-entry-date{color:#111827;white-space:nowrap;font-size:.95rem;font-weight:700}.day-entry-project{color:#fff;white-space:nowrap;text-overflow:ellipsis;background:#374151;border-radius:999px;max-width:160px;padding:.18rem .6rem;font-size:.78rem;font-weight:500;overflow:hidden}.day-entry-actions{flex-shrink:0;gap:.35rem;display:flex}.day-icon-button{cursor:pointer;color:#fff;border:0;border-radius:8px;justify-content:center;align-items:center;width:2rem;min-width:2rem;height:2rem;padding:0;display:inline-flex}.day-entry-body{gap:.5rem;display:grid}.day-entry-time-row{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.day-entry-time-block{gap:.1rem;display:grid}.day-entry-time-block span{color:#6b7280;text-transform:uppercase;letter-spacing:.03em;font-size:.72rem}.day-entry-time-block strong{color:#111827;font-size:1rem}.day-entry-time-sep{color:#9ca3af;text-align:center;flex:1;font-size:1rem}.day-entry-value-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.day-entry-value-block{gap:.1rem;display:grid}.day-entry-value-block span{color:#6b7280;text-transform:uppercase;letter-spacing:.03em;font-size:.72rem}.day-entry-value{color:#111827;font-size:1.1rem;font-weight:700}.day-entry-model-tag{color:#374151;white-space:nowrap;background:#e5e7eb;border-radius:6px;padding:.25rem .55rem;font-size:.75rem;font-weight:500}.modal-overlay{z-index:10;background:#11182759;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;gap:.8rem;width:min(100%,460px);padding:1rem;display:grid}.modal-card h3{margin:0}.modal-actions{justify-content:flex-end;gap:.5rem;display:flex}.summary-grid{gap:.45rem;display:grid}.summary-grid p{margin:0}.inline-project-summary{gap:.75rem;display:grid}.inline-project-summary-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem;max-height:360px;padding-right:.25rem;display:grid;overflow-y:auto}.inline-project-summary-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;grid-template-columns:minmax(0,1fr);gap:.5rem;padding:.65rem .75rem;display:grid}.inline-project-summary-item-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.inline-project-summary-item p{gap:.12rem;margin:0;display:grid}.project-download-button{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;gap:.3rem;min-width:2rem;height:2rem;padding:0 .55rem;font-size:.75rem;font-weight:500;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.project-download-button:hover{color:#111827;background:#f3f4f6;border-color:#9ca3af}.project-actions{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.inline-project-summary-item span{color:#6b7280;font-size:.82rem}.project-model-row{align-items:center;gap:.4rem;display:flex}.project-model-edit-button{color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:1.6rem;min-width:1.6rem;height:1.6rem;padding:0;font-size:.85rem;display:inline-flex}.days-header-filter{align-items:center;gap:.5rem;margin-left:auto;display:flex}.days-header-filter>span{color:#6b7280;white-space:nowrap;font-size:.85rem}.days-header-filter select{width:auto;padding:.3rem .55rem;font-size:.85rem}.modal-warning-text{color:#374151;background:#fef9c3;border:1px solid #fde68a;border-radius:8px;margin:0;padding:.55rem .75rem;font-size:.9rem}.stats-grid{gap:1rem;display:grid}.daily-average-board{gap:.5rem;display:grid}.daily-average-value{font-size:2rem;line-height:1}.chart-vertical{grid-template-columns:repeat(auto-fit,minmax(72px,1fr));align-items:end;gap:.75rem;min-height:240px;display:grid}.chart-column-item{align-items:end;gap:.35rem;display:grid}.chart-value{text-align:center;font-size:.8rem}.chart-column-track{background:#e5e7eb;border-radius:8px;align-items:end;width:100%;height:170px;display:flex;overflow:hidden}.chart-column-fill{border-radius:8px 8px 0 0;width:100%;min-height:4px}.chart-label{text-align:center;color:#374151;white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.project-summary-list{gap:.75rem;display:grid}.project-summary-item{border:1px solid #e5e7eb;border-radius:10px;gap:.55rem;padding:.7rem .8rem;display:grid}.project-summary-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.project-summary-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.project-summary-values p{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;gap:.2rem;margin:0;padding:.45rem .55rem;display:grid}.project-summary-values span{color:#6b7280;font-size:.8rem}.project-summary-values strong{font-size:.9rem}.project-autocomplete-field{gap:.4rem;display:grid}.project-autocomplete-field>span{color:#374151;font-size:.9rem}.project-autocomplete-wrapper{position:relative}.project-suggestions{z-index:30;background:#fff;border:1px solid #d1d5db;border-radius:8px;max-height:200px;margin:0;padding:.3rem 0;list-style:none;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #1118271a}.project-suggestion-item{color:#111827;cursor:pointer;padding:.5rem .75rem;font-size:.9rem}.project-suggestion-item:hover,.project-suggestion-item.active{background:#f3f4f6}.annual-summary{gap:1rem}.annual-header{align-items:flex-end;gap:1rem;display:flex}.annual-year-field{max-width:160px}.annual-year-field input{-moz-appearance:textfield}.annual-year-field input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.annual-year-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.annual-totals-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.annual-total-card{gap:.4rem;display:grid}.annual-total-value{font-size:1.75rem;line-height:1}.annual-month-chart{grid-template-columns:repeat(auto-fit,minmax(60px,1fr))}.annual-months-table{border:1px solid #e5e7eb;border-radius:10px;gap:0;display:grid;overflow:hidden}.annual-months-table-header,.annual-months-table-row{grid-template-columns:2fr 1fr 1.5fr 1.5fr 2fr;gap:0;display:grid}.annual-months-table-header{color:#fff;background:#1f2937;font-size:.82rem;font-weight:600}.annual-months-table-header span,.annual-months-table-row span{padding:.55rem .75rem;font-size:.88rem}.annual-months-table-row{background:#fff;border-top:1px solid #e5e7eb}.annual-months-table-row:nth-child(2n){background:#f9fafb}.annual-month-name{font-weight:500}.annual-months-table-total{font-weight:600;background:#f3f4f6!important;border-top:2px solid #d1d5db!important}.annual-months-table-total span{font-weight:700}.view-mode-toggle{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:10px;gap:.25rem;width:fit-content;padding:.25rem;display:flex}.view-mode-button{color:#6b7280;background:0 0;border-radius:7px;padding:.45rem 1.1rem;font-size:.88rem;font-weight:500;transition:background .15s,color .15s}.view-mode-button:hover{color:#111827;opacity:1;background:#e5e7eb}.view-mode-button.active{color:#fff;background:#1f2937}.view-mode-button.active:hover{opacity:.92}.pagination{justify-content:center;align-items:center;gap:.5rem;padding:1.25rem 0 .25rem;display:flex}.pagination-button{color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:.5rem 1rem;font-size:.88rem;font-weight:500;transition:background .15s,border-color .15s}.pagination-button:hover:not(:disabled){opacity:1;background:#f3f4f6;border-color:#9ca3af}.pagination-button:disabled{opacity:.35;cursor:not-allowed}.pagination-info{color:#374151;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;justify-content:center;align-items:center;min-width:3.5rem;padding:.45rem .75rem;font-size:.88rem;font-weight:600;display:inline-flex}@media (width<=720px){.auth-actions{flex-direction:column}.session-card{flex-direction:column;align-items:flex-start}.session-actions{flex-direction:column;width:100%}.top-row,.days-overview-grid,.workspace-grid,.days-grid,.inline-project-summary-item{grid-template-columns:1fr}.day-entry{grid-template-columns:1fr;align-items:flex-start}.day-entry-meta-grid{grid-template-columns:1fr}.day-meta-project{grid-column:auto}.day-entry-actions{flex-flow:wrap;justify-content:flex-start;width:100%}.remove-button{width:100%}.project-summary-values{grid-template-columns:1fr}.edit-button{width:100%}.annual-totals-grid{grid-template-columns:1fr}.annual-months-table-header,.annual-months-table-row{grid-template-columns:2fr 1fr 1.5fr 1.5fr 2fr;font-size:.8rem}.annual-months-table-header span,.annual-months-table-row span{padding:.45rem .5rem;font-size:.8rem}}.month-navigator{background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:row;align-items:stretch;gap:.75rem;padding:.875rem 1rem;display:flex;box-shadow:0 1px 4px #1118270d}.month-navigator-controls{flex-shrink:0;align-items:center;gap:.75rem;display:flex;position:relative}.month-navigator-arrow{color:#6b7280;cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;min-width:2.5rem;height:2.5rem;padding:0;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.month-navigator-arrow:hover{color:#fff;opacity:1;background:#111827;border-color:#111827}.month-navigator-label{cursor:pointer;text-align:center;background:0 0;border:none;border-radius:8px;flex-direction:column;align-items:center;gap:.1rem;min-width:160px;padding:.25rem .5rem;transition:background .15s;display:flex}.month-navigator-label:hover{opacity:1;background:#f3f4f6}.month-navigator-month{color:#111827;letter-spacing:-.01em;font-size:1.25rem;font-weight:700;line-height:1.2}.month-navigator-year{color:#9ca3af;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:500}.month-navigator-totals{background:#f9fafb;border:1px solid #f3f4f6;border-radius:10px;flex-direction:row;flex:1;align-items:stretch;gap:0;min-width:0;display:flex;overflow:hidden}.month-navigator-totals--empty{color:#9ca3af;background:0 0;border:none;justify-content:center;padding:.4rem 1rem;font-size:.8rem}.month-navigator-col{flex-direction:column;flex:1;gap:.15rem;padding:.65rem 1.1rem;display:flex}.month-navigator-stat-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;font-size:.68rem;font-weight:500}.month-navigator-stat-value{color:#111827;font-size:1.15rem;font-weight:700;line-height:1.2}.month-navigator-stat-sub{color:#9ca3af;margin-top:.05rem;font-size:.72rem}.month-navigator-totals-sep{background:#e5e7eb;flex-shrink:0;align-self:stretch;width:1px}.month-navigator-goal{margin-top:.35rem}.fix-buckets-row{display:none}.fix-buckets-button{color:#9ca3af;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:.25rem 0;font-size:.75rem;text-decoration:underline}.fix-buckets-button:hover{color:#6b7280;opacity:1}.modal-month-warning{background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;gap:.5rem;padding:.65rem .75rem;display:grid}.modal-month-warning-text{color:#92400e;margin:0;font-size:.88rem}.modal-month-warning-actions{flex-wrap:wrap;gap:.5rem;display:flex}.modal-month-warning-switch{color:#fff;cursor:pointer;background:#d97706;border:none;border-radius:6px;padding:.35rem .75rem;font-size:.82rem;font-weight:500}.modal-month-warning-ignore{color:#78350f;cursor:pointer;background:0 0;border:1px solid #fcd34d;border-radius:6px;padding:.35rem .75rem;font-size:.82rem}.session-card{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.session-card h2{margin:0}.session-card-actions{align-items:center;gap:.75rem;display:flex}.sync-badge{border-radius:999px;padding:.25rem .6rem;font-size:.78rem;font-weight:500}.sync-badge--saving{color:#0369a1;background:#e0f2fe}.sync-badge--saved{color:var(--color-success,#16a34a);background:#dcfce7}.sync-badge--error{color:var(--color-warning,#d97706);background:#fff7ed}.theme-toggle-button{color:#374151;cursor:pointer;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;justify-content:center;align-items:center;width:2rem;min-width:2rem;height:2rem;padding:0;transition:background .15s,color .15s;display:inline-flex}.theme-toggle-button:hover{opacity:1;background:#e5e7eb}.empty-state{text-align:center;color:var(--color-text-secondary,#6b7280);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:3rem 1rem;display:flex}.empty-state-icon{margin-bottom:.25rem;font-size:2.5rem;line-height:1}.empty-state-title{color:var(--color-text-primary,#111827);margin:0;font-size:1rem;font-weight:600}.empty-state-hint{margin:0;font-size:.875rem}.undo-toast{color:#f9fafb;z-index:50;white-space:nowrap;background:#1f2937;border-radius:10px;align-items:center;gap:1rem;padding:.75rem 1.25rem;font-size:.875rem;animation:.2s toast-in;display:flex;position:fixed;bottom:5rem;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0003}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.undo-toast-button{color:#60a5fa;cursor:pointer;background:0 0;border:1px solid #60a5fa;border-radius:6px;padding:.25rem .65rem;font-size:.8rem;font-weight:600}.undo-toast-button:hover{color:#1f2937;background:#60a5fa}.modal-value-preview{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;justify-content:space-between;align-items:center;padding:.6rem .9rem;font-size:.875rem;display:flex}.modal-value-preview strong{font-size:1rem;font-weight:700}.day-entry-value,.annual-total-value,.daily-average-value,.month-navigator-stat-value,.summary-kpi-value{font-variant-numeric:tabular-nums}.day-entry-weekday{color:#6b7280;white-space:nowrap;font-size:.75rem;font-weight:500}.day-entry-weekday--weekend{color:#dc2626}.day-entry-project{color:#fff}.day-entry-value{font-size:1.25rem}.day-entry-actions{opacity:0;transition:opacity .15s}.day-entry:hover .day-entry-actions,.day-entry:focus-within .day-entry-actions{opacity:1}@media (hover:none){.day-entry-actions{opacity:1}}.form-error{color:#b91c1c;background:#fee2e2;border:1px solid #fca5a5;border-radius:6px;margin:0;padding:.5rem .75rem;font-size:.85rem}.password-strength{flex-direction:column;gap:.3rem;display:flex}.password-strength-bar{background:#e5e7eb;border-radius:4px;height:4px;overflow:hidden}.password-strength-fill{border-radius:4px;height:100%;transition:width .2s,background-color .2s}.password-strength-bar[data-strength=weak] .password-strength-fill{background-color:#ef4444;width:33%}.password-strength-bar[data-strength=medium] .password-strength-fill{background-color:#f59e0b;width:66%}.password-strength-bar[data-strength=strong] .password-strength-fill{background-color:#22c55e;width:100%}.password-strength-label{font-size:.78rem}.password-strength-label[data-strength=weak]{color:#ef4444}.password-strength-label[data-strength=medium]{color:#f59e0b}.password-strength-label[data-strength=strong]{color:#22c55e}.geral-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.geral-toolbar .card{flex:1}.export-csv-button{white-space:nowrap;align-self:center}.model-rate-hint{color:#6b7280;margin-top:.2rem;font-size:.78rem;display:block}.goal-progress{gap:.25rem;margin-top:.4rem;display:grid}.goal-progress-track{background:#e5e7eb;border-radius:99px;height:6px;overflow:hidden}.goal-progress-fill{background:#1f2937;border-radius:99px;height:100%;transition:width .3s}.goal-progress-label{color:#6b7280;font-size:.72rem}.summary-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.summary-kpi-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;gap:.2rem;padding:.85rem 1rem;display:grid}.summary-kpi-label{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:500}.summary-kpi-value{color:#111827;font-size:1.5rem;font-weight:700;line-height:1.2}.summary-kpi-sub{color:#9ca3af;margin-top:.1rem;font-size:.75rem}@media (width<=480px){.summary-kpi-grid{grid-template-columns:1fr}}.chart-column-item{position:relative}.chart-column-item[data-tooltip]:before{content:attr(data-tooltip);color:#f9fafb;white-space:nowrap;opacity:0;pointer-events:none;z-index:10;background:#111827;border-radius:6px;padding:.3rem .6rem;font-size:.75rem;font-weight:500;transition:opacity .15s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.chart-column-item[data-tooltip]:after{content:"";opacity:0;pointer-events:none;border:5px solid #0000;border-top-color:#111827;transition:opacity .15s;position:absolute;bottom:calc(100% + 1px);left:50%;transform:translate(-50%)}.chart-column-item:hover[data-tooltip]:before,.chart-column-item:hover[data-tooltip]:after{opacity:1}@media (width<=480px){.modal-overlay{align-items:flex-end;padding:0}.modal-card{border-radius:16px 16px 0 0;width:100%;max-height:90dvh;overflow-y:auto}}@media (width<=600px){.annual-months-table{-webkit-overflow-scrolling:touch;overflow-x:auto}.annual-months-table-header,.annual-months-table-row{min-width:580px}}[data-theme=dark] body,[data-theme=dark]{color:#f1f5f9;background:#0f172a}[data-theme=dark] .card{background:#1e293b;border-color:#334155}[data-theme=dark] .card h2{color:#f1f5f9}[data-theme=dark] .day-entry{background:#1e293b;border-color:#334155}[data-theme=dark] .day-entry-date{color:#f1f5f9}[data-theme=dark] .day-entry-weekday{color:#94a3b8}[data-theme=dark] .day-entry-weekday--weekend{color:#f87171}[data-theme=dark] .day-entry-time-row{background:#0f172a;border-color:#334155}[data-theme=dark] .day-entry-time-block span{color:#94a3b8}[data-theme=dark] .day-entry-time-block strong{color:#f1f5f9}[data-theme=dark] .day-entry-time-sep{color:#64748b}[data-theme=dark] .day-entry-value{color:#f1f5f9}[data-theme=dark] .day-entry-value-block span{color:#94a3b8}[data-theme=dark] .day-entry-model-tag{color:#94a3b8;background:#334155}[data-theme=dark] input,[data-theme=dark] select{color:#f1f5f9;background:#1e293b;border-color:#475569}[data-theme=dark] button{color:#f1f5f9;background:#334155}[data-theme=dark] .auth-shell{background:#0f172a}[data-theme=dark] .auth-brand-name{color:#f1f5f9}[data-theme=dark] .auth-brand-logo{background:#334155}[data-theme=dark] .sidebar{background:#0f172a;border-color:#1e293b}[data-theme=dark] .sidebar-brand{border-color:#1e293b}[data-theme=dark] .sidebar-brand-logo{background:#334155}[data-theme=dark] .sidebar-brand-name{color:#f1f5f9}[data-theme=dark] .sidebar-brand-sub,[data-theme=dark] .sidebar-nav-label{color:#475569}[data-theme=dark] .sidebar-nav-item{color:#64748b}[data-theme=dark] .sidebar-nav-item:hover{color:#f1f5f9;background:#1e293b}[data-theme=dark] .sidebar-nav-item.active{color:#0f172a;background:#f1f5f9}[data-theme=dark] .sidebar-footer{border-color:#1e293b}[data-theme=dark] .sidebar-user-avatar{color:#f1f5f9;background:#334155}[data-theme=dark] .sidebar-user-name{color:#e2e8f0}[data-theme=dark] .sidebar-icon-btn{color:#475569}[data-theme=dark] .sidebar-icon-btn:hover{color:#f1f5f9;background:#1e293b}[data-theme=dark] .topbar{background:#0f172a;border-color:#1e293b}[data-theme=dark] .topbar-menu-btn{color:#94a3b8;border-color:#334155}[data-theme=dark] .topbar-menu-btn:hover{background:#1e293b}[data-theme=dark] .topbar-title{color:#f1f5f9}[data-theme=dark] .main-wrapper{background:#0f172a}[data-theme=dark] .modal-overlay{background:#0009}[data-theme=dark] .modal-card{background:#1e293b;border-color:#334155}[data-theme=dark] .modal-card h3{color:#f1f5f9}[data-theme=dark] .secondary-button{background:#475569}[data-theme=dark] .model-item,[data-theme=dark] .summary-kpi-card{background:#0f172a;border-color:#334155}[data-theme=dark] .summary-kpi-value{color:#f1f5f9}[data-theme=dark] .goal-progress-track{background:#334155}[data-theme=dark] .goal-progress-fill{background:#94a3b8}[data-theme=dark] .form-error{color:#fca5a5;background:#450a0a;border-color:#7f1d1d}[data-theme=dark] .inline-project-summary-item{background:#0f172a;border-color:#334155}[data-theme=dark] .inline-project-summary-item span{color:#94a3b8}[data-theme=dark] .project-download-button{color:#f1f5f9;background:#1e293b;border-color:#475569}[data-theme=dark] .project-download-button:hover{background:#334155;border-color:#64748b}[data-theme=dark] .project-model-edit-button{color:#94a3b8;background:#1e293b;border-color:#475569}[data-theme=dark] .month-navigator{background:#1e293b;border-color:#334155}[data-theme=dark] .month-navigator-arrow{color:#94a3b8;background:#0f172a;border-color:#334155}[data-theme=dark] .month-navigator-arrow:hover{color:#0f172a;background:#f1f5f9;border-color:#f1f5f9}[data-theme=dark] .month-navigator-label:hover{background:#334155}[data-theme=dark] .month-navigator-month{color:#f1f5f9}[data-theme=dark] .month-navigator-totals{background:#0f172a;border-color:#334155}[data-theme=dark] .month-navigator-stat-value{color:#f1f5f9}[data-theme=dark] .month-navigator-stat-sub{color:#64748b}[data-theme=dark] .month-navigator-col{background:0 0}[data-theme=dark] .chart-column-track{background:#334155}[data-theme=dark] .chart-label{color:#94a3b8}[data-theme=dark] .chart-value{color:#cbd5e1}[data-theme=dark] .project-summary-item{border-color:#334155}[data-theme=dark] .project-summary-values p{background:#0f172a;border-color:#334155}[data-theme=dark] .project-summary-values span{color:#94a3b8}[data-theme=dark] .annual-months-table{border-color:#334155}[data-theme=dark] .annual-months-table-header{background:#0f172a}[data-theme=dark] .annual-months-table-row{background:#1e293b;border-color:#334155}[data-theme=dark] .annual-months-table-row:nth-child(2n){background:#0f172a}[data-theme=dark] .annual-months-table-total{background:#1e293b!important;border-color:#475569!important}[data-theme=dark] .view-mode-toggle{background:#1e293b;border-color:#334155}[data-theme=dark] .view-mode-button{color:#94a3b8}[data-theme=dark] .view-mode-button:hover{color:#f1f5f9;background:#334155}[data-theme=dark] .view-mode-button.active{color:#0f172a;background:#f1f5f9}[data-theme=dark] .pagination-button{color:#94a3b8;background:#1e293b;border-color:#475569}[data-theme=dark] .pagination-info{color:#94a3b8;background:#0f172a;border-color:#334155}[data-theme=dark] .days-header-filter>span,[data-theme=dark] .hint{color:#94a3b8}[data-theme=dark] .error-message{color:#f87171}[data-theme=dark] .fix-buckets-button{color:#64748b}[data-theme=dark] .field span,[data-theme=dark] .project-autocomplete-field>span{color:#94a3b8}[data-theme=dark] .project-suggestions{background:#1e293b;border-color:#475569}[data-theme=dark] .project-suggestion-item{color:#f1f5f9}[data-theme=dark] .project-suggestion-item:hover,[data-theme=dark] .project-suggestion-item.active{background:#334155}[data-theme=dark] .undo-toast{background:#0f172a;box-shadow:0 8px 24px #00000080}[data-theme=dark] .sidebar-backdrop{background:#00000080}[data-theme=dark] .theme-toggle-button{color:#fbbf24;background:#334155}
