@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-vietnamese-500-normal-GOH_-EGq.woff2) format("woff2"),url(/assets/fraunces-vietnamese-500-normal-B-KbxExq.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-latin-ext-500-normal-Z5DV8IzT.woff2) format("woff2"),url(/assets/fraunces-latin-ext-500-normal-BMcFk1Xs.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-latin-500-normal-DnGCNyPD.woff2) format("woff2"),url(/assets/fraunces-latin-500-normal-BTR4KCeb.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-vietnamese-600-normal-BjlAJixd.woff2) format("woff2"),url(/assets/fraunces-vietnamese-600-normal-DlAl5EAR.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-ext-600-normal-BtzmzP0X.woff2) format("woff2"),url(/assets/fraunces-latin-ext-600-normal-B0Dy4lqi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-normal-BFCDtZfi.woff2) format("woff2"),url(/assets/fraunces-latin-600-normal-DL5QCzvS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/fraunces-vietnamese-500-italic-C9H4s5GK.woff2) format("woff2"),url(/assets/fraunces-vietnamese-500-italic-Iu4UOzuF.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/fraunces-latin-ext-500-italic-D-eTYFHX.woff2) format("woff2"),url(/assets/fraunces-latin-ext-500-italic-CzWJT2mH.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/fraunces-latin-500-italic-CjxnbVsv.woff2) format("woff2"),url(/assets/fraunces-latin-500-italic-Bp1RWfBU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--bg: #f6f1e8;--surface: #fdfaf4;--surface-high: #ffffff;--ink: #22190f;--ink-muted: #66594a;--ink-faint: #8d8172;--line: rgba(46, 35, 21, .14);--line-strong: rgba(46, 35, 21, .26);--accent: #b3551a;--accent-strong: #9c4812;--accent-fill: #e88a4a;--on-accent: #221304;--accent-wash: rgba(224, 138, 74, .14);--good: #276d43;--warn: #8a6206;--danger: #a33022;--danger-wash: rgba(163, 48, 34, .1);--scrim: rgba(34, 25, 15, .44);--fill: rgba(46, 35, 21, .06);--fill-strong: rgba(46, 35, 21, .1);--glass: rgba(253, 250, 244, .78);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 28px;--space-7: 40px;--radius-s: 8px;--radius-m: 12px;--radius-l: 16px;--radius-pill: 999px;--font-sans: "Instrument Sans Variable", "Instrument Sans", system-ui, sans-serif;--font-serif: "Fraunces", Georgia, serif;--size-display: 24px;--lh-display: 30px;--size-title: 17px;--lh-title: 24px;--size-body: 15px;--lh-body: 22px;--size-small: 13px;--lh-small: 18px;--size-caption: 11px;--lh-caption: 14px;--sidebar-w: 232px;--tabbar-h: 56px;--ease-out: cubic-bezier(.19, 1, .22, 1);--duration-fast: .16s;--duration: .24s}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--size-body);line-height:var(--lh-body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input,select,textarea{caret-color:var(--accent)}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}::placeholder{color:var(--ink-faint);opacity:1}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}ul,ol{list-style:none;margin:0;padding:0}h1,h2,h3,p{margin:0}fieldset{border:none;margin:0;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:var(--accent-wash)}.shell{min-height:100%;display:flex}.shell-main{flex:1;min-width:0;padding:var(--space-6) var(--space-6) var(--space-7);max-width:760px}.sidebar{width:var(--sidebar-w);flex-shrink:0;position:sticky;top:0;align-self:flex-start;height:100dvh;display:flex;flex-direction:column;padding:var(--space-6) var(--space-4) var(--space-5);background:var(--surface)}.brand{display:block;padding:0 var(--space-3);margin-bottom:var(--space-6);text-decoration:none}.brand-word{font-family:var(--font-serif);font-weight:600;font-size:26px;line-height:30px;letter-spacing:-.01em}.brand-word .dot{color:var(--accent)}.brand-sub{display:block;margin-top:2px;font-size:var(--size-caption);line-height:var(--lh-caption);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.nav-group{margin-bottom:var(--space-5)}.nav-group-label{padding:0 var(--space-3);margin-bottom:var(--space-2);font-size:var(--size-caption);line-height:var(--lh-caption);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.nav-item{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px var(--space-3);border-radius:10px;font-size:var(--size-body);line-height:var(--lh-small);color:var(--ink-muted);text-decoration:none;transition-property:background-color,color,transform;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out)}.nav-item:hover{color:var(--ink);background:var(--fill)}.nav-item:active{transform:scale(.98)}.nav-item:before{content:"";width:6px;height:6px;border-radius:50%;background:transparent;transition:background .12s var(--ease-out)}.nav-item[data-status=active]{color:var(--ink);background:var(--fill-strong);font-weight:600}.nav-item[data-status=active]:before{background:var(--accent)}.sidebar-foot{margin-top:auto;padding:var(--space-4) var(--space-3) 0}.sidebar-foot .who{font-size:var(--size-small);line-height:var(--lh-small);font-weight:600}.sidebar-foot .role{font-size:var(--size-caption);line-height:var(--lh-caption);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin-top:2px}.linklike{background:none;border:none;padding:0;margin-top:var(--space-3);font-size:var(--size-small);color:var(--ink-muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.linklike:hover{color:var(--danger)}.map-picker-map{height:280px;width:100%;border-radius:var(--radius-m);border:1px solid var(--line-strong);overflow:hidden}.map-picker-fallback{display:grid;place-items:center;text-align:center;padding:var(--space-5);background:var(--surface);margin:0}.topbar,.tabbar{display:none}@media(max-width:1023px){.shell{display:block}.sidebar{display:none}.shell-main{max-width:none;padding:var(--space-4) var(--space-4) calc(var(--tabbar-h) + var(--space-7))}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:baseline;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--glass);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%)}.topbar .brand-word{font-size:20px;line-height:24px}.topbar .who{font-size:var(--size-caption);line-height:var(--lh-caption);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.tabbar{position:fixed;inset:auto 0 0 0;z-index:20;display:flex;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--glass);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%)}.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 0 4px;font-size:10px;line-height:12px;font-weight:500;letter-spacing:.01em;color:var(--ink-faint);text-decoration:none;background:none;border:none;cursor:pointer;transition:color var(--duration-fast) var(--ease-out)}.tab svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.tab:active{color:var(--ink)}.tab[data-status=active]{color:var(--accent);font-weight:600}}.sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:var(--scrim);border:none;padding:0;cursor:default}.sheet{position:fixed;inset:auto 0 0 0;z-index:31;background:var(--surface-high);border-top-left-radius:20px;border-top-right-radius:20px;padding:var(--space-4) var(--space-4) calc(var(--space-6) + env(safe-area-inset-bottom));animation:sheet-rise var(--duration) var(--ease-out)}.sheet:before{content:"";display:block;width:36px;height:5px;margin:-6px auto var(--space-3);border-radius:3px;background:var(--fill-strong)}.sheet .nav-item{padding:var(--space-3)}@keyframes sheet-rise{0%{transform:translateY(24px);opacity:0}}.auth{min-height:100dvh;display:grid;place-items:center;padding:var(--space-5)}.auth-card{width:min(420px,100%);background:var(--surface-high);border-radius:20px;padding:var(--space-6)}@media(max-width:639px){.auth{place-items:start center;padding-top:var(--space-7)}.auth-card{background:transparent;padding:var(--space-2)}}.auth-card .brand{padding:0;margin-bottom:var(--space-5)}.auth-card h1{font-family:var(--font-serif);font-weight:600;font-size:var(--size-display);line-height:var(--lh-display);letter-spacing:-.02em}.auth-card .lede{margin-top:var(--space-1);margin-bottom:var(--space-5);color:var(--ink-muted)}.auth-card form{display:grid;gap:var(--space-2)}.auth-card .btn{width:100%}.import-box{padding:var(--space-4);margin-bottom:var(--space-5);border:1px dashed var(--line-strong);border-radius:var(--radius-m)}.import-box textarea{width:100%;resize:vertical}.import-warnings{margin-top:var(--space-3);display:grid;gap:var(--space-1);font-size:var(--size-small);line-height:var(--lh-small);color:var(--ink-muted)}.auth-google{width:100%;margin-top:var(--space-3)}.auth-alt{margin-top:var(--space-4);text-align:center;font-size:var(--size-small);color:var(--ink-muted)}.page-head{margin-bottom:var(--space-5)}.page-head h1{font-family:var(--font-serif);font-weight:600;font-size:var(--size-display);line-height:var(--lh-display);letter-spacing:-.02em;text-wrap:balance}.page-head .lede{margin-top:var(--space-1);color:var(--ink-muted);font-size:var(--size-body)}.section{margin-top:var(--space-6)}.section-label{font-size:var(--size-caption);line-height:var(--lh-caption);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:var(--space-3);font-weight:600}.card-list{display:grid;gap:var(--space-3)}.insight-detail{color:var(--ink-muted);font-size:var(--size-body);margin-top:var(--space-1)}.insight-action{display:inline-block;color:var(--accent);font-weight:600;margin-top:var(--space-3)}.insight-action:hover{color:var(--accent-strong)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-5);border-radius:var(--radius-pill);border:1px solid transparent;font-size:var(--size-body);font-weight:600;cursor:pointer;text-decoration:none;background:var(--accent-fill);color:var(--on-accent);transition-property:transform,background-color,color,opacity;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out)}.action-pair{display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end}@media(hover:hover)and (pointer:fine){.btn:not(.secondary):not(.ghost):not(.danger):hover:not(:disabled){filter:brightness(.96)}}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn.small{min-height:36px;padding:0 var(--space-4);font-size:var(--size-small)}.btn.secondary{background:var(--fill);color:var(--ink)}.btn.secondary:hover{background:var(--fill-strong)}.btn.ghost{background:transparent;color:var(--accent)}.btn.ghost:hover{background:var(--accent-wash)}.btn.danger{background:var(--fill);color:var(--danger)}.btn.danger:hover{background:var(--danger-wash)}.card{background:var(--surface-high);border-radius:var(--radius-l);padding:var(--space-4)}.group{background:var(--surface-high);border-radius:var(--radius-l);padding:0 var(--space-4)}.group>.row{padding:var(--space-3) 0}.row.card-head{padding:0 0 var(--space-1)}.booking-card .amount{margin-top:var(--space-1)}.booking-card>footer{margin-top:var(--space-3)}.rows>*+*{border-top:1px solid var(--line)}.row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0}.row .grow{flex:1;min-width:0}.row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.row-actions .row-sub{margin:0 var(--space-2) 0 0}.row-title{font-weight:600;font-size:var(--size-body)}.row-sub{color:var(--ink-muted);font-size:var(--size-small);line-height:var(--lh-small);margin-top:2px}.notification-destination-card{display:grid;gap:var(--space-4)}.notification-destination-summary{padding:0}.notification-verification,.notification-destination-disable{padding-top:var(--space-4);border-top:1px solid var(--line)}.notification-challenge{margin-bottom:var(--space-4)}.notification-destination-disable .row-sub{margin-top:var(--space-2)}@media(max-width:560px){.notification-destination-summary{align-items:flex-start;flex-direction:column}}.amount{font-variant-numeric:tabular-nums;font-weight:600}.status{font-size:var(--size-caption);line-height:var(--lh-caption);letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--ink-muted)}.status[data-tone=hold]{color:var(--warn)}.status[data-tone=good]{color:var(--good)}.status[data-tone=due]{color:var(--accent)}.status[data-tone=off]{color:var(--ink-faint)}.agenda-list{list-style:none;margin:0;padding:0}.agenda-row{display:grid;grid-template-columns:76px minmax(0,1fr) auto;column-gap:var(--space-4);align-items:baseline;padding:var(--space-3) var(--space-2);margin-inline:calc(-1 * var(--space-2));border-radius:var(--radius-m);text-decoration:none;color:inherit;transition-property:background-color;transition-duration:.15s;transition-timing-function:var(--ease-out)}.agenda-row:hover{background:var(--surface)}.agenda-time{display:flex;flex-direction:column;gap:2px;font-weight:600;font-size:var(--size-body);font-variant-numeric:tabular-nums;white-space:nowrap}.agenda-daynote{font-size:var(--size-caption);line-height:var(--lh-caption);letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--ink-faint)}.agenda-row .row-title,.agenda-row .row-sub{display:block}.agenda-row .row-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-end{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.agenda-amount{font-size:var(--size-small);line-height:var(--lh-small)}.agenda-item[data-past] .agenda-row{opacity:.55;transition-property:background-color,opacity}.agenda-item[data-past] .agenda-row:hover{opacity:1}.agenda-under{display:grid;gap:var(--space-2);justify-items:start;margin-left:calc(76px + var(--space-4));padding-bottom:var(--space-3)}@media(max-width:560px){.agenda-row{grid-template-columns:auto minmax(0,1fr) auto;column-gap:var(--space-3)}.agenda-under{margin-left:0}}.plan-toolbar{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap}.plan-file-input{display:none}.plan-replace-dialog{width:min(440px,calc(100vw - 32px));border:1px solid var(--line);border-radius:var(--radius-l);padding:0;background:var(--surface);color:var(--ink);box-shadow:0 24px 70px #00000047}.plan-replace-dialog::backdrop{background:var(--scrim)}.plan-replace-body{display:grid;gap:var(--space-4);padding:var(--space-5)}.plan-replace-title{font-family:var(--font-serif);font-size:var(--size-title);line-height:var(--lh-title);font-weight:600}.plan-replace-actions{margin-top:var(--space-1)}.plan{position:relative;margin-top:var(--space-3);width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}.plan[data-clean]{background-color:var(--surface);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:28px 28px}.plan-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.plan[data-has-image]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--surface) 28%,transparent);pointer-events:none}.plan-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.plan-zone{position:absolute;z-index:0;padding:var(--space-2);border:1px solid color-mix(in srgb,var(--marker-color, var(--accent)) 42%,var(--line));border-radius:var(--radius-m);background:color-mix(in srgb,var(--marker-color, var(--accent)) 4%,transparent);color:var(--ink-muted);font-size:var(--size-caption);line-height:var(--lh-caption);font-weight:600;pointer-events:none}.plan-zone[data-tone="0"]{--marker-color: var(--accent)}.plan-zone[data-tone="1"]{--marker-color: var(--good)}.plan-zone[data-tone="2"]{--marker-color: #4a79c9}.plan-zone[data-tone="3"]{--marker-color: #b44f8a}.plan-zone[data-tone="4"]{--marker-color: var(--warn)}.plan-zone[data-tone="5"]{--marker-color: #4c9295}.plan-zone[data-area=outdoor]{--marker-color: var(--good)}.plan-zone[data-area=indoor]{--marker-color: #4a79c9}.plan-zone[data-area=bar]{--marker-color: #7d7b77}.plan-marker{position:absolute;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:0;min-height:0;padding:4px;background:transparent;border:0;border-radius:var(--radius-s);cursor:grab;font:inherit;color:inherit;transition-property:border-color,box-shadow,transform;transition-duration:.15s;transition-timing-function:var(--ease-out)}.plan-marker:before{content:"";position:absolute;z-index:2;width:max(100%,44px);height:max(100%,44px);left:50%;top:50%;transform:translate(-50%,-50%)}.plan-marker-surface{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid color-mix(in srgb,var(--marker-color, var(--accent)) 58%,var(--line-strong));border-radius:var(--radius-s);background:color-mix(in srgb,var(--marker-color, var(--accent)) 24%,var(--surface-high));transform:rotate(var(--marker-rotation, 0deg));transition:inherit;pointer-events:none}.plan-marker[data-shape=circle] .plan-marker-surface{border-radius:999px}.plan-marker[data-shape=square] .plan-marker-surface,.plan-marker[data-shape=rectangle] .plan-marker-surface{border-radius:var(--radius-s)}.plan-marker[data-tone="0"]{--marker-color: var(--accent)}.plan-marker[data-tone="1"]{--marker-color: var(--good)}.plan-marker[data-tone="2"]{--marker-color: #4a79c9}.plan-marker[data-tone="3"]{--marker-color: #b44f8a}.plan-marker[data-tone="4"]{--marker-color: var(--warn)}.plan-marker[data-tone="5"]{--marker-color: #4c9295}.plan-marker[data-area=outdoor]{--marker-color: var(--good)}.plan-marker[data-area=indoor]{--marker-color: #4a79c9}.plan-marker[data-area=bar]{--marker-color: #7d7b77}@media(hover:hover)and (pointer:fine){.plan-marker:hover .plan-marker-surface{border-color:var(--accent)}}.plan-marker:active{cursor:grabbing}.plan-marker[data-interactive=false]{cursor:default;pointer-events:none}.plan-marker[data-selected]{box-shadow:none}.plan-marker[data-selected] .plan-marker-surface{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.plan-marker[data-dragging]{transition:none;z-index:2;box-shadow:none}.plan-marker[data-kind=room]{z-index:0;align-items:flex-start;justify-content:flex-start;padding:var(--space-2);text-align:left}.plan-marker[data-kind=room] .plan-marker-surface{border-width:2px;border-style:dashed;background:color-mix(in srgb,var(--marker-color, var(--accent)) 8%,var(--surface));transform:none}.plan-marker[data-kind=room] .plan-marker-seats{color:var(--ink-muted)}.plan-marker[data-kind=room]:before{width:100%;height:100%}.plan-marker[data-kind=bar]{z-index:0;align-items:flex-start;justify-content:flex-start;padding:var(--space-2);text-align:left}.plan-marker[data-kind=bar] .plan-marker-surface{border-style:solid;background:color-mix(in srgb,var(--marker-color) 12%,var(--surface));transform:rotate(var(--marker-rotation, 0deg))}.plan-marker[data-kind=bar]:before{width:100%;height:100%}.plan-marker[data-dragging] .plan-marker-surface{box-shadow:0 6px 16px #0000002e}.plan-marker[data-private]{border-style:none}.plan-marker[data-private] .plan-marker-surface{border-style:dashed}.plan-ghost{cursor:default}.plan-ghost .plan-marker-surface{border-style:dashed;border-color:var(--marker-color, var(--accent));background:color-mix(in srgb,var(--marker-color, var(--accent)) 32%,var(--surface))}.plan-marker-name{position:relative;z-index:1;font-weight:600;font-size:var(--size-small);line-height:var(--lh-small);max-width:100%;overflow:hidden;overflow-wrap:anywhere;text-align:center;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.plan-marker-seats{position:relative;z-index:1;font-size:var(--size-caption);line-height:var(--lh-caption);color:var(--ink-muted);font-variant-numeric:tabular-nums}.plan-hint{margin-top:var(--space-2)}.roster .plan-marker{cursor:pointer}.roster .plan-marker:not([data-occupied]) .plan-marker-name,.roster .plan-marker:not([data-occupied]) .plan-marker-seats{color:var(--ink-faint)}.roster .plan-marker[data-occupied]{background:var(--accent-wash);border-color:var(--accent)}.roster .plan-marker[data-occupied] .plan-marker-seats{display:none}.roster .plan-marker[data-checkin=completed]{background:color-mix(in srgb,var(--good) 14%,transparent);border-color:var(--good)}.roster .plan-marker[data-checkin=no_show]{background:var(--danger-wash);border-color:var(--danger);border-style:dashed}.roster .plan-marker[data-move-target]{border-color:var(--accent);border-style:dashed;box-shadow:0 0 0 2px var(--accent-wash)}.plan-occupant{position:relative;z-index:1;font-size:var(--size-caption);line-height:var(--lh-caption);color:var(--ink);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comandas .plan-marker{cursor:pointer}.comandas .plan-marker:not([data-occupied]) .plan-marker-name,.comandas .plan-marker:not([data-occupied]) .plan-marker-seats{color:var(--ink-faint)}.comandas .plan-marker[data-occupied] .plan-marker-surface{--marker-color: var(--accent);border-color:var(--accent);border-width:2px}.comandas .plan-marker[data-occupied] .plan-marker-seats{display:none}.comandas .plan-occupant{font-variant-numeric:tabular-nums;font-weight:600}.comandas .plan-marker[data-kind=bar]{cursor:default}.chip-row+.chip-row{margin-top:var(--space-2)}.roster-count{margin-bottom:var(--space-2);font-variant-numeric:tabular-nums}.roster-move-hint{margin-bottom:var(--space-2)}.chip .chip-count{margin-left:var(--space-1);color:var(--ink-faint);font-variant-numeric:tabular-nums}.chip .chip-count:before{content:"· "}.chip[data-status=active] .chip-count{color:var(--ink-muted)}.roster-drawer{display:grid;gap:var(--space-3)}.roster-drawer .action-pair{margin-top:var(--space-2)}.roster-drawer .btn.ghost{justify-self:start;padding-left:0}.plan-proposals{margin-top:var(--space-3);flex-wrap:wrap}.marker-sheet{margin-top:var(--space-4);padding:var(--space-4);background:var(--surface-high);border:1px solid var(--line);border-radius:var(--radius-l)}.marker-private{display:flex;align-items:flex-start;gap:var(--space-2);margin-top:var(--space-3);cursor:pointer}.marker-private-sub{display:block}.marker-sheet-actions{margin-top:var(--space-3)}@media(prefers-reduced-motion:reduce){.plan-marker{transition:none}}.cue{position:relative;margin:var(--space-4) 0;padding:var(--space-4) var(--space-5);background:var(--surface-high);border:1px solid var(--line);border-radius:var(--radius-l);animation:cue-settle .24s var(--ease-out)}.cue-label{font-size:var(--size-caption);line-height:var(--lh-caption);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:600}.cue-phrase{font-family:var(--font-serif);font-style:italic;font-weight:500;font-size:19px;line-height:26px;margin-top:var(--space-2);color:var(--ink)}.cue-phrase:before{content:"“";color:var(--accent)}.cue-phrase:after{content:"”";color:var(--accent)}.cue-actions{margin-top:var(--space-3);display:flex;align-items:center;gap:var(--space-3)}.cue-done{font-size:var(--size-small);color:var(--good);font-weight:600}@keyframes cue-settle{0%{transform:translateY(6px);opacity:0}}.form-grid{display:grid;gap:var(--space-2)}@media(min-width:640px){.form-grid.cols-2{grid-template-columns:1fr 1fr;column-gap:var(--space-4);align-items:start}.form-grid.cols-2>.span-2,.form-grid.cols-2>.btn,.form-grid.cols-2>.error-banner,.form-grid.cols-2>.action-pair,.form-grid.cols-2>.section-label{grid-column:1 / -1}}.form-grid .field{margin-bottom:var(--space-2)}.form-grid .btn{justify-self:start}.field{display:block;margin-bottom:var(--space-4)}.field-label{display:block;font-size:var(--size-small);font-weight:600;margin-bottom:var(--space-2)}.field-input,.field input:not([type=checkbox]):not([type=radio]),input[type=text],input[type=tel],input[type=date],input[type=time],input[type=number],input[type=url],input[type=datetime-local],select,textarea{width:100%;min-height:44px;padding:10px var(--space-4);border:1px solid var(--line);border-radius:10px;background:var(--surface-high);font-size:var(--size-body);transition-property:border-color,box-shadow;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out)}.field-input:focus,.field input:focus,input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.field-help{font-size:var(--size-small);color:var(--ink-muted);margin-top:var(--space-1)}.field-error{font-size:var(--size-small);color:var(--danger);margin-top:var(--space-1)}.card .field-input,.card input:not([type=checkbox]):not([type=radio]),.card select,.card textarea,.auth-card input:not([type=checkbox]):not([type=radio]),.auth-card select,.auth-card textarea,.table-scroll select,.table-scroll input:not([type=checkbox]):not([type=radio]){background:var(--fill);border-color:transparent}.card input:focus,.card select:focus,.card textarea:focus,.auth-card input:focus,.auth-card select:focus,.auth-card textarea:focus,.table-scroll select:focus,.table-scroll input:focus{background:var(--surface-high);border-color:var(--accent)}@media(max-width:639px){.auth-card input:not([type=checkbox]):not([type=radio]),.auth-card select,.auth-card textarea{background:var(--surface-high)}}.offer-discount-row{display:flex;align-items:center;gap:var(--space-2)}.offer-discount-row input{flex:1;min-width:0}.filter-row{display:flex;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap}.filter-row .field{margin-bottom:0;flex:1;min-width:140px}.filter-row .btn{margin-bottom:2px}.notice{padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface-high);font-size:var(--size-small);color:var(--ink-muted);margin-bottom:var(--space-4)}.text-accent{color:var(--accent)}.error-banner{padding:var(--space-3) var(--space-4);border:1px solid var(--danger);border-radius:var(--radius-m);background:var(--danger-wash);color:var(--danger);font-size:var(--size-small);margin-bottom:var(--space-4)}.empty{padding:var(--space-7) var(--space-5);text-align:center}.empty h2{font-family:var(--font-serif);font-weight:500;font-size:20px;line-height:26px}.empty h2{text-wrap:balance}.empty p{margin-top:var(--space-2);color:var(--ink-muted);font-size:var(--size-body);max-width:38ch;margin-inline:auto;text-wrap:pretty}.skeleton{display:grid;gap:var(--space-3)}.skeleton .bone{height:18px;border-radius:6px;background:var(--line);animation:bone-pulse 1.4s ease-in-out infinite}.skeleton .bone:nth-child(2){width:72%;animation-delay:.12s}.skeleton .bone:nth-child(3){width:84%;animation-delay:.24s}@keyframes bone-pulse{0%,to{opacity:1}50%{opacity:.45}}.photo-row{align-items:center}.photo-thumb{border-radius:var(--radius-m);object-fit:cover;border:1px solid var(--line)}.photo-upload-label{margin-top:var(--space-3)}.table-scroll{overflow-x:auto;background:var(--surface-high);border-radius:var(--radius-l);padding:0 var(--space-2)}.table-scroll tr:last-child>td,.table-scroll tbody tr:last-child>th{border-bottom:none}table{width:100%;border-collapse:collapse;font-size:var(--size-small)}th{text-align:left;font-size:var(--size-caption);line-height:var(--lh-caption);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-weight:600;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line-strong)}td{padding:var(--space-3);border-bottom:1px solid var(--line)}tbody th{font-size:var(--size-body);line-height:var(--lh-body);letter-spacing:0;text-transform:none;color:var(--ink);border-bottom:1px solid var(--line);padding:var(--space-3)}.agenda-table select{min-width:96px}.agenda-table label{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--size-small);color:var(--ink-muted)}.agenda-table input[type=checkbox]{width:18px;height:18px;min-height:0;accent-color:var(--accent)}.agenda-table+.btn,form>.btn{margin-top:var(--space-4)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.admin-shell{min-height:100%}.admin-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--space-5);padding:var(--space-3) var(--space-6);background:var(--surface);border-bottom:1px solid var(--line)}.admin-brand{font-family:var(--font-serif);font-weight:600;font-size:var(--size-title);line-height:var(--lh-title);letter-spacing:-.01em;white-space:nowrap}.admin-brand .dot{color:var(--accent)}.admin-brand-sub{font-family:var(--font-sans);font-size:var(--size-caption);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-weight:600;margin-left:2px}.admin-nav{display:flex;gap:var(--space-1);flex:1;min-width:0;overflow-x:auto}.admin-nav-item{padding:7px var(--space-3);border-radius:var(--radius-pill);font-size:var(--size-body);line-height:var(--lh-small);color:var(--ink-muted);text-decoration:none;white-space:nowrap;transition:background .12s var(--ease-out),color .12s var(--ease-out)}.admin-nav-item:hover{color:var(--ink);background:var(--accent-wash)}.admin-nav-item[data-status=active]{color:var(--ink);background:var(--surface-high);font-weight:600;box-shadow:inset 0 0 0 1px var(--line)}.admin-topbar-who{display:flex;align-items:center;gap:var(--space-3);font-size:var(--size-small);color:var(--ink-muted);white-space:nowrap}@media(max-width:767px){.admin-topbar{gap:var(--space-3);padding:var(--space-3) var(--space-4)}.admin-topbar-who{font-size:0;gap:0}}.shell-main.wide{max-width:1040px}.page-head-actions{flex-shrink:0}.page-head:has(.page-head-actions){display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.section-head .section-label{margin-bottom:0}.section-head+*{margin-top:var(--space-3)}.filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4)}.filter-search{max-width:280px}.filter-month{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--size-small);color:var(--ink-muted)}.chip-row{display:flex;gap:var(--space-1);overflow-x:auto;scrollbar-width:none}.chip-row::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;white-space:nowrap;padding:6px var(--space-3);border:1px solid var(--line);border-radius:var(--radius-pill);background:none;font-family:inherit;font-size:var(--size-small);line-height:var(--lh-small);color:var(--ink-muted);cursor:pointer;transition:background .12s var(--ease-out),color .12s var(--ease-out)}.chip:hover{color:var(--ink);background:var(--accent-wash)}.chip[data-status=active]{color:var(--ink);background:var(--surface-high);border-color:var(--line-strong);font-weight:600}.drawer{margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(440px,100vw);border:none;border-left:1px solid var(--line);padding:0;background:var(--surface);color:inherit}.drawer[open]{animation:drawer-in .2s var(--ease-out)}.drawer::backdrop{background:var(--scrim)}.drawer-body{padding:var(--space-5) var(--space-5) var(--space-7);overflow-y:auto;max-height:100dvh}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.drawer-title{font-family:var(--font-serif);font-weight:600;font-size:var(--size-title);line-height:var(--lh-title);letter-spacing:-.01em}@keyframes drawer-in{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.client-toolbar{display:grid;gap:var(--space-3)}.client-toolbar .field-input[type=search]{max-width:420px}.client-toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.client-sort{width:auto}.client-list{list-style:none;margin:0;padding:0}.client-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;column-gap:var(--space-4);align-items:center;width:100%;padding:var(--space-3) 0;border:none;background:none;font-family:inherit;text-align:left;cursor:pointer;color:inherit;transition:background-color .15s var(--ease-out)}.client-row:hover{background:var(--surface)}.client-row .row-title,.client-row .row-sub{display:block}.customer-figures.pnl-figures{grid-template-columns:repeat(4,minmax(0,1fr))}.drawer .customer-figures.pnl-figures{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:719px){.customer-figures.pnl-figures{grid-template-columns:repeat(2,minmax(0,1fr))}}.client-avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--accent-wash);color:var(--accent);font-weight:600;font-size:var(--size-small)}.client-end{display:grid;justify-items:end;gap:2px}.client-end .status{min-height:var(--lh-caption, 1em)}@media(min-width:720px){.client-end{grid-template-columns:110px 190px 80px;align-items:baseline;column-gap:var(--space-4)}.client-phone{font-variant-numeric:tabular-nums}}@media(max-width:719px){.client-row .client-phone{display:none}}.customer-figures{margin-bottom:0}.drawer-facts{color:var(--ink-muted);font-size:var(--size-small);line-height:var(--lh-small);margin:calc(-1 * var(--space-3)) 0 var(--space-4)}.map-search{display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.map-search input{flex:1 1 auto;min-width:0;width:auto}.map-search .btn{flex:0 0 auto;width:auto}.map-hits{list-style:none;margin:0 0 var(--space-2);padding:0;border:1px solid var(--line-strong);border-radius:var(--radius-m);background:var(--surface-high);overflow:hidden}.map-hits li+li{border-top:1px solid var(--line)}.map-hits button{display:block;width:100%;text-align:left;padding:var(--space-2) var(--space-3);background:none;border:0;color:var(--ink);font:inherit;cursor:pointer}.map-hits button:hover,.map-hits button:focus-visible{background:var(--accent-wash);outline:none}.map-hits button span{display:block;font-weight:500}.map-hits button small{display:block;color:var(--ink-muted);font-size:var(--size-small);line-height:var(--lh-small)}.shell-main:has(.pos){max-width:1160px}.pos{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:var(--space-6);align-items:start}.pos-catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:var(--space-3)}.pos-tile{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:var(--space-2);min-height:84px;padding:var(--space-3) var(--space-4);background:var(--surface-high);border:1px solid transparent;border-radius:var(--radius-m);cursor:pointer;text-align:left;transition:border-color .14s var(--ease-out),transform .14s var(--ease-out),background .14s var(--ease-out)}@media(hover:hover)and (pointer:fine){.pos-tile:hover{border-color:var(--accent);background:var(--surface-high)}}.pos-tile:active{transform:scale(.97)}.pos-tile-name{font-weight:600;font-size:var(--size-small);line-height:var(--lh-small);text-wrap:balance}.pos-tile-foot{width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.pos-tile-price{font-variant-numeric:tabular-nums;font-size:var(--size-body);font-weight:600;color:var(--ink-muted);transition:color .14s var(--ease-out)}@media(hover:hover)and (pointer:fine){.pos-tile:hover .pos-tile-price{color:var(--accent)}}.pos-kbd{font-family:var(--font-sans);font-size:var(--size-caption);line-height:1;color:var(--ink-faint);border:1px solid var(--line);border-radius:5px;padding:3px 5px;min-width:18px;text-align:center}@media(hover:none){.pos-kbd{display:none}}.pos-tile.freeform{border-style:dashed;border-color:var(--line-strong);justify-content:center;align-items:center;color:var(--ink-muted);font-weight:600;font-size:var(--size-small)}@media(hover:hover)and (pointer:fine){.pos-tile.freeform:hover{color:var(--accent);border-color:var(--accent);background:var(--surface)}}.pos-freeform-form{grid-column:1 / -1;background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius-m);padding:var(--space-4);display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto auto;gap:var(--space-3);align-items:end}.pos-freeform-form .field{margin-bottom:0}.pos-freeform-form .field-error{grid-column:1 / -1;margin-top:calc(-1 * var(--space-2))}@media(max-width:599px){.pos-freeform-form{grid-template-columns:1fr 1fr}.pos-freeform-form .field:first-child{grid-column:1 / -1}}.pos-pane{position:sticky;top:var(--space-6);display:grid;gap:var(--space-4);background:var(--surface-high);border-radius:var(--radius-l);padding:var(--space-5)}.pos-pane-label{font-size:var(--size-caption);line-height:var(--lh-caption);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-weight:600}.pos-pane-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.pos-empty{padding:var(--space-5) 0 var(--space-4);text-align:center;color:var(--ink-muted);font-size:var(--size-small)}.pos-empty .hint{display:block;margin-top:var(--space-1);color:var(--ink-faint)}.cart-lines>*+*{border-top:1px solid var(--line)}.cart-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--space-2) var(--space-3);align-items:center;padding:var(--space-2) 0;animation:cart-line-in .18s var(--ease-out)}.cart-line-name{font-weight:600;font-size:var(--size-small);line-height:var(--lh-small)}.cart-line-unit{color:var(--ink-faint);font-size:var(--size-caption);line-height:var(--lh-caption);font-variant-numeric:tabular-nums;margin-top:1px}.cart-line .amount{font-size:var(--size-small);min-width:56px;text-align:right}.cart-line-slot{margin-top:var(--space-1);width:auto;min-height:28px;padding:2px var(--space-2);font-size:var(--size-caption);line-height:var(--lh-caption);color:var(--ink-muted);background:var(--surface-high);border:1px solid var(--line);border-radius:var(--radius-s);max-width:100%}@keyframes cart-line-in{0%{opacity:0;transform:translateY(4px)}}.stepper{display:inline-flex;align-items:center;gap:2px;background:var(--surface-high);border:1px solid var(--line);border-radius:var(--radius-pill);padding:2px}.stepper button{width:26px;height:26px;display:grid;place-items:center;border:none;border-radius:50%;background:transparent;color:var(--ink-muted);font-size:var(--size-body);line-height:1;cursor:pointer;transition:background .12s var(--ease-out),color .12s var(--ease-out)}@media(hover:hover)and (pointer:fine){.stepper button:hover{background:var(--accent-wash);color:var(--ink)}}.stepper button:active{transform:scale(.94)}.stepper .qty{min-width:20px;text-align:center;font-variant-numeric:tabular-nums;font-weight:600;font-size:var(--size-small)}.pos-totals{border-top:1px solid var(--line-strong);padding-top:var(--space-3);display:grid;gap:var(--space-1)}.pos-totals .line{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);font-size:var(--size-small);color:var(--ink-muted)}.pos-totals .line .amount{font-size:var(--size-small);color:var(--ink);font-weight:500}.pos-totals .line.total{margin-top:var(--space-1);font-size:var(--size-body);color:var(--ink);font-weight:600}.pos-totals .line.total .amount{font-size:22px;line-height:28px;font-weight:700}.pos-discount{display:grid;gap:var(--space-2)}.pos-discount-form{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-2);align-items:center}.pos-discount-form input{min-height:36px;padding:6px var(--space-3);font-size:var(--size-small)}.pos-discount-active{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--size-small);color:var(--good);font-weight:600}.pos-discount .field{margin-bottom:0}.pos-discount select{min-height:36px;padding:6px var(--space-3);font-size:var(--size-small)}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;background:var(--fill);border-radius:var(--radius-pill);padding:3px}.seg button{min-height:30px;padding:0 var(--space-3);border:none;border-radius:var(--radius-pill);background:transparent;color:var(--ink-muted);font-size:var(--size-small);font-weight:500;cursor:pointer;transition:background .14s var(--ease-out),color .14s var(--ease-out),box-shadow .14s var(--ease-out)}.seg button[aria-pressed=true]{background:var(--surface-high);color:var(--ink);font-weight:600;box-shadow:0 1px 3px #22190f1f,0 0 0 .5px #22190f0a}.seg.mini{display:inline-grid}.seg.mini button{min-width:40px;padding:0 var(--space-2)}.pos-pane .field{margin-bottom:0}.pos-pane .field-label{font-size:var(--size-caption);line-height:var(--lh-caption);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-weight:600}.pos-discount{border-top:1px solid var(--line);padding-top:var(--space-3);margin-top:var(--space-2);padding-bottom:var(--space-3)}.pos-pane select{min-height:40px}.pos-pane>.btn{width:100%}.pos-confirm{max-width:440px;display:grid;gap:var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);padding:var(--space-5);animation:cue-settle .24s var(--ease-out)}.pos-confirm .meta{color:var(--ink-muted);font-size:var(--size-small);line-height:var(--lh-small)}.pos-confirm .action-pair{display:grid;grid-template-columns:1fr auto;gap:var(--space-2)}.pos-done{max-width:440px;display:grid;gap:var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);padding:var(--space-6) var(--space-5);text-align:center;animation:cue-settle .24s var(--ease-out)}.pos-done .status{justify-self:center}.pos-done .amount{font-size:40px;line-height:46px;font-weight:700;letter-spacing:-.01em}.pos-done .meta{color:var(--ink-muted);font-size:var(--size-small);margin-top:calc(-1 * var(--space-3))}.pos-done .action-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.pos-done .field-help{margin-top:calc(-1 * var(--space-2))}@media(max-width:1023px){.pos{grid-template-columns:minmax(0,1fr);gap:var(--space-5)}.pos-catalog{grid-template-columns:repeat(auto-fill,minmax(148px,1fr))}.pos-pane{position:static}.pos-confirm,.pos-done{max-width:none}}:root{--chart-ingresos: #b3551a;--chart-gastos: #0369a1;--chart-pago-efectivo: #eb6834;--chart-pago-tarjeta: #2a78d6;--chart-pago-otro: #eda100;--chart-pago-yappy: #1baf7a}.pnl-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-4)}.pnl-figure{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:var(--space-3) var(--space-4)}.pnl-figure .label{font-size:var(--size-caption);line-height:var(--lh-caption);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-weight:600}.pnl-figure .value{margin-top:var(--space-1);font-size:22px;line-height:28px;font-weight:600;font-variant-numeric:tabular-nums}.pnl-figure.net .value{font-weight:700}.pnl-figure .value[data-negative],.pnl-table td[data-negative]{color:var(--danger)}.pnl-chart-card{margin-top:var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);padding:var(--space-4) var(--space-5)}.pnl-chart-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.pnl-legend{display:flex;gap:var(--space-4);font-size:var(--size-small);color:var(--ink-muted)}.pnl-legend .entry{display:inline-flex;align-items:center;gap:var(--space-2)}.pnl-legend .chip{width:10px;height:10px;border-radius:3px}.pnl-legend .chip.ingresos{background:var(--chart-ingresos)}.pnl-legend .chip.gastos{background:var(--chart-gastos)}.pnl-chart{display:flex;align-items:stretch;gap:var(--space-2);margin-top:var(--space-4);border-bottom:1px solid var(--line-strong)}.pnl-col{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end}.pnl-bars{display:flex;justify-content:center;align-items:flex-end;gap:2px;height:148px}.pnl-bar{position:relative;width:clamp(8px,40%,22px);min-height:2px;border-radius:4px 4px 0 0;transition:opacity .14s var(--ease-out)}.pnl-bar.ingresos{background:var(--chart-ingresos)}.pnl-bar.gastos{background:var(--chart-gastos)}.pnl-chart:hover .pnl-bar{opacity:.55}.pnl-chart .pnl-bars:hover .pnl-bar{opacity:1}.pnl-bar:after{content:attr(data-value);position:absolute;bottom:100%;left:50%;transform:translate(-50%,-2px);padding:2px 6px;border-radius:6px;background:var(--surface-high);border:1px solid var(--line);color:var(--ink);font-size:var(--size-caption);line-height:var(--lh-caption);font-variant-numeric:tabular-nums;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .14s var(--ease-out);z-index:2}.pnl-bars:hover .pnl-bar:after{opacity:1}.pnl-month-label{margin-top:var(--space-2);padding-bottom:var(--space-2);text-align:center;font-size:var(--size-caption);line-height:var(--lh-caption);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pnl-table{margin-top:var(--space-4)}.pnl-table td.amount-cell{text-align:right;font-variant-numeric:tabular-nums}.pnl-table th.amount-col{text-align:right}@media(max-width:599px){.pnl-figures{grid-template-columns:1fr}.pnl-bars{height:110px}}.donut{position:relative;width:148px;flex-shrink:0}.donut-svg{display:block;width:100%;height:auto;transform:rotate(-90deg)}.donut-slice{transition-property:stroke-width;transition-duration:.15s;transition-timing-function:var(--ease-out)}.donut-slice:hover{stroke-width:11}.donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center;gap:2px}.donut-value{font-weight:600;font-size:var(--size-title);line-height:var(--lh-title);font-variant-numeric:tabular-nums}.donut-label{font-size:var(--size-caption);line-height:var(--lh-caption);letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--ink-muted)}.donut-flex{display:flex;align-items:center;gap:var(--space-6)}.donut-flex.group{padding:var(--space-4)}.donut-legend{flex:1;min-width:0}.donut-swatch{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:var(--space-2);vertical-align:baseline}@media(max-width:599px){.donut-flex{flex-direction:column;align-items:stretch}.donut{margin-inline:auto}}.factura-toolbar{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.factura-sheet{max-width:640px;background:var(--surface-high);border:1px solid var(--line);border-radius:var(--radius-l);padding:var(--space-7) var(--space-6)}.factura-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-5)}.factura-emisor .razon{font-family:var(--font-serif);font-weight:600;font-size:20px;line-height:26px;text-wrap:balance}.factura-emisor .fiscal{margin-top:var(--space-1);font-size:var(--size-small);line-height:var(--lh-small);color:var(--ink-muted)}.factura-id{text-align:right;flex-shrink:0}.factura-id .kind{font-size:var(--size-caption);line-height:var(--lh-caption);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);font-weight:600}.factura-id .numero{font-size:22px;line-height:28px;font-weight:700;font-variant-numeric:tabular-nums}.factura-id .fecha{margin-top:2px;font-size:var(--size-small);color:var(--ink-muted)}.factura-id .anulada{margin-top:var(--space-2);font-size:var(--size-caption);letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--danger)}.factura-cliente{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--line);font-size:var(--size-small);line-height:var(--lh-small)}.factura-cliente .label{font-size:var(--size-caption);line-height:var(--lh-caption);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-weight:600;margin-bottom:2px}.factura-lineas{margin-top:var(--space-5);width:100%;border-collapse:collapse;font-size:var(--size-small)}.factura-lineas th{padding:var(--space-2) 0}.factura-lineas td{padding:var(--space-2) 0;border-bottom:1px solid var(--line)}.factura-lineas .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:var(--space-3)}.factura-totales{margin-top:var(--space-4);margin-left:auto;width:min(260px,100%);display:grid;gap:var(--space-1);font-size:var(--size-small)}.factura-totales .linea{display:flex;justify-content:space-between;gap:var(--space-3);color:var(--ink-muted)}.factura-totales .linea .monto{color:var(--ink);font-variant-numeric:tabular-nums}.factura-totales .linea.total{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--line-strong);color:var(--ink);font-weight:700;font-size:var(--size-body)}.factura-totales .linea.total .monto{font-size:20px;line-height:26px}.factura-pie{margin-top:var(--space-6);padding-top:var(--space-3);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--size-caption);line-height:var(--lh-caption);color:var(--ink-faint)}@media print{.sidebar,.topbar,.tabbar,.factura-toolbar{display:none!important}body{background:#fff}.shell-main{max-width:none;padding:0}.factura-sheet{max-width:none;border:none;border-radius:0;padding:0;background:#fff;color:#111}.factura-sheet .fiscal,.factura-sheet .fecha,.factura-sheet .factura-id .kind,.factura-sheet .factura-cliente .label,.factura-sheet .factura-totales .linea,.factura-sheet .factura-pie{color:#444}.factura-sheet .factura-totales .linea .monto,.factura-sheet .factura-totales .linea.total{color:#111}}
