:root{--bg: #f6f6f7;--surface: #ffffff;--surface-2: #f4f4f5;--surface-3: #ececee;--ink: #18181b;--ink-2: #3f3f46;--muted: #71717a;--faint: #a1a1aa;--rule: rgba(24, 24, 27, .07);--rule-strong: rgba(24, 24, 27, .13);--accent: #4f46e5;--accent-hover: #4338ca;--accent-ink: #ffffff;--accent-soft: #eef0ff;--ring: rgba(79, 70, 229, .2);--danger: #dc2626;--danger-soft: #fef2f2;--success: #059669;--success-soft: #ecfdf5;--warn: #b45309;--warn-soft: #fffbeb;--radius-sm: 8px;--radius: 10px;--radius-lg: 16px;--shadow-xs: 0 1px 2px rgba(16, 24, 40, .04);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05), 0 1px 3px rgba(16, 24, 40, .04);--shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 4px 12px -2px rgba(16, 24, 40, .06);--shadow-lg: 0 24px 48px -12px rgba(16, 24, 40, .22), 0 0 0 1px rgba(16, 24, 40, .04);--ease: cubic-bezier(.2, .8, .2, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--fast: .14s;--med: .22s;--chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2371717a' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8l4 4 4-4'/%3E%3C/svg%3E");color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-feature-settings:"cv11","ss01";font-size:15px;line-height:1.5;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}@media(prefers-color-scheme:dark){:root{--bg: #0c0c0e;--surface: #161618;--surface-2: #1d1d20;--surface-3: #26262a;--ink: #f4f4f5;--ink-2: #d4d4d8;--muted: #a1a1aa;--faint: #71717a;--rule: rgba(255, 255, 255, .07);--rule-strong: rgba(255, 255, 255, .13);--accent: #818cf8;--accent-hover: #a5b4fc;--accent-ink: #0c0c0e;--accent-soft: rgba(129, 140, 248, .13);--ring: rgba(129, 140, 248, .3);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .1);--success: #34d399;--success-soft: rgba(52, 211, 153, .1);--warn: #fbbf24;--warn-soft: rgba(251, 191, 36, .1);--shadow-xs: none;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 12px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 24px 48px -12px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .06);color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg)}h1{font-size:1.55rem;font-weight:650;letter-spacing:-.022em;margin:0;display:flex;align-items:center;gap:.6rem}h2{font-size:1.05rem;font-weight:600;letter-spacing:-.01em;margin:0}h3{font-size:1rem;font-weight:600;margin:0 0 .25rem}p{margin:0}a{color:var(--accent);text-decoration:none;transition:color var(--fast) var(--ease)}a:hover{color:var(--accent-hover)}::selection{background:var(--ring)}.muted{color:var(--muted)}.small{font-size:.85rem}.right{text-align:right}.nowrap{white-space:nowrap}.pre{white-space:pre-line}.center{display:grid;place-items:center;min-height:100vh}.center-text{text-align:center}.error{color:var(--danger);font-size:.9rem}.danger-text{color:var(--danger)}.warn-text{color:var(--warn)}.label{display:block;font-size:.82rem;font-weight:500;color:var(--ink-2);margin-bottom:.4rem}button,.button{font:inherit;font-size:.9rem;font-weight:550;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:38px;padding:0 1rem;border-radius:var(--radius);border:1px solid transparent;background:var(--accent);color:var(--accent-ink);text-decoration:none;box-shadow:var(--shadow-xs),inset 0 1px #ffffff1f;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease),color var(--fast) var(--ease),box-shadow var(--fast) var(--ease),transform var(--fast) var(--ease)}button:hover,.button:hover{background:var(--accent-hover);color:var(--accent-ink)}button:active:not(:disabled),.button:active{transform:scale(.97)}button:focus-visible,.button:focus-visible,a:focus-visible{outline:none;box-shadow:0 0 0 4px var(--ring)}button:disabled{opacity:.5;cursor:default}button.secondary,.button.secondary{background:var(--surface);color:var(--ink);border-color:var(--rule-strong);box-shadow:var(--shadow-xs)}button.secondary:hover,.button.secondary:hover{background:var(--surface-2);color:var(--ink)}button.link{height:auto;padding:.2rem .35rem;background:none;color:var(--accent);box-shadow:none;border-radius:6px;font-weight:500}button.link:hover{background:var(--accent-soft);color:var(--accent-hover)}button.link.danger{color:var(--danger)}button.link.danger:hover{background:var(--danger-soft)}button.link.tiny{font-size:.78rem;padding:.1rem .3rem}button.icon{height:32px;width:32px;padding:0;background:none;color:var(--faint);box-shadow:none;border-radius:var(--radius-sm);font-size:1.25rem;line-height:1}button.icon:hover{background:var(--surface-3);color:var(--ink)}button.block{width:100%;height:44px;font-size:.95rem}input,select,textarea{font:inherit;font-size:.92rem;color:var(--ink);width:100%;background-color:var(--surface);border:1px solid var(--rule-strong);border-radius:var(--radius);padding:0 .8rem;height:40px;outline:none;transition:border-color var(--fast) var(--ease),box-shadow var(--fast) var(--ease),background-color var(--fast) var(--ease)}textarea{height:auto;padding:.65rem .8rem;line-height:1.5;resize:vertical}input:hover,select:hover,textarea:hover{border-color:#18181b38}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--ring)}input::placeholder,textarea::placeholder{color:var(--faint)}input.right{text-align:right}select{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:var(--chevron);background-repeat:no-repeat;background-position:right .7rem center;background-size:16px;padding-right:2.2rem;text-overflow:ellipsis}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=date]::-webkit-calendar-picker-indicator{opacity:.45;cursor:pointer;transition:opacity var(--fast)}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:.8}@media(prefers-color-scheme:dark){input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1)}input:hover,select:hover,textarea:hover{border-color:#ffffff38}}.field{display:block}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.1rem}.form-grid .wide{grid-column:1 / -1}.actions{display:flex;gap:.5rem;justify-content:flex-end;align-items:center;flex-wrap:wrap}.chips{display:flex;flex-wrap:wrap;gap:.35rem}.chip{height:28px;padding:0 .75rem;font-size:.8rem;font-weight:500;border-radius:99px;background:var(--surface-2);color:var(--ink-2);border:1px solid transparent;box-shadow:none}.chip:hover{background:var(--surface-3);color:var(--ink)}.chip.active{background:var(--accent-soft);color:var(--accent);border-color:transparent}.segmented{position:relative;display:grid;grid-template-columns:repeat(var(--count),minmax(0,1fr));padding:3px;background:var(--surface-2);border-radius:var(--radius);border:1px solid var(--rule)}.segmented-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px) / var(--count));transform:translate(calc(var(--index) * 100%));border-radius:7px;background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .28s var(--ease-spring)}.segmented button{position:relative;z-index:1;height:30px;padding:0 .3rem;font-size:.8rem;font-weight:500;background:none;color:var(--muted);box-shadow:none;border:none;border-radius:7px}.segmented button:hover{background:none;color:var(--ink)}.segmented button.active{color:var(--ink)}.collapse{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows var(--med) var(--ease),opacity var(--med) var(--ease)}.collapse.open{grid-template-rows:1fr;opacity:1}.collapse>.collapse-inner{overflow:hidden;min-height:0;margin:-4px;padding:4px}.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{background:var(--surface);border-right:1px solid var(--rule);padding:1.25rem .9rem;display:flex;flex-direction:column;gap:1.25rem;position:sticky;top:0;height:100vh}.brand{font-weight:750;font-size:1.2rem;letter-spacing:-.03em;color:var(--ink);display:flex;align-items:center;gap:.5rem;padding:0 .5rem}.brand-mark{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,var(--accent),#8b5cf6);display:grid;place-items:center;color:#fff;font-size:.8rem;font-weight:800}.org-switcher{padding:0 .25rem}.org-switcher select{height:38px;font-weight:500;background-color:var(--surface-2);border-color:transparent}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar nav a{display:flex;align-items:center;gap:.65rem;padding:.5rem .7rem;border-radius:var(--radius-sm);color:var(--muted);font-size:.92rem;font-weight:500;transition:background var(--fast) var(--ease),color var(--fast) var(--ease)}.sidebar nav a svg{flex:none;opacity:.85}.sidebar nav a:hover{background:var(--surface-2);color:var(--ink)}.sidebar nav a.active{background:var(--surface-2);color:var(--ink);font-weight:600}.sidebar nav a.active svg{color:var(--accent);opacity:1}.sidebar-footer{margin-top:auto;padding:.75rem .5rem 0;border-top:1px solid var(--rule);display:flex;flex-direction:column;gap:.25rem}.sidebar-footer .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer button.link{align-self:flex-start;padding-left:0;color:var(--muted)}.sidebar-footer button.link:hover{background:none;color:var(--ink)}.content{padding:2rem 2.5rem 4rem;max-width:1180px;width:100%}.page{animation:page-in .32s var(--ease) both}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.page-header p{margin-top:.3rem}.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.empty{text-align:center;padding:3.5rem 1rem;border:1px dashed var(--rule-strong);border-radius:var(--radius-lg);color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:1rem}.pill{display:inline-flex;align-items:center;gap:.4rem;height:24px;padding:0 .6rem;border-radius:99px;font-size:.75rem;font-weight:550;letter-spacing:0;background:var(--warn-soft);color:var(--warn);animation:pop-in var(--med) var(--ease-spring) both}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:.78rem;color:var(--muted);font-weight:500}th,td{padding:.8rem 1rem;border-bottom:1px solid var(--rule);vertical-align:middle}thead th{background:var(--surface-2);border-bottom:1px solid var(--rule)}thead th:first-child{border-top-left-radius:var(--radius-lg)}thead th:last-child{border-top-right-radius:var(--radius-lg)}th.right,td.right{text-align:right}tbody tr{transition:background var(--fast) var(--ease)}tbody tr:last-child td{border-bottom:none}table.clickable tbody tr{cursor:pointer}table.clickable tbody tr:hover,.card table tbody tr:hover{background:var(--surface-2)}.paper table tbody tr:hover{background:none}.badge{display:inline-flex;align-items:center;gap:.35rem;height:22px;padding:0 .55rem;border-radius:99px;font-size:.74rem;font-weight:550;text-transform:capitalize;letter-spacing:0;background:var(--surface-2);color:var(--muted)}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}.badge.sent{color:var(--accent);background:var(--accent-soft)}.badge.paid{color:var(--success);background:var(--success-soft)}.badge.overdue{color:var(--danger);background:var(--danger-soft)}.badge.void{text-decoration:line-through}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.stat{padding:1.1rem 1.25rem;display:flex;flex-direction:column;gap:.15rem;transition:transform var(--med) var(--ease),box-shadow var(--med) var(--ease)}.stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat .label{margin:0;color:var(--muted)}.stat strong{font-size:1.5rem;font-weight:650;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.tabs{display:inline-flex;gap:2px;margin-bottom:1rem;padding:3px;background:var(--surface-2);border-radius:var(--radius);border:1px solid var(--rule)}.tab{height:30px;padding:0 .85rem;font-size:.84rem;font-weight:500;background:none;color:var(--muted);box-shadow:none;border-radius:7px}.tab:hover{background:none;color:var(--ink)}.tab.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.notice{padding:.75rem 1rem;border-radius:var(--radius);font-size:.9rem;margin-bottom:1rem;background:var(--warn-soft);color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 18%,transparent);animation:slide-down var(--med) var(--ease) both}.notice.success{background:var(--success-soft);color:var(--success);border-color:color-mix(in srgb,var(--success) 18%,transparent)}.notice.info{background:var(--accent-soft);color:var(--ink-2);border-color:color-mix(in srgb,var(--accent) 16%,transparent)}.modal-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:1rem;background:#09090b73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in var(--med) var(--ease) both}.modal{background:var(--surface);border-radius:18px;padding:1.5rem;width:min(560px,100%);max-height:calc(100vh - 2rem);overflow-y:auto;box-shadow:var(--shadow-lg);animation:modal-in .26s var(--ease-spring) both}.modal.wide{width:min(1100px,100%)}.modal header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.modal-backdrop.closing{animation:fade-out .16s var(--ease) both}.modal-backdrop.closing .modal{animation:modal-out .16s var(--ease) both}.auth,.onboarding{min-height:100vh;display:grid;place-items:center;padding:1rem;background:radial-gradient(1200px 600px at 50% -10%,var(--accent-soft),transparent 70%),var(--bg)}.auth-card{width:min(400px,100%);padding:2.25rem;display:flex;flex-direction:column;gap:1.1rem;animation:modal-in .36s var(--ease) both}.auth-card h1{font-size:1.35rem}.auth-card button[type=submit]{height:42px}.onboarding-card{width:min(640px,100%);padding:2.25rem;display:flex;flex-direction:column;gap:1rem;animation:modal-in .36s var(--ease) both}.onboarding-card>button.link{align-self:center}.org-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.org-card{padding:1.25rem;display:flex;flex-direction:column;gap:.3rem;transition:transform var(--med) var(--ease),box-shadow var(--med) var(--ease),border-color var(--med)}.org-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.org-card.active{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.org-card .actions{justify-content:flex-start;margin-top:.8rem}.logo{display:block;max-width:100%;object-fit:contain;animation:fade-in var(--med) var(--ease) both}.logo-upload{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.logo-upload .actions{justify-content:flex-start}.logo-frame{height:76px;display:grid;place-items:center;border-radius:var(--radius);border:1px dashed var(--rule-strong);background:var(--surface-2);padding:.5rem}.logo-frame .logo{max-height:56px}.invoice-logo{max-height:64px;max-width:220px;margin-bottom:.9rem}.sidebar-logo{max-height:36px;max-width:160px;align-self:flex-start;margin-left:.5rem}.paper{padding:2.75rem;display:flex;flex-direction:column;gap:2rem}.paper-header{display:flex;justify-content:space-between;gap:2rem}.paper-header p,.bill-to p{margin-top:.35rem;line-height:1.55}.bill-to .label{color:var(--muted)}.invoice-title{letter-spacing:.12em;font-size:1.35rem;font-weight:700}.paper thead th{background:none;border-bottom:1px solid var(--rule-strong);padding-left:.75rem;padding-right:.75rem}.paper td{padding-left:.75rem;padding-right:.75rem}.paper .totals{align-self:flex-end;min-width:300px}.notes .label{color:var(--muted)}.status-actions{display:flex;gap:.5rem;margin-top:1rem;align-items:center;flex-wrap:wrap}.totals{display:grid;grid-template-columns:1fr auto;row-gap:.5rem;column-gap:0;margin:0}.totals dt{color:var(--muted)}.totals dd{margin:0;padding-left:1.5rem;text-align:right;font-variant-numeric:tabular-nums}.totals .grand{font-weight:650;font-size:1.15rem;color:var(--ink);border-top:1px solid var(--rule-strong);padding-top:.7rem;margin-top:.2rem}.totals-row{display:contents}.review{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:1.25rem;margin-bottom:1rem}.email-preview{padding:1.1rem 1.25rem;align-self:start;box-shadow:none}.email-meta{display:grid;grid-template-columns:auto 1fr;gap:.35rem .9rem;margin:0 0 1rem;font-size:.88rem}.email-meta dt{color:var(--muted)}.email-meta dd{margin:0;overflow-wrap:anywhere}.email-body{border-top:1px solid var(--rule);padding-top:1rem;margin:0 0 1rem;line-height:1.6}.attachment{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .75rem;border:1px solid var(--rule-strong);border-radius:var(--radius);font-size:.85rem;background:var(--surface-2)}.pdf-preview{display:flex;flex-direction:column;gap:.5rem}.pdf-frame{width:100%;height:min(70vh,740px);border:1px solid var(--rule);border-radius:var(--radius);background:#fff;animation:fade-in var(--med) var(--ease) both}.pdf-loading{display:grid;place-items:center;background:var(--surface-2)}.editor{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1.5rem;align-items:start}.sheet{padding:.5rem 2rem}.sheet-section{padding:1.5rem 0;display:flex;flex-direction:column;gap:.9rem}.sheet-section+.sheet-section{border-top:1px solid var(--rule)}.section-label{display:flex;justify-content:space-between;align-items:center;gap:.75rem;min-height:28px;font-size:.82rem;font-weight:600;color:var(--muted)}.customer-select{height:46px;font-size:1rem;font-weight:550}.customer-card{display:flex;gap:.9rem;align-items:flex-start;padding:.9rem 1rem;background:var(--surface-2);border-radius:var(--radius);animation:slide-down var(--med) var(--ease) both}.avatar{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:.85rem;font-weight:650;background:var(--accent-soft);color:var(--accent)}.customer-card .who{display:flex;flex-direction:column;gap:.1rem;line-height:1.45;font-size:.9rem;min-width:0}.line-items{display:flex;flex-direction:column;gap:.25rem}.line-row{display:flex;flex-direction:column;gap:.55rem;padding:.75rem;margin:0 -.75rem;border-radius:12px;transition:background var(--fast) var(--ease),box-shadow var(--fast) var(--ease);animation:row-in .28s var(--ease) both}.line-row:hover{background:var(--surface-2)}.line-row:focus-within{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--rule-strong)}.line-row.leaving{animation:row-out .2s var(--ease) both;pointer-events:none;overflow:hidden}.line-main{display:flex;gap:.5rem;align-items:center}.line-main .line-remove{opacity:0;transition:opacity var(--fast) var(--ease),background var(--fast),color var(--fast)}.line-row:hover .line-remove,.line-row:focus-within .line-remove{opacity:1}.ghost{background-color:transparent;border-color:transparent;box-shadow:none}.ghost:hover{background-color:var(--surface);border-color:var(--rule-strong)}.ghost:focus{background-color:var(--surface);border-color:var(--accent);box-shadow:0 0 0 4px var(--ring)}.line-desc{flex:1;height:38px;font-size:.97rem;font-weight:550;padding-left:.6rem}.service-pick{flex:0 1 190px;width:auto;height:32px;font-size:.82rem;color:var(--muted);background-color:var(--surface);border-color:var(--rule)}.line-row:not(:hover):not(:focus-within) .service-pick{background-color:transparent;border-color:transparent}.line-meta{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1.1fr) minmax(0,1fr) 118px;gap:.5rem;align-items:center;padding-left:.1rem}.prop{display:flex;align-items:center;height:36px;min-width:0;border-radius:var(--radius-sm);border:1px solid var(--rule-strong);background:var(--surface);transition:border-color var(--fast) var(--ease),box-shadow var(--fast) var(--ease)}.prop:hover{border-color:#18181b38}.prop:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--ring)}.prop-label{padding:0 .1rem 0 .65rem;font-size:.75rem;font-weight:500;color:var(--faint);white-space:nowrap}.prop input,.prop select{height:34px;border:none;box-shadow:none;background-color:transparent;border-radius:0;min-width:0;font-size:.88rem}.prop input:focus,.prop select:focus{box-shadow:none}.prop input{flex:1 1 3rem;padding:0 .45rem}.prop select{flex:0 1 auto;width:auto;padding-left:.3rem;padding-right:1.8rem;background-position:right .4rem center;background-size:14px;color:var(--ink-2)}.prop select.grow{flex:1 1 auto;width:100%}.prop .suffix{padding-right:.65rem;font-size:.82rem;color:var(--faint)}.line-amount{text-align:right;font-weight:600;font-size:.97rem;font-variant-numeric:tabular-nums;white-space:nowrap;padding-right:.25rem}.line-hint{padding-left:.1rem;animation:fade-in var(--med) var(--ease) both}.add-row{height:40px;justify-content:flex-start;padding:0 .75rem;margin:0 -.75rem;background:none;color:var(--muted);box-shadow:none;border:1px dashed transparent;border-radius:12px;font-weight:500}.add-row:hover{background:var(--surface-2);color:var(--ink);border-color:var(--rule-strong)}.add-row .plus{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;background:var(--surface-2);color:var(--ink-2);font-size:1rem;transition:background var(--fast),color var(--fast)}.add-row:hover .plus{background:var(--accent);color:var(--accent-ink)}.side{padding:1.4rem;display:flex;flex-direction:column;gap:1.15rem;position:sticky;top:1.5rem}.side-number{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.side-number strong{font-size:.95rem;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side .field{display:flex;flex-direction:column;gap:.45rem}.side .field>.label{margin:0;display:flex;justify-content:space-between;align-items:center}.resolved{font-size:.85rem;color:var(--muted)}.resolved strong{color:var(--ink);font-weight:550}.date-range{display:grid;grid-template-columns:1fr auto 1fr;gap:.4rem;align-items:center}.date-range input{padding:0 .5rem;font-size:.85rem;height:38px}.side hr{border:none;border-top:1px solid var(--rule);margin:.15rem 0}.side .totals{font-size:.92rem}.side .totals .grand{font-size:1.3rem;letter-spacing:-.02em}.number-roll{display:inline-block;animation:tick .26s var(--ease) both}.skeleton{display:flex;flex-direction:column;gap:.9rem}.skeleton span{display:block;height:16px;border-radius:8px;background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.3s linear infinite}.skeleton span.lg{height:34px;width:40%}.skeleton span.block{height:160px;border-radius:var(--radius-lg)}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}@keyframes modal-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(4px) scale(.98)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}@keyframes row-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes row-out{0%{opacity:1;transform:none;max-height:160px}to{opacity:0;transform:translate(8px);max-height:0;padding-top:0;padding-bottom:0}}@keyframes tick{0%{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:none}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}@media(max-width:1080px){.editor{grid-template-columns:1fr}.side{position:static}}@media(max-width:800px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{flex-direction:row;flex-wrap:wrap}.content{padding:1.25rem 1rem 3rem}.stats,.form-grid{grid-template-columns:1fr}.paper{padding:1.25rem}.paper-header{flex-direction:column}.paper-header .right{text-align:left}.review{grid-template-columns:1fr}.pdf-frame{height:60vh}.sheet{padding:.25rem 1rem}.line-meta{grid-template-columns:1fr 1fr}.line-amount{text-align:left}.line-main .line-remove{opacity:1}}.stack{display:flex;flex-direction:column;gap:.5rem}
