:root{--bg: #0a0a0b;--surface-1: #151517;--surface-2: #1e1e21;--surface-3: #27272b;--input-bg-inset:#050506;--border: #262629;--border-strong: #3a3a40;--text: #f5f4f2;--text-muted: #a3a09a;--text-faint: #6d6a64;--accent: #d8a35a;--accent-soft: rgba(216, 163, 90, .14);--accent-strong: #e6b873;--success: #6cc08a;--success-soft: rgba(108, 192, 138, .14);--warning: #e3bf4a;--warning-soft: rgba(227, 191, 74, .14);--danger: #e5675a;--danger-soft: rgba(229, 103, 90, .12);--r-sm: 5px;--r: 6px;--r-md: 8px;--r-lg: 10px;--r-xl: 12px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--shadow-window: 0 24px 60px rgba(0, 0, 0, .6)}:root[data-theme=light]{--bg: #f2ebd5;--surface-1: #f8f3e0;--surface-2: #ece4c8;--surface-3: #e3d8b7;--input-bg-inset:#ebe2c2;--border: #d8cca9;--border-strong: #b8a878;--text: #1d2e44;--text-muted: #4a5b75;--text-faint: #8a8367;--accent: #1d2e44;--accent-soft: rgba(29, 46, 68, .12);--accent-strong: #2a4060;--success: #3d8a5d;--success-soft: rgba(61, 138, 93, .12);--warning: #a76d18;--warning-soft: rgba(167, 109, 24, .12);--danger: #b04138;--danger-soft: rgba(176, 65, 56, .1);--shadow-window: 0 24px 60px rgba(0, 0, 0, .18)}@media (prefers-color-scheme: light){:root[data-theme=system]{--bg: #f2ebd5;--surface-1: #f8f3e0;--surface-2: #ece4c8;--surface-3: #e3d8b7;--input-bg-inset:#ebe2c2;--border: #d8cca9;--border-strong: #b8a878;--text: #1d2e44;--text-muted: #4a5b75;--text-faint: #8a8367;--accent: #1d2e44;--accent-soft: rgba(29, 46, 68, .12);--accent-strong: #2a4060;--success: #3d8a5d;--success-soft: rgba(61, 138, 93, .12);--warning: #a76d18;--warning-soft: rgba(167, 109, 24, .12);--danger: #b04138;--danger-soft: rgba(176, 65, 56, .1);--shadow-window: 0 24px 60px rgba(0, 0, 0, .18)}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-feature-settings:"cv11","ss01","ss03";font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:none;padding:0;cursor:pointer}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em}h1{font-size:22px}h2{font-size:16px}h3{font-size:15px}p{margin:0 0 var(--s-2)}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.small{font-size:12px}.right{text-align:right}.eyebrow{font-size:11px;font-weight:500;letter-spacing:1.5px;color:var(--text-faint);text-transform:uppercase}.eyebrow.accent{color:var(--accent-strong)}.tabular{font-variant-numeric:tabular-nums}.app-shell{display:grid;grid-template-columns:240px 1fr;height:100vh;height:100dvh;background:var(--bg)}.sidebar{background:var(--surface-1);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:20px 16px;gap:24px}.brand{display:flex;align-items:center;gap:10px;padding:0 4px}.brand-mark{width:32px;height:32px;display:grid;place-items:center;line-height:0}.brand-mark img{width:100%;height:100%;object-fit:contain;display:block}.brand-text{display:flex;flex-direction:column;line-height:1.2}.mobile-appbar,.entry-delete .entry-delete-icon{display:none}.entry-delete .entry-delete-text{display:inline}.sync-indicator{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:11px;color:var(--text-muted);cursor:pointer;transition:border-color .12s,color .12s,background .12s;white-space:nowrap;font-family:inherit}.sync-indicator:hover:not(:disabled){border-color:var(--border-strong);color:var(--text)}.sync-indicator:disabled{cursor:default}.sync-indicator-label{line-height:1}.sync-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex:0 0 auto}.sync-dot.ok{background:var(--success)}.sync-dot.error{background:var(--danger)}.sync-dot.idle{background:var(--text-faint)}.sync-dot.pending{background:var(--warning);animation:sync-pulse 1.6s ease-in-out infinite}.sync-dot.syncing{background:var(--accent-strong);animation:sync-pulse 1.1s ease-in-out infinite}@keyframes sync-pulse{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}.brand-title{font-weight:600;font-size:14px}.brand-subtitle{font-size:11px;color:var(--text-faint)}.nav{display:flex;flex-direction:column;gap:2px}.nav-item{text-align:left;padding:9px 12px;border-radius:var(--r);border:1px solid transparent;background:transparent;transition:background .12s,border-color .12s;display:flex;flex-direction:row;align-items:center;gap:10px}.nav-icon{flex-shrink:0;color:var(--text-faint);transition:color .12s}.nav-item:hover .nav-icon{color:var(--text-muted)}.nav-item.active .nav-icon{color:var(--accent)}.nav-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.nav-item:hover{background:var(--surface-2)}.nav-item.active{background:var(--surface-3);border-color:var(--border-strong)}.nav-label{font-weight:500;font-size:13px;color:var(--text-muted)}.nav-item.active .nav-label{color:var(--text)}.nav-hint{font-size:11px;color:var(--text-faint);line-height:1.3}.nav-item.active .nav-hint{color:var(--text-muted)}.nav-item.is-more{display:none}.sidebar-foot{margin-top:auto;padding:12px 4px 0;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--text-faint)}.content{overflow:auto;padding:24px 32px 60px}.view-header{display:flex;align-items:center;gap:14px;margin-bottom:18px}.view-title{display:flex;flex-direction:column;gap:2px;flex:0 0 auto;margin-right:auto}.view-title .label{color:var(--text-faint);font-size:11px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase}.view-title h1{font-size:22px;line-height:1.2}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-4);margin-bottom:var(--s-3)}.card.flush{padding:0}.card.tight{padding:var(--s-3)}.empty{background:var(--surface-1);border:1px dashed var(--border-strong);border-radius:var(--r-lg);padding:40px 32px;text-align:center;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:10px}.empty p{margin:0}.empty-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-lg);border:2px solid var(--accent);color:var(--accent);box-shadow:0 0 18px var(--accent-soft);margin-bottom:2px}.empty-title{font-size:15px;font-weight:600;color:var(--text)}.empty-sub{font-size:13px;color:var(--text-muted);max-width:340px;line-height:1.5}.empty .btn{margin-top:6px}.error-banner{background:var(--danger-soft);border:1px solid var(--danger);color:var(--danger);padding:10px 14px;border-radius:var(--r);margin-bottom:14px;font-size:13px}.full-center{display:grid;place-items:center;height:100vh;height:100dvh;color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text);padding:8px 14px;border-radius:var(--r);font-size:13px;font-weight:500;transition:background .12s,border-color .12s,color .12s}.btn:hover{background:var(--surface-3);border-color:var(--border-strong)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}.btn.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn.danger{background:var(--danger-soft);border-color:transparent;color:var(--danger)}.btn.danger:hover{background:#d77a6e38}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn.ghost:hover{color:var(--text);background:var(--surface-2)}.btn.dashed{background:transparent;border-style:dashed;color:var(--text-muted)}.btn.dashed:hover{color:var(--text);border-color:var(--text-muted)}.btn.small{padding:4px 10px;font-size:12px}.btn.icon{padding:4px 8px}input[type=text],input[type=number],input[type=date],input[type=time],input[type=email],input[type=tel],input[type=url],input[type=password],select,textarea{background:var(--bg);border:1px solid var(--border-strong);color:var(--text);padding:8px 12px;border-radius:var(--r);width:100%;font-size:13px;transition:border-color .12s,box-shadow .12s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea{resize:vertical;font-family:inherit}.input-label{font-size:10px;font-weight:500;letter-spacing:1.2px;color:var(--text-faint);text-transform:uppercase;margin-bottom:6px;display:block}.pill{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:500;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-muted);white-space:nowrap}.pill.hourly{color:var(--accent-strong);border-color:var(--accent);background:var(--accent-soft)}.pill.fixed{color:var(--success);border-color:#4cb78266;background:var(--success-soft)}.pill.per_item{color:var(--warning);border-color:#d2a45c66;background:var(--warning-soft)}.pill.inactive{color:var(--text-faint)}.pill.items{color:var(--success);border-color:#4cb78273;background:var(--success-soft);font-weight:600}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:500;border:1px solid rgba(76,183,130,.4);background:var(--success-soft);color:var(--success)}.status-pill .dot{width:6px;height:6px;border-radius:999px;background:var(--success);box-shadow:0 0 0 3px #4cb7822e}.stat-chip{display:inline-flex;align-items:center;gap:8px;background:var(--surface-1);border:1px solid var(--border);padding:4px 10px;border-radius:999px;font-size:11px}.stat-chip .label{color:var(--text-faint)}.stat-chip .value{color:var(--text);font-weight:500}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 24px}.stat-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 18px;display:flex;flex-direction:column;gap:6px}.stat-card .label{font-size:10px;font-weight:500;letter-spacing:1.2px;color:var(--text-faint);text-transform:uppercase}.stat-card .value{font-size:28px;font-weight:600;letter-spacing:-.04em;line-height:1.1;font-variant-numeric:tabular-nums}.stat-card .value.success{color:var(--success)}.stat-card .value.warning{color:var(--warning)}.stat-card .value.danger{color:var(--danger)}.stat-card .sub{font-size:12px;color:var(--text-muted)}.seg-row{display:inline-flex;gap:4px;padding:4px;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--r-md)}.seg-row.activity-range{display:flex;width:100%;flex-wrap:nowrap}.seg-row.activity-range .seg-opt{flex:1 1 0;min-width:0;text-align:center;padding:6px;white-space:nowrap}.seg-opt{padding:6px 14px;border-radius:var(--r-sm);font-size:12px;font-weight:500;color:var(--text-muted);background:transparent;border:none;white-space:nowrap}.seg-opt:hover{color:var(--text)}.seg-opt.active{background:var(--surface-3);color:var(--text)}.picker-pill{display:inline-flex;align-items:center;gap:6px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);padding:6px}.picker-pill .nav-btn{background:transparent;border:none;color:var(--text-muted);padding:4px 10px;border-radius:var(--r-sm);font-size:13px}.picker-pill .nav-btn:hover{color:var(--text);background:var(--surface-2)}.picker-pill .picker-current{background:var(--surface-3);border-radius:var(--r-sm);padding:6px 12px;display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:500}.picker-pill input[type=date],.picker-pill select,.picker-pill input[type=number]{background:transparent;border:none;padding:6px 8px;color:var(--text);width:auto;font-size:12px;font-weight:500}.picker-pill input[type=date]:focus,.picker-pill select:focus,.picker-pill input[type=number]:focus{box-shadow:none}.totals-badge{display:inline-flex;align-items:center;gap:8px;background:var(--surface-1);border:1px solid var(--border);padding:6px 12px;border-radius:var(--r-md);font-size:13px}.totals-badge .label{color:var(--text-faint);font-size:12px}.totals-badge .value{font-weight:600;font-variant-numeric:tabular-nums}.client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.client-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 18px;display:flex;flex-direction:column;gap:10px;transition:border-color .12s,background .12s}.client-card:hover{border-color:var(--border-strong)}.client-card.inactive{opacity:.55}.client-card-head{display:flex;justify-content:space-between;gap:10px}.client-name-block{display:flex;flex-direction:column;gap:3px;min-width:0}.client-name-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.client-name{font-weight:600;font-size:15px;color:var(--text)}.client-rate{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.client-notes{font-size:12px;color:var(--text-muted);line-height:1.5;white-space:pre-wrap}.row-actions{display:flex;gap:4px;flex-shrink:0}.form{display:flex;flex-direction:column;gap:18px}.form-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.form-grid label,.form-grid .field{display:flex;flex-direction:column;gap:6px;grid-column:span 6}.form-grid .field.col-12{grid-column:span 12}.form-grid .field.col-4{grid-column:span 4}.form-grid .field.col-3{grid-column:span 3}.form-grid .field.col-2{grid-column:span 2}.form-grid .field.checkbox{flex-direction:row;align-items:center;gap:10px;padding:10px 14px;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--r);grid-column:span 3}.form-grid .field.checkbox input{width:auto}.form-grid .field-pair{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.form-grid .field-pair.col-3{grid-column:span 3}.form-grid .field-pair .field{display:flex;flex-direction:column;gap:6px;min-width:0}.form-grid .field-pair .field.checkbox{flex-direction:row;align-items:center;gap:10px;padding:10px 14px;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--r);align-self:end;white-space:nowrap}.form-grid .field-pair .field.checkbox input{width:auto}.form-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:4px}.day-stats-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.entry-list{display:flex;flex-direction:column;gap:12px}.entry-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 18px;display:flex;flex-direction:column;gap:14px}.entry-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.entry-client-select{background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--r);padding:7px 12px;font-size:13px;font-weight:500;width:auto;min-width:200px}.entry-total{margin-left:auto;display:flex;align-items:center;gap:10px;font-weight:600;font-variant-numeric:tabular-nums}.items-field{display:flex;flex-direction:column;gap:6px;max-width:180px}.items-field input{font-weight:600;font-size:14px}.blocks{display:flex;flex-direction:column;gap:6px}.blocks-head,.block-row{display:grid;grid-template-columns:110px 110px 1fr 80px 36px;gap:8px;align-items:center}.blocks-head{padding:0 4px;font-size:10px;letter-spacing:1.2px;font-weight:500;color:var(--text-faint);text-transform:uppercase}.block-row .hours{text-align:right;color:var(--text-muted);font-variant-numeric:tabular-nums;padding-right:6px}.block-row input{font-size:13px}.add-block{align-self:flex-start}.summary-field{display:flex;flex-direction:column;gap:6px}.summary-field textarea{font-size:13px;line-height:1.45}.summary-table-wrap{overflow-x:auto}.summary-table{width:100%;border-collapse:collapse;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-xl);overflow:hidden}.summary-table th,.summary-table td{padding:14px 20px;text-align:left;font-variant-numeric:tabular-nums;border-bottom:1px solid var(--border)}.summary-table th{background:var(--surface-2);font-size:10px;font-weight:500;letter-spacing:1.2px;color:var(--text-faint);text-transform:uppercase}.summary-table tr:last-child td{border-bottom:none}.summary-table tr.totals td{background:var(--surface-2);font-weight:600;border-top:1px solid var(--border);border-bottom:none}.summary-table .col-amount{text-align:right}.summary-table td.muted-cell{color:var(--text-muted)}.settings-grid{display:grid;gap:12px}.settings-section{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-xl);padding:22px 24px;display:flex;flex-direction:column;gap:14px}.settings-section .section-head{display:flex;gap:12px;align-items:flex-start}.settings-section .section-head .text{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.settings-section .section-head h2{font-size:16px;font-weight:600;color:var(--text)}.settings-section .section-head p{font-size:13px;color:var(--text-muted);line-height:1.55;margin:0}.path-row{display:flex;gap:10px;align-items:center}.path-box{flex:1;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:10px 14px;display:flex;align-items:center;gap:10px;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.path-box .glyph{color:var(--text-faint);font-family:inherit}.file-stats{display:flex;gap:32px;padding-top:4px;flex-wrap:wrap}.file-stat{display:flex;flex-direction:column;gap:2px}.file-stat .label{font-size:10px;font-weight:500;letter-spacing:1.2px;color:var(--text-faint);text-transform:uppercase}.file-stat .value{font-size:13px;color:var(--text)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.info-row{display:flex;justify-content:space-between;gap:10px}.info-row .label{color:var(--text-muted);font-size:13px}.info-row .value{font-size:13px;font-weight:500}:root{color-scheme:dark}::placeholder{color:var(--text-faint);opacity:1}::selection{background:var(--accent-soft);color:var(--text)}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%239094a0' d='M0 0l5 6 5-6z'/></svg>");background-repeat:no-repeat;background-position:right 12px center;background-size:10px 6px;padding-right:32px}select option{background:var(--surface-2);color:var(--text)}.seed-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.seed-swatch{min-width:170px}.seed-swatch input[type=color]{width:42px;height:42px}.palette-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.palette-swatch{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--input-bg-inset);cursor:pointer}.palette-swatch input[type=color]{width:32px;height:32px;padding:0;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:none;cursor:pointer}.palette-swatch input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.palette-swatch input[type=color]::-webkit-color-swatch{border:none;border-radius:3px}.palette-swatch span{font-size:13px;color:var(--text-muted)}.schedule-section{margin-bottom:16px}.schedule-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.schedule-pastdue{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;margin-bottom:10px;border:1px solid var(--warning);background:var(--warning-soft);border-radius:var(--r-md)}.schedule-pastdue-actions{display:flex;gap:8px}.schedule-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.schedule-row:last-child{border-bottom:none}.schedule-row-client{font-weight:500}.schedule-row-note{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.schedule-form .schedule-form-note{flex:1;min-width:150px}.timer-card{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.timer-card .timer-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0;flex-wrap:wrap}.timer-card .timer-main input[type=text]{flex:1;min-width:140px}.timer-card .timer-actions{display:flex;gap:8px}.timer-card.running{border-color:var(--accent)}.timer-card .timer-info{display:flex;flex-direction:column;gap:2px;min-width:130px}.timer-elapsed{font-size:22px;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums}.themed-select-menu{position:fixed;z-index:1000;max-height:40vh;overflow-y:auto;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px #00000059;padding:4px}.themed-select-option{padding:8px 12px;border-radius:6px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.themed-select-option.highlighted{background:var(--surface-3)}.themed-select-option.selected{color:var(--accent)}.themed-select-option.selected:after{content:" ✓"}.themed-select-option.disabled{color:var(--text-faint);cursor:default}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{filter:invert(.65) sepia(.1);cursor:pointer;opacity:.85}input[type=date]::-webkit-calendar-picker-indicator:hover,input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=date]::-webkit-clear-button,input[type=date]::-webkit-inner-spin-button,input[type=time]::-webkit-clear-button,input[type=time]::-webkit-inner-spin-button{display:none}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--bg) inset;caret-color:var(--text);transition:background-color 9999s}.card input[type=text],.card input[type=number],.card input[type=date],.card input[type=time],.card select,.card textarea,.entry-card input[type=text],.entry-card input[type=number],.entry-card input[type=date],.entry-card input[type=time],.entry-card select,.entry-card textarea,.settings-section input[type=text],.settings-section input[type=number],.settings-section input[type=email],.settings-section input[type=tel],.settings-section input[type=url],.settings-section select,.settings-section textarea,.invoice-from-section input[type=text],.invoice-from-section input[type=email],.invoice-from-section input[type=tel],.invoice-from-section input[type=url],.invoice-from-section textarea{background:var(--input-bg-inset);border-color:var(--border)}.invoice-from-section input:hover,.invoice-from-section textarea:hover,.card input:hover,.card select:hover,.card textarea:hover,.entry-card input:hover,.entry-card select:hover,.entry-card textarea:hover,.settings-section input:hover,.settings-section select:hover{border-color:var(--border-strong)}.block-row input[type=time]{font-variant-numeric:tabular-nums;letter-spacing:.5px}.entry-client-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%23e6e7eb' d='M0 0l5 6 5-6z'/></svg>");background-repeat:no-repeat;background-position:right 12px center;background-size:10px 6px;padding-right:32px}.picker-pill input[type=date],.picker-pill select,.picker-pill input[type=number]{background:transparent!important;border:none!important;box-shadow:none!important}.seg-opt[disabled]{opacity:.4;cursor:not-allowed}.seg-opt[disabled]:hover{color:var(--text-muted)}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;background:var(--surface-3);padding:1px 6px;border-radius:4px;color:var(--text)}.brand-mark{background:transparent}.totals-badge{padding:8px 12px}.sidebar-foot{gap:4px}.btn.dashed.add-block,.add-block.btn{padding:6px 10px;font-size:11px;border-radius:var(--r-sm)}.client-card .row-actions .btn.small{padding:4px 8px;font-size:11px}.form .form-grid input[type=text],.form .form-grid input[type=number],.form .form-grid input[type=email],.form .form-grid input[type=tel],.form .form-grid input[type=url],.form .form-grid select,.form .form-grid textarea{min-height:38px;font-size:14px}.form .form-grid textarea{min-height:74px}.form .form-actions .btn{padding:9px 16px;font-size:13px}.form .form-actions .btn:not(.primary){background:var(--surface-2);border-color:var(--border-strong)}.client-search{width:280px;height:36px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);padding:8px 12px;display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-faint)}.client-search input{background:transparent;border:none;padding:0;font-size:13px;color:var(--text);width:100%;height:100%}.client-search input:focus{box-shadow:none}.client-search .glyph{font-size:13px;color:var(--text-faint)}.form>.edit-form-head{display:flex;align-items:center;gap:10px}.form .form-grid .field.checkbox input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;border-radius:4px;border:1px solid var(--border-strong);background:var(--bg);display:inline-grid;place-items:center;cursor:pointer;position:relative}.form .form-grid .field.checkbox input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.form .form-grid .field.checkbox input[type=checkbox]:checked:after{content:"✓";color:var(--bg);font-size:11px;font-weight:600;line-height:1}.stat-chip{padding:4px 10px;gap:8px;font-size:11px}.day-stats-row{margin:14px 0 16px}.entry-card{padding:16px 18px}.block-row input[type=text]{color:var(--text)}.block-row input[type=text]::placeholder{color:var(--text-faint)}.entry-card .summary-field textarea{min-height:48px}.view-header .btn.primary{padding:8px 14px}input:not([type]),input[type=""]{background:var(--bg);border:1px solid var(--border-strong);color:var(--text);padding:8px 12px;border-radius:var(--r);width:100%;font-size:13px;transition:border-color .12s,box-shadow .12s}input:not([type]):focus,input[type=""]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form .form-grid input:not([type]){min-height:38px;font-size:14px}.card input:not([type]),.entry-card input:not([type]),.settings-section input:not([type]){background:var(--input-bg-inset);border-color:var(--border)}.rates-section{display:flex;flex-direction:column;gap:12px;padding:14px 0 4px;border-top:1px solid var(--border)}.rates-head{display:flex;align-items:baseline;gap:12px}.rates-list{display:flex;flex-direction:column;gap:8px}.rate-row{display:grid;grid-template-columns:36px auto 1fr 200px 36px;gap:10px;align-items:center;padding:8px 10px;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--r)}.rate-row.is-default{border-color:var(--accent);background:var(--accent-soft)}.default-star{width:28px;height:28px;border-radius:var(--r-sm);background:transparent;border:none;color:var(--text-faint);font-size:18px;line-height:1;cursor:pointer;transition:color .12s,background .12s}.default-star:hover{color:var(--text-muted);background:var(--surface-2)}.default-star.on{color:var(--accent)}.rate-kind{padding:3px}.rate-kind .seg-opt{padding:4px 10px;font-size:11px}.rate-label{font-size:13px!important;min-height:34px!important}.rate-amount{display:flex;align-items:center;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--r);padding:0 10px;gap:4px;height:34px;font-size:13px}.rate-amount .currency-glyph{color:var(--text-faint)}.rate-amount input{flex:1;background:transparent!important;border:none!important;padding:0!important;min-height:auto!important;font-size:13px!important;width:auto}.rate-amount input:focus{box-shadow:none!important}.rate-amount .rate-suffix{color:var(--text-faint);font-size:11px;white-space:nowrap}.client-rates-list{display:flex;flex-direction:column;gap:4px}.rate-line{display:flex;align-items:center;gap:8px;font-size:12px;padding:4px 0;flex-wrap:wrap}.rate-line .rate-amount-text{color:var(--text);font-variant-numeric:tabular-nums}.rate-line .rate-descriptor{font-size:11px;font-style:italic}.rate-line .default-tag{margin-left:auto;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--accent-strong)}.entry-rate-select{background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--r);padding:7px 12px;font-size:12px;width:auto;min-width:180px;color:var(--text)}.form .form-grid .field.col-9{grid-column:span 9}.form .form-grid .field.col-1{grid-column:span 1}.invoice-modal{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:32px;overflow:auto}.invoice-modal-inner{width:100%;max-width:960px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-xl);padding:24px 28px;display:flex;flex-direction:column;gap:18px;box-shadow:0 24px 60px #0000008c}.invoice-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.invoice-modal-head h2{font-size:20px;margin:4px 0 0}.invoice-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.invoice-meta-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:14px 16px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.invoice-meta-row>div{display:flex;flex-direction:column;gap:2px;min-width:0}.invoice-meta-row .label{font-size:10px;font-weight:500;letter-spacing:1.2px;color:var(--text-faint);text-transform:uppercase}.invoice-meta-row .value{font-size:13px;color:var(--text);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-due-input{font-size:13px;color:var(--text);background:var(--input-bg-inset);border:1px solid var(--border);border-radius:var(--r-sm);padding:2px 6px;font-variant-numeric:tabular-nums;width:100%;min-width:0}.invoice-template-picker{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.invoice-template-picker>.label{font-size:10px;font-weight:500;letter-spacing:1.2px;color:var(--text-faint);text-transform:uppercase}.template-segmented{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:3px;gap:2px}.template-seg{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--text-muted);padding:6px 14px;border-radius:calc(var(--r-md) - 3px);cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:92px;transition:background .12s ease,color .12s ease}.template-seg:hover{background:#ffffff0a;color:var(--text)}.template-seg.is-active{background:var(--accent);color:var(--bg)}.template-seg.is-active .seg-sub{color:#ffffffc7}.template-seg .seg-label{font-size:12px;font-weight:600}.template-seg .seg-sub{font-size:10px;letter-spacing:.4px;color:var(--text-faint)}.invoice-weeks{display:flex;flex-direction:column;gap:8px}.invoice-week-row{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:14px 16px;display:grid;grid-template-columns:200px 1fr;gap:16px;align-items:start;transition:border-color .12s ease}.invoice-week-row:hover{border-color:var(--border-strong)}.invoice-week-meta{display:flex;flex-direction:column;gap:6px;min-width:0}.invoice-week-meta .week-head{display:flex;align-items:baseline;gap:6px}.invoice-week-meta .week-tag{font-size:10px;font-weight:600;letter-spacing:1.2px;color:var(--text-faint);text-transform:uppercase}.invoice-week-meta .week-num{font-size:16px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;line-height:1}.invoice-week-meta .week-dates{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.invoice-week-meta .week-stats{display:flex;gap:12px;align-items:baseline;font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums;margin-top:2px}.invoice-week-meta .week-stats .amt{color:var(--text);font-weight:600}.invoice-week-summary{font-size:13px;min-height:68px!important;background:var(--bg)!important;border:1px solid var(--border)!important;line-height:1.5;resize:vertical}.invoice-week-summary:focus{border-color:var(--accent)!important}.invoice-week-actions{display:flex;justify-content:flex-end;align-items:flex-start}.invoice-totals{display:flex;flex-direction:column;gap:4px;align-items:flex-end;padding:14px 16px;background:var(--surface-2);border-radius:var(--r-md)}.invoice-totals>div{display:flex;gap:14px;font-size:13px;align-items:baseline}.invoice-totals .label{color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:1.2px}.invoice-totals .value{font-weight:600;font-variant-numeric:tabular-nums}.invoice-totals .grand .value{font-size:18px;color:var(--accent-strong)}.status-pill.inactive-pill{border-color:var(--border-strong);background:var(--surface-2);color:var(--text-faint)}.col-action{width:120px}.col-action-stack{display:flex;flex-direction:column;gap:4px;align-items:stretch}.col-action-stack .btn{width:100%;justify-content:center}.btn.small.ghost.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,var(--border))}.btn.small.ghost.danger:hover{background:color-mix(in srgb,var(--danger) 10%,transparent);border-color:var(--danger)}.import-dropzone{border:2px dashed var(--border-strong);border-radius:var(--r-lg);padding:32px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;background:var(--bg)}.import-dropzone:hover{border-color:var(--accent);background:var(--surface-2)}.import-dropzone strong{display:block;margin-bottom:4px;font-size:14px}.import-preview{display:flex;flex-direction:column;gap:12px}.import-preview-summary{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r)}.import-preview-list{display:flex;flex-direction:column;gap:10px;max-height:52vh;overflow-y:auto;padding-right:4px}.import-preview-entry{border:1px solid var(--border);border-radius:var(--r);padding:12px 14px;background:var(--bg)}.import-preview-entry.has-warning{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 6%,var(--bg))}.import-preview-entry-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.import-mismatch-warning{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding:8px 12px;background:color-mix(in srgb,var(--danger) 16%,var(--surface-1));border:1px solid var(--danger);border-radius:var(--r);font-size:12px;color:var(--text)}.import-anomaly-warning{margin-top:10px;padding:8px 12px;background:color-mix(in srgb,var(--danger) 12%,var(--surface-1));border:1px solid var(--danger);border-radius:var(--r);font-size:12px;color:var(--text)}.import-anomaly-warning ul{margin:4px 0 0 18px;padding:0}.import-anomaly-warning li{margin:2px 0}.import-entry-correction{margin-top:10px;padding:8px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r)}.import-entry-correction .input-label{display:block;margin-bottom:4px}.import-entry-correction textarea{background:var(--input-bg-inset, var(--bg))}.dedux-row{display:grid;grid-template-columns:130px 100px 180px 1fr auto;gap:8px;align-items:center}.dedux-row input,.dedux-row select{font-size:12px;padding:6px 8px}.dedux-row .dedux-amount{text-align:right;font-family:ui-monospace,monospace}@media (max-width: 720px){.schedule-form{flex-direction:column;align-items:stretch}.schedule-row{flex-wrap:wrap}.schedule-pastdue-actions{width:100%}.schedule-pastdue-actions .btn{flex:1;min-height:48px}.timer-card,.timer-card .timer-main{flex-direction:column;align-items:stretch}.timer-card .timer-actions{flex-direction:column}.timer-card .timer-actions .btn{min-height:48px}.themed-select-option{min-height:48px;display:flex;align-items:center;font-size:16px}.dedux-row{grid-template-columns:1fr 1fr auto;grid-template-rows:auto auto;grid-template-areas:"date amount delete" "cat cat cat" "desc desc desc"}.dedux-row .dedux-date{grid-area:date}.dedux-row .dedux-amount{grid-area:amount}.dedux-row .dedux-cat{grid-area:cat}.dedux-row .dedux-desc{grid-area:desc}.dedux-row>.btn.small.ghost{grid-area:delete}}.import-preview-blocks{display:flex;flex-direction:column;gap:4px;margin-top:10px;font-size:12px}.import-preview-block{display:flex;flex-direction:column;gap:2px;padding:6px;border-radius:var(--r-sm, 4px)}.import-block-main{display:grid;grid-template-columns:auto 90px 1fr;gap:10px;align-items:center}.import-block-source{margin-left:134px;font-family:ui-monospace,monospace;font-size:11px;color:var(--text-faint);line-height:1.4;word-break:break-word}.import-block-source span:last-child{color:var(--text-muted)}.import-preview-controls{display:flex;align-items:flex-start;gap:12px;margin-top:4px}.trust-pick-row{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}.trust-pick{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:var(--r-sm, 4px);cursor:pointer;font:inherit;min-width:130px}.trust-pick:hover{border-color:var(--accent)}.trust-pick.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,var(--surface-2))}.trust-pick-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.invoice-refine-panel{margin-top:18px;padding:14px 16px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r, 6px);display:flex;flex-direction:column;gap:10px}.invoice-refine-head{display:flex;flex-direction:column;gap:2px}.invoice-refine-actions{display:flex;align-items:center;gap:10px}.import-year-warning{margin-top:8px;padding:10px 12px;background:color-mix(in srgb,var(--warning, var(--accent)) 12%,var(--surface-1));border:1px solid color-mix(in srgb,var(--warning, var(--accent)) 35%,var(--border));border-radius:var(--r-sm, 4px);display:flex;flex-direction:column;gap:8px}.import-year-actions{display:flex;gap:8px;flex-wrap:wrap}.trust-pick-val{font-size:14px;font-weight:600;font-family:ui-monospace,monospace}.import-preview-controls>.btn{flex-shrink:0}.import-preview-block.not-billable{opacity:.55;text-decoration:line-through;text-decoration-color:var(--text-faint)}.import-preview-block.not-billable .import-block-bill,.import-preview-block.not-billable .import-block-time{text-decoration:none}.import-block-bill{display:flex;align-items:center;gap:6px;cursor:pointer}.import-block-time{font-family:ui-monospace,monospace;color:var(--text)}.import-block-desc{color:var(--text)}.import-preview-actions{display:flex;justify-content:space-between;gap:10px;margin-top:8px}.import-feedback{margin-top:12px;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r)}.import-parsing{display:flex;flex-direction:column;align-items:center;gap:8px}.import-parsing strong{font-size:14px}.import-reparsing-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);font-size:13px;color:var(--text)}.import-feedback .input-label{display:block;margin-bottom:4px}.import-feedback textarea{background:var(--input-bg-inset, var(--bg))}.import-banner{position:absolute;left:50%;bottom:24px;transform:translate(-50%);z-index:60;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:0 16px 40px #0000008c;padding:14px 18px;min-width:480px;max-width:720px}.import-banner-inner{display:flex;align-items:center;gap:14px;font-size:13px;flex-wrap:wrap}.import-banner-actions{display:flex;gap:6px;margin-left:auto}.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:32px;overflow-y:auto}.onboarding-card{width:100%;max-width:560px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-xl);padding:32px 36px;box-shadow:0 24px 64px #00000073;display:flex;flex-direction:column;gap:14px}.onboarding-card h1,.onboarding-card h2{margin:0;color:var(--text)}.onboarding-card h1{font-size:28px}.onboarding-card h2{font-size:22px}.onboarding-progress{height:4px;width:100%;background:var(--surface-3);border-radius:2px;overflow:hidden}.onboarding-progress-bar{height:100%;background:var(--accent);transition:width .25s ease}.onboarding-step-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:-4px}.onboarding-lede{font-size:15px;line-height:1.55;color:var(--text);margin:0}.onboarding-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;flex-wrap:wrap}.onboarding-actions .btn.ghost{margin-right:auto}@media (max-width: 720px){.onboarding-overlay{padding:0;align-items:stretch}.onboarding-card{max-width:100%;border-radius:0;border:none;box-shadow:none;padding:max(24px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom));min-height:100vh;justify-content:flex-start}.onboarding-card h1{font-size:24px}.onboarding-card h2{font-size:20px}.onboarding-actions{flex-direction:column-reverse;margin-top:auto;padding-top:24px}.onboarding-actions .btn{width:100%;min-height:48px;justify-content:center}.onboarding-actions .btn.ghost{margin-right:0}}.settings-section.danger-zone{border-color:#d77a6e61}.settings-section.danger-zone .section-head h2{color:var(--danger)}.btn.danger.primary-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn.danger.primary-danger:hover{background:#c0635a;border-color:#c0635a}.reset-confirm{display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--danger-soft);border:1px solid rgba(208,88,88,.4);border-radius:var(--r);font-size:13px;flex-wrap:wrap}.block-row .hours.non-billable{color:var(--text-faint);font-style:italic;text-decoration:underline dashed var(--border-strong) 1px;text-underline-offset:3px}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:12px;height:12px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid var(--bg);border-radius:8px;min-height:32px;min-width:32px}*::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}*::-webkit-scrollbar-thumb:active{background:var(--accent)}*::-webkit-scrollbar-corner{background:transparent}.invoice-modal *::-webkit-scrollbar-thumb,.invoice-modal-inner *::-webkit-scrollbar-thumb{border-color:var(--surface-1)}.invoice-week-summary::-webkit-scrollbar-thumb{border-color:var(--bg)}.invoice-from-section{margin-top:10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);overflow:hidden}.invoice-from-section .from-toggle{width:100%;display:flex;align-items:center;gap:14px;padding:10px 14px;background:transparent;border:none;cursor:pointer;color:inherit;text-align:left}.invoice-from-section .from-toggle:hover{background:#ffffff08}.invoice-from-section .from-toggle .label{font-size:10px;font-weight:600;letter-spacing:1.2px;color:var(--text-faint);text-transform:uppercase;flex:0 0 auto}.invoice-from-section .from-toggle .muted{flex:1}.invoice-from-section .from-toggle .chev{color:var(--text-faint);font-size:11px}.invoice-from-section .from-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:10px 12px;padding:0 14px 12px;border-top:1px solid var(--border)}.invoice-from-section .from-grid .field.col-6{grid-column:span 6}.invoice-from-section .from-grid .field.col-12{grid-column:span 12}.invoice-from-section .from-grid .field{display:flex;flex-direction:column;gap:4px}.invoice-from-section .from-grid .input-label{font-size:10px;font-weight:500;letter-spacing:1px;color:var(--text-faint);text-transform:uppercase}.invoice-from-section .from-hint{margin-top:2px;display:flex;justify-content:space-between;align-items:center;gap:12px}.invoice-loading{flex:1;display:flex;align-items:center;justify-content:center;padding:60px 40px;min-height:320px}.invoice-loading .loading-card{display:flex;flex-direction:column;align-items:center;gap:14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:36px 56px;min-width:340px;max-width:440px;box-shadow:0 8px 32px #00000040}@property --reeve-arc{syntax: "<angle>"; inherits: false; initial-value: 35deg;}.loading-spinner{position:relative;width:48px;height:48px;margin-bottom:4px;flex-shrink:0}.loading-spinner.small{width:22px;height:22px;margin-bottom:0}.loading-spinner .ring.outer{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:3px solid var(--accent-soft);background:none;-webkit-mask:none;mask:none;animation:none;filter:none}.loading-spinner.small .ring.outer{border-width:2px}.loading-spinner .ring:not(.outer){position:absolute;top:0;right:0;bottom:0;left:0;border:none;border-radius:50%;background:conic-gradient(from 0deg,var(--accent) var(--reeve-arc),transparent 0);-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 3px));animation:reeve-arc-spin 1s linear infinite,reeve-arc-sweep 1.6s ease-in-out infinite,reeve-arc-glow 1.6s ease-in-out infinite}.loading-spinner.small .ring:not(.outer){-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 2px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,#0000 calc(100% - 2px),#000 calc(100% - 2px))}@keyframes reeve-arc-spin{to{transform:rotate(360deg)}}@keyframes reeve-arc-sweep{0%,to{--reeve-arc: 30deg}50%{--reeve-arc: 300deg}}@keyframes reeve-arc-glow{0%,to{filter:drop-shadow(0 0 1px var(--accent-soft))}50%{filter:drop-shadow(0 0 10px var(--accent-soft))}}@supports not (background: conic-gradient(from 0deg,red var(--reeve-arc),transparent 0)){.loading-spinner .ring:not(.outer){background:none;border:3px solid transparent;border-top-color:var(--accent);border-right-color:var(--accent);-webkit-mask:none;mask:none;animation:reeve-arc-spin .9s linear infinite}}@media (prefers-reduced-motion: reduce){.loading-spinner .ring:not(.outer){animation:reeve-arc-spin 1.4s linear infinite}}.invoice-loading .loading-title{font-size:15px;font-weight:600;color:var(--text);letter-spacing:-.1px;margin-top:4px}.invoice-loading .loading-sub{font-size:13px;color:var(--text-muted);text-align:center}.invoice-loading .loading-bar{width:100%;height:4px;background:var(--bg);border-radius:999px;overflow:hidden;margin-top:4px;border:1px solid var(--border)}.invoice-loading .loading-fill{height:100%;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-strong) 100%);border-radius:999px;transition:width .25s ease}.invoice-loading .loading-meta{margin-top:6px;text-align:center;letter-spacing:.2px}.invoice-rate-picker{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:10px}.invoice-rate-picker>.label{font-size:10px;font-weight:500;letter-spacing:1.2px;color:var(--text-faint);text-transform:uppercase}.rate-segmented{display:inline-flex;gap:6px;flex-wrap:wrap}.rate-seg{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);border-radius:var(--r-md);padding:6px 10px;display:inline-flex;align-items:center;gap:8px;font-size:12px;cursor:pointer;transition:border-color .12s,color .12s,background .12s}.rate-seg:hover{border-color:var(--border-strong);color:var(--text)}.rate-seg.is-active{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.rate-seg .rate-kind-tag{text-transform:uppercase;letter-spacing:1px;font-size:9px;font-weight:600;padding:2px 6px;border-radius:999px;background:var(--bg);color:var(--text-faint)}.rate-seg.is-active .rate-kind-tag{background:var(--accent);color:var(--bg)}.rate-seg .rate-seg-label{font-variant-numeric:tabular-nums}.billing-pills{display:inline-flex;gap:4px;flex-wrap:wrap}.invoice-section-head{display:flex;align-items:center;justify-content:space-between;margin:14px 0 4px;padding:6px 10px;border-radius:var(--r-sm);background:var(--surface-2);border-left:3px solid var(--accent)}.invoice-section-head:first-child{margin-top:0}.invoice-section-head .eyebrow{font-size:10px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}.activity-filters{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}.activity-custom-range{display:flex;gap:10px;flex-wrap:wrap}.activity-custom-range label{display:flex;flex-direction:column;gap:4px}.activity-custom-range input[type=date]{width:160px}.activity-filter-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.activity-client-filter{width:220px}.activity-search{flex:1;min-width:240px}.activity-stat-row{margin-bottom:14px}.activity-feed{display:flex;flex-direction:column;gap:18px}.activity-day{display:flex;flex-direction:column;gap:8px}.activity-day-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:6px;border-bottom:1px solid var(--border)}.activity-day-head h2{font-size:14px;font-weight:600;color:var(--text);margin:0;letter-spacing:-.1px}.activity-day-stats{display:flex;align-items:center;gap:6px}.activity-rows{display:flex;flex-direction:column;gap:6px}.activity-row{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:10px 14px;display:flex;flex-direction:column;gap:6px;transition:border-color .12s,background .12s}.activity-row:hover{border-color:var(--border-strong)}.activity-row-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.activity-row-head .client-name{font-weight:600;font-size:13px;color:var(--text)}.activity-row-stats{margin-left:auto;display:flex;align-items:center;gap:10px}.activity-row-amt{font-weight:600;color:var(--text);font-size:13px}.activity-row-summary{color:var(--text-muted);font-size:12.5px;line-height:1.55}.activity-row-blocks{display:flex;flex-direction:column;gap:3px;margin-top:2px}.activity-block{display:flex;gap:10px;font-size:12px;color:var(--text-muted);line-height:1.45}.activity-block .time{color:var(--text-faint);flex:0 0 84px;font-variant-numeric:tabular-nums}.activity-block .desc{flex:1;min-width:0}@media (max-width: 720px){.app-shell{grid-template-columns:1fr;grid-template-rows:1fr auto}.sidebar{grid-row:2;flex-direction:row;align-items:center;padding:6px 4px max(6px,env(safe-area-inset-bottom)) 4px;border-top:1px solid var(--border);border-right:none;gap:0;height:auto;overflow-x:auto}.sidebar .brand,.sidebar .sidebar-foot{display:none}.nav{flex-direction:row;width:100%;gap:2px}.nav-item{flex:1;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;min-height:56px;text-align:center;border-radius:var(--r-sm)}.nav-item .nav-text{align-items:center;flex:0 0 auto}.nav-item .nav-icon{width:20px;height:20px}.nav-item .nav-label{font-size:11px}.nav-item .nav-hint{font-size:9px;display:none}.nav-item.active .nav-hint{display:block}.nav-item.is-overflow{display:none}.nav-item.is-more{display:flex}.content{padding:max(30px,calc(env(safe-area-inset-top,0px) + 18px)) 14px max(14px,env(safe-area-inset-bottom)) 14px;overflow-y:auto;position:relative}.invoice-meta-row{grid-template-columns:1fr 1fr;gap:10px 14px;padding:12px 14px}.invoice-meta-row .value{white-space:normal;text-overflow:clip;overflow:visible;word-break:break-word}.invoice-week-row{grid-template-columns:1fr;gap:10px}.entry-delete .entry-delete-text{display:none}.entry-delete .entry-delete-icon{display:inline;font-size:14px;line-height:1}.entry-delete.btn.danger{background:transparent;color:var(--danger);border-color:transparent;padding:8px 10px;min-width:36px;min-height:36px}.entry-delete.btn.danger:hover{background:var(--danger-soft);border-color:transparent}.path-row{flex-wrap:wrap}.path-row .path-box{flex:1 1 100%;min-width:0}.path-row .btn{flex:0 0 auto}.mobile-appbar{display:flex;align-items:center;gap:10px;padding:4px 0 14px;margin-bottom:4px}.mobile-appbar-mark{width:28px;height:28px;border-radius:6px;display:block;flex:0 0 28px;object-fit:contain}.mobile-appbar-title{font-size:16px;font-weight:600;color:var(--text);letter-spacing:.2px}body:before{content:"";position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top,0px);background:var(--surface-1);border-bottom:1px solid var(--border);z-index:1000;pointer-events:none}.view-header{flex-wrap:wrap;gap:10px}.view-header h1{font-size:20px}.stat-row{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:12px}.summary-table-wrap{overflow-x:auto}.summary-table thead{display:none}.summary-table,.summary-table tbody,.summary-table tr,.summary-table td{display:block;width:100%}.summary-table tr{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:12px 14px;margin-bottom:10px}.summary-table td{padding:6px 0;border:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:0}.summary-table td[data-label]:not([data-label=""]):before{content:attr(data-label);font-size:11px;font-weight:500;letter-spacing:.4px;text-transform:uppercase;color:var(--text-faint);flex:0 0 auto}.summary-table td:first-child{font-size:16px;font-weight:600;padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:4px;justify-content:flex-start}.summary-table td:first-child:before{display:none}.summary-table td.col-amount{padding-top:8px;margin-top:4px;border-top:1px solid var(--border);font-size:16px}.summary-table td.col-amount strong{color:var(--accent-strong)}.summary-table td.col-action{justify-content:flex-end;padding-top:8px}.summary-table td.hide-on-mobile,.summary-table td:empty{display:none}.summary-table tr.totals{background:transparent;border:1px dashed var(--border-strong);border-radius:var(--r-md);padding:12px 14px;margin-top:4px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px}.summary-table tr.totals td{display:inline-flex;align-items:baseline;gap:6px;padding:0;border:none;width:auto;min-height:0;flex:0 0 auto;color:var(--text-muted);font-size:13px}.summary-table tr.totals td[data-label]:not([data-label=""]):before{content:attr(data-label);font-size:10px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;color:var(--text-faint)}.summary-table tr.totals td:first-child{flex:1 1 100%;color:var(--text);font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;padding-bottom:2px;border-bottom:none;margin-bottom:0}.summary-table tr.totals td.col-amount{flex:1 1 100%;justify-content:flex-end;color:var(--accent-strong);font-size:15px;font-weight:600;padding-top:4px;margin-top:0;border-top:none}.summary-table tr.totals td.col-amount:before{color:var(--text-faint);font-weight:500}.entry-card{padding:14px 12px}.entry-head{flex-wrap:wrap;gap:8px}.blocks-head{display:none}.block-row{display:grid;grid-template-columns:1fr 1fr auto;grid-template-areas:"start end remove" "desc desc desc" "hours hours hours";gap:6px;padding:8px;background:var(--bg);border-radius:var(--r-sm);margin-bottom:6px}.block-row .tp-start{grid-area:start}.block-row .tp-end{grid-area:end}.block-row input[type=text]{grid-area:desc}.block-row .hours{grid-area:hours;text-align:right}.block-row .btn.icon{grid-area:remove}.picker-pill{flex-wrap:wrap;width:100%}.btn{min-height:38px;padding:10px 14px}.btn.small{min-height:32px;padding:6px 10px}.nav-btn{min-width:36px;min-height:36px}.invoice-modal,.import-modal{padding:0}.invoice-modal-inner,.import-modal-inner{max-width:100vw;min-height:100vh;width:100vw;border-radius:0;border:none;padding:max(28px,calc(env(safe-area-inset-top,0px) + 14px)) 12px max(14px,env(safe-area-inset-bottom)) 12px}.invoice-modal-head{flex-wrap:wrap;gap:10px}.invoice-head-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.invoice-head-actions .btn{width:100%;min-height:44px}.invoice-head-actions .muted,.invoice-head-actions .pill{grid-column:1 / -1}.settings-grid{gap:14px}.two-col{grid-template-columns:1fr;gap:14px}.form-grid{grid-template-columns:1fr;grid-auto-columns:1fr}.form-grid .field.col-12,.form-grid .field.col-9,.form-grid .field.col-6,.form-grid .field.col-4,.form-grid .field.col-3,.form-grid .field.col-2,.form-grid .field.col-1,.form-grid .field-pair.col-3{grid-column:span 1!important}.invoice-from-section .from-grid{grid-template-columns:1fr}.invoice-from-section .from-grid .field.col-6,.invoice-from-section .from-grid .field.col-12{grid-column:span 1}.invoice-from-section .from-toggle{flex-wrap:wrap;align-items:center}.invoice-from-section .from-toggle .label{order:1}.invoice-from-section .from-toggle .chev{order:2;margin-left:auto}.invoice-from-section .from-toggle .muted{order:3;flex:1 1 100%;white-space:normal}.invoice-week-summary{min-height:96px!important}.from-hint,.activity-filter-row{flex-direction:column;align-items:stretch}.activity-client-filter,.activity-search{width:100%}.seg-row.activity-range .seg-opt{font-size:11px;padding:7px 3px}.activity-row-stats{width:100%;justify-content:flex-end}.invoice-template-picker{flex-direction:column;align-items:stretch;gap:8px}.template-segmented{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.template-seg{min-width:0;align-items:center;text-align:center;padding:8px 4px}.template-seg .seg-label,.template-seg .seg-sub{width:100%;text-align:center}.rate-segmented{flex-wrap:wrap}.form .form-grid .field-pair.col-3{grid-column:span 1;grid-template-columns:104px 1fr;gap:10px;align-items:stretch}.form .form-grid .field-pair .field.checkbox{align-self:stretch;justify-content:flex-start;padding:12px 16px;min-height:48px;width:auto}.form .form-grid>.field.checkbox{grid-column:span 1;padding:8px 12px;width:max-content}.form .form-grid textarea{min-height:110px}.rate-row{grid-template-columns:32px 1fr 32px;grid-template-areas:"star kind   remove" "label label label" "amount amount amount";gap:8px;padding:10px 12px}.rate-row .default-star{grid-area:star}.rate-row .rate-kind{grid-area:kind;justify-self:stretch;width:100%;flex-wrap:wrap}.rate-row .rate-label{grid-area:label;width:100%}.rate-row .rate-amount{grid-area:amount;width:100%}.rate-row .btn.icon{grid-area:remove;justify-self:end}.rate-amount input{min-width:0;width:100%}html,body,#root{font-size:16px;height:100dvh}body{overflow:hidden}input[type=text],input[type=number],input[type=date],input[type=time],input[type=email],input[type=tel],input[type=url],input[type=password],select,textarea{font-size:16px}.form .form-grid input[type=text],.form .form-grid input[type=number],.form .form-grid input[type=email],.form .form-grid input[type=tel],.form .form-grid input[type=url],.form .form-grid select,.form .form-grid textarea,.settings-section .form-grid input[type=text],.settings-section .form-grid input[type=number],.settings-section .form-grid input[type=date],.settings-section .form-grid input[type=time],.settings-section .form-grid select,.settings-section .form-grid textarea{font-size:16px;min-height:44px}.btn{min-height:48px;padding:12px 16px;font-size:14px}.btn.small{min-height:40px;padding:8px 12px;font-size:13px}.nav-btn,.btn.icon,.default-star,.block-row .btn.small.ghost.icon{min-width:44px;min-height:44px}.invoice-head-actions,.form-actions,.reset-confirm>div{gap:8px!important}.form .form-grid textarea{min-height:140px;max-height:240px;aspect-ratio:auto}.activity-block .time{flex:0 0 104px}}@media (max-width: 380px){.stat-row{grid-template-columns:1fr}.view-header h1{font-size:18px}}.logo-uploader{display:flex;align-items:flex-start;gap:16px;width:100%}.logo-preview{flex:0 0 96px;width:96px;height:96px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2);display:flex;align-items:center;justify-content:center;overflow:hidden}.logo-preview img{max-width:100%;max-height:100%;display:block;object-fit:contain}.logo-preview-empty{font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.6px}.logo-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px;flex:1 1 auto;min-width:0}.logo-actions .btn{cursor:pointer}.hint{margin:0;font-size:12px;color:var(--text-faint);line-height:1.4}.color-row{display:flex;align-items:center;gap:8px;width:100%}.color-row input[type=color]{flex:0 0 40px;width:40px;height:38px;padding:2px;border:1px solid var(--border);border-radius:var(--r);background:var(--input-bg-inset);cursor:pointer}.color-row input[type=text]{flex:1 1 auto;min-width:0}@media (max-width: 720px){.logo-uploader{flex-direction:column;align-items:stretch}.logo-preview{align-self:flex-start}.color-row{flex-wrap:wrap}}.logo-size-row{display:flex;gap:6px;width:100%}.size-pill{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);color:var(--text-muted);cursor:pointer;font-family:inherit;transition:background .12s ease,border-color .12s ease,color .12s ease}.size-pill:hover{background:var(--surface-3);border-color:var(--border-strong);color:var(--text)}.size-pill.active{background:var(--accent);border-color:var(--accent);color:var(--bg)}.size-pill-lbl{font-size:13px;font-weight:600;letter-spacing:.1px}.size-pill-sub{font-size:11px;opacity:.8;font-variant-numeric:tabular-nums}.logo-button-row{display:flex;gap:8px;flex-wrap:wrap}@media (max-width: 720px){.size-pill{padding:10px 8px;min-height:48px}}.email-list{display:flex;flex-direction:column;gap:8px}.email-row{display:grid;grid-template-columns:1fr 1.5fr auto;gap:8px;align-items:center}.email-row input.email-label{font-size:13px}.email-row input.email-address{font-size:14px;font-family:ui-monospace,SF Mono,Menlo,monospace}@media (max-width: 720px){.email-row{grid-template-columns:1fr}}.taxes-view .view-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px}.taxes-view .year-picker{display:flex;flex-direction:column;gap:4px}.taxes-view .year-picker select{min-width:120px}.disclaimer-note{padding:10px 14px;background:var(--warning-soft);border:1px solid var(--warning);border-radius:var(--r-md);font-size:13px;color:var(--text);margin-bottom:16px;line-height:1.5}.category-totals{display:flex;flex-direction:column;gap:4px}.category-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:var(--r);background:var(--surface-2)}.category-row:hover{background:var(--surface-3)}.category-name{color:var(--text);font-size:14px}.category-amount{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.deduction-list{display:flex;flex-direction:column;gap:6px}.deduction-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:10px 14px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--border)}.deduction-main{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:baseline;min-width:0}.deduction-date{font-family:ui-monospace,SF Mono,Menlo,monospace;color:var(--text-muted);font-size:13px;font-variant-numeric:tabular-nums}.deduction-category{background:var(--accent-soft);color:var(--text);padding:2px 8px;border-radius:var(--r-sm);font-size:12px;font-weight:500}.deduction-description{color:var(--text);font-size:14px;flex:1 1 auto;min-width:0}.deduction-mileage{color:var(--text-muted);font-size:12px;font-variant-numeric:tabular-nums}.deduction-tail{display:flex;align-items:center;gap:8px}.deduction-amount{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}@media (max-width: 720px){.deduction-row{grid-template-columns:1fr}.deduction-tail{justify-content:space-between}}.tax-breakdown{display:flex;flex-direction:column;gap:4px;margin:16px 0}.tax-row{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;border-radius:var(--r);background:var(--surface-2)}.tax-row-lbl{color:var(--text-muted);font-size:14px}.tax-row-val{color:var(--text);font-weight:500;font-variant-numeric:tabular-nums}.tax-row-total{background:var(--accent-soft);margin-top:8px;padding:12px 14px;border-radius:var(--r-md)}.tax-row-total .tax-row-lbl{color:var(--text);font-weight:600;text-transform:uppercase;letter-spacing:.6px;font-size:12px}.tax-row-total .tax-row-val{font-size:18px;font-weight:700}.tax-comparison{margin-top:14px;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r)}.tax-comparison .tax-row{padding:4px 0;border:none}.tax-comparison .tax-row-val{font-family:ui-monospace,monospace}.quarterly-card{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:16px 20px;margin-top:8px;background:var(--accent);color:var(--bg);border-radius:var(--r-lg)}.quarterly-label{display:block;text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:600;opacity:.7;margin-bottom:4px}.quarterly-amount{display:block;font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}.quarterly-due{display:block;font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}@media (max-width: 720px){.quarterly-card{grid-template-columns:1fr;gap:12px}.tax-row{flex-wrap:wrap}}.provider-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding:12px 14px;background:var(--success-soft);border:1px solid var(--success);border-radius:var(--r-md);flex-wrap:wrap}.provider-cta-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.provider-cta-text strong{color:var(--text);font-size:14px;font-weight:600}.provider-cta .btn{flex:0 0 auto}@media (max-width: 720px){.provider-cta{flex-direction:column;align-items:stretch}.provider-cta .btn{width:100%;text-align:center}}.more-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#00000073;display:flex;align-items:flex-end;justify-content:center}.more-sheet{background:var(--surface-1);border-top:1px solid var(--border);border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;max-width:720px;padding:16px 14px max(20px,env(safe-area-inset-bottom)) 14px;display:flex;flex-direction:column;gap:10px;animation:more-sheet-up .18s ease-out}@keyframes more-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.more-sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.more-sheet-head h2{margin:0;font-size:16px}.more-sheet-list{display:flex;flex-direction:column;gap:4px}.more-sheet-item{display:flex;flex-direction:row;align-items:center;gap:12px;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);color:var(--text);text-align:left;cursor:pointer;font-family:inherit;min-height:56px}.more-sheet-item .nav-icon{color:var(--text-muted);flex-shrink:0}.more-sheet-item.active .nav-icon{color:var(--accent)}.more-sheet-text{display:flex;flex-direction:column;gap:2px;min-width:0}.more-sheet-item.active{background:var(--accent-soft, color-mix(in srgb, var(--accent) 16%, var(--surface-2)));border-color:var(--accent)}.more-sheet-label{font-size:15px;font-weight:500}.more-sheet-hint{font-size:12px;color:var(--text-muted)}.toast-host{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:10001;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;width:max-content;max-width:min(92vw,460px)}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;min-width:240px;max-width:100%;padding:11px 12px 11px 14px;background:var(--surface-3);color:var(--text);border:1px solid var(--border-strong);border-left:3px solid var(--text-muted);border-radius:var(--r-md);box-shadow:0 10px 30px #00000059;font-size:13px;line-height:1.35;animation:toast-in .26s cubic-bezier(.2,.7,.2,1) both}.toast-icon{flex-shrink:0;color:var(--text-muted)}.toast-msg{flex:1;min-width:0}.toast-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--r-sm);color:var(--text-faint);cursor:pointer}.toast-close:hover{background:var(--surface-2);color:var(--text)}.toast-success{border-left-color:var(--success)}.toast-success .toast-icon{color:var(--success)}.toast-error{border-left-color:var(--danger)}.toast-error .toast-icon{color:var(--danger)}.toast-warning{border-left-color:var(--warning)}.toast-warning .toast-icon{color:var(--warning)}.toast-info{border-left-color:var(--accent)}.toast-info .toast-icon{color:var(--accent)}.toast-neutral{border-left-color:var(--text-muted)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.toast{animation:none}}@media (max-width: 720px){.toast-host{bottom:calc(76px + env(safe-area-inset-bottom,0px));max-width:92vw}.toast{font-size:14px}}html,body,.app-shell,.sidebar,.content,.mobile-appbar,.card,.settings-section,.stat-card,.entry-card,.more-sheet,.quarterly-card,.tax-breakdown,.invoice-loading .loading-card{transition:background-color .3s ease,border-color .3s ease,color .3s ease}@media (prefers-reduced-motion: reduce){html,body,.app-shell,.sidebar,.content,.mobile-appbar,.card,.settings-section,.stat-card,.entry-card,.more-sheet,.quarterly-card,.tax-breakdown,.invoice-loading .loading-card{transition:none}}.cmdk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#00000080;display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 16px;animation:cmdk-fade .15s ease both}@keyframes cmdk-fade{0%{opacity:0}to{opacity:1}}.cmdk{width:100%;max-width:560px;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:0 24px 60px #0000008c;overflow:hidden;animation:cmdk-pop .18s cubic-bezier(.2,.7,.2,1) both}@keyframes cmdk-pop{0%{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:none}}.cmdk-input{display:flex;align-items:center;gap:10px;padding:13px 15px;border-bottom:1px solid var(--border)}.cmdk-input svg{color:var(--text-muted);flex-shrink:0}.cmdk-input input{flex:1;background:none;border:none;outline:none;color:var(--text);font:inherit;font-size:15px}.cmdk-input input::placeholder{color:var(--text-faint)}.cmdk-esc{font-size:11px;color:var(--text-faint);border:1px solid var(--border);border-radius:var(--r-sm);padding:2px 7px}.cmdk-results{max-height:52vh;overflow-y:auto;padding:6px}.cmdk-group{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--text-faint);padding:10px 10px 4px}.cmdk-none{padding:22px;text-align:center;color:var(--text-muted);font-size:13px}.cmdk-opt{width:100%;display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:var(--r);background:none;border:none;color:var(--text);font:inherit;font-size:13px;cursor:pointer;text-align:left}.cmdk-opt-icon{color:var(--text-muted);flex-shrink:0}.cmdk-opt-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-opt-hint{font-size:11px;color:var(--text-faint)}.cmdk-opt-enter{font-size:12px;color:var(--accent)}.cmdk-opt.sel{background:var(--accent-soft)}.cmdk-opt.sel .cmdk-opt-icon{color:var(--accent)}@media (max-width: 720px){.cmdk-overlay{padding:8vh 12px 12px}.cmdk-input input{font-size:16px}.cmdk-opt{padding:12px 10px;font-size:14px}}.import-warning-banner{background:var(--warning-soft);border:1px solid var(--warning);color:var(--text);border-radius:var(--r);padding:10px 12px;font-size:13px;margin-bottom:12px}.invoice-import-list{display:flex;flex-direction:column;gap:8px;max-height:46vh;overflow-y:auto;padding:2px}.invoice-import-row{display:grid;grid-template-columns:140px 1fr 64px 110px;gap:8px;align-items:center}.invoice-import-row .ii-source{grid-column:1 / -1;margin:-2px 0 2px;font-style:italic;opacity:.8}.invoice-import-row .ii-amt{text-align:right;font-variant-numeric:tabular-nums}.invoice-import-total{display:flex;justify-content:space-between;align-items:baseline;padding:12px 2px 4px;margin-top:8px;border-top:1px solid var(--border);font-size:14px}.invoice-import-total strong{font-size:16px}@media (max-width: 720px){.invoice-import-row{grid-template-columns:1fr 1fr}.invoice-import-row .ii-desc{grid-column:1 / -1}}.invoice-import-fees{margin-top:10px;padding:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r)}.invoice-import-fees .ii-fees-head{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin-bottom:8px}.invoice-import-fee-row{display:grid;grid-template-columns:1fr 110px 32px;gap:8px;align-items:center;margin-bottom:6px}.invoice-import-fee-row .ii-fee-desc{color:var(--text)}.invoice-import-fee-row .ii-source{grid-column:1 / -1;font-style:italic;opacity:.8}.invoice-import-net{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--border-strong);margin-top:8px;padding-top:8px;font-size:14px}.invoice-import-net strong{font-size:17px;color:var(--accent-strong)}.import-mode-toggle{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);padding:2px;gap:2px}.import-mode-toggle .seg{font:inherit;font-size:12px;padding:5px 12px;border:none;background:none;color:var(--text-muted);border-radius:var(--r-sm);cursor:pointer}.import-mode-toggle .seg.on{background:var(--accent);color:var(--bg);font-weight:500}.ii-section-head{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin:12px 0 6px}.ii-section-head:first-child{margin-top:0}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.kpi-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:15px 16px;display:flex;flex-direction:column;gap:5px}.kpi-label{font-size:12px;color:var(--text-muted)}.kpi-value{font-size:26px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.kpi-value.accent{color:var(--accent-strong)}.kpi-delta{font-size:12px}.kpi-delta.good{color:var(--success)}.kpi-delta.bad{color:var(--danger)}.kpi-delta.flat{color:var(--text-muted)}.runrate-pill{font-size:12px;color:var(--text-muted);background:var(--surface-1);border:1px solid var(--border);border-radius:999px;padding:7px 13px}.runrate-pill b{color:var(--accent-strong);font-weight:600}.analytics-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.analytics-two>.settings-section{margin:0}.donut-wrap{position:relative}.donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.donut-center .t{font-size:11px;color:var(--text-muted)}.donut-center .n{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.analytics-bignum{font-size:30px;font-weight:600;color:var(--accent-strong);font-variant-numeric:tabular-nums}.analytics-bignum .unit{font-size:15px;color:var(--text-muted);font-weight:400;margin-left:2px}.mini-legend{display:flex;flex-direction:column;gap:7px;margin-top:10px;font-size:12px}.mini-legend .row{display:flex;align-items:center;gap:8px}.mini-legend .dot{width:10px;height:10px;border-radius:3px;flex:0 0 auto}.mini-legend .amt{margin-left:auto;color:var(--text-muted);font-variant-numeric:tabular-nums}.analytics-callout{margin-top:10px;font-size:12px;color:var(--text-muted);background:var(--surface-2);border-radius:var(--r);border-left:3px solid var(--warning);padding:9px 11px}.analytics-callout b{color:var(--warning)}@media (max-width: 720px){.kpi-row{grid-template-columns:1fr 1fr}.analytics-two{grid-template-columns:1fr}}.llm-switch{margin:2px 0 16px}.llm-chip-row{display:flex;flex-wrap:wrap;gap:8px}.llm-chip{display:inline-flex;align-items:stretch;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);overflow:hidden}.llm-chip.active{border-color:var(--accent);background:var(--accent-soft)}.llm-chip-main{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;min-height:40px;background:transparent;border:none;cursor:pointer;color:var(--text);font-size:13px;font-weight:500}.llm-chip-main .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}.llm-chip-label{white-space:nowrap}.llm-chip-model{font-family:ui-monospace,monospace;font-size:11px;color:var(--text-muted);padding:2px 6px;border-radius:6px;background:var(--surface-3);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.llm-chip-x{border:none;border-left:1px solid var(--border);background:transparent;color:var(--text-faint);cursor:pointer;width:34px;font-size:18px;line-height:1}.llm-chip-x:hover{color:var(--danger);background:var(--surface-3)}.llm-chip.active .llm-chip-x{border-left-color:var(--accent)}.combo{position:relative}.combo-input{width:100%}.combo-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:40;margin:0;padding:4px;list-style:none;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 12px 30px #00000059;max-height:240px;overflow-y:auto}.combo-menu li{margin:0}.combo-opt{display:block;width:100%;text-align:left;padding:8px 10px;border:none;border-radius:6px;background:transparent;color:var(--text);cursor:pointer;font-family:ui-monospace,monospace;font-size:13px}.combo-opt:hover{background:var(--surface-3)}.combo-opt.sel{color:var(--accent)}@media (max-width: 720px){.llm-chip-main{min-height:44px;font-size:16px}.llm-chip-x{width:44px}.combo-opt{padding:12px;font-size:16px}.combo-menu{max-height:50vh}}.pill.billed{color:var(--text-muted);border-color:var(--border-strong);background:var(--surface-2)}.entry-billed-note{margin:6px 0 0;font-size:12px;line-height:1.4;color:var(--text-muted)}.pill.invoice-status{cursor:pointer;font-family:inherit}.pill.invoice-status.paid{color:var(--success);border-color:#6cc08a66;background:var(--success-soft)}.pill.invoice-status.unpaid{color:var(--warning);border-color:#e3bf4a66;background:var(--warning-soft)}.dedux-import-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.dedux-section-head{flex-wrap:wrap}.dedux-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.dedux-filters .dedux-search{width:160px}@media (max-width: 720px){.dedux-filters{width:100%}.dedux-filters .dedux-search{flex:1 1 100%;width:auto;min-width:0}.dedux-filters select{flex:1 1 45%}}.scan-receipt-stage{display:flex;flex-direction:column;align-items:center;gap:14px;padding:8px 0}.scan-receipt-photo{max-width:100%;max-height:320px;border-radius:var(--r);border:1px solid var(--border);object-fit:contain;background:var(--surface-2)}.scan-receipt-photo.small{max-height:160px;align-self:flex-start;margin-bottom:4px}.scan-receipt-actions{display:flex;justify-content:center}.deduction-thumb{flex:0 0 auto;width:36px;height:36px;padding:0;border-radius:var(--r-sm);border:1px solid var(--border);overflow:hidden;cursor:pointer;background:var(--surface-3);line-height:0}.deduction-thumb img{width:100%;height:100%;object-fit:cover;display:block}.receipt-lightbox{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;background:#000000d9;display:flex;align-items:center;justify-content:center;padding:24px;cursor:zoom-out}.receipt-lightbox img{max-width:100%;max-height:100%;border-radius:var(--r);object-fit:contain;cursor:default}.receipt-lightbox-close{position:absolute;top:max(12px,env(safe-area-inset-top));right:16px;width:44px;height:44px;border-radius:50%;border:none;background:#00000080;color:#fff;font-size:24px;line-height:1;cursor:pointer}@media (max-width: 720px){.deduction-thumb{width:48px;height:48px}}.web-auth{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom))}.web-auth-card{width:100%;max-width:380px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);padding:32px 28px;text-align:center}.web-auth-brand{font-size:28px;font-weight:800;letter-spacing:-.5px;color:var(--text);margin-bottom:8px}.web-auth-sub{color:var(--text-muted);font-size:14px;margin:0 0 20px;line-height:1.5}.web-auth-form{display:flex;flex-direction:column;gap:10px;text-align:left}.web-auth-label{font-size:12px;color:var(--text-muted)}.web-auth-form input{width:100%}.web-auth-form .btn{margin-top:4px}.web-auth-error{color:var(--danger);font-size:13px;margin-top:14px}.web-auth-card code{font-size:12px;background:var(--input-bg-inset);padding:1px 4px;border-radius:4px}.web-auth-tabs{display:flex;gap:4px;background:var(--input-bg-inset);border:1px solid var(--border);border-radius:var(--r-md);padding:4px;margin-bottom:18px}.web-auth-tab{flex:1;border:none;background:transparent;color:var(--text-muted);font-size:14px;font-weight:600;padding:8px 10px;border-radius:var(--r-sm);cursor:pointer}.web-auth-tab.active{background:var(--surface-2);color:var(--text)}.web-auth-notice{color:var(--text-muted);font-size:13px;margin-top:12px}.web-auth-foot{margin-top:18px;text-align:center}.web-auth-link{border:none;background:transparent;color:var(--accent);font-size:13px;cursor:pointer;padding:4px}.web-auth-link:hover{text-decoration:underline}.pw-field{position:relative}.pw-field input{width:100%;padding-right:40px}.pw-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:0}.pw-toggle:hover{color:var(--text)}.invoice-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom));background:#0009}.invoice-preview-shell{display:flex;flex-direction:column;width:min(900px,96vw);max-height:94vh;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.invoice-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface-2)}.invoice-preview-title{font-size:13px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-preview-actions{display:flex;gap:8px;flex:0 0 auto}.invoice-preview-scroll{flex:1;overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:16px;background:#525659}.invoice-preview-page{position:relative;flex:0 0 auto;background:#fff;box-shadow:0 2px 14px #00000073;overflow:hidden}.invoice-preview-frame{border:0;background:#fff;display:block}@media (max-width: 720px){.invoice-preview-overlay{padding:0}.invoice-preview-shell{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.invoice-preview-scroll{padding:12px}}.dedux-edit-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom));background:#0009}.dedux-edit-card{width:min(560px,96vw);max-height:90vh;overflow-y:auto;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);padding:20px}.dedux-edit-card h2{margin-bottom:14px}.dedux-edit-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}@media (max-width: 720px){.dedux-edit-overlay{padding:0}.dedux-edit-card{width:100vw;height:100vh;max-height:100vh;border-radius:0}}.themed-time-trigger,.themed-date-trigger{display:inline-flex;align-items:center;gap:6px;width:100%;background:var(--bg);border:1px solid var(--border-strong);color:var(--text);padding:8px 10px;border-radius:var(--r);font-size:13px;font-family:inherit;text-align:left;cursor:pointer;transition:border-color .12s,box-shadow .12s}.themed-time-trigger:hover,.themed-date-trigger:hover{border-color:var(--accent)}.themed-time-trigger[aria-expanded=true],.themed-date-trigger[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.themed-time-trigger:disabled,.themed-date-trigger:disabled{opacity:.5;cursor:default}.tp-clock,.dp-cal-icon{color:var(--accent);flex:0 0 auto}.tp-value,.dp-value{flex:1 1 auto;min-width:0;font-variant-numeric:tabular-nums}.dp-value.placeholder{color:var(--text-faint)}.tp-caret{color:var(--text-muted);font-size:11px;flex:0 0 auto}.themed-date-trigger.bare{background:transparent;border:none;padding:6px 8px;width:auto;font-size:12px;font-weight:500}.themed-date-trigger.bare:hover,.themed-date-trigger.bare[aria-expanded=true]{box-shadow:none}.themed-date-trigger.bare .dp-cal-icon{display:none}.picker-pop{position:fixed;z-index:1000;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-xl);box-shadow:0 16px 40px #00000073;padding:14px;box-sizing:border-box;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:auto}.picker-pop-title{font-size:10px;letter-spacing:1.2px;font-weight:600;text-transform:uppercase;color:var(--text-faint);margin-bottom:10px}.picker-pop-divider{height:1px;background:var(--border);margin:12px 0}.picker-pop-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.picker-link{background:none;border:none;padding:0;color:var(--accent-strong);font:inherit;font-size:13px;font-weight:500;cursor:pointer}.picker-link:hover{text-decoration:underline}.tp-wheels{position:relative;display:flex;gap:6px;justify-content:center;height:200px}.tp-wheel{position:relative;z-index:1;height:200px;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;flex:1 1 0;text-align:center}.tp-wheel::-webkit-scrollbar{display:none}.tp-spacer{height:80px}.tp-item{display:block;width:100%;height:40px;line-height:40px;padding:0;background:none;border:none;color:var(--text-faint);font-family:inherit;font-size:18px;cursor:pointer;scroll-snap-align:center;transition:color .1s,font-size .1s}.tp-item.sel{color:var(--accent-strong);font-weight:600;font-size:22px}.tp-colon{align-self:center;z-index:1;color:var(--text-muted);font-size:22px;font-weight:600}.tp-band{position:absolute;left:0;right:0;top:80px;height:40px;background:var(--accent-soft);border-radius:8px;z-index:0;pointer-events:none}.tp-fade{position:absolute;left:0;right:0;height:64px;z-index:2;pointer-events:none}.tp-fade-top{top:0;background:linear-gradient(to bottom,var(--surface-2),transparent)}.tp-fade-bot{bottom:0;background:linear-gradient(to top,var(--surface-2),transparent)}.tp-quick-label,.tc-presets-label{font-size:10px;letter-spacing:1.2px;font-weight:600;color:var(--text-faint);margin-bottom:8px}.tp-quick{display:flex;gap:8px}.tp-quick-btn{flex:1 1 0;padding:7px 0;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-muted);font:inherit;font-size:12px;font-weight:500;cursor:pointer}.tp-quick-btn:hover{border-color:var(--accent);color:var(--text)}.tc-swatch{width:40px;height:38px;border:1px solid var(--border-strong);border-radius:var(--r);cursor:pointer;padding:0;position:relative;display:inline-flex;align-items:center;justify-content:center}.tc-swatch:hover{border-color:var(--accent)}.tc-empty{color:var(--text-faint);font-size:14px}.tc-sv{position:relative;width:100%;height:150px;border-radius:var(--r-lg);border:1px solid var(--border);cursor:crosshair;touch-action:none}.tc-sv-ring{position:absolute;width:14px;height:14px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #0006;transform:translate(-50%,-50%);pointer-events:none}.tc-hue{position:relative;height:14px;margin-top:12px;border-radius:7px;cursor:pointer;touch-action:none;background:linear-gradient(to right,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.tc-hue-handle{position:absolute;top:50%;width:18px;height:18px;border-radius:50%;background:#fff;border:1px solid var(--border);box-shadow:0 1px 3px #0006;transform:translate(-50%,-50%);pointer-events:none}.tc-fields{display:flex;gap:10px;margin-top:14px}.tc-field{flex:1 1 0;min-width:0}.tc-field>span{display:block;font-size:10px;letter-spacing:1.2px;font-weight:600;color:var(--text-faint);margin-bottom:6px}.tc-field input{width:100%}.tc-rgb-vals{background:var(--bg);border:1px solid var(--border);border-radius:var(--r);padding:8px 12px;font-size:13px;color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:center}.tc-presets-label{margin-top:14px}.tc-presets{display:flex;gap:8px}.tc-preset{flex:1 1 0;height:30px;border-radius:var(--r-md);border:1px solid var(--border);cursor:pointer;padding:0}.tc-preset.sel{box-shadow:0 0 0 2px var(--surface-2),0 0 0 4px var(--accent-strong)}.tc-preview{display:inline-flex;align-items:center;gap:8px}.tc-preview-swatch{width:26px;height:26px;border-radius:var(--r-sm);border:1px solid var(--border-strong)}.tc-preview-label{font-size:13px;color:var(--text-muted);font-variant-numeric:tabular-nums}.dp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.dp-month{font-size:14px;font-weight:600;color:var(--text)}.dp-nav{width:30px;height:30px;border-radius:var(--r);background:var(--surface-3);border:1px solid var(--border);color:var(--text-muted);font-size:16px;line-height:1;cursor:pointer}.dp-nav:hover{border-color:var(--accent);color:var(--text)}.dp-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}.dp-dow span{min-width:0;text-align:center;font-size:10px;font-weight:600;color:var(--text-faint);padding:4px 0}.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:36px;gap:2px}.dp-cell{height:100%;min-width:0;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--text);font:inherit;font-size:13px;border-radius:var(--r);cursor:pointer}.dp-cell.dp-empty{cursor:default;pointer-events:none}.dp-cell:not(.dp-empty):hover{background:var(--surface-3)}.dp-cell.today{color:var(--accent-strong);font-weight:600}.dp-cell.sel{background:var(--accent);color:var(--bg);font-weight:600}@media (max-width: 720px){.themed-time-trigger,.themed-date-trigger{min-height:48px;font-size:16px}.themed-date-trigger.bare{min-height:0;font-size:12px}.tp-item{font-size:20px}.tp-item.sel{font-size:24px}.dp-grid{grid-auto-rows:42px}.dp-cell{font-size:16px}.tp-quick-btn{padding:10px 0;font-size:13px}}.seed-swatch .tc-swatch{width:42px;height:42px;flex:0 0 42px}.palette-swatch .tc-swatch{width:32px;height:32px;flex:0 0 32px}.color-row .tc-swatch{flex:0 0 40px}.dedux-row .themed-date-trigger{font-size:12px;padding:6px 8px}.themed-date-trigger.invoice-due-input{padding:4px 8px;background:var(--input-bg-inset);border-color:var(--border);border-radius:var(--r-sm)}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:24px;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom));background:#0000008c}.confirm-card{width:min(420px,96vw);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-window);padding:22px}.confirm-title{margin:0 0 8px;font-size:17px;font-weight:600;color:var(--text)}.confirm-message{margin:0;font-size:14px;line-height:1.5;color:var(--text-muted)}.confirm-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}@media (max-width: 720px){.confirm-card{width:100%}.confirm-actions .btn{flex:1;min-height:48px}}.schedule-head-actions{display:flex;align-items:center;gap:8px}.schedule-row-actions{margin-left:auto;display:flex;gap:4px}.recur-badge{display:inline-block;margin-left:6px;color:var(--accent-strong);font-size:12px}.week-strip{display:flex;align-items:stretch;gap:6px;margin:10px 0 6px}.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;flex:1;min-width:0}.week-nav{width:28px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);font-size:15px;cursor:pointer}.week-nav:hover{border-color:var(--accent);color:var(--text)}.week-day{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:6px 0;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);cursor:pointer}.week-day:hover{border-color:var(--accent)}.week-dow{font-size:10px;letter-spacing:.5px;color:var(--text-faint)}.week-num{font-size:14px;font-weight:600}.week-day.today .week-num{color:var(--accent-strong);font-weight:700}.week-day.sel{background:var(--accent);border-color:var(--accent)}.week-day.sel .week-dow,.week-day.sel .week-num{color:var(--bg)}.week-dot{width:5px;height:5px;border-radius:50%;background:transparent}.week-dot.on{background:var(--accent-strong)}.week-day.sel .week-dot.on{background:var(--bg)}.appt-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:24px;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom));background:#0000008c}.appt-card{width:min(460px,96vw);max-height:90vh;overflow-y:auto;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-window);padding:22px}.appt-card h2{margin:0 0 16px;font-size:18px;font-weight:600;color:var(--text)}.appt-field{margin-bottom:12px}.appt-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.appt-recur{margin:4px 0 12px;padding:12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg)}.appt-interval{display:flex;align-items:center;gap:8px}.appt-interval input{width:72px}.appt-weekdays{display:flex;gap:6px}.appt-dow{flex:1 1 0;height:34px;border-radius:var(--r);border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer}.appt-dow.on{background:var(--accent);border-color:var(--accent);color:var(--bg)}.appt-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.scope-actions{display:flex;flex-direction:column;gap:8px;margin-top:14px}.scope-actions .btn{width:100%}.scope-cancel{text-align:right;margin-top:10px}@media (max-width: 720px){.appt-card{width:100%;height:100%;max-height:100vh;border-radius:0}.appt-dow{height:44px}.week-strip{gap:4px}.week-days{gap:2px}.week-nav{width:24px}.week-day{padding:9px 0}.week-num{font-size:16px}.schedule-row-actions .btn.icon{min-width:44px;min-height:44px}}.ptr{position:fixed;top:max(8px,env(safe-area-inset-top));left:0;right:0;z-index:1200;display:flex;justify-content:center;pointer-events:none}.ptr-pill{display:inline-flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:7px 14px;font-size:12px;font-weight:500;box-shadow:0 6px 18px #0000004d}.ptr-arrow{display:inline-block;transition:transform .15s ease;color:var(--accent-strong);font-size:14px}.ptr-arrow.ready{transform:rotate(180deg)}.ptr-pill.spinning .ptr-arrow{animation:ptr-spin .7s linear infinite;transform:none}@keyframes ptr-spin{to{transform:rotate(360deg)}}.pro-upgrade-card{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:12px;background:var(--surface-1);border:1px solid var(--border)}.pro-lock{flex:none;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.pro-upgrade-text{flex:1 1 auto;min-width:0}.pro-upgrade-title{font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}.pro-upgrade-blurb{margin:4px 0 0;color:var(--text-muted);font-size:13px;line-height:1.4}.pro-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:1px;padding:2px 6px;border-radius:5px;background:var(--accent);color:var(--bg)}.dev-plan-toggle{position:fixed;left:12px;bottom:12px;z-index:9999;display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;font-size:12px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);box-shadow:0 4px 16px #00000059}.dev-plan-toggle .dev-plan-tag{font-weight:700;color:var(--accent)}.dev-plan-toggle select{font-size:12px;padding:2px 4px}.dev-plan-toggle label{display:flex;align-items:center;gap:4px;cursor:pointer}.cloud-auth .seg-row{align-self:flex-start}.form-grid .field.cloud-actions{flex-direction:row;align-items:center;gap:12px;flex-wrap:wrap}.cloud-link{background:none;border:none;padding:0;cursor:pointer;color:var(--accent);text-decoration:underline;font-size:13px}.cloud-link:hover{color:var(--accent-strong)}.invoice-share{display:flex;flex-direction:column;gap:10px;padding:14px 16px;margin:12px 0;background:var(--surface-1);border:1px solid var(--border);border-radius:12px}.invoice-share .share-head{display:flex;flex-direction:column;gap:2px}.invoice-share .share-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.invoice-share .share-row input{flex:1 1 220px;min-width:0}.pub-invoice{min-height:100vh;background:var(--bg);display:flex;flex-direction:column}.pub-invoice-bar{padding:14px 20px;border-bottom:1px solid var(--border)}.pub-invoice-bar .pub-brand{font-weight:700;color:var(--accent);letter-spacing:.5px}.pub-invoice-msg{margin:64px auto;max-width:480px;text-align:center;color:var(--text-muted);padding:0 20px}.pub-invoice-msg h2{color:var(--text);margin-bottom:8px}.pub-invoice-frame{flex:1;display:flex;justify-content:center;padding:24px 16px}.pub-invoice-frame iframe{width:100%;max-width:860px;height:1180px;border:1px solid var(--border);border-radius:8px;background:#fff}.pub-invoice-foot{padding:16px;text-align:center}.pub-invoice-foot a{color:var(--text-faint);font-size:12px;text-decoration:none}.pub-invoice-foot a:hover{color:var(--text-muted)}
