.item-autocomplete{position:relative;min-width:0}.item-autocomplete>input{width:100%;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--ink);font-size:15px;font-weight:500;transition:border-color .12s ease}.item-autocomplete>input:hover{border-color:var(--line-strong)}.item-autocomplete>input:focus{border-color:var(--line-strong);outline:none;box-shadow:0 0 0 3px var(--focus)}.item-autocomplete>input:disabled{background:var(--canvas);border-color:transparent;color:var(--ink);opacity:1}.item-hint{display:block;margin-top:6px;font-size:12.5px;line-height:1.45;color:var(--muted)}.item-hint.duplicate{color:var(--danger)}.item-suggestions{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;max-height:296px;margin:0;padding:6px;overflow-y:auto;list-style:none;background:var(--bg);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-pop)}.item-suggestions li{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px;padding:8px 10px;border-radius:9px;font-size:14px;line-height:1.35;cursor:pointer}.item-suggestions li:hover,.item-suggestions li.active{background:var(--fill)}.item-suggestions small{flex-shrink:0;font-size:12px;color:var(--muted)}@media(max-width:640px){.item-autocomplete>input{height:44px;font-size:16px}.item-suggestions li{flex-direction:column;align-items:flex-start;gap:2px}}@font-face{font-family:Studio;src:url(/fonts/studio-regular.ttf);font-weight:400;font-display:swap}@font-face{font-family:Studio;src:url(/fonts/studio-medium.ttf);font-weight:500;font-display:swap}@font-face{font-family:Studio;src:url(/fonts/studio-semibold.ttf);font-weight:600;font-display:swap}:root{--canvas: #fafafa;--side: #f4f4f5;--surface: #ffffff;--sunken: #f4f4f5;--hover: #efeff1;--pressed: #e7e7ea;--ink: #18181b;--body: #3f3f46;--muted: #71717a;--faint: #a1a1aa;--rule: #f0f0f2;--line: #e6e6e9;--line-strong: #d4d4d8;--green: #15803d;--green-fill: #effaf2;--green-line: #c7ebd2;--danger: #b42318;--danger-fill: #fef3f2;--focus: rgb(24 24 27 / .12);--radius-card: 18px;--radius: 10px;--shadow-pop: 0 1px 2px rgb(0 0 0 / .04), 0 12px 32px rgb(0 0 0 / .08);--shadow-sheet: 0 1px 2px rgb(0 0 0 / .05), 0 24px 64px rgb(0 0 0 / .14);--bg: var(--surface);--fill: var(--sunken);color-scheme:light;font-family:Studio,-apple-system,Helvetica Neue,Arial,sans-serif;font-size:14.5px;line-height:1.5;color:var(--ink);background:var(--canvas);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;background:var(--canvas)}h1,h2,h3,p,dl,dd{margin:0}h1,h2,h3{font-weight:500;text-wrap:balance}p{text-wrap:pretty}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{padding:0;border:0;background:none;cursor:pointer;text-align:inherit}button:disabled{cursor:default}button,a,summary,label{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}ul{margin:0;padding:0;list-style:none}svg{flex-shrink:0}kbd{font:inherit}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.icon{display:block}.tabular{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes slide{0%{opacity:0;transform:translate(24px)}}@media(prefers-reduced-motion:reduce){.spin{animation-duration:3s}*,*::backdrop{transition:none!important;animation-duration:1ms!important}}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 15px;border:1px solid transparent;border-radius:999px;font-size:14px;font-weight:500;white-space:nowrap;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,opacity .12s ease}.button.primary{background:var(--ink);color:#fff;box-shadow:0 1px 2px #0000001f}.button.primary:hover:not(:disabled){background:#2f2f33}.button.secondary{background:var(--surface);border-color:var(--line);color:var(--ink);box-shadow:0 1px 2px #0000000a}.button.secondary:hover:not(:disabled){background:var(--canvas);border-color:var(--line-strong)}.button:active:not(:disabled){transform:translateY(.5px)}.button.danger{background:var(--danger);color:#fff;box-shadow:0 1px 2px #0000001f}.button.danger:hover:not(:disabled){background:#912018}.button:disabled{opacity:.38}.button.large{height:46px;padding:0 20px;font-size:15px}.button.small{height:34px;padding:0 13px;font-size:13.5px}.icon-button{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:999px;color:var(--muted);transition:background .12s ease,color .12s ease}.icon-button:hover:not(:disabled){background:var(--hover);color:var(--ink)}.icon-button:disabled{opacity:.35}.icon-button.remove:hover:not(:disabled){color:var(--danger);background:var(--danger-fill)}.text-button{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13.5px;border-radius:6px;transition:color .12s ease}.text-button:hover:not(:disabled){color:var(--ink)}.text-button.add{color:var(--ink);font-weight:500}.text-button:disabled{opacity:.4}.row-icon{display:inline-grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:9px;background:var(--sunken);color:var(--body)}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex-shrink:0;width:18px;height:18px;margin:0;border:1px solid var(--line-strong);border-radius:5px;background:var(--surface) center / 12px 12px no-repeat;box-shadow:0 1px 2px #0000000a;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}input[type=checkbox]:hover:not(:disabled){border-color:var(--muted)}input[type=checkbox]:checked{border-color:var(--ink);background-color:var(--ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='4.5 10.5 8.5 14.5 15.5 6'/%3E%3C/svg%3E")}input[type=checkbox]:focus-visible{outline:2px solid var(--ink);outline-offset:2px}input[type=checkbox]:disabled{opacity:.45;cursor:default}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:13px;color:var(--muted)}.field-hint{font-size:12.5px;color:var(--muted);line-height:1.45}.field input,.field select,.field textarea,.field-row input,.field-row select,.inline-form input,.client-pick select,.review-fields select{width:100%;min-width:0;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-size:14.5px;transition:border-color .12s ease,box-shadow .12s ease}.field textarea{height:auto;padding:10px 12px;line-height:1.5;resize:vertical}.field select,.field-row select,.client-pick select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 20 20' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='5 8 10 13 15 8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}:is(.field,.field-row,.inline-form,.client-pick,.review-fields) :is(input,select,textarea):hover:not(:disabled){border-color:var(--line-strong)}:is(.field,.field-row,.inline-form,.client-pick,.review-fields,.money) :is(input,select,textarea):focus{outline:none;border-color:var(--line-strong);box-shadow:0 0 0 3px var(--focus)}:is(.field,.field-row) :is(input,select,textarea):disabled{background:var(--canvas);border-color:transparent;color:var(--body);opacity:1}::placeholder{color:var(--faint);opacity:1}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field-rows{display:flex;flex-direction:column}.field-row{display:grid;grid-template-columns:172px minmax(0,1fr);align-items:start;gap:16px;padding:6px 0}.field-row-label{display:flex;align-items:center;gap:10px;min-height:40px;color:var(--muted);font-size:14px}.field-row-label .icon{color:var(--faint)}.field-row-control{display:flex;flex-direction:column;gap:6px;min-width:0}.field-row input[type=date]{max-width:220px}.field-row select{max-width:260px}fieldset{margin:0;padding:0;border:0;min-width:0}fieldset:disabled .text-button,fieldset:disabled .add-item,fieldset:disabled .pills,fieldset:disabled .drop,fieldset:disabled .remove,fieldset:disabled .room-tools .text-button,fieldset:disabled .presets{display:none}.chip{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--body);font-size:12.5px;font-weight:500;white-space:nowrap}.chip.status.issued{background:var(--green-fill);border-color:var(--green-line);color:var(--green)}.chip.status.deleted{background:var(--danger-fill);border-color:#f5d0cc;color:var(--danger)}.chip.status.draft{background:var(--sunken);border-color:transparent;color:var(--muted)}.chip.person{height:28px;padding:0 10px 0 3px;font-size:13.5px;color:var(--ink);transition:border-color .12s ease}.chip.person:hover{border-color:var(--line-strong)}.initials{display:inline-grid;place-items:center;width:30px;height:30px;flex-shrink:0;border-radius:999px;background:var(--sunken);box-shadow:inset 0 0 0 1px #0000000a;color:var(--body);font-size:11.5px;font-weight:600;letter-spacing:.02em}.initials.tiny{width:22px;height:22px;font-size:9.5px}.initials.large{width:48px;height:48px;font-size:16px}.pills{display:flex;flex-wrap:wrap;gap:8px}.pills button,.pills label{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:13.5px;cursor:pointer;transition:border-color .12s ease,background .12s ease}.pills button:hover,.pills label:hover{border-color:var(--line-strong)}.pills label.chosen{background:var(--ink);border-color:var(--ink);color:#fff}.pills input{position:absolute;opacity:0;pointer-events:none}.pills label:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:2px}.pill-select{position:relative;display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--body);box-shadow:0 1px 2px #00000008;font-size:13.5px;font-weight:500}.pill-select:hover{border-color:var(--line-strong)}.pill-select select{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.pill-select:has(select:focus-visible){outline:2px solid var(--ink);outline-offset:2px}.badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--body);font-size:11.5px;font-weight:600}.app{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100dvh;background:linear-gradient(to right,var(--side) 252px,var(--canvas) 252px)}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:28px;padding:16px 14px 18px;background:var(--side);overflow-y:auto}.studio-pill{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;height:44px;padding:0 14px 0 7px;border:1px solid var(--line);border-radius:999px;background:var(--surface);box-shadow:0 1px 2px #0000000a;font-size:14.5px;font-weight:500;transition:border-color .12s ease}.studio-pill:hover{border-color:var(--line-strong)}.studio-pill>.icon{color:var(--faint)}.pill-mark{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--ink)}.pill-mark svg{width:13px;height:13px;fill:#fff}.nav{display:flex;flex-direction:column;gap:2px}.nav-item,.recent-item{display:flex;align-items:center;gap:11px;width:100%;min-height:38px;padding:0 12px;border-radius:999px;color:var(--muted);font-size:14.5px;transition:background .12s ease,color .12s ease}.nav-item>span:first-of-type{flex:1}.nav-item:hover,.recent-item:hover{color:var(--ink);background:var(--hover)}.nav-item[aria-current=page],.recent-item[aria-current=page]{color:var(--ink);background:var(--pressed);font-weight:500}.nav-item kbd{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:6px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-size:11.5px;color:var(--muted)}.recent{display:flex;flex-direction:column;gap:2px}.recent h2{padding:0 12px 6px;font-size:12px;color:var(--faint);font-weight:500}.recent-item{justify-content:space-between;border-radius:12px;padding:7px 12px}.recent-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-item small{color:var(--faint);font-size:12px;white-space:nowrap}.sidebar-foot{margin-top:auto;padding:0 12px}.sidebar-foot img{display:block;height:22px;width:auto;opacity:.55}.main{min-width:0;padding:0 0 64px}.mobile-top,.tabbar{display:none}.preview-bar{display:flex;gap:10px;align-items:center;margin:14px 40px 0;padding:9px 14px;border-radius:12px;background:var(--sunken);font-size:13px;color:var(--muted)}.preview-bar strong{color:var(--ink);font-weight:500}.alert{display:flex;align-items:center;gap:12px;margin:14px 40px 0;padding:10px 10px 10px 16px;border:1px solid #f5d0cc;border-radius:14px;background:var(--danger-fill);color:var(--danger)}.alert p{flex:1;font-size:14px;color:#7a271a}.alert .text-button{color:#7a271a;text-decoration:underline;text-underline-offset:3px}.toast{position:fixed;z-index:50;left:50%;bottom:24px;transform:translate(-50%);display:flex;align-items:center;gap:10px;width:max-content;max-width:min(440px,calc(100vw - 32px));padding:12px 18px;border-radius:16px;background:var(--ink);color:#fff;font-size:14px;box-shadow:var(--shadow-pop);animation:rise .16s ease-out}.loading{display:flex;align-items:center;justify-content:center;gap:10px;min-height:100dvh;color:var(--muted)}.page{max-width:1120px;margin:0 auto;padding:44px 40px 0}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.page-head h1{font-size:32px;line-height:1.15;letter-spacing:-.022em}.page-head p{margin-top:6px;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}.stats{display:grid;grid-template-columns:220px repeat(3,minmax(0,1fr));margin-bottom:18px}.stats>*{padding:22px 24px;min-width:0}.stats>*+*{border-left:1px solid var(--line)}.stats-period{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px}.stats-period small{color:var(--faint);font-size:12px}.stat{display:flex;flex-direction:column;gap:4px}.stat>span{color:var(--muted);font-size:14px}.stat .amount{font-size:26px}.stat small{color:var(--faint);font-size:12.5px}.amount{font-weight:500;letter-spacing:-.02em;line-height:1.2;white-space:nowrap}.amount .fraction{color:var(--faint);font-size:.62em;letter-spacing:0}.amount.check{color:var(--danger);font-size:15px!important}.list-card{padding:10px}.list-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:2px 2px 12px}.list-tools-end{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.segmented{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:var(--sunken)}.segmented button{height:32px;padding:0 15px;border-radius:999px;color:var(--muted);font-size:13.5px;transition:background .12s ease,color .12s ease}.segmented button:hover{color:var(--ink)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);font-weight:500;box-shadow:0 1px 2px #0000000f,0 0 0 1px #0000000a}.search{display:flex;align-items:center;gap:8px;width:260px;height:36px;padding:0 6px 0 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--faint);transition:border-color .12s ease,box-shadow .12s ease}.search:focus-within{border-color:var(--line-strong);box-shadow:0 0 0 3px var(--focus)}.search input{flex:1;min-width:0;height:100%;border:0;background:none;color:var(--ink);font-size:14px;outline:none}.search .icon-button{width:26px;height:26px}.table-head{padding:0 14px;min-height:40px;border-radius:12px;background:var(--sunken);color:var(--muted);font-size:13px;align-items:center}.doc-grid{display:grid;grid-template-columns:92px minmax(0,1.3fr) minmax(0,1.2fr) 120px 112px 72px;gap:16px;align-items:center}.client-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.2fr) 90px 72px;gap:16px;align-items:center}.end{text-align:right;justify-self:end}.rows{margin-top:4px}.row{width:100%;min-height:60px;padding:8px 14px;border-radius:12px;transition:background .12s ease}.row:hover{background:var(--canvas)}.rows li+li .row{box-shadow:0 -1px 0 var(--rule)}.rows li:hover+li .row,.rows li+li .row:hover{box-shadow:none}.row small{display:block;color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-ref{font-weight:500;display:flex;align-items:baseline;gap:6px}.cell-ref small{display:inline;color:var(--faint)}.cell-client{display:flex;align-items:center;gap:11px;min-width:0}.cell-client>span:last-child,.cell-client strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-client strong{font-weight:500;display:block}.cell-doc{min-width:0}.cell-doc>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--body)}.cell-amount{font-weight:500;white-space:nowrap}.cell-date,.cell-muted{color:var(--muted);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell-count{color:var(--body)}.empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:64px 24px;text-align:center}.empty h2{font-size:18px;margin-top:6px}.empty p{color:var(--muted);max-width:360px}.empty.small{padding:40px 24px;color:var(--faint)}.empty.small h2{font-size:15px;color:var(--ink)}.empty-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--sunken);color:var(--body)}.empty-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;justify-content:center}.modal{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sheet);overflow:auto}.modal::backdrop{background:#18181b47}.modal[open]{animation:rise .18s ease-out}.modal-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 12px 14px 20px;background:var(--surface)}.modal-title{min-width:0}.modal-head h2{font-size:16px}.modal-head p{margin-top:2px;color:var(--muted);font-size:13.5px;overflow-wrap:anywhere}.modal-actions{display:flex;align-items:center;gap:2px}.modal-actions .divider{width:1px;height:18px;margin:0 6px;background:var(--line)}.modal-note{margin:4px 20px 20px;padding-top:14px;border-top:1px solid var(--rule);color:var(--muted);font-size:13px}.modal-note strong{color:var(--ink);font-weight:500}.sheet{width:min(460px,calc(100vw - 24px));height:calc(100dvh - 24px);max-height:none;margin:12px 12px 12px auto;border-radius:22px;background:var(--canvas);display:none}.sheet[open]{display:flex;flex-direction:column;animation:slide .2s ease-out}.sheet .modal-head{background:var(--canvas)}.sheet-body{flex:1;margin:0 8px;padding:20px 18px;border:1px solid var(--line);border-radius:18px;background:var(--surface);display:flex;flex-direction:column;gap:20px}.sheet-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px}.sheet-amount{display:flex;flex-direction:column;gap:2px}.sheet-amount>span{color:var(--muted);font-size:13.5px}.sheet-amount .amount{font-size:38px;letter-spacing:-.03em}.sheet-amount small{color:var(--muted);font-size:13px}.details{display:flex;flex-direction:column;gap:2px}.detail-row{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;align-items:center;min-height:34px}.detail-row dt{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px}.detail-row dt .icon{color:var(--faint)}.detail-row dd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;font-size:14px;overflow-wrap:anywhere}.disclosure{border-radius:14px;background:var(--sunken)}.disclosure-head{display:flex;align-items:center;gap:10px;width:100%;padding:14px 16px;font-weight:500}.disclosure-head small{margin-left:auto;color:var(--muted);font-weight:400;font-size:13px}.disclosure-head .caret{color:var(--muted);transition:transform .16s ease}.disclosure.open .disclosure-head .caret{transform:rotate(180deg)}.disclosure-body{margin:0 16px;padding:12px 0 14px;border-top:1px solid var(--line)}.kv li{display:flex;justify-content:space-between;gap:16px;padding:5px 0;font-size:14px}.kv li span:first-child{color:var(--muted)}.kv li.strong span{color:var(--ink);font-weight:500}.attachment h3{margin-bottom:8px;color:var(--muted);font-size:12.5px;font-weight:400}.file-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 8px 10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}button.file-row{transition:border-color .12s ease,background .12s ease}button.file-row:hover{border-color:var(--line-strong)}.file-list{display:flex;flex-direction:column;gap:6px}.file-badge{display:grid;place-items:center;width:30px;height:36px;border-radius:6px;background:var(--sunken);box-shadow:inset 0 0 0 1px var(--line);color:var(--muted);font-size:9px;font-weight:600;letter-spacing:.04em}.file-name{flex:1;min-width:0;display:flex;flex-direction:column}.file-name>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.file-name small{color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-hero{display:flex;align-items:center;gap:14px}.client-hero h3{font-size:22px;letter-spacing:-.016em}.client-hero p{color:var(--muted)}.menu{position:relative}.menu-list{position:absolute;z-index:10;top:calc(100% + 6px);right:0;min-width:220px;padding:6px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-pop);animation:rise .12s ease-out}.menu-list button{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:0 10px;border-radius:9px;font-size:14px;white-space:nowrap}.menu-list button .icon{color:var(--muted)}.menu-list button:hover,.menu-list button:focus-visible{background:var(--sunken);outline:none}.menu-list button.danger,.menu-list button.danger .icon{color:var(--danger)}.menu-list button.danger{margin-top:4px;box-shadow:0 -1px 0 var(--rule);border-radius:0 0 9px 9px}.choose-modal .choices{display:flex;flex-direction:column;gap:2px;padding:0 10px 8px}.choice{display:flex;align-items:center;gap:14px;width:100%;padding:10px;border-radius:14px;transition:background .12s ease}.choice:hover{background:var(--sunken)}.choice>span:nth-child(2){flex:1;display:flex;flex-direction:column}.choice strong{font-weight:500}.choice small{color:var(--muted);font-size:13px}.choice>.icon{color:var(--faint)}.choice .row-icon,.menu-rows .row-icon{width:38px;height:38px;border-radius:11px}.client-pick{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;margin:0 20px 12px;padding:6px 6px 6px 14px;border-radius:14px;background:var(--sunken)}.client-pick .field-row-label{min-height:0}.client-pick select{background-color:var(--surface)}.account-who{display:flex;gap:14px;align-items:center;margin:0 20px 14px;padding:14px;border-radius:14px;background:var(--sunken)}.account-who>div{display:flex;flex-direction:column;min-width:0}.account-who strong{font-weight:500}.account-who span{color:var(--muted);font-size:13px}.menu-rows{display:flex;flex-direction:column;gap:2px;padding:0 10px 12px}.menu-rows form{display:contents}.menu-rows button,.menu-rows a{display:flex;align-items:center;gap:14px;width:100%;padding:10px;border-radius:14px;transition:background .12s ease}.menu-rows button:hover,.menu-rows a:hover{background:var(--sunken)}.menu-rows span:nth-child(2){flex:1;display:flex;flex-direction:column}.menu-rows small{color:var(--muted);font-size:13px}.menu-rows>*>.icon,.menu-rows form button>.icon{color:var(--faint)}.search-modal{width:min(600px,calc(100vw - 32px));margin-top:12vh}.search-modal .search.large{width:auto;height:46px;margin:0 16px;border-radius:14px;font-size:15px}.search-modal .search.large input{font-size:15px}.search-label{margin:16px 20px 6px;color:var(--faint);font-size:12px;font-weight:500}.search-results{padding:0 10px 12px}.search-results button{display:flex;align-items:center;gap:12px;width:100%;padding:8px 10px;border-radius:12px}.search-results button.active{background:var(--sunken)}.search-empty{padding:4px 20px 24px;font-size:14px}.list-note{padding:10px 14px 4px;color:var(--muted);font-size:13px}.deleted-note{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:14px;background:var(--danger-fill);color:#7a271a;font-size:13.5px}.deleted-note .row-icon{background:var(--surface);color:var(--danger)}.confirm-modal{width:min(460px,calc(100vw - 32px))}.confirm-body{display:flex;flex-direction:column;gap:16px;padding:0 20px 4px;color:var(--body);font-size:14px}.confirm-foot{display:flex;justify-content:flex-end;gap:8px;padding:18px 16px 16px}.editor{max-width:1240px;margin:0 auto;padding:18px 40px 0}.editor-top{display:flex;align-items:center;gap:10px;min-height:40px}.crumb{display:inline-flex;white-space:nowrap;align-items:center;gap:8px;height:34px;padding:0 12px 0 10px;border-radius:999px;color:var(--muted);font-size:14px;transition:background .12s ease,color .12s ease}.crumb:hover{background:var(--hover);color:var(--ink)}.crumb-current{color:var(--faint);font-size:14px}.crumb-current:before{content:"/";margin-right:10px;color:var(--line-strong)}.save-state{display:inline-flex;white-space:nowrap;align-items:center;gap:6px;margin-left:auto;height:28px;padding:0 11px;border-radius:999px;background:var(--sunken);color:var(--muted);font-size:12.5px}.save-state.saved{color:var(--green);background:var(--green-fill)}.doc-head{padding:22px 0}.eyebrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:13.5px}.eyebrow .chip{margin-left:4px}.doc-head h1{margin-top:6px;font-size:32px;line-height:1.15;letter-spacing:-.022em;overflow-wrap:anywhere}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 312px;gap:22px;align-items:start}.editor-main{display:flex;flex-direction:column;gap:14px;min-width:0}.editor-card{padding:6px 22px 20px}.editor-card.collapsible{padding-bottom:6px}.editor-card.collapsible.open{padding-bottom:20px}.card-head{display:flex;align-items:baseline;gap:12px;width:100%;padding:14px 0 12px}.card-head h2{font-size:16px}.card-note{margin-left:auto;color:var(--muted);font-size:13px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-head.toggle{align-items:center}.card-head .caret{color:var(--muted);transition:transform .16s ease}.editor-card.open .card-head .caret{transform:rotate(180deg)}.issued-note{display:flex;align-items:center;gap:14px;padding:14px 14px 14px 16px;border:1px solid var(--green-line);border-radius:var(--radius-card);background:var(--green-fill)}.issued-note .row-icon{background:var(--surface);color:var(--green)}.issued-note p{flex:1;font-size:14px;color:#14532d}.work{display:flex;flex-direction:column;gap:14px}.compare-names{padding:4px 0}.room{border:1px solid var(--line);border-radius:14px}.room-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:6px 14px;background:var(--canvas);border-bottom:1px solid var(--line);border-radius:13px 13px 0 0}.room-head h3{display:flex;align-items:baseline;gap:10px;font-size:15px}.room-head h3 small{color:var(--faint);font-size:12.5px;font-weight:400}.room-tools{display:flex;align-items:center;gap:14px}.room-total{font-weight:500;font-size:14px}.inline-form{display:flex;align-items:center;gap:8px;flex:1}.inline-form input{max-width:320px;height:36px}.items>.item+.item{border-top:1px solid var(--rule)}.item{display:grid;grid-template-columns:minmax(0,1fr) auto 34px;gap:14px;align-items:start;padding:14px}.item.no-price{grid-template-columns:minmax(0,1fr) 34px}.item-text{display:flex;flex-direction:column;gap:6px;min-width:0}.item-detail{width:100%;min-height:36px;padding:7px 12px;border:1px solid transparent;border-radius:var(--radius);background:var(--canvas);color:var(--body);font-size:13.5px;line-height:1.45;resize:none;overflow:hidden;transition:border-color .12s ease,box-shadow .12s ease}.item-detail:hover:not(:disabled){border-color:var(--line)}.item-detail:focus{outline:none;background:var(--surface);border-color:var(--line-strong);box-shadow:0 0 0 3px var(--focus)}.item-price{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.item .remove{margin-top:3px}.money{display:flex;flex-direction:column;gap:4px}.money-label{font-size:12px;color:var(--muted)}.item-price>.money .money-label{display:none}.money-box,.quantity-box{display:flex;align-items:center;height:40px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);transition:border-color .12s ease,box-shadow .12s ease}.money-box:focus-within,.quantity-box:focus-within{border-color:var(--line-strong);box-shadow:0 0 0 3px var(--focus)}.money-box>span{padding:0 0 0 12px;color:var(--faint)}.money-box input{width:128px;height:100%;padding:0 12px 0 6px;border:0;background:none;text-align:right;font-variant-numeric:tabular-nums;font-size:14.5px;outline:none}.money input:focus{box-shadow:none!important}.money-box:has(input:disabled),.quantity-box:has(input:disabled){background:var(--canvas);border-color:transparent}.quantity-box input{width:72px;height:100%;padding:0 6px 0 12px;border:0;background:none;text-align:right;outline:none}.quantity-box select{height:100%;padding:0 10px 0 4px;border:0;background:none;color:var(--muted);font-size:13px;outline:none}.by-quantity{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;justify-content:flex-end}.by-quantity .money-box input{width:96px}.line-total{align-self:center;padding-top:18px;font-weight:500;white-space:nowrap}.switch{font-size:12.5px}.add-item{display:flex;align-items:center;gap:8px;width:100%;padding:12px 14px;border-top:1px solid var(--rule);border-radius:0 0 13px 13px;color:var(--muted);font-size:14px;transition:background .12s ease,color .12s ease}.add-item:hover{background:var(--canvas);color:var(--ink)}.add-room{display:flex;flex-direction:column;gap:10px;padding:4px 0}.add-room p{color:var(--muted);font-size:13.5px}.add-room.first{padding:22px;border:1px dashed var(--line-strong);border-radius:14px}.add-room.first p{color:var(--body);font-size:14.5px}.totals{display:flex;flex-direction:column;gap:16px}.total-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;color:var(--body)}.total-row strong{font-weight:500}.total-row.grand{padding-top:16px;border-top:1px solid var(--line);color:var(--ink);font-weight:500}.total-row.grand .amount{font-size:26px}.choice-field{display:flex;flex-direction:column;gap:10px}.choice-field legend{margin-bottom:10px;font-size:13px;color:var(--muted)}.payments{display:flex;flex-direction:column;gap:14px;padding-top:18px;border-top:1px solid var(--line)}.payments h3{font-size:15px}.payment{display:grid;grid-template-columns:160px 170px minmax(0,1fr) 34px;gap:12px;align-items:end}.payment .remove{margin-bottom:3px}.terms{display:flex;flex-direction:column;gap:18px;padding:16px;border-radius:14px;background:var(--sunken)}.terms .field input,.terms .field textarea,.terms .field select{background-color:var(--surface)}.presets{display:flex;flex-direction:column;gap:8px}.presets>span{font-size:13px;color:var(--muted)}.drawings{display:flex;flex-direction:column;gap:10px}.drawing{display:grid;grid-template-columns:112px minmax(0,1fr) auto;gap:16px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:14px}.drawing img{width:112px;height:84px;object-fit:cover;border-radius:9px;background:var(--sunken);box-shadow:inset 0 0 0 1px #0000000d}.drawing-fields{display:flex;flex-direction:column;gap:10px;min-width:0}.drawing-tools{display:flex;gap:2px}.drop{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;padding:26px 16px;border:1px dashed var(--line-strong);border-radius:14px;text-align:center;transition:border-color .12s ease,background .12s ease}.drop:hover,.drop.over{border-color:var(--ink);background:var(--canvas)}.drop strong{font-weight:500;margin-top:4px}.drop>span:last-child{font-size:13px;color:var(--muted)}.rail{position:sticky;top:16px;display:flex;flex-direction:column;gap:14px}.rail-card{display:flex;flex-direction:column;gap:2px;padding:20px}.rail-label{color:var(--muted);font-size:13.5px}.rail-card .amount{font-size:34px;letter-spacing:-.03em}.rail-card .amount.second{font-size:22px}.rail-card .amount.second,.rail-card .rail-label+.amount.second{margin-bottom:0}.rail-card .amount+.rail-label{margin-top:12px}.rail-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.rail-actions .button{padding:0 10px}.checklist-card{padding:18px 20px;display:flex;flex-direction:column;gap:18px}.checklist-card.inline{display:none}.checklist h2,.next-links h2{margin-bottom:8px;font-size:13px;color:var(--muted);font-weight:400}.checklist ul{display:flex;flex-direction:column;gap:8px}.checklist li,.checklist p{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;color:var(--body);line-height:1.45}.checklist li .icon{margin-top:2px;color:var(--faint)}.checklist p .icon{margin-top:2px;color:var(--green)}.next-links{display:flex;flex-direction:column;gap:2px}.checklist+.next-links{padding-top:16px;border-top:1px solid var(--rule)}.next-links button{display:flex;align-items:center;gap:12px;width:calc(100% + 16px);margin:0 -8px;padding:6px 8px;border-radius:12px;font-size:14px;transition:background .12s ease}.next-links button:hover{background:var(--sunken)}.next-links button>.icon{margin-left:auto;color:var(--faint)}.next-links .row-icon{width:30px;height:30px}.next-links button.danger{color:var(--danger)}.next-links button.danger .row-icon{background:var(--danger-fill);color:var(--danger)}.mobile-bar{display:none}.preview-modal{width:min(1240px,calc(100vw - 32px));height:calc(100dvh - 32px);max-height:none;display:none;background:var(--canvas);overflow:hidden}.preview-modal[open]{display:flex;flex-direction:column}.preview-modal .modal-head{background:var(--canvas)}.preview-layout{display:grid;grid-template-columns:minmax(0,1fr) 352px;gap:8px;flex:1;min-height:0;padding:0 8px 8px}.pages{overflow-y:auto;padding:28px;border-radius:16px;background:var(--hover);display:flex;flex-direction:column;align-items:center;gap:22px}.page-sheet,.pages .page{margin:0;width:100%;max-width:640px;padding:0}.paper{display:block;width:100%;height:auto;background:#fff;border-radius:4px;box-shadow:0 0 0 1px #0000000d,0 10px 30px #00000012}.pages figcaption{padding-top:8px;text-align:center;font-size:12px;color:var(--muted)}.notice{padding:12px 14px;border-radius:12px;background:var(--sunken);color:var(--body);font-size:14px}.notice.error{background:var(--danger-fill);color:var(--danger)}.review{overflow-y:auto;display:flex;flex-direction:column;gap:20px;padding:22px 20px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.review-total{display:flex;flex-direction:column;gap:2px}.review-total span{font-size:13.5px;color:var(--muted)}.review-total small{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:12.5px;color:var(--muted)}.review-total strong{font-size:32px;font-weight:500;letter-spacing:-.028em;line-height:1.2}.review-fields{display:flex;flex-direction:column;gap:14px;padding:14px;border-radius:14px;background:var(--sunken)}.review-fields .field input,.review-fields .field select{background-color:var(--surface)}.confirm{display:flex;gap:12px;align-items:flex-start;min-height:48px;padding:13px 14px;transition:border-color .12s ease,background .12s ease;border:1px solid var(--line);border-radius:14px;font-size:14px;cursor:pointer}.confirm input{margin-top:1px}.confirm:hover{border-color:var(--line-strong)}.confirm:has(input:checked){border-color:var(--line-strong);background:var(--canvas)}.review-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px}.review-actions .text-button{align-self:center}.review-actions p{font-size:12.5px;color:var(--muted);line-height:1.5;text-align:center}.signin{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100dvh;background:var(--surface)}.signin-panel{display:flex;flex-direction:column;padding:32px 48px}.signin-logo img{display:block;height:30px;width:auto}.signin-form{display:flex;flex-direction:column;gap:14px;width:min(380px,100%);margin:auto 0;padding:48px 0}.signin-pill{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;height:36px;padding:0 14px 0 4px;border:1px solid var(--line);border-radius:999px;font-size:14px;font-weight:500}.signin-pill .pill-mark{width:26px;height:26px}.signin-form h1{margin-top:10px;font-size:30px;letter-spacing:-.022em;line-height:1.2}.signin-form p{color:var(--muted);margin-bottom:10px}.signin-form small{color:var(--faint);font-size:13px}.google{height:46px}.signin-panel footer{color:var(--faint);font-size:13px}.signin-art{display:grid;place-items:center;margin:12px;border-radius:24px;background:var(--side)}.signin-card{display:grid;place-items:center;width:180px;height:180px;border:1px solid var(--line);border-radius:40px;background:var(--surface);box-shadow:var(--shadow-pop)}.signin-card svg{width:72px;height:72px;fill:var(--ink)}@media(max-width:1180px){.editor-layout{grid-template-columns:minmax(0,1fr)}.rail{display:none}.checklist-card.inline{display:flex}.editor{padding-bottom:96px}.mobile-bar{position:fixed;z-index:20;left:264px;right:12px;bottom:12px;display:flex;align-items:center;gap:8px;padding:10px 10px 10px 18px;border:1px solid var(--line);border-radius:20px;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-pop)}.mobile-bar>div{flex:1;display:flex;flex-direction:column;min-width:0}.mobile-bar>div span{font-size:12px;color:var(--muted)}.mobile-bar strong{font-weight:500;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editing .toast{bottom:96px}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-period{grid-column:1 / -1;flex-direction:row;align-items:center;border-bottom:1px solid var(--line);padding:14px 20px}.stats>.stat:nth-child(2){border-left:0}.doc-grid{grid-template-columns:84px minmax(0,1.3fr) minmax(0,1fr) 110px 108px}.doc-grid>:last-child{display:none}.preview-layout{grid-template-columns:minmax(0,1fr) 312px}}@media(max-width:860px){.app{display:block;padding-bottom:76px;background:var(--canvas)}.toast{bottom:84px}.app.editing{padding-bottom:0}.sidebar{display:none}.mobile-top{position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#fafafae6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-top .studio-pill{height:40px;font-size:14px}.tabbar{position:fixed;z-index:15;left:50%;bottom:12px;transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:5px;border:1px solid var(--line);border-radius:999px;background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-pop)}.tabbar button{display:flex;align-items:center;gap:8px;height:44px;padding:0 16px;border-radius:999px;color:var(--muted);font-size:14px}.tabbar button[aria-current=page]{background:var(--sunken);color:var(--ink);font-weight:500}.tabbar .tab-new{width:44px;padding:0;justify-content:center;background:var(--ink);color:#fff}.page-action{display:none}.page{padding:12px 16px 0}.page-head{margin-bottom:18px}.page-head h1,.doc-head h1{font-size:26px}.preview-bar,.alert{margin:8px 16px 0}.preview-bar{flex-direction:column;align-items:flex-start;gap:0}.stats{grid-template-columns:1fr}.stats>*+*{border-left:0;border-top:1px solid var(--line)}.stats>*{padding:14px 18px}.stats-period{border-bottom:0;justify-content:space-between}.stat{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:0;align-items:center}.stat>span{grid-column:1;grid-row:1}.stat small{grid-column:1;grid-row:2}.stat .amount{grid-column:2;grid-row:1 / 3;font-size:20px}.crumb-current{display:none}.crumb{margin-left:-10px}.list-card{padding:8px}.list-tools,.list-tools-end{align-items:stretch}.list-tools-end{width:100%}.list-tools .search{flex:1;width:auto;min-width:0}.table-head{display:none}.row.doc-grid{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"client amount" "doc status";row-gap:6px;column-gap:12px;padding:12px 10px}.row.doc-grid .cell-ref,.row.doc-grid .cell-date{display:none}.row.doc-grid .cell-client{grid-area:client}.row.doc-grid .cell-amount{grid-area:amount}.row.doc-grid .cell-doc{grid-area:doc;padding-left:41px}.row.doc-grid .cell-status{grid-area:status;justify-self:end}.row.doc-grid .cell-doc small{display:none}.row.client-grid{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"client count" "doc doc";row-gap:4px;padding:12px 10px}.row.client-grid .cell-client{grid-area:client}.row.client-grid .cell-count{grid-area:count}.row.client-grid .cell-doc{grid-area:doc;padding-left:41px;display:flex;gap:8px}.row.client-grid .cell-doc small{display:inline}.row.client-grid .cell-muted,.row.client-grid .cell-date{display:none}.editor{padding:6px 16px 104px}.doc-head{padding:14px 0 16px}.mobile-bar{left:12px}.editor-card{padding:4px 16px 16px}.field-row{grid-template-columns:1fr;gap:4px;padding:6px 0}.field-row-label{min-height:0;font-size:13px}.field-row input[type=date],.field-row select{max-width:none}.grid.two,.grid.three{grid-template-columns:1fr}.room-head{flex-wrap:wrap}.item{grid-template-columns:minmax(0,1fr) 34px;padding:12px}.item-text{grid-column:1}.item .remove{grid-column:2;grid-row:1}.item-price{grid-column:1 / -1;align-items:stretch}.item-price>.money .money-label{display:block}.money-box input{width:100%;flex:1}.by-quantity{justify-content:flex-start}.by-quantity .money-box input{width:100%}.by-quantity>.money{flex:1;min-width:130px}.switch{align-self:flex-start}.payment{grid-template-columns:1fr 1fr 34px}.payment .field:nth-child(3){grid-column:1 / 3}.drawing{grid-template-columns:84px minmax(0,1fr)}.drawing img{width:84px;height:64px}.drawing-tools{grid-column:1 / -1;justify-content:flex-end}input,select,textarea,.money-box input,.search input{font-size:16px!important}.modal{width:100vw;max-width:100vw;max-height:92dvh;margin:auto 0 0;border-radius:22px 22px 0 0;border-bottom:0}.search-modal{margin:auto 0 0}.sheet{width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;border:0}.sheet-body{margin:0 8px}.sheet-amount .amount{font-size:32px}.detail-row{grid-template-columns:124px minmax(0,1fr)}.sheet-foot .button{flex:1}.preview-modal{width:100vw;height:100dvh;border-radius:0;margin:0;border:0;overflow-y:auto}.preview-layout{grid-template-columns:1fr;overflow:visible}.pages{overflow:visible;padding:14px}.review{overflow:visible;padding:20px 16px 28px}.signin{grid-template-columns:1fr}.signin-art{display:none}.signin-panel{padding:24px;min-height:100dvh}}@media(max-width:420px){.segmented{width:100%}.segmented button{flex:1;padding:0 8px}.issued-note{flex-wrap:wrap}.issued-note .button{width:100%}}
