@import"https://fonts.googleapis.com/css2?family=Jura:wght@300;400;500;600;700&family=Alumni+Sans+Pinstripe&family=JetBrains+Mono:wght@400;500&display=swap";:root{--ink-900: oklch(0% 0 0);--ink-800: oklch(12% 0 0);--ink-700: oklch(20% 0 0);--ink-600: oklch(30% 0 0);--ink-500: oklch(40% 0 0);--ink-400: oklch(50% 0 0);--ink-300: oklch(60% 0 0);--ink-200: oklch(75% 0 0);--ink-100: oklch(88% 0 0);--white: oklch(100% 0 0);--silver-400: oklch(65% 0 0);--silver-300: oklch(75% 0 0);--silver-200: oklch(85% 0 0);--silver-100: oklch(92% 0 0);--silver-50: oklch(96% 0 0);--signal-error: oklch(45% .2 25);--signal-success: oklch(40% .15 145);--signal-focus: oklch(45% .2 260);--signal-go: oklch(40% .15 145);--signal-warn: oklch(75% .15 85);--signal-stop: oklch(45% .2 25);--light-source: oklch(100% 0 0 / .5);--shadow-source: oklch(0% 0 0 / .5);--depth-raised: 0 2px 4px oklch(0% 0 0 / .12), 0 1px 2px oklch(0% 0 0 / .08);--depth-pressed: inset 0 2px 4px oklch(0% 0 0 / .12);--depth-elevated: 0 4px 12px oklch(0% 0 0 / .12), 0 2px 4px oklch(0% 0 0 / .08);--grid: .5rem;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-in-expo: cubic-bezier(.7, 0, .84, 0);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-subtle: cubic-bezier(.25, .1, .25, 1);--duration-instant: .1s;--duration-quick: .15s;--duration-standard: .25s;--duration-deliberate: .4s;--font-body: "Jura", "Work Sans", system-ui, sans-serif;--font-display: "Alumni Sans Pinstripe", "Bebas Neue", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", ui-monospace, monospace;--text-xs: clamp(.7rem, .65rem + .25vw, .75rem);--text-sm: clamp(.8rem, .75rem + .25vw, .875rem);--text-base: clamp(.95rem, .9rem + .25vw, 1rem);--text-lg: clamp(1.1rem, 1rem + .5vw, 1.25rem);--text-xl: clamp(1.25rem, 1.1rem + .75vw, 1.5rem);--text-2xl: clamp(1.5rem, 1.25rem + 1vw, 2rem);--text-3xl: clamp(1.75rem, 1.5rem + 1.5vw, 2.5rem);--text-4xl: clamp(2rem, 1.75rem + 2vw, 3rem);--text-timer: 4rem;--leading-none: 1;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2rem;--space-5: 2.5rem;--space-6: 3rem;--space-8: 4rem;--space-12: 6rem;--max-content-width: 72ch;--max-wide-content: 75rem;--min-touch-target: 2.75rem;--container-padding: clamp(1rem, 5vw, 3rem);--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: .75rem;--radius-xl: .75rem;--radius-full: 9999px;--z-dropdown: 100;--z-overlay: 200;--z-dialog: 300;--z-toast: 400}.ta-base{font-family:var(--font-body);font-size:var(--text-base);color:var(--ink-800);line-height:1.5;box-sizing:border-box}.ta-base *,.ta-base *:before,.ta-base *:after{box-sizing:inherit}.ta-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border:1px solid var(--silver-300);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;line-height:1;cursor:pointer;transition:box-shadow var(--duration-quick) var(--ease-out-expo),background-color var(--duration-quick) var(--ease-out-expo),transform var(--duration-quick) var(--ease-out-expo);-webkit-user-select:none;user-select:none;white-space:nowrap}.ta-button:focus-visible{outline:2px solid var(--ink-500);outline-offset:2px}.ta-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.ta-button i{font-size:var(--text-sm)}.ta-button--primary{background-color:var(--ink-800);color:var(--white);border-color:var(--ink-800);box-shadow:var(--depth-raised)}.ta-button--primary:hover:not(:disabled){background-color:var(--ink-700);box-shadow:var(--depth-elevated)}.ta-button--primary:active:not(:disabled){box-shadow:var(--depth-pressed);transform:translateY(1px)}.ta-button--secondary{background-color:var(--white);color:var(--ink-700);border-color:var(--silver-300);box-shadow:var(--depth-raised)}.ta-button--secondary:hover:not(:disabled){background-color:var(--silver-50);box-shadow:var(--depth-elevated)}.ta-button--secondary:active:not(:disabled){box-shadow:var(--depth-pressed);transform:translateY(1px)}.ta-button--ghost{background-color:transparent;color:var(--ink-600);border-color:transparent;box-shadow:none}.ta-button--ghost:hover:not(:disabled){background-color:var(--silver-100)}.ta-button--ghost:active:not(:disabled){background-color:var(--silver-200)}.ta-button--danger{background-color:var(--signal-stop);color:var(--white);border-color:var(--signal-stop);box-shadow:var(--depth-raised)}.ta-button--danger:hover:not(:disabled){opacity:.9;box-shadow:var(--depth-elevated)}.ta-button--sm{padding:calc(var(--space-1) * .75) var(--space-1);font-size:var(--text-xs)}.ta-button--lg{padding:calc(var(--space-1) * 1.5) var(--space-3);font-size:var(--text-lg)}.ta-input-wrap{display:flex;flex-direction:column;gap:calc(var(--space-1) * .5)}.ta-input-label{font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--ink-600)}.ta-input{padding:var(--space-1) var(--space-2);border:1px solid var(--silver-300);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);color:var(--ink-800);background-color:var(--white);box-shadow:var(--depth-raised);transition:box-shadow var(--duration-quick) var(--ease-out-expo),border-color var(--duration-quick) var(--ease-out-expo);outline:none;width:100%}.ta-input::placeholder{color:var(--silver-400)}.ta-input:focus{box-shadow:var(--depth-pressed);border-color:var(--ink-500)}.ta-input--error{border-color:var(--signal-stop)}.ta-input--error:focus{border-color:var(--signal-stop)}.ta-input-error{font-size:var(--text-xs);color:var(--signal-stop)}.ta-select-wrap{position:relative;display:flex;flex-direction:column;gap:calc(var(--space-1) * .5)}.ta-select-label{font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--ink-600)}.ta-select-trigger{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) var(--space-2);border:1px solid var(--silver-300);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);color:var(--ink-800);background-color:var(--white);box-shadow:var(--depth-raised);cursor:pointer;transition:box-shadow var(--duration-quick) var(--ease-out-expo),border-color var(--duration-quick) var(--ease-out-expo);-webkit-user-select:none;user-select:none}.ta-select-trigger:focus{outline:2px solid var(--ink-500);outline-offset:2px}.ta-select-trigger--open{box-shadow:var(--depth-pressed);border-color:var(--ink-500)}.ta-select-trigger i{font-size:var(--text-xs);color:var(--ink-400);transition:transform var(--duration-quick) var(--ease-out-expo)}.ta-select-trigger--open i{transform:rotate(180deg)}.ta-select-placeholder{color:var(--silver-400)}.ta-select-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:calc(var(--space-1) * .5);padding:calc(var(--space-1) * .5) 0;border:1px solid var(--silver-200);border-radius:var(--radius-md);background-color:var(--white);box-shadow:var(--depth-elevated);z-index:var(--z-dropdown);max-height:240px;overflow-y:auto;opacity:0;transform:translateY(-4px);transition:opacity var(--duration-quick) var(--ease-out-expo),transform var(--duration-quick) var(--ease-out-expo);pointer-events:none}.ta-select-dropdown--open{opacity:1;transform:translateY(0);pointer-events:auto}.ta-select-option{padding:var(--space-1) var(--space-2);font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-700);cursor:pointer;transition:background-color var(--duration-quick)}.ta-select-option:hover{background-color:var(--silver-50)}.ta-select-option--selected{color:var(--ink-900);font-weight:500;background-color:var(--silver-100)}.ta-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--duration-standard) var(--ease-out-expo);pointer-events:none}.ta-dialog-overlay--open{opacity:1;pointer-events:auto}.ta-dialog{background-color:var(--white);border-radius:var(--radius-xl);box-shadow:var(--depth-elevated);padding:var(--space-3);min-width:320px;max-width:560px;width:90vw;max-height:80vh;overflow-y:auto;transform:scale(.95) translateY(8px);transition:transform var(--duration-standard) var(--ease-out-expo),opacity var(--duration-standard) var(--ease-out-expo);opacity:0}.ta-dialog-overlay--open .ta-dialog{transform:scale(1) translateY(0);opacity:1}.ta-dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.ta-dialog-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;color:var(--ink-900);letter-spacing:.02em}.ta-dialog-close{background:none;border:none;color:var(--ink-400);cursor:pointer;padding:calc(var(--space-1) * .5);border-radius:var(--radius-sm);transition:color var(--duration-quick)}.ta-dialog-close:hover{color:var(--ink-700)}.ta-dialog-body{color:var(--ink-600);font-size:var(--text-sm);line-height:1.6}.ta-dialog-footer{display:flex;justify-content:flex-end;gap:var(--space-1);margin-top:var(--space-3)}.ta-timer-display{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3)}.ta-timer-time{font-family:var(--font-mono);font-size:var(--text-timer);font-weight:400;letter-spacing:.05em;color:var(--ink-800);font-variant-numeric:tabular-nums;transition:color var(--duration-standard) var(--ease-out-expo)}.ta-timer-time--running{color:var(--signal-go)}.ta-timer-time--idle{color:var(--signal-warn)}.ta-timer-time--stopped{color:var(--ink-400)}.ta-timer-state{font-family:var(--font-body);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-400)}.ta-timer-state--running{color:var(--signal-go)}.ta-timer-state--idle{color:var(--signal-warn)}.ta-timer-project{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-600)}.ta-timer-description{font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink-400);max-width:300px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ta-timer-controls{display:flex;gap:var(--space-1);margin-top:var(--space-1)}.ta-entry-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--silver-100);transition:background-color var(--duration-quick)}.ta-entry-row:hover{background-color:var(--silver-50)}.ta-entry-project-badge{display:inline-flex;align-items:center;gap:calc(var(--space-1) * .5);padding:calc(var(--space-1) * .25) var(--space-1);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;background-color:var(--silver-100);color:var(--ink-600);white-space:nowrap}.ta-entry-project-dot{width:8px;height:8px;border-radius:var(--radius-full);background-color:var(--ink-400);flex-shrink:0}.ta-entry-description{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ta-entry-description--empty{color:var(--silver-400);font-style:italic}.ta-entry-duration{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-800);font-variant-numeric:tabular-nums;white-space:nowrap}.ta-entry-actions{display:flex;gap:calc(var(--space-1) * .5);opacity:0;transition:opacity var(--duration-quick)}.ta-entry-row:hover .ta-entry-actions{opacity:1}.ta-entry-action{background:none;border:none;color:var(--ink-400);cursor:pointer;padding:calc(var(--space-1) * .5);border-radius:var(--radius-sm);font-size:var(--text-sm);transition:color var(--duration-quick)}.ta-entry-action:hover{color:var(--ink-700)}.ta-project-selector{position:relative}.ta-project-selector-input{width:100%}.ta-project-selector-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:calc(var(--space-1) * .5);padding:calc(var(--space-1) * .5) 0;border:1px solid var(--silver-200);border-radius:var(--radius-md);background-color:var(--white);box-shadow:var(--depth-elevated);z-index:var(--z-dropdown);max-height:240px;overflow-y:auto}.ta-project-selector-item{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);cursor:pointer;transition:background-color var(--duration-quick)}.ta-project-selector-item:hover{background-color:var(--silver-50)}.ta-project-selector-item--selected{background-color:var(--silver-100)}.ta-project-selector-dot{width:10px;height:10px;border-radius:var(--radius-full);background-color:var(--ink-400);flex-shrink:0}.ta-project-selector-name{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-700)}.ta-project-selector-confidence{margin-left:auto;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--silver-400)}.ta-nl-input-wrap{display:flex;flex-direction:column;gap:var(--space-1)}.ta-nl-input{padding:var(--space-1) var(--space-2);border:1px solid var(--silver-300);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);color:var(--ink-800);background-color:var(--white);box-shadow:var(--depth-raised);transition:box-shadow var(--duration-quick) var(--ease-out-expo),border-color var(--duration-quick) var(--ease-out-expo);outline:none;width:100%}.ta-nl-input:focus{box-shadow:var(--depth-pressed);border-color:var(--ink-500)}.ta-nl-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-1);padding:var(--space-2);border:1px solid var(--silver-200);border-radius:var(--radius-md);background-color:var(--silver-50)}.ta-nl-preview-field{display:flex;flex-direction:column;gap:2px}.ta-nl-preview-label{font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink-400);text-transform:uppercase;letter-spacing:.05em}.ta-nl-preview-value{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-800);font-weight:500}.ta-nl-preview-value--empty{color:var(--silver-400);font-weight:400;font-style:italic}.ta-nl-confidence{display:flex;align-items:center;gap:calc(var(--space-1) * .5)}.ta-nl-confidence-bar{flex:1;height:4px;border-radius:var(--radius-full);background-color:var(--silver-200);overflow:hidden}.ta-nl-confidence-fill{height:100%;border-radius:var(--radius-full);background-color:var(--signal-go);transition:width var(--duration-standard) var(--ease-out-expo)}.ta-nl-confidence-fill--low{background-color:var(--signal-stop)}.ta-nl-confidence-fill--medium{background-color:var(--signal-warn)}.ta-nl-confidence-text{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-400);min-width:32px;text-align:right}.ta-timesheet-grid{width:100%;border-collapse:separate;border-spacing:0;font-family:var(--font-body);font-size:var(--text-sm)}.ta-timesheet-grid th{padding:var(--space-1);font-weight:500;color:var(--ink-500);text-align:center;border-bottom:2px solid var(--silver-200);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}.ta-timesheet-grid th:first-child{text-align:left;min-width:160px}.ta-timesheet-grid td{padding:var(--space-1);text-align:center;border-bottom:1px solid var(--silver-100)}.ta-timesheet-grid td:first-child{text-align:left}.ta-timesheet-project-cell{display:flex;align-items:center;gap:calc(var(--space-1) * .5)}.ta-timesheet-cell-input{width:64px;padding:calc(var(--space-1) * .5);border:1px solid transparent;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-700);text-align:center;background-color:transparent;outline:none;transition:border-color var(--duration-quick),background-color var(--duration-quick),box-shadow var(--duration-quick);font-variant-numeric:tabular-nums}.ta-timesheet-cell-input:hover{border-color:var(--silver-300);background-color:var(--white)}.ta-timesheet-cell-input:focus{border-color:var(--ink-500);background-color:var(--white);box-shadow:var(--depth-pressed)}.ta-timesheet-total-row td{font-weight:600;color:var(--ink-800);border-top:2px solid var(--silver-200);border-bottom:none}.ta-timesheet-total-row td:first-child{font-weight:500}.ta-toast-container{position:fixed;top:var(--space-2);right:var(--space-2);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-1);pointer-events:none}.ta-toast{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);background-color:var(--white);box-shadow:var(--depth-elevated);border-left:3px solid var(--ink-500);font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-700);pointer-events:auto;min-width:280px;max-width:400px;transform:translate(110%);transition:transform var(--duration-standard) var(--ease-out-expo),opacity var(--duration-standard) var(--ease-out-expo);opacity:0}.ta-toast--visible{transform:translate(0);opacity:1}.ta-toast--exiting{transform:translate(110%);opacity:0}.ta-toast--success{border-left-color:var(--signal-go)}.ta-toast--error{border-left-color:var(--signal-stop)}.ta-toast--warning{border-left-color:var(--signal-warn)}.ta-toast-icon{flex-shrink:0;font-size:var(--text-base)}.ta-toast--success .ta-toast-icon{color:var(--signal-go)}.ta-toast--error .ta-toast-icon{color:var(--signal-stop)}.ta-toast--warning .ta-toast-icon{color:var(--signal-warn)}.ta-toast-message{flex:1}.ta-toast-dismiss{background:none;border:none;color:var(--ink-400);cursor:pointer;padding:2px;font-size:var(--text-xs);transition:color var(--duration-quick)}.ta-toast-dismiss:hover{color:var(--ink-700)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--ink-700);background-color:var(--silver-50);line-height:var(--leading-normal);min-height:100vh}a{color:var(--ink-700);text-decoration:none;transition:color var(--duration-quick)}a:hover{color:var(--ink-900)}h1,h2,h3{font-family:var(--font-display);font-weight:400;color:var(--ink-900);letter-spacing:.02em;line-height:var(--leading-tight);text-transform:uppercase}h4{font-family:var(--font-body);font-weight:600;color:var(--ink-700);line-height:var(--leading-tight)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-lg)}.app-shell{display:grid;grid-template-columns:240px 1fr;grid-template-rows:56px 1fr;grid-template-areas:"sidebar header" "sidebar main";min-height:100vh}@media(max-width:768px){.app-shell{grid-template-columns:1fr;grid-template-rows:56px 1fr;grid-template-areas:"header" "main"}}.app-header{grid-area:header;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-3);background-color:var(--white);border-bottom:1px solid var(--silver-200);box-shadow:var(--depth-raised);z-index:10}.app-header-left,.app-header-right{display:flex;align-items:center;gap:var(--space-1)}.app-header-timer{display:flex;align-items:center;gap:.5rem}.app-header-timer-time{font-family:var(--font-mono);font-size:var(--text-lg);font-variant-numeric:tabular-nums;color:var(--ink-700)}.app-header-timer-time--running{color:var(--signal-go)}.app-header-timer-desc{font-size:var(--text-xs);color:var(--ink-400);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-menu-btn{display:none;background:none;border:none;color:var(--ink-500);font-size:var(--text-xl);cursor:pointer;padding:.5rem;min-width:var(--min-touch-target);min-height:var(--min-touch-target)}@media(max-width:768px){.mobile-menu-btn{display:flex;align-items:center;justify-content:center}}.offline-indicator{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--signal-warn);background-color:#d9a5141a}.app-sidebar{grid-area:sidebar;display:flex;flex-direction:column;background-color:var(--ink-900);color:var(--silver-200);overflow-y:auto}@media(max-width:768px){.app-sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;z-index:var(--z-overlay);transform:translate(-100%);transition:transform var(--duration-standard) var(--ease-out-expo)}.app-sidebar--open{transform:translate(0)}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;z-index:calc(var(--z-overlay) - 1);opacity:0;pointer-events:none;transition:opacity var(--duration-standard)}.sidebar-backdrop--visible{opacity:1;pointer-events:auto}}.app-sidebar-brand{display:flex;align-items:center;gap:.75rem;padding:0 1rem;height:56px;border-bottom:1px solid oklch(20% 0 0)}.app-sidebar-brand-icon{font-size:var(--text-xl);color:var(--silver-200)}.app-sidebar-brand-text{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--white);letter-spacing:.08em;text-transform:uppercase}.app-nav{flex:1;padding:.75rem 0}.app-nav-section{padding:.5rem .75rem;margin-top:.75rem}.app-nav-section-title{font-family:var(--font-body);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-500);margin-bottom:.5rem}.app-nav-link{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-base);font-weight:500;color:var(--silver-300);cursor:pointer;transition:background-color var(--duration-quick),color var(--duration-quick);text-decoration:none;min-height:var(--min-touch-target)}.app-nav-link:hover{background-color:#0b0b0b;color:var(--white)}.app-nav-link--active{background-color:#0b0b0b;color:var(--white);font-weight:600}.app-nav-link i{width:1.25rem;text-align:center;font-size:var(--text-base)}.app-main{grid-area:main;padding:var(--space-3);overflow-y:auto;background-color:var(--silver-50)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.page-title{font-family:var(--font-display);font-size:var(--text-3xl);color:var(--ink-900);letter-spacing:.02em;text-transform:uppercase}.card{background-color:var(--white);border:1px solid var(--silver-200);border-radius:var(--radius-md);box-shadow:var(--depth-raised);padding:var(--space-3)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.card-title{font-family:var(--font-body);font-size:var(--text-lg);font-weight:600;color:var(--ink-700)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-2);margin-bottom:var(--space-3)}.stat-card{background-color:var(--white);border:1px solid var(--silver-200);border-radius:var(--radius-md);box-shadow:var(--depth-raised);padding:var(--space-2);display:flex;flex-direction:column;gap:.25rem}.stat-label{font-family:var(--font-body);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-400)}.stat-value{font-family:var(--font-mono);font-size:var(--text-2xl);color:var(--ink-700);font-variant-numeric:tabular-nums}.stat-sub{font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink-400)}.filters-bar{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap;margin-bottom:var(--space-2)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6) var(--space-3);text-align:center}.empty-state-icon{font-size:var(--text-4xl);color:var(--silver-300);margin-bottom:var(--space-2)}.empty-state-title{font-family:var(--font-body);font-size:var(--text-xl);font-weight:600;color:var(--ink-500);margin-bottom:var(--space-1)}.empty-state-text{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-400);max-width:var(--max-content-width)}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.loading-spinner i{font-size:var(--text-2xl);color:var(--ink-400);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.project-list{display:grid;gap:var(--space-1)}.project-card{background-color:var(--white);border:1px solid var(--silver-200);border-radius:var(--radius-md);box-shadow:var(--depth-raised);padding:var(--space-2) var(--space-3);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-2);cursor:pointer;transition:box-shadow var(--duration-quick) var(--ease-out-expo),transform var(--duration-quick) var(--ease-out-expo)}.project-card:hover{box-shadow:var(--depth-elevated);transform:translateY(-1px)}.project-color-dot{width:12px;height:12px;border-radius:var(--radius-full);background-color:var(--ink-400);flex-shrink:0}.project-info{display:flex;flex-direction:column;gap:2px;min-width:0}.project-name{font-family:var(--font-body);font-size:var(--text-base);font-weight:500;color:var(--ink-700)}.project-client{font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink-400)}.project-meta{display:flex;align-items:center;gap:var(--space-1);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-500);white-space:nowrap}.report-chart-wrap{position:relative;width:100%;height:300px}.report-chart-wrap canvas{width:100%;height:100%}.settings-section{margin-bottom:var(--space-4)}.settings-section-title{font-family:var(--font-body);font-size:var(--text-lg);font-weight:600;color:var(--ink-700);margin-bottom:var(--space-2);padding-bottom:var(--space-1);border-bottom:1px solid var(--silver-200)}.settings-field{margin-bottom:var(--space-2);max-width:400px}.kbd{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;border:1px solid var(--silver-300);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-500);background-color:var(--silver-50);box-shadow:0 1px 0 var(--silver-300);min-width:20px;text-align:center}@media(prefers-color-scheme:dark){:root{--ink-900: oklch(95% 0 0);--ink-800: oklch(88% 0 0);--ink-700: oklch(78% 0 0);--ink-600: oklch(68% 0 0);--ink-500: oklch(55% 0 0);--ink-400: oklch(45% 0 0);--ink-300: oklch(35% 0 0);--ink-200: oklch(25% 0 0);--ink-100: oklch(18% 0 0);--white: oklch(13% 0 0);--silver-400: oklch(45% 0 0);--silver-300: oklch(35% 0 0);--silver-200: oklch(25% 0 0);--silver-100: oklch(20% 0 0);--silver-50: oklch(17% 0 0)}body{background-color:#040404}.app-sidebar{background-color:#020202}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.text-muted{color:var(--ink-400)}.text-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
