@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_next/static/media/archivo-vietnamese-wdth-normal.4a04442c.woff2) format("woff2-variations");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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_next/static/media/archivo-latin-ext-wdth-normal.33cc89f0.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_next/static/media/archivo-latin-wdth-normal.8eca89c0.woff2) format("woff2-variations");unicode-range:u+00??,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}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{border-width:0}.visible{visibility:visible}.relative{position:relative}.\!block{display:block!important}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.contents{display:contents}.\!hidden{display:none!important}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.border{border-width:1px}.capitalize{text-transform:capitalize}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important;transition-duration:.15s!important}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{color-scheme:light;--bg:#edf0ee;--surface:#ffffff;--surface-2:#f4f6f5;--surface-subtle:#f7f9f8;--surface-hover:#f1f4f3;--border:#d6dcd9;--border-strong:#c3cbc7;--border-hover:#97a39d;--ink:#17222b;--text:#17222b;--text-muted:#55626a;--label:#33414a;--pole:#8e2430;--pole-dark:#6f1a24;--accent:#8e2430;--accent-ink:#8e2430;--navy:#17222b;--brass:#a8833f;--primary:#17222b;--primary-hover:#2a3946;--primary-text:#ffffff;--accent-text:#ffffff;--focus:#3d6fa8;--danger:#b42318;--danger-text:#a01f15;--danger-border:#f0c3be;--danger-bg:#fdeceb;--critical:#b42318;--ok:#1d7448;--success:#1d7448;--ok-bg:#e2f1e8;--warning:#935a06;--warn-text:#865207;--warn-bg:#fbefd9;--neutral-bg:#e6eae8;--card-hover-border:#97a39d;--login-card-bg:#ffffff;--login-card-border:#d6dcd9;--font:"Archivo Variable","Archivo",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-heading:var(--font);--wide:116%;--shadow-card:none;--shadow-float:0 18px 44px rgba(16,26,34,0.18),0 2px 8px rgba(16,26,34,0.08);--radius-tight:8px;--radius-soft:10px;--radius-panel:14px}*{box-sizing:border-box}body,html{padding:0;margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.55;font-optical-sizing:auto;-webkit-font-smoothing:antialiased}body{min-height:100vh}::-moz-selection{color:#fff;background:var(--pole)}::selection{color:#fff;background:var(--pole)}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}h1,h2,h3{margin:0;font-family:var(--font-heading);line-height:1.15;letter-spacing:-.01em}h1{font-size:1.75rem;font-weight:720;font-stretch:var(--wide)}h2{font-size:1.08rem;font-weight:660;font-stretch:106%}h3{font-size:.98rem;font-weight:640}a{color:var(--accent-ink);text-decoration:none}a:hover{color:var(--pole-dark);text-decoration:underline;text-underline-offset:3px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:.84rem;color:var(--label);font-weight:600}.field input,.field select,.field textarea{width:100%;min-height:44px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-soft);padding:10px 12px;outline:none;font:inherit;color:inherit;resize:vertical;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.field input::-moz-placeholder,.field textarea::-moz-placeholder{color:#8b979d}.field input::placeholder,.field textarea::placeholder{color:#8b979d}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--border-hover)}.field input:focus,.field select:focus,input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 22%,transparent);outline:none}[role=button]:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.btn{min-height:42px;border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius-soft);padding:9px 16px;cursor:pointer;font-weight:620;letter-spacing:.005em}.btn,.btn:hover{color:var(--text);text-decoration:none}.btn:hover{border-color:var(--border-hover);background:var(--surface-hover)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:default;transform:none}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text);font-weight:660}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:var(--primary-text)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn-ghost:hover{background:color-mix(in srgb,var(--ink) 6%,transparent);border-color:transparent}.btn-danger{background:var(--surface);border-color:var(--danger-border);color:var(--danger-text)}.btn-danger:hover{background:var(--danger-bg);border-color:var(--danger);color:var(--danger-text)}.btn-sm{min-height:34px;padding:5px 11px;font-size:.86rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel);padding:20px}.client-segment-selected{border-color:var(--ink)!important;box-shadow:inset 0 0 0 1px var(--ink)}.error-text{color:var(--danger-text);font-size:.9rem;min-height:1.2em}.hint-text{color:var(--text-muted);font-size:.86rem}table{width:100%;border-collapse:collapse;background:var(--surface)}td,th{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border)}th{color:var(--text-muted);font-size:.78rem;font-weight:600;background:transparent;border-bottom:1px solid var(--border-strong)}td.num,th.num{font-variant-numeric:tabular-nums}tr.inactive td{color:var(--text-muted)}tbody tr:hover{background:var(--surface-subtle)}tbody tr:last-child td{border-bottom:0}.tag{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:620}.tag-ok{background:var(--ok-bg);color:var(--ok)}.tag-off{background:var(--neutral-bg);color:var(--text-muted)}.row-actions{gap:8px}.row-actions,.toolbar{display:flex;align-items:center}.toolbar{justify-content:space-between;margin-bottom:20px;gap:12px}.toolbar h1{font-size:1.75rem}a,button,input,select,textarea{transition:border-color .14s ease,background-color .14s ease,color .14s ease,box-shadow .14s ease}.eyebrow{display:none}.app-shell{display:flex;min-height:100vh}.app-sidebar{position:sticky;top:0;flex:0 0 248px;height:100vh;overflow-y:auto;padding:20px 12px 16px;display:flex;flex-direction:column;gap:2px;background:var(--navy);color:#e8edef}.app-main{flex:1;padding:32px clamp(20px,3.6vw,56px) 48px;max-width:1480px;min-width:0;margin:0 auto}.app-nav-link{color:#b6c1c7;display:block;padding:9px 12px;border-radius:8px;font-size:.92rem;font-weight:500;text-decoration:none;position:relative}.app-nav-link:hover{background:rgba(255,255,255,.06);color:#fff;text-decoration:none}.app-nav-link[aria-current=page]{background:rgba(255,255,255,.09);color:#fff;font-weight:620}.app-nav-link[aria-current=page]:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:3px;background:color-mix(in srgb,var(--pole) 70%,#fff)}.app-sidebar .hint-text{color:#8e9ca4}.app-sidebar .btn{background:transparent;border-color:rgba(255,255,255,.16);color:#e8edef}.app-sidebar .btn:hover{background:rgba(255,255,255,.08)}.brand-header{display:flex;align-items:center;gap:11px;min-width:0;padding:4px 8px 18px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.09)}.brand-logo,.brand-monogram{width:40px;height:40px;flex:0 0 40px;-o-object-fit:contain;object-fit:contain;border-radius:10px;background:rgba(255,255,255,.08)}.brand-monogram{display:grid;place-items:center;color:#fff;background:var(--pole);font-weight:760;font-size:1.15rem;font-stretch:var(--wide)}.brand-copy{min-width:0;display:grid;gap:1px}.brand-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1rem;font-weight:700;font-stretch:108%}.brand-copy .hint-text{font-size:.78rem}.brand-settings-page,.calendar-page,.dashboard-page{max-width:1400px;margin:0 auto}.calendar-heading,.dashboard-heading,.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px}.calendar-heading h1,.dashboard-heading h1,.page-heading h1,.toolbar>div>h1,.toolbar>h1{font-weight:740;font-stretch:var(--wide);font-size:clamp(1.75rem,2.6vw,2.35rem);letter-spacing:-.02em;line-height:1.05}.page-heading p.hint-text,.toolbar .hint-text{max-width:68ch}.calendar-range,.dashboard-period{margin:6px 0 0}.calendar-range:first-letter,.dashboard-period:first-letter{text-transform:uppercase}.calendar-filter,.comparison-picker{margin:0;min-width:190px}.calendar-filter span,.comparison-picker span{color:var(--text-muted);font-size:.8rem;font-weight:600}.calendar-filter select,.comparison-picker input{min-height:42px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-soft);padding:8px 10px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-panel);overflow:hidden}.kpi-card{background:var(--surface);padding:18px 20px 16px;min-height:118px;display:flex;flex-direction:column;justify-content:space-between;position:relative}.kpi-card-featured:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:0 3px 3px 0;background:var(--pole)}.kpi-label{color:var(--text-muted);font-size:.84rem;line-height:1.3;min-height:2.2em}.kpi-value{margin-top:8px;font-weight:720;font-stretch:112%;font-size:clamp(1.6rem,2.2vw,2.05rem);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.kpi-foot{display:flex;align-items:baseline;gap:7px;margin-top:8px;min-height:1.3em}.kpi-delta{display:inline-flex;align-items:center;gap:3px;font-size:.8rem;font-weight:650;font-variant-numeric:tabular-nums}.kpi-delta-up{color:var(--ok)}.kpi-delta-down{color:var(--danger)}.kpi-delta-flat{color:var(--text-muted)}.comparison-panel{margin-top:18px;padding:20px}.comparison-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.comparison-heading h2:first-letter{text-transform:uppercase}.comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px;margin-top:15px}.comparison-item{display:grid;gap:5px;padding:13px;background:var(--surface-2);border-radius:var(--radius-soft)}.comparison-item strong{font-size:1.15rem;font-weight:700;font-stretch:110%;font-variant-numeric:tabular-nums}.comparison-previous{color:var(--text-muted);font-size:.8rem}.comparison-note{margin:12px 0 0}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin-top:18px}.chart-card{padding:18px 20px 10px}.chart-card h2{font-size:1.02rem}.chart-empty{margin:32px 0;text-align:center}.chart-card .recharts-cartesian-axis-tick-value{font-family:var(--font);fill:var(--text-muted);font-size:11.5px}.funnel-strip{display:flex;align-items:stretch;gap:2px;margin-top:12px;overflow-x:auto}.funnel-step{flex:1;min-width:108px;padding:12px 14px;background:var(--surface-2);border-radius:var(--radius-tight);position:relative}.funnel-step-label{color:var(--text-muted);font-size:.8rem}.funnel-step-value{font-weight:720;font-stretch:112%;font-size:1.45rem;margin-top:3px}.funnel-step-rate{color:var(--text-muted);font-size:.78rem;margin-top:2px;font-variant-numeric:tabular-nums}.funnel-step-bar{height:4px;border-radius:99px;background:var(--border);margin-top:9px;overflow:hidden}.funnel-step-bar span{display:block;height:100%;background:var(--ink);border-radius:inherit}.calendar-controls{display:flex;align-items:flex-end;justify-content:flex-end;gap:12px;flex-wrap:wrap}.calendar-week-actions{display:flex;align-items:center;gap:7px}.calendar-week-actions .btn{min-height:42px}.calendar-dot{width:9px;height:9px;border-radius:50%}.calendar-legend{margin-top:8px}.notice{border:1px solid var(--border);border-radius:var(--radius-soft);padding:11px 14px;margin:12px 0;background:var(--surface)}.notice-error{color:var(--danger-text);border-color:var(--danger-border);background:var(--danger-bg)}.notice-success{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 30%,transparent);background:var(--ok-bg)}.notice-warn{color:var(--warn-text);border-color:color-mix(in srgb,var(--warning) 30%,transparent);background:var(--warn-bg)}.feedback-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.feedback-metric{padding:17px 19px;border-left:4px solid var(--border)}.metric-tone-good{border-left-color:var(--success)}.metric-tone-good .kpi-value,.metric-tone-good .metric-value{color:var(--success)}.metric-tone-caution{border-left-color:var(--warning)}.metric-tone-caution .kpi-value,.metric-tone-caution .metric-value{color:var(--warning)}.metric-tone-poor{border-left-color:var(--critical)}.metric-tone-poor .kpi-value,.metric-tone-poor .metric-value{color:var(--critical)}.feedback-metric-detail{color:var(--text-muted);font-size:.84rem;margin-top:4px}.satisfaction-legend{margin:10px 2px 18px}.metric-value{margin-top:7px;font-weight:720;font-stretch:112%;font-size:clamp(1.45rem,2vw,1.8rem);line-height:1.1;font-variant-numeric:tabular-nums}.brand-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;align-items:start}.brand-settings-grid .card{padding:20px}.brand-settings-grid h2{margin-bottom:5px}.brand-preview-card{grid-column:1/-1}.brand-preview{display:flex;align-items:center;gap:14px;background:var(--surface-2);border-radius:var(--radius-soft);padding:16px;margin:12px 0}.brand-preview-logo,.brand-preview-monogram{width:56px;height:56px;-o-object-fit:contain;object-fit:contain;border-radius:10px;background:var(--surface)}.brand-preview-monogram{display:grid;place-items:center;color:#fff;background:var(--pole);font-size:1.5rem;font-weight:760;font-stretch:var(--wide)}.brand-preview>div{display:grid}.brand-upload-hint{margin:5px 0 14px}.settings-form{margin-top:15px}.settings-form .field input[type=file]{width:100%}@media (max-width:760px){.calendar-heading,.dashboard-heading,.page-heading{align-items:flex-start;flex-direction:column;gap:14px}.comparison-picker{width:100%}.calendar-controls{width:100%;justify-content:space-between}.calendar-filter{flex:1}.calendar-week-actions{flex:1;justify-content:space-between}.calendar-week-actions .btn{padding:6px 8px}.calendar-week-actions .btn span{display:none}.comparison-heading{align-items:flex-start}.funnel-strip{flex-wrap:wrap}.funnel-step{min-width:42%}}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);background:var(--bg)}.login-sign{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:clamp(28px,5vw,64px);background:var(--navy);color:#e8edef;overflow:hidden}.login-sign-name{font-weight:780;font-stretch:125%;font-size:clamp(2.4rem,5.2vw,4.6rem);line-height:.98;letter-spacing:-.03em;color:#fff;max-width:10ch;overflow-wrap:anywhere}.login-sign-line{color:#b6c1c7;font-size:1.02rem;max-width:34ch}.login-sign-logo{width:72px;height:72px;-o-object-fit:contain;object-fit:contain;border-radius:14px;background:rgba(255,255,255,.08)}.login-sign-foot{color:#8e9ca4;font-size:.86rem}.login-sign:after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--pole)}.login-form-side{display:grid;place-items:center;padding:clamp(24px,4vw,56px)}.card.login-card,.login-card{width:min(100%,400px);padding:0;border:0;border-radius:0;background:transparent}.login-card h1{font-size:1.9rem}.login-logo,.login-mark{display:none}@media (max-width:860px){.login-page{grid-template-columns:1fr;grid-template-rows:auto 1fr}.login-sign{padding:28px 20px 30px;gap:14px}.login-sign-name{font-size:clamp(2rem,9vw,2.8rem);max-width:none}.login-sign-foot,.login-sign-line{display:none}.login-form-side{place-items:start center;padding:28px 20px 40px}}.admin-shortcuts{display:grid;grid-template-columns:1fr;gap:16px;margin-top:24px}@media (min-width:640px){.admin-shortcuts{grid-template-columns:repeat(2,1fr)}}@media (min-width:1280px){.admin-shortcuts{grid-template-columns:repeat(3,1fr)}}.shortcut-card{position:relative;display:block;overflow:hidden;padding:18px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.shortcut-card:hover{transform:translateY(-2px);border-color:var(--card-hover-border);box-shadow:0 14px 30px rgba(28,24,18,.1)}.calendar-admin-note{display:grid;gap:7px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border);font-size:.82rem}.calendar-admin-note p{margin:0;color:var(--text-muted);overflow-wrap:anywhere}.calendar-admin-note textarea{width:100%;min-height:72px;resize:vertical;border:1px solid var(--border);border-radius:8px;padding:8px;color:inherit;background:var(--surface);font:inherit}.checkbox-row{display:flex;align-items:center;gap:10px;margin:14px 0 8px}.checkbox-row input{width:18px;height:18px;accent-color:var(--pole)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:520px){.card.login-card,.login-card{padding:25px 21px;border-radius:14px}}@media (max-width:440px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kpi-card{min-height:100px;padding:13px}.kpi-label{font-size:.76rem}.kpi-value{font-size:1.25rem}.comparison-heading{flex-direction:column}.comparison-grid{grid-template-columns:1fr 1fr}}.nav-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:8px;padding:0 6px;border-radius:99px;background:var(--pole);color:#fff;font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums;vertical-align:middle}.receivable-overdue td:first-child{box-shadow:inset 3px 0 0 var(--pole)}.app-topbar{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin:-12px 0 14px}.store-status{position:relative}.store-status-pill{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:6px 14px;border:1px solid var(--border);border-radius:99px;background:var(--surface);font-weight:600;font-size:.86rem;cursor:pointer}.store-status-pill:disabled{cursor:default;opacity:1}.store-status-pill .hint-text{font-weight:400;font-size:.76rem}.store-status-dot{width:10px;height:10px;border-radius:50%;flex:0 0 10px}.store-status-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:20;width:min(340px,90vw);padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 14px 34px rgba(28,24,18,.14)}.store-status-option{display:flex;gap:10px;align-items:flex-start;width:100%;padding:10px;border:0;border-radius:8px;background:transparent;text-align:left;cursor:pointer}.store-status-option:hover{background:var(--surface-2)}.store-status-option .store-status-dot{margin-top:5px}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:rgba(28,24,18,.45)}.modal{width:min(520px,100%);max-height:90vh;overflow-y:auto;text-align:left}@media (max-width:760px){.chart-card[style*="span 2"]{grid-column:auto!important}}html[data-palette=navy]{--pole:#1f5a8a;--pole-dark:#17466c;--accent:#1f5a8a;--accent-ink:#1f5a8a;--navy:#13243a}html[data-palette=forest]{--pole:#2c6a4c;--pole-dark:#21523a;--accent:#2c6a4c;--accent-ink:#2c6a4c;--navy:#182b23}html[data-palette=graphite]{--pole:#8a5a2b;--pole-dark:#6e4722;--accent:#8a5a2b;--accent-ink:#8a5a2b;--navy:#23262b}html[data-theme=dark]{color-scheme:dark;--bg:#10171d;--surface:#172028;--surface-2:#1e2932;--surface-hover:#1d2730;--surface-subtle:#1a242c;--border:#2b3741;--border-strong:#37444e;--border-hover:#55646e;--text:#e6ebee;--text-muted:#9cabb3;--label:#c8d2d7;--ink:#e6ebee;--primary:#e6ebee;--primary-hover:#ffffff;--primary-text:#10171d;--navy:#0b1116;--accent-ink:#ea8d97;--focus:#7fa9dc;--danger:#f07467;--danger-text:#f6a59b;--danger-border:#6a2f2a;--danger-bg:rgba(240,116,103,0.13);--critical:#f07467;--ok:#6cc597;--success:#6cc597;--ok-bg:rgba(108,197,151,0.15);--warning:#e6b464;--warn-text:#e6b464;--warn-bg:rgba(230,180,100,0.15);--neutral-bg:#26323b;--card-hover-border:#55646e;--login-card-bg:#172028;--login-card-border:#2b3741;--shadow-float:0 18px 44px rgba(0,0,0,0.5),0 2px 8px rgba(0,0,0,0.35)}html[data-theme=dark][data-palette=navy]{--accent-ink:#7fb3e0}html[data-theme=dark][data-palette=forest]{--accent-ink:#7fcfa6}html[data-theme=dark][data-palette=graphite]{--accent-ink:#e0a46b}@media (prefers-color-scheme:dark){html[data-theme=system]{color-scheme:dark;--bg:#10171d;--surface:#172028;--surface-2:#1e2932;--surface-hover:#1d2730;--surface-subtle:#1a242c;--border:#2b3741;--border-strong:#37444e;--border-hover:#55646e;--text:#e6ebee;--text-muted:#9cabb3;--label:#c8d2d7;--ink:#e6ebee;--primary:#e6ebee;--primary-hover:#ffffff;--primary-text:#10171d;--navy:#0b1116;--accent-ink:#ea8d97;--focus:#7fa9dc;--danger:#f07467;--danger-text:#f6a59b;--danger-border:#6a2f2a;--danger-bg:rgba(240,116,103,0.13);--critical:#f07467;--ok:#6cc597;--success:#6cc597;--ok-bg:rgba(108,197,151,0.15);--warning:#e6b464;--warn-text:#e6b464;--warn-bg:rgba(230,180,100,0.15);--neutral-bg:#26323b;--card-hover-border:#55646e;--login-card-bg:#172028;--login-card-border:#2b3741;--shadow-float:0 18px 44px rgba(0,0,0,0.5),0 2px 8px rgba(0,0,0,0.35)}html[data-theme=system][data-palette=navy]{--accent-ink:#7fb3e0}html[data-theme=system][data-palette=forest]{--accent-ink:#7fcfa6}html[data-theme=system][data-palette=graphite]{--accent-ink:#e0a46b}}.theme-select{padding:0 10px 10px}.theme-select select{min-height:34px;color:#f0f3ee;border:1px solid rgba(255,255,255,.14)}.theme-select select option{color:#211d18}.palette-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:12px}.palette-option{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer;font-weight:600}.palette-option-active{border-color:var(--pole);box-shadow:0 0 0 2px color-mix(in srgb,var(--pole) 25%,transparent)}.palette-swatches{display:flex;gap:4px}.palette-swatches span{width:26px;height:26px;border-radius:6px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}:root{--chart-1:var(--pole);--chart-2:var(--navy);--chart-grid:#e4ddcc;--chart-muted:var(--text-muted)}html[data-theme=dark]{--chart-1:var(--accent-ink);--chart-2:#8fa6b6;--chart-grid:#353b42}@media (prefers-color-scheme:dark){html[data-theme=system]{--chart-1:var(--accent-ink);--chart-2:#8fa6b6;--chart-grid:#353b42}}.file-drop{display:flex;align-items:center;gap:14px;padding:18px;margin-bottom:12px;border:1.5px dashed var(--border-strong);border-radius:12px;background:var(--surface-subtle);cursor:pointer;transition:border-color .14s ease,background-color .14s ease}.file-drop-active,.file-drop:hover{border-color:var(--pole);background:color-mix(in srgb,var(--pole) 6%,var(--surface))}.file-drop-filled{border-style:solid}.file-drop-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:10px;background:var(--surface);border:1px solid var(--border);font-size:1.2rem;color:var(--accent-ink)}.file-drop:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--pole) 20%,transparent)}.cal-board{padding:0;overflow:hidden}.cal-body,.cal-head{display:grid;grid-template-columns:52px repeat(7,minmax(0,1fr))}.cal-head{border-bottom:1px solid var(--border)}.cal-head-day{display:grid;justify-items:center;gap:2px;padding:10px 4px}.cal-head-day span{color:var(--text-muted);font-size:.74rem;text-transform:capitalize}.cal-head-day strong{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-family:var(--font-heading);font-size:1.15rem;font-variant-numeric:tabular-nums}.cal-head-day.is-today strong{background:var(--pole);color:#fff}.cal-scroll{max-height:min(72vh,860px);overflow-y:auto}.cal-body{position:relative;padding-top:8px}.cal-gutter{display:flex;flex-direction:column}.cal-hour{flex:0 0 auto;padding-right:8px;text-align:right;color:var(--text-muted);font-size:.72rem;font-variant-numeric:tabular-nums;transform:translateY(-.6em)}.cal-col{position:relative;border-left:1px solid var(--border);background-image:linear-gradient(to bottom,var(--border) 1px,transparent 1px)}.cal-col.is-today{background-color:color-mix(in srgb,var(--pole) 4%,transparent)}.cal-free{position:absolute;top:14px;left:0;right:0;text-align:center;color:var(--text-muted);font-size:.74rem}.cal-event{position:absolute;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;padding:4px 6px;border:0;border-left:3px solid var(--event-color);border-radius:6px;background:color-mix(in srgb,var(--event-color) 16%,var(--surface));color:var(--text);font:inherit;font-size:.74rem;line-height:1.25;text-align:left;overflow:hidden;cursor:pointer;transition:box-shadow .14s ease,transform .14s ease}.cal-event:hover{z-index:3;box-shadow:var(--shadow-card);transform:translateY(-1px)}.cal-event:focus-visible{z-index:3;outline:2px solid var(--event-color);outline-offset:1px}.cal-event strong,.cal-event-sub{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-event strong{font-size:.8rem}.cal-event-sub,.cal-event-time{color:var(--text-muted)}.cal-event-time{font-size:.7rem;font-weight:650;font-variant-numeric:tabular-nums}.cal-event.status-in_progress{background:color-mix(in srgb,var(--event-color) 30%,var(--surface));box-shadow:inset 0 0 0 1px var(--event-color)}.cal-event.status-completed{opacity:.6}.cal-event-block{border-left-color:var(--danger);background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--danger) 12%,var(--surface)) 0 6px,var(--surface) 6px 12px)}.cal-now{position:absolute;left:0;right:0;z-index:4;height:4px;margin-top:-2px;border-radius:2px;pointer-events:none;background:repeating-linear-gradient(-45deg,var(--pole) 0 6px,#eee8dc 6px 12px,var(--navy) 12px 18px);background-size:25.46px 100%;animation:cal-pole 2.4s linear infinite}.cal-now-dot{position:absolute;left:-6px;top:-4px;width:12px;height:12px;border-radius:50%;background:var(--pole);box-shadow:0 0 0 2px var(--surface)}@keyframes cal-pole{to{background-position:25.46px 0}}.cal-slide-next{animation:cal-in-next .28s cubic-bezier(.2,.7,.2,1)}.cal-slide-prev{animation:cal-in-prev .28s cubic-bezier(.2,.7,.2,1)}@keyframes cal-in-next{0%{opacity:0;transform:translateX(32px)}to{opacity:1;transform:none}}@keyframes cal-in-prev{0%{opacity:0;transform:translateX(-32px)}to{opacity:1;transform:none}}.cal-board.is-loading .cal-body{opacity:.55;transition:opacity .15s ease}.cal-nav{min-width:40px;font-size:1.1rem;line-height:1}.modal{animation:modal-in .18s ease-out}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.cal-detail{border-top:4px solid var(--event-color)}.cal-detail h2{margin-top:4px;font-family:var(--font-heading)}.cal-detail-list{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:12px 0 0}.cal-detail-list dt{color:var(--text-muted)}.cal-detail-list dd{margin:0;font-weight:600}.cal-team{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.cal-team-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--border);border-radius:99px;background:var(--surface);font-size:.82rem}.cal-team-chip .calendar-dot{background:var(--event-color)}.cal-day-tabs{display:none}@media (max-width:760px){.cal-head{display:none}.cal-body{grid-template-columns:44px minmax(0,1fr)}[data-mobile-hidden=true]{display:none}.cal-day-tabs{display:flex;gap:6px;overflow-x:auto;margin-bottom:10px;padding-bottom:2px}.cal-day-tab{position:relative;flex:1 0 44px;display:grid;justify-items:center;gap:1px;padding:6px 0 9px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.cal-day-tab span{color:var(--text-muted);font-size:.7rem;text-transform:capitalize}.cal-day-tab strong{font-family:var(--font-heading);font-size:1.05rem}.cal-day-tab.is-active{border-color:var(--pole);background:color-mix(in srgb,var(--pole) 10%,var(--surface))}.cal-day-tab.is-today strong{color:var(--accent-ink)}.cal-day-tab i{position:absolute;bottom:4px;width:5px;height:5px;border-radius:50%;background:var(--pole)}}.appt-hits{display:grid;gap:2px;margin-top:6px;max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:4px}.appt-hit{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.appt-hit:focus-visible,.appt-hit:hover{background:var(--surface-hover)}.appt-slots{display:flex;flex-wrap:wrap;gap:6px}.appt-slot{min-width:64px;padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer}.appt-slot:hover{border-color:var(--border-hover)}.appt-slot.is-selected{border-color:var(--pole);background:var(--pole);color:#fff}.appt-services{border:0;padding:0;margin:4px 0 12px;min-width:0}.appt-services legend{padding:0;margin-bottom:6px;font-weight:600;font-size:.86rem}.appt-service-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px}.appt-service{display:grid;grid-template-columns:18px 1fr;-moz-column-gap:8px;column-gap:8px;align-items:center;text-align:left;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.appt-service:hover:not(:disabled){border-color:var(--border-hover)}.appt-service:disabled{opacity:.5;cursor:not-allowed}.appt-service .hint-text{grid-column:2;font-size:.8rem}.appt-service-check{grid-row:span 2;width:18px;height:18px;border:1.5px solid var(--border-hover);border-radius:5px;display:grid;place-items:center}.appt-service-name{font-weight:600}.appt-service.is-selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.appt-service.is-selected .appt-service-check{background:var(--ink);border-color:var(--ink);color:var(--surface)}.appt-service-total{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin:8px 0 0;padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--ink) 6%,transparent);font-variant-numeric:tabular-nums}.app-nav-link{gap:10px}.app-nav-link svg{flex:0 0 auto;opacity:.85}.app-nav-group{margin:16px 12px 4px;color:#8fa0a7;font-size:.76rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn svg{flex:0 0 auto}.icon-btn{padding:6px;min-width:36px;min-height:36px}.clickable-row{cursor:pointer}.clickable-row:focus-visible{outline:2px solid var(--pole);outline-offset:-2px}.field-control{position:relative;display:flex;align-items:stretch}.field-control>.phone-input,.field-control>input,.field-control>select,.field-control>textarea{flex:1;min-width:0}.field-error .field-control>input,.field-valid .field-control>input{padding-right:38px}.field-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none}.field-icon-ok{color:var(--ok)}.field-icon-error{color:var(--danger)}.field-error .phone-input,.field-error input,.field-error select,.field-error textarea{border-color:var(--danger)!important}.field-error input:focus,.field-error select:focus,.field-error textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 16%,transparent)!important}.field-valid input:not(:focus),.field-valid select:not(:focus){border-color:color-mix(in srgb,var(--ok) 55%,var(--border))}.field-msg{min-height:1.2em;font-size:.82rem;line-height:1.35;color:var(--text-muted)}.field-msg.is-error{color:var(--danger-text);font-weight:600}.field>label{font-size:.82rem;color:var(--label);font-weight:600}.field-prefix{display:grid;place-items:center;padding:0 12px;border:1px solid var(--border);border-right:0;border-radius:var(--radius-soft) 0 0 var(--radius-soft);background:var(--surface-2);color:var(--text-muted);font-weight:600}.field-control.has-prefix>input{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.phone-input{display:flex;min-height:44px;border:1px solid var(--border);border-radius:var(--radius-soft);background:var(--surface);transition:border-color .14s ease,box-shadow .14s ease}.phone-input:focus-within{border-color:var(--pole);box-shadow:0 0 0 3px color-mix(in srgb,var(--pole) 13%,transparent)}.phone-country{position:relative;display:flex;align-items:center;gap:4px;padding:0 10px 0 12px;border-right:1px solid var(--border);white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer}.phone-country:after{content:"";width:6px;height:6px;margin-left:4px;border-right:1.5px solid var(--text-muted);border-bottom:1.5px solid var(--text-muted);transform:rotate(45deg) translateY(-2px)}.phone-country select{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer;font-size:16px}.field .phone-input input{flex:1;min-width:0;border:0!important;box-shadow:none!important;background:transparent;min-height:42px}.field-valid .phone-input:not(:focus-within){border-color:color-mix(in srgb,var(--ok) 55%,var(--border))}.toast-region{position:fixed;z-index:100;right:20px;bottom:20px;display:grid;gap:10px;width:min(380px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:11px;padding:13px 12px 13px 15px;border:1px solid var(--border);border-left:4px solid var(--ok);border-radius:12px;background:var(--surface);color:var(--text);box-shadow:0 16px 40px rgba(28,24,18,.18),0 2px 6px rgba(28,24,18,.08);animation:toast-in .22s cubic-bezier(.2,.7,.2,1)}.toast-error{border-left-color:var(--danger)}.toast-icon{flex:0 0 auto;margin-top:1px}.toast-success .toast-icon{color:var(--ok)}.toast-error .toast-icon{color:var(--danger)}.toast-body{flex:1;display:grid;gap:2px;min-width:0}.toast-body strong{font-weight:650}.toast-body span{color:var(--text-muted);font-size:.88rem;overflow-wrap:anywhere}.toast-close{flex:0 0 auto;display:grid;place-items:center;width:30px;height:30px;margin:-4px -2px 0 0;border:0;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer}.toast-close:hover{background:var(--surface-2);color:var(--text)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:0 14px}.form-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.form-card{max-width:560px}.sale-item-row{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;gap:10px;align-items:start}.sale-item-row>.btn{margin-top:27px;margin-bottom:16px;min-height:44px}.app-drawer-backdrop,.app-drawer-close,.app-mobilebar{display:none}@media (max-width:860px){.app-shell{display:block}.app-mobilebar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;min-height:56px;padding:max(8px,env(safe-area-inset-top)) 10px 8px 16px;background:var(--navy);color:#f0f3ee;box-shadow:0 2px 10px rgba(0,0,0,.18)}.app-mobilebar strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-heading);font-weight:600;font-size:1.1rem;letter-spacing:.01em}.app-mobilebar button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:10px;background:rgba(255,255,255,.08);color:inherit;cursor:pointer}.app-sidebar{position:fixed;inset:0 auto 0 0;z-index:60;width:min(304px,86vw);height:100%;padding:16px 14px max(16px,env(safe-area-inset-bottom));border-right:0;transform:translateX(-104%);visibility:hidden;transition:transform .22s cubic-bezier(.2,.7,.2,1),visibility 0s linear .22s}.app-shell.is-menu-open .app-sidebar{transform:none;visibility:visible;transition:transform .22s cubic-bezier(.2,.7,.2,1);box-shadow:8px 0 30px rgba(0,0,0,.25)}.app-drawer-close{display:grid;place-items:center;position:absolute;top:12px;right:10px;width:40px;height:40px;border:0;border-radius:10px;background:rgba(255,255,255,.08);color:#f0f3ee;cursor:pointer;z-index:1}.app-drawer-backdrop{position:fixed;inset:0;z-index:55;background:rgba(10,14,18,.5)}.app-shell.is-menu-open .app-drawer-backdrop{display:block;animation:fade-in .18s ease-out}.app-nav-link{padding:12px;font-size:.95rem}.app-main{padding:18px 16px 40px}.app-topbar{margin:0 0 14px;justify-content:flex-start}.toolbar{flex-wrap:wrap}.toolbar>h1{flex:1 1 auto}.app-main table:not(.table-stack){display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.form-card{max-width:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (max-width:640px){body,html{font-size:15px}.field input,.field select,.field textarea,.phone-input input{font-size:16px}.btn{min-height:44px}.btn-sm{min-height:38px;padding:7px 11px}.form-actions>.btn-primary{flex:1 1 auto}.sale-item-row{grid-template-columns:minmax(0,1fr) 92px}.sale-item-row>.btn{grid-column:1/-1;margin:-14px 0 18px}.toast-region{right:16px;left:16px;bottom:max(16px,env(safe-area-inset-bottom));width:auto}.card{padding:16px}.modal-backdrop{align-items:end;padding:0}.modal{width:100%;max-height:92vh;border-radius:16px 16px 0 0;padding-bottom:max(16px,env(safe-area-inset-bottom))}.table-stack tbody,.table-stack td,.table-stack thead,.table-stack tr,table.table-stack{display:block;width:100%}.table-stack{background:transparent}.table-stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.table-stack tr{margin-bottom:10px;padding:6px 0;border:1px solid var(--border);border-radius:12px}.table-stack tbody tr:hover,.table-stack tr{background:var(--surface)}.table-stack td{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:7px 14px;border:0;text-align:right}.table-stack td:before{content:attr(data-label);flex:0 0 auto;color:var(--text-muted);font-size:.8rem;text-align:left}.table-stack td:not([data-label]):before,.table-stack td[data-label=""]:before{content:none}.table-stack td.cell-title{display:block;padding:8px 14px 4px;text-align:left;font-size:1.02rem}.table-stack td.cell-actions{justify-content:flex-start;padding-top:10px;border-top:1px solid var(--border);margin-top:4px}.table-stack td.cell-actions .row-actions{flex-wrap:wrap}.table-stack tr.table-stack-detail{padding:12px}.table-stack tr.table-stack-detail td{display:block;text-align:left;padding:0;background:transparent!important}}.app-user{padding:0 10px 10px}.app-user-name{font-size:.9rem;overflow-wrap:anywhere}.client-phone-form{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;padding:14px;margin-bottom:20px;max-width:620px}.client-phone-form>.btn{margin-top:27px;min-height:44px}@media (max-width:640px){.client-phone-form>.btn{margin-top:0;width:100%}}.toolbar-search{min-width:240px;min-height:42px;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-soft);background:var(--surface)}@media (max-width:640px){.toolbar-search{width:100%;min-width:0;font-size:16px}}label.field>span:first-child{font-size:.82rem;color:var(--label);font-weight:600}.field-valid input:focus,.field-valid select:focus,.field-valid textarea:focus{border-color:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 16%,transparent)}.field-valid .phone-input:focus-within{border-color:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 16%,transparent)}.field-control input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.field-control input[type=number]::-webkit-inner-spin-button,.field-control input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cal-event.is-compact{flex-direction:row;align-items:center;gap:5px;padding:2px 6px}.cal-event.is-compact .cal-event-sub{display:none}.cal-event.is-compact strong{font-size:.74rem}.app-tabbar{display:none}.app-nav-group{display:block;margin:18px 12px 6px;color:#7f8e96;font-size:.78rem;font-weight:600}.app-nav-link{display:flex;align-items:center;gap:11px}.app-nav-link svg{opacity:.9}.theme-select{display:grid;gap:4px;padding:0 12px 10px}.theme-select select{min-height:36px;border-radius:8px;padding:4px 8px;background:rgba(255,255,255,.06);color:#eef2f3;border:1px solid rgba(255,255,255,.16)}.theme-select select option{color:#17222b}.app-user{padding:10px 12px;margin:6px 0 8px;border-top:1px solid rgba(255,255,255,.09)}.app-user-name{font-weight:620}@media (max-width:860px){.app-mobilebar{min-height:52px;padding:max(6px,env(safe-area-inset-top)) 16px 6px;box-shadow:none;border-bottom:3px solid var(--pole)}.app-mobilebar strong{font-weight:740;font-stretch:var(--wide);font-size:1.12rem;letter-spacing:-.01em}.app-mobilebar button{display:none}.app-main{padding:18px 16px calc(96px + env(safe-area-inset-bottom))}.app-tabbar{position:fixed;z-index:40;left:0;right:0;bottom:0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:6px 6px max(6px,env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border-strong)}.app-tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:54px;padding:4px 2px;border:0;border-radius:10px;background:transparent;color:var(--text-muted);font:inherit;font-size:.74rem;font-weight:600;text-decoration:none;cursor:pointer}.app-tab:hover{text-decoration:none}.app-tab:hover,.app-tab[aria-current=page]{color:var(--text)}.app-tab[aria-current=page]:before{content:"";position:absolute;top:-7px;left:30%;right:30%;height:3px;border-radius:0 0 3px 3px;background:var(--pole)}.app-tab-icon{position:relative;display:grid;place-items:center}.app-tab-icon i{position:absolute;top:-6px;right:-12px;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--danger);color:#fff;font-style:normal;font-size:.68rem;font-weight:700;display:grid;place-items:center}.toast-region{bottom:calc(84px + env(safe-area-inset-bottom))!important}.app-topbar{margin:0 0 12px}}@media (max-width:640px){.modal{padding-bottom:max(20px,env(safe-area-inset-bottom))}}.today{margin-bottom:40px}.today-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px 24px;margin-bottom:20px}.today-head h1{font-weight:780;font-stretch:125%;font-size:clamp(2.6rem,5vw,3.6rem);line-height:.95;letter-spacing:-.035em}.today-date{margin:8px 0 0;color:var(--text-muted);font-size:1rem}.today-date:first-letter{text-transform:uppercase}.today-actions{display:flex;flex-wrap:wrap;gap:10px}.today-action{min-height:48px;padding:10px 18px;font-size:.98rem}.today-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(200px,.7fr);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel)}.today-col{padding:18px 20px;min-width:0}.today-col+.today-col{border-left:1px solid var(--border)}.today-col h2{font-size:.95rem;font-stretch:100%;color:var(--text-muted);font-weight:620;margin-bottom:12px}.today-empty{margin:0;color:var(--text-muted)}.today-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}.today-row{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.today-row:last-child{border-bottom:0}.today-time{font-weight:720;font-stretch:112%;font-size:1.08rem;font-variant-numeric:tabular-nums}.today-who{display:grid;min-width:0}.today-who strong{font-weight:640}.today-who span,.today-who strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-who span{color:var(--text-muted);font-size:.86rem}.today-row.is-now .today-time{color:var(--accent-ink)}.today-row.is-now{box-shadow:inset 3px 0 0 var(--pole);padding-left:12px;border-radius:2px}.today-counts{margin:0;padding:18px 20px;display:grid;align-content:start;gap:14px;border-left:1px solid var(--border);background:var(--surface-subtle);border-radius:0 var(--radius-panel) var(--radius-panel) 0}.today-counts dt{color:var(--text-muted);font-size:.84rem}.today-counts dd{margin:2px 0 0;font-weight:720;font-stretch:112%;font-size:1.6rem;line-height:1.05;font-variant-numeric:tabular-nums}.today-counts .is-alert dd,.today-counts .is-alert dd a{color:var(--danger-text)}.today-counts dd a{font-size:1.1rem}.dashboard-embedded .dashboard-heading{margin-bottom:16px;padding-top:4px}.section-title{font-weight:720;font-stretch:var(--wide);font-size:1.35rem;letter-spacing:-.015em}@media (max-width:980px){.today-board{grid-template-columns:1fr 1fr}.today-counts{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));border-left:0;border-top:1px solid var(--border);border-radius:0 0 var(--radius-panel) var(--radius-panel)}}@media (max-width:640px){.today-head{align-items:flex-start}.today-head h1{font-size:2.6rem}.today-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.today-actions .btn-primary{grid-column:1/-1}.today-board{grid-template-columns:1fr}.today-col+.today-col{border-left:0;border-top:1px solid var(--border)}.today-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:14px 16px}.today-counts dd{font-size:1.3rem}.today-counts dd a{font-size:.95rem}}:root{--chart-1:#24435c;--chart-2:#9aa8b0;--chart-grid:#dfe5e2}.notice-compact{margin:0 0 10px;padding:8px 12px;font-size:.88rem}.notice-compact .btn{min-height:32px;padding:4px 10px;font-size:.84rem}.login-sign-name{text-wrap:balance;margin:0}.login-sign-line{margin:18px 0 0}.today{padding-top:10px}.lunch-box{border:1px solid var(--border);border-radius:var(--radius-soft);padding:10px 14px 14px;margin:0 0 14px;min-width:0}.lunch-box legend{display:inline-flex;align-items:center;gap:6px;padding:0 6px;margin-left:-6px;font-weight:640;font-size:.92rem}.lunch-box .checkbox-row{margin-top:4px}.lunch-times{display:grid;grid-template-columns:repeat(2,minmax(0,170px));gap:12px}.lunch-times .field{margin-bottom:6px}@media (max-width:480px){.lunch-times{grid-template-columns:1fr 1fr}}.cal-lunch{position:absolute;left:0;right:0;z-index:0;pointer-events:none;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--ink) 7%,transparent) 0 6px,transparent 6px 12px);border-top:1px dashed var(--border-strong);border-bottom:1px dashed var(--border-strong)}.cal-lunch span{position:absolute;top:4px;left:6px;font-size:.72rem;font-weight:600;color:var(--text-muted)}.money-hidden{display:inline-block;filter:blur(7px);-moz-user-select:none;user-select:none;-webkit-user-select:none;color:var(--text-muted);transition:filter .16s ease}.kpi-value .money-hidden,.money-panel .money-hidden{filter:blur(9px)}@media (prefers-reduced-motion:reduce){.money-hidden{transition:none}}.financial-toggle{gap:8px 12px;margin:0 0 14px}.financial-toggle,.period-bar{display:flex;flex-wrap:wrap;align-items:center}.period-bar{gap:10px 14px;margin:-6px 0 14px}.segmented{display:inline-flex;max-width:100%;overflow-x:auto;padding:3px;gap:2px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);scrollbar-width:none}.segmented::-webkit-scrollbar{display:none}.segmented button{flex:0 0 auto;min-height:36px;padding:6px 15px;border:0;border-radius:999px;background:transparent;color:var(--text-muted);font:inherit;font-size:.88rem;font-weight:620;white-space:nowrap;cursor:pointer}.segmented button:hover{color:var(--text);background:color-mix(in srgb,var(--ink) 6%,transparent)}.segmented button[aria-checked=true],.segmented button[aria-selected=true]{background:var(--ink);color:var(--surface)}.period-nav{display:inline-flex;align-items:center;gap:6px}.period-nav .icon-btn{min-width:38px;padding:5px 8px}.period-caption{flex-basis:100%;margin:0;color:var(--text-muted);font-size:.9rem}.period-caption:first-letter{text-transform:uppercase}.dashboard-body{transition:opacity .16s ease}.dashboard-body.is-loading{opacity:.55;pointer-events:none}.money-panel{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);margin-bottom:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel)}.money-panel>section{min-width:0;padding:20px 22px}.money-panel>section+section{border-left:1px solid var(--border);background:var(--surface-subtle);border-radius:0 var(--radius-panel) var(--radius-panel) 0}.money-panel h2{margin-bottom:8px;color:var(--text-muted);font-size:.92rem;font-stretch:100%;font-weight:620}.money-big{font-weight:760;font-stretch:118%;font-size:clamp(2rem,3.4vw,2.7rem);line-height:1;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.paid-bar{display:flex;height:12px;margin:16px 0 10px;overflow:hidden;border-radius:99px;background:var(--neutral-bg)}.paid-bar .is-paid{background:var(--ok)}.paid-bar .is-pending{background:var(--warning)}.paid-bar.is-hidden{background:repeating-linear-gradient(135deg,var(--neutral-bg) 0 6px,var(--surface-2) 6px 12px)}.money-legend{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:.95rem}.money-legend strong{font-weight:700;font-variant-numeric:tabular-nums;margin-left:4px}.money-legend .dot{display:inline-block;width:9px;height:9px;margin-right:7px;border-radius:50%;vertical-align:1px}.money-legend .dot.is-paid{background:var(--ok)}.money-legend .dot.is-pending{background:var(--warning)}.overdue-line{margin:12px 0 0;color:var(--danger-text);font-weight:600;font-size:.92rem}.overdue-line a{color:inherit;text-decoration:underline;text-underline-offset:3px}.cash-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;padding-top:4px}.cash-value{display:inline-flex;align-items:baseline;gap:8px}.cash-value strong{font-weight:730;font-stretch:112%;font-size:1.35rem;font-variant-numeric:tabular-nums}.cash-note{margin:2px 0 14px;font-size:.82rem}.cash-note:last-child{margin-bottom:0}.kpi-alert{color:var(--danger-text);font-size:.82rem;font-weight:650}.chart-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 6px;font-size:.8rem}.legend-line{display:inline-block;width:18px;height:0;margin-left:10px;border-top:2.5px solid var(--chart-1)}.legend-line:first-child{margin-left:0}.legend-line.is-dashed{border-top:2px dashed var(--text-muted)}@media (max-width:760px){.money-panel{grid-template-columns:1fr}.money-panel>section+section{border-left:0;border-top:1px solid var(--border);border-radius:0 0 var(--radius-panel) var(--radius-panel)}.money-panel>section{padding:16px}.segmented{width:100%}.segmented button{flex:1 0 auto;padding:6px 10px}}.kpi-grid{background:var(--surface)}.kpi-grid>.kpi-card{outline:1px solid var(--border)}.tag-warn{background:var(--warn-bg);color:var(--warn-text)}.audit-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;align-items:end;margin-bottom:18px;padding:16px}.audit-filters .segmented{width:100%}.audit-filters>.field:first-child{grid-column:1/-1}.audit-filters>.field:first-child .segmented{width:auto}.audit-filters .segmented button{flex:1 0 auto}.audit-list{display:grid;gap:10px}.audit-entry{padding:14px 16px}.audit-entry.is-alert{border-left:3px solid var(--warning)}.audit-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px}.audit-head>span{min-width:0;overflow-wrap:anywhere}.audit-head .tag{padding:1px 8px;vertical-align:1px}.audit-origin{margin:6px 0 0;font-size:.85rem;overflow-wrap:anywhere}.audit-ip{padding:0;border:0;background:none;color:inherit;font:inherit;font-variant-numeric:tabular-nums;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:3px;cursor:pointer}.audit-ip:hover{color:var(--text);text-decoration-style:solid}.audit-ip:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:3px}.audit-context{display:flex;flex-wrap:wrap;gap:4px 14px;margin:6px 0 0;font-size:.88rem;color:var(--text)}.audit-ctx,.audit-link{display:inline-flex;align-items:center;gap:5px;min-width:0;overflow-wrap:anywhere}.audit-ctx svg,.audit-link svg{flex:none;color:var(--text-muted)}.audit-link{padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:3px;cursor:pointer}.audit-link:hover{text-decoration-style:solid}.audit-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:3px}.audit-scope{display:flex;justify-content:space-between;gap:10px 16px;margin-bottom:18px;padding:14px 16px}.audit-scope,.audit-scope>span{flex-wrap:wrap;align-items:center}.audit-scope>span{display:inline-flex;gap:6px;min-width:0;overflow-wrap:anywhere}.audit-picked{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:40px;padding:2px 4px 2px 12px;border:1px solid var(--border);border-radius:var(--radius-tight);background:var(--surface)}.audit-picked>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.stock-stepper{display:inline-flex;align-items:center;gap:4px;justify-content:flex-end}.stock-stepper .icon-btn{min-width:32px;min-height:32px;padding:4px}.stock-stepper input{width:4.6em;min-height:34px;padding:4px 6px;text-align:center;font-variant-numeric:tabular-nums;font-weight:650;border:1px solid var(--border-strong);border-radius:var(--radius-soft);background:var(--surface)}.stock-stepper.is-changed input{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 18%,transparent)}.stock-adjust{display:grid;gap:10px}.stock-adjust .field{margin-bottom:0;max-width:520px}.stock-adjust-title{margin:0}.chip-group{display:flex;flex-wrap:wrap;gap:6px}.chip{min-height:34px;padding:5px 12px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);color:var(--text);font-size:.88rem;font-weight:560;cursor:pointer}.chip:hover{border-color:var(--border-hover)}.chip[aria-checked=true]{background:var(--ink);border-color:var(--ink);color:var(--surface)}.stock-history{width:100%;font-size:.9rem}.stock-history .is-in{color:var(--ok);font-weight:650}.stock-history .is-out{color:var(--danger-text);font-weight:650}.discount-line{margin:10px 0 0}.discount-line code{font-size:.85em}.discount-open{margin:4px 0 12px}.discount-box{display:grid;gap:12px;margin:6px 0 16px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-soft);background:var(--surface-2);min-width:0}.discount-box legend{display:inline-flex;align-items:center;gap:6px;padding:0 6px;font-weight:650}.discount-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px}.discount-row .segmented{width:auto}.discount-amount{display:inline-flex;align-items:center;gap:4px}.discount-amount input{width:7.5em;min-height:40px;padding:6px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-soft);background:var(--surface);font-variant-numeric:tabular-nums}.discount-target{margin:0;min-width:200px;flex:1 1 200px}.discount-note{margin:0}.discount-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;min-height:36px}.discount-problem{color:var(--warn-text);font-weight:600}.sale-totals{display:grid;justify-content:end;gap:2px;padding:12px 8px;text-align:right;font-variant-numeric:tabular-nums}.sale-totals .is-discount{color:var(--ok)}.sale-totals strong{font-size:1.05rem}.receipt-discount{margin:6px 0 10px;padding:8px 12px;border-left:3px solid var(--ok);background:var(--ok-bg);border-radius:0 var(--radius-soft) var(--radius-soft) 0;font-size:.9rem}@media (max-width:760px){.discount-row .segmented{width:auto}}.tab-dialog{width:min(640px,100%)}.tab-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.tab-head h2{margin:2px 0 4px;font-family:var(--font-heading);overflow-wrap:anywhere}.tab-kicker{display:inline-flex;align-items:center;gap:6px;margin:0;color:var(--text-muted);font-size:.78rem;font-weight:680;letter-spacing:.06em;text-transform:uppercase}.tab-sub{margin:0}.tab-status{font-weight:650}.tab-status.is-in_progress{color:var(--ok)}.tab-status.is-canceled{color:var(--danger-text)}.tab-warning{margin:12px 0 0;padding:8px 12px;border-radius:var(--radius-soft);background:var(--warn-bg);color:var(--warn-text);font-weight:600;font-size:.9rem}.tab-lines{list-style:none;margin:14px 0 0;padding:0;border-top:1px solid var(--border)}.tab-lines li{display:grid;grid-template-columns:minmax(0,1fr) auto 7.5em;align-items:center;gap:6px 10px;padding:9px 0;border-bottom:1px solid var(--border)}.tab-lines li>span:empty{display:none}.tab-lines li.has-problem{box-shadow:inset 3px 0 0 var(--warning);padding-left:10px}.tab-line-name{display:grid;gap:1px;min-width:0}.tab-line-name strong{font-weight:640;overflow-wrap:anywhere}.tab-line-problem{color:var(--warn-text);font-size:.84rem;font-weight:600}.tab-line-price{grid-column:3;display:grid;justify-items:end;font-variant-numeric:tabular-nums;font-weight:620}.tab-line-price .is-discount,.tab-receipt .is-discount{color:var(--ok);font-weight:600;font-size:.84rem}.tab-stepper output{min-width:2.2em;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.tab-add{margin:12px 0 8px}.tab-discount-saved{margin:10px 0 4px}.tab-discount-save{margin:-8px 0 12px}.tab-totals{padding-right:0}.tab-pay{display:grid;gap:10px;margin:4px 0 12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-soft);min-width:0}.tab-pay legend{padding:0 6px;font-weight:650}.tab-pay-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.tab-pay-note{margin:0}.tab-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.tab-discard{margin-left:auto;color:var(--danger-text)}.tab-meta{margin:10px 0 0}.tab-done{display:flex;align-items:center;gap:8px;margin:12px 0;color:var(--ok);font-weight:700}.tab-receipt-items{list-style:none;margin:0 0 8px;padding:0}.tab-receipt-items li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums}.link-btn{padding:0;border:0;background:none;color:var(--accent-ink);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.today-row.has-action .today-tab-btn{grid-column:2;justify-self:start;margin-top:2px}.today-tab-btn{white-space:nowrap}.today-tab-btn.is-open{border-color:var(--ok);color:var(--ok)}.today-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;padding:10px 14px;border:1px solid var(--border);border-left:3px solid var(--ok);border-radius:var(--radius-soft);background:var(--surface)}.today-tabs h2{margin:0 6px 0 0;font-size:.95rem;font-stretch:100%;color:var(--text-muted);font-weight:620}@media (max-width:560px){.tab-lines li{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name price" "qty qty"}.tab-line-name{grid-area:name}.tab-line-price{grid-area:price;grid-column:auto}.tab-stepper{grid-area:qty;justify-content:flex-start}.tab-discard{margin-left:0}.tab-actions .btn-primary{width:100%;justify-content:center}}.appt-auto-btn{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:.86rem}.appt-assignee{display:flex;align-items:center;gap:8px;margin:4px 0 10px;padding:8px 12px;border-radius:var(--radius-soft);background:var(--surface-2);font-size:.9rem}.appt-assignee svg{flex:0 0 auto;color:var(--accent-ink)}.birthday-badge{display:inline-flex;align-self:flex-start;width:-moz-fit-content;width:fit-content;max-width:100%;align-items:center;gap:6px;margin:4px 0 6px;padding:3px 10px;border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:.84rem;font-weight:650}.birthday-badge.is-today{background:var(--warn-bg);color:var(--warn-text)}.birthday-badge svg{flex:0 0 auto}.tab-add span svg{display:inline-block;vertical-align:-2px;margin-right:2px}.tab-barber-note{margin:4px 0 10px}.today-who .birthday-dot{display:inline-flex;align-items:center;gap:4px;color:var(--warn-text);font-size:.8rem;font-weight:650}.commission-own{display:grid;grid-template-columns:minmax(0,360px);margin-bottom:4px}.block-dialog{width:min(600px,100%)}.block-plan h3{margin:14px 0 6px;font-size:1rem}.block-plan-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.block-plan-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-tight);overflow-wrap:anywhere}.block-plan-to{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px;font-weight:600}.guest-tag{padding:1px 8px;margin-left:6px;font-size:.72rem;vertical-align:1px}.guest-panel{display:grid;gap:8px;margin:4px 0 12px;padding:12px 14px;border:1px dashed var(--border-strong);border-radius:var(--radius-soft)}.new-tab-dialog{max-width:640px}.new-tab-dialog .segmented button{display:inline-flex;align-items:center;gap:6px}.walkin-barbers{margin-top:12px}.walkin-barbers legend{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px}.walkin-barber-list{display:grid;gap:6px}.walkin-barber{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-tight);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer}.walkin-barber>span:last-child{display:grid;gap:2px;min-width:0}.walkin-barber:hover:not(:disabled){border-color:var(--border-hover)}.walkin-barber:disabled{cursor:not-allowed}.walkin-barber.is-busy{background:var(--surface-subtle)}.walkin-barber.is-selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.walkin-dot{flex:none;width:10px;height:10px;margin-top:5px;border-radius:50%;background:var(--text-muted)}.walkin-barber.is-free .walkin-dot{background:var(--success)}.walkin-barber.is-busy .walkin-dot{background:var(--warning)}.tab-fiados legend{display:inline-flex;align-items:center;gap:6px}.tab-fiado-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.tab-fiado-list li{display:grid;gap:6px;min-width:0}.tab-fiado-list li.is-blocked label{color:var(--text-muted)}.tab-fiado-list .checkbox-row{align-items:flex-start}.tab-fiado-list .tab-pay-amount{justify-self:start;margin-left:26px}.tab-receipt-fiados{margin-top:10px}.today-tab-kind{font-size:.78rem;color:var(--text-muted)}.guest-panel-head{margin:0}.guest-panel .segmented button{display:inline-flex;align-items:center;gap:6px}.guest-hits{display:grid;gap:6px;margin:6px 0 0;padding:0;list-style:none}.guest-hits li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-tight);overflow-wrap:anywhere}.guest-create{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 12px;margin-top:10px}.declared-box legend{display:inline-flex;align-items:center;gap:6px}.declared-row{display:grid;gap:6px;padding:8px 0;border-bottom:1px solid var(--border)}.declared-row:last-of-type{border-bottom:0}.declared-what{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0;overflow-wrap:anywhere}.declared-note{margin:0}.declared-inbox{margin-top:16px}.declared-inbox h2{display:flex;align-items:center;gap:8px}.declared-list{display:grid;gap:8px;margin:10px 0 0;padding:0;list-style:none}.declared-list li{display:grid;gap:6px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-tight)}.declared-list .row-actions input{flex:1 1 220px;min-width:0}.declared-mark{display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:600}.declared-mark,.discount-request{background:var(--warn-bg);color:var(--warn-text)}.discount-request{display:grid;gap:6px;margin:4px 0 12px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--warning) 35%,transparent);border-radius:var(--radius-tight)}.discount-request .hint-text{color:inherit;opacity:.9}.discount-request-what{display:flex;align-items:flex-start;gap:6px;margin:0;overflow-wrap:anywhere}.discount-request-what svg{flex:0 0 auto;margin-top:3px}.discount-request .row-actions input{flex:1 1 220px;min-width:0}.declared-list .discount-request{margin:0}.discount-over-limit{color:var(--warn-text);font-weight:600}.discount-inbox{margin-top:16px}.discount-inbox h2,.discount-limits h2{display:flex;align-items:center;gap:8px}.limits-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:10px}.tag-danger{background:var(--danger-bg);color:var(--danger-text)}.client-tabs{margin:4px 0 14px}.client-account{display:grid;gap:12px}.account-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.account-summary>div{display:grid;gap:2px;padding:12px 14px;background:var(--surface-2);border-radius:var(--radius-soft)}.account-summary strong{font-size:1.05rem}.account-total strong{display:inline-flex;align-items:center;gap:6px;font-size:1.35rem}.account-total.is-owing strong{color:var(--danger-text)}.account-total.is-clear strong{color:var(--ok);font-size:1.1rem}.account-late{color:var(--danger-text);font-weight:600;font-size:.9rem}.account-heading{display:flex;align-items:center;gap:6px;margin:8px 0 0}.account-table .tag{margin-top:4px}.link-button{padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.link-button:hover{color:var(--accent-ink)}.cal-cake{display:inline-flex;align-items:center;gap:1px;margin-right:3px;padding:0 4px;border-radius:999px;background:var(--warn-bg);color:var(--warn-text);font-size:.66rem;font-weight:700;vertical-align:1px}.cal-cake.is-today{background:var(--warning);color:var(--surface)}.relationship{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:14px;margin-top:18px}.rel-card{display:grid;align-content:start;gap:8px}.rel-card h2{display:flex;align-items:center;gap:8px}.rel-card h3{margin:4px 0 0;font-size:.92rem}.rel-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.rel-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-tight)}.rel-who{display:grid;gap:1px;min-width:0;overflow-wrap:anywhere}.rel-wa{white-space:nowrap}.rel-no{font-size:.8rem}.rel-more summary{cursor:pointer;font-weight:620;margin:4px 0 6px}.birthday-dot.is-today{color:var(--warning)}.notif,.notif-btn{position:relative}.notif-count{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--pole);color:#fff;font-size:.68rem;font-weight:700;line-height:18px;text-align:center}.notif-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:40;width:min(380px,calc(100vw - 32px));max-height:min(70vh,560px);overflow-y:auto;padding:10px;box-shadow:0 12px 32px rgba(0,0,0,.18)}.notif-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 4px 8px}.notif-empty{padding:6px 4px 10px;margin:0}.notif-list{display:grid;gap:4px;margin:0;padding:0;list-style:none}.notif-item{display:flex;gap:10px;align-items:flex-start;padding:8px;border-radius:var(--radius-tight);color:inherit;text-decoration:none}a.notif-item:hover{background:var(--surface-2)}.notif-item.is-new{background:color-mix(in srgb,var(--pole) 8%,transparent)}.notif-item.is-alert .notif-icon{color:var(--danger-text)}.notif-icon{flex:0 0 auto;margin-top:2px;color:var(--text-muted)}.notif-text{display:grid;gap:2px;min-width:0;font-size:.86rem;overflow-wrap:anywhere}@media (max-width:760px){.app-topbar .notif{margin-left:auto}.notif-panel{position:fixed;top:64px;right:16px;left:16px;width:auto}}.profit-leader{display:flex;gap:10px;align-items:flex-start;margin:8px 0 10px;padding:12px 14px;border-radius:var(--radius-soft);background:var(--ok-bg);color:var(--text)}.profit-leader svg{flex:0 0 auto;color:var(--ok);margin-top:2px}.profit-leader p{margin:0}.profit-bars{display:grid;gap:6px;margin:0 0 6px;padding:0;list-style:none}.profit-bars li{display:grid;grid-template-columns:minmax(90px,160px) 1fr auto;align-items:center;gap:10px;font-size:.88rem}.profit-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profit-track{height:10px;border-radius:999px;background:var(--surface-2);overflow:hidden}.profit-fill{display:block;height:100%;border-radius:999px;background:color-mix(in srgb,var(--ok) 55%,var(--surface-2))}.profit-fill.is-leader{background:var(--ok)}.profit-value{font-variant-numeric:tabular-nums;white-space:nowrap}.profit-tag{margin-left:6px;padding:1px 8px;font-size:.7rem}@media (max-width:560px){.profit-bars li{grid-template-columns:1fr auto}.profit-track{grid-column:1/-1;grid-row:2}}.session-warning{position:fixed;z-index:120;left:50%;bottom:20px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;width:min(560px,calc(100vw - 32px));padding:12px 14px;border:1px solid var(--warn-text,var(--border-strong));border-left:4px solid var(--warning);border-radius:12px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-float)}.session-warning strong{font-variant-numeric:tabular-nums}@media (max-width:860px){.session-warning{bottom:calc(84px + env(safe-area-inset-bottom, 0px))}}.takeover p{margin:0}.security-rules{margin:12px 0 0;padding-left:20px;display:grid;gap:6px}.security-locked{list-style:none;margin:8px 0;padding:0;display:grid;gap:6px}.security-locked li{padding:8px 12px;border:1px solid var(--danger-border);border-radius:var(--radius-soft);background:var(--danger-bg);overflow-wrap:anywhere}.security-page h2,.security-page h3{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.security-page h2 svg,.security-page h3 svg{flex:none}.security-page code{overflow-wrap:anywhere}.discount-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:14px}.discount-metric{display:grid;gap:4px;padding:16px 18px}.discount-metric-value{font-size:1.45rem;font-weight:650;font-variant-numeric:tabular-nums}.discount-chart,.discount-groups{margin-bottom:14px}.discount-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.discount-group{padding:14px 16px}.discount-group h2{font-size:.95rem;margin:0 0 8px}.discount-group ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.discount-group li{display:flex;justify-content:space-between;gap:10px;min-width:0}.discount-group li>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.discount-group-count{flex:none;font-variant-numeric:tabular-nums;font-weight:620}.discount-list{padding:14px 16px}.discount-list h2{font-size:1rem;margin:0 0 10px}.discount-list .link-btn{display:inline-flex;align-items:center;gap:4px}@media (max-width:640px){.discount-list{padding:0;border:0;background:transparent}.discount-list h2{padding:0 2px}.discount-list td>span{min-width:0;text-align:right}}.whatsapp-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.whatsapp-auto-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}.whatsapp-card h3{margin:0 0 4px;font-size:1rem}.whatsapp-card .checkbox-row label{overflow-wrap:anywhere}.whatsapp-license{margin-top:6px}.radio-group{border:1px solid var(--border);border-radius:var(--radius-soft);padding:10px 12px;margin:0 0 14px;display:grid;gap:8px}.radio-group legend{padding:0 4px;font-size:.86rem;color:var(--text-muted);font-weight:600}.radio-group label{display:flex;align-items:center;gap:7px;flex-wrap:wrap;cursor:pointer}.whatsapp-pairing{display:grid;gap:10px;justify-items:start}.whatsapp-qr{width:min(264px,100%);height:auto;aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius-soft);background:var(--surface);padding:8px;image-rendering:pixelated}.whatsapp-pairing-code{font-size:clamp(1.6rem,7vw,2.2rem);font-weight:700;letter-spacing:.12em;font-variant-numeric:tabular-nums;margin:4px 0;overflow-wrap:anywhere}