@font-face{font-family:Syne;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/syne-latin-700-normal.woff2)format("woff2")}@font-face{font-family:Syne;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/syne-latin-800-normal.woff2)format("woff2")}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/playfair-display-latin-400-normal.woff2)format("woff2")}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/playfair-display-latin-400-italic.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-latin-400-normal.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-latin-500-normal.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-latin-600-normal.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-latin-700-normal.woff2)format("woff2")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#1d1d1f;--paper:#fff;--surface:#f5f5f7;--accent:#a8c5da;--accent-ink:#4d7a9b;--danger:#c8372d;--line:#e0e0e5;--muted:#6e6e73;--green:#2f6f54;--shadow:0 10px 30px -10px #0000001a;--booked:#4d7a9b;--paid:#bfe5cf;--free:#eceef1;--dark:#a9aeb6;--font-display:"Playfair Display",Georgia,serif;--font-brand:"Syne",sans-serif;--font-body:"Inter",system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);min-width:320px;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit;color:inherit}h1{font:800 clamp(30px,4.4vw,52px)/1.04 var(--font-brand);letter-spacing:-.03em;margin:0}h1 em{color:var(--accent-ink);font-style:normal}h2{font:400 clamp(24px,3vw,32px)/1.15 var(--font-display);margin:0}h3{font:800 20px/1.1 var(--font-brand);letter-spacing:-.02em;margin:0}h4{font:700 11px/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.eyebrow{color:var(--accent-ink);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:600}.muted{color:var(--muted);margin:0}.error{color:var(--danger);margin:0;font-size:13px}button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:999px;min-height:48px;padding:0 24px;font-size:14px;font-weight:600;transition:transform .16s cubic-bezier(.23,1,.32,1),background .16s,box-shadow .16s}button:active:not(:disabled):not(.cell):not(.appt):not(.rowitem):not(.rev-bar){transform:scale(.97)}@media (hover:hover) and (pointer:fine){button:hover:not(:disabled){background:#000;box-shadow:0 8px 20px -8px #0006}}button:disabled{opacity:.45;cursor:default}button.ghost{color:var(--ink);border:1px solid var(--line);text-transform:uppercase;letter-spacing:.05em;background:0 0;font-size:11px;font-weight:700}@media (hover:hover) and (pointer:fine){button.ghost:hover:not(:disabled){background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:none}}button.small{min-height:38px;padding:0 16px;font-size:11px}button.danger{background:var(--danger)}@media (hover:hover) and (pointer:fine){button.danger:hover:not(:disabled){background:#a82c23}}button.ghost.danger{color:var(--danger);border-color:var(--danger);background:0 0}@media (hover:hover) and (pointer:fine){button.ghost.danger:hover:not(:disabled){background:var(--danger);color:#fff}}.icon-button{width:40px;min-height:40px;color:var(--ink);border:1px solid var(--line);background:0 0;border-radius:50%;padding:0;font-size:22px;line-height:1}@media (hover:hover) and (pointer:fine){.icon-button:hover:not(:disabled){background:var(--ink);color:#fff}}input,select{border:1px solid var(--line);background:#fff;border-radius:12px;outline:none;width:100%;min-height:48px;padding:13px 14px}input:focus,select:focus{border-color:var(--ink);box-shadow:0 0 0 3px #a8c5da73}label{text-transform:uppercase;letter-spacing:.08em;gap:7px;font-size:10px;font-weight:700;display:grid}label input,label select{text-transform:none;letter-spacing:0;font-size:15px;font-weight:400}.center{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;box-sizing:border-box;align-content:safe center;place-items:center;gap:14px;height:100dvh;padding:20px;display:grid;overflow-y:auto}.card{background:var(--paper);border:1px solid var(--line);width:100%;max-width:420px;box-shadow:var(--shadow);border-radius:24px;gap:16px;padding:30px;display:grid}.card .brand{margin-bottom:6px}.grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.tile{background:var(--surface);min-height:84px;color:var(--ink);font:800 18px/1.1 var(--font-brand);letter-spacing:-.02em;border:2px solid #0000;border-radius:20px;padding:12px}@media (hover:hover) and (pointer:fine){.tile:hover:not(:disabled){background:var(--surface);border-color:var(--ink);box-shadow:none}}.dots{justify-content:center;gap:12px;padding:8px;display:flex}.dots span{border:2px solid var(--line);border-radius:50%;width:14px;height:14px}.dots .on{background:var(--ink);border-color:var(--ink)}.pad{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.pad button{background:var(--surface);min-height:62px;color:var(--ink);font:800 24px/1 var(--font-brand);border-radius:20px}@media (hover:hover) and (pointer:fine){.pad button:hover:not(:disabled){background:var(--accent);box-shadow:none}}.pad button.ghost{background:0 0;font-size:11px}.brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark.logo{border:1px solid var(--line);background:#fff;padding:2px;overflow:hidden;transform:none}.brand-mark.logo img{object-fit:contain;border-radius:50%;width:100%;height:100%}.brand-mark{background:var(--ink);color:#fff;width:42px;height:42px;font:800 20px/1 var(--font-brand);border-radius:50%;place-items:center;display:grid;transform:rotate(-7deg)}.brand strong{font:800 18px/.9 var(--font-brand);letter-spacing:.08em;text-transform:uppercase;display:block}.brand small{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:10px}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:8;background:#ffffffeb;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(16px,3vw,40px);display:flex;position:sticky;top:0}.topbar-actions{align-items:center;gap:16px;display:flex}.live-status{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;font-size:12px;font-weight:500}.live-status span{background:var(--green);border-radius:50%;width:8px;height:8px;margin-right:7px;display:inline-block;box-shadow:0 0 0 5px #2f6f541f}.live-status.syncing span{background:#d69a2c;animation:1s infinite pulse;box-shadow:0 0 0 5px #d69a2c24}.live-status.offline span{background:var(--danger);box-shadow:0 0 0 5px #c8372d1f}.live-status.offline strong{color:var(--danger);font-weight:700;display:inline}@keyframes pulse{50%{opacity:.35}}.session-user{border-left:1px solid var(--line);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;align-items:center;gap:10px;padding-left:16px;font-size:11px;font-weight:700;display:flex}@media (width<=760px){.live-status strong,.brand small{display:none}.session-user{padding-left:10px}}.agenda{background:var(--paper);flex-direction:column;height:100dvh;display:flex}.calendar-toolbar{justify-content:space-between;align-items:flex-end;gap:16px;padding:20px clamp(16px,3vw,40px) 6px;display:flex}.calendar-controls{gap:8px;display:flex}.calendar-controls button{min-height:40px;padding:0 18px}.calendar-panel{background:var(--paper);border:1px solid var(--line);min-height:0;box-shadow:var(--shadow);border-radius:24px;flex-direction:column;flex:1;margin:0 clamp(16px,3vw,40px) 16px;display:flex;overflow:hidden}.viewport{touch-action:pan-y;flex:1;min-height:0;position:relative;overflow:hidden}.slide{will-change:transform;height:100%}.scroll{overscroll-behavior:contain;height:100%;overflow-y:auto}.pad-s{padding:20px}.heads,.grid-day{display:grid}.heads{z-index:4;background:var(--paper);box-shadow:0 1px 0 var(--line);position:sticky;top:0}.head{border-right:1px solid var(--line);text-align:center;border-bottom:3px solid #0000;align-content:center;min-height:74px;padding:12px 8px;display:grid}.head small{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.head strong{font:800 18px/1 var(--font-brand);letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;overflow:hidden}.times{background:var(--paper)}.times span{text-align:right;font:800 13px/1 var(--font-brand);letter-spacing:-.02em;color:var(--muted);padding:10px 8px 0 0;display:block}.col{border-left:1px solid var(--line);position:relative}.cell{background:var(--free);border:0;border-bottom:1px solid #dfe2e6;border-radius:0;width:100%;min-height:0;padding:0;transition:background .15s,box-shadow .15s;display:block;position:relative}@media (hover:hover) and (pointer:fine){.cell:hover:not(:disabled){box-shadow:none;background:var(--free)}.cell.available:hover{box-shadow:inset 0 0 0 2px var(--accent-ink);background:#e1e8ee}}.cell.available:after{content:"+";color:var(--accent-ink);opacity:0;font-size:20px;line-height:1;transition:opacity .15s;position:absolute;top:6px;right:10px}@media (hover:hover) and (pointer:fine){.cell.available:hover:after{opacity:1}}@media (hover:hover) and (pointer:fine){.cell.off:hover:not(:disabled),.cell.closed:hover:not(:disabled){background:var(--dark)}}.cell.closed{cursor:default}.appt{z-index:2;text-align:left;background:var(--booked);color:#fff;border-radius:14px;flex-direction:column;justify-content:flex-start;gap:3px;min-height:0;padding:7px 12px;font-size:13px;font-weight:400;line-height:1.25;display:flex;position:absolute;left:4px;right:4px;overflow:hidden}@media (hover:hover) and (pointer:fine){.appt:hover:not(:disabled){background:#3f6683;box-shadow:0 8px 20px -10px #0006}}.appt.no_show .paid{text-transform:uppercase;letter-spacing:.04em}.appt.completed{background:var(--paid);color:#1f4d36}@media (hover:hover) and (pointer:fine){.appt.completed:hover:not(:disabled){background:#aedcc1}}.appt strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.appt span{opacity:.85;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.appt .paid{opacity:1;font-weight:700}.appt.svc{background:var(--sc);color:#1d1d1f;box-shadow:inset 4px 0 0 var(--sd)}@media (hover:hover) and (pointer:fine){.appt.svc:hover:not(:disabled){background:var(--sc);box-shadow:inset 4px 0 0 var(--sd), 0 8px 20px -10px #00000059}}.appt .paid-badge{letter-spacing:.06em;text-transform:uppercase;color:#145a32;font-size:10px;font-weight:800;line-height:1.3;position:absolute;top:7px;right:9px}.appt .paid-badge.short{font-size:12px;top:3px;right:5px}.appt.completed strong{padding-right:68px}.appt.completed.online:after{display:none}.week .appt.completed strong{padding-right:16px}.appt.completed:has(.paid-badge.short) strong{padding-right:16px}.appt.svc.completed{background:var(--paid);color:#1f4d36}@media (hover:hover) and (pointer:fine){.appt.svc.completed:hover:not(:disabled){background:#aedcc1}}.appt.no_show,.appt.svc.no_show{color:#8f1d16;box-shadow:inset 0 0 0 2px var(--danger);background:repeating-linear-gradient(135deg,#f8dcd9 0 6px,#fdf0ee 6px 12px)}@media (hover:hover) and (pointer:fine){.appt.no_show:hover:not(:disabled){background:repeating-linear-gradient(135deg,#f4cdc9 0 6px,#fbe6e3 6px 12px)}}.swatches{flex-wrap:wrap;gap:10px;display:flex}.swatches button{background:var(--sc);border:2px solid var(--sd);width:38px;height:38px;min-height:38px;box-shadow:none;border-radius:50%;padding:0}.swatches button.on{box-shadow:0 0 0 3px #fff, 0 0 0 5px var(--ink)}.swatches button.none{color:var(--muted);background:#fff;border:2px dashed #b8bcc2;font-size:11px}.svc-dot{background:var(--sc);width:14px;height:14px;box-shadow:inset 3px 0 0 var(--sd);border-radius:5px;flex:none;display:inline-block}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:20;background:#1d1d1f99;place-items:end center;transition:opacity .2s;display:grid;position:fixed;inset:0}.sheet{background:#fff;border-radius:24px 24px 0 0;gap:18px;width:100%;max-width:560px;max-height:92dvh;padding:28px;transition:transform .26s cubic-bezier(.32,.72,0,1),opacity .2s;display:grid;overflow:auto;box-shadow:0 30px 100px #00000059}@media (width>=700px){.overlay{place-items:center}.sheet{border-radius:24px}}@starting-style{.overlay{opacity:0}.sheet{transform:translateY(100%)}}@media (width>=700px){@starting-style{.sheet{opacity:0;transform:scale(.97)}}}.overlay.closing{opacity:0;transition-duration:.15s}.overlay.closing .sheet{transition-duration:.18s;transition-timing-function:ease-in-out;transform:translateY(100%)}@media (width>=700px){.overlay.closing .sheet{opacity:0;transform:scale(.97)}}.sheet-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.row{justify-content:space-between;align-items:center;gap:10px;display:flex}.row>button{flex:1}.stack{gap:10px;display:grid}.list{gap:6px;max-height:240px;display:grid;overflow:auto}.item{text-align:left;background:var(--surface);color:var(--ink);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;min-height:48px;padding:0 14px;font-weight:500;display:flex}@media (hover:hover) and (pointer:fine){.item:hover:not(:disabled){background:var(--accent);box-shadow:none}}.item.check{cursor:pointer;text-transform:none;letter-spacing:0;gap:12px;padding:10px 14px;font-size:14px;font-weight:500;display:flex}.item.check input{width:20px;height:20px;min-height:0;accent-color:var(--ink);padding:0}.item.check span:last-child{margin-left:auto;font-size:12px;font-weight:400}.plain{gap:6px;margin:0;padding:0;list-style:none;display:grid}.plain li{border-bottom:1px solid var(--line);padding:10px 0}.diag{background:var(--surface);border-radius:16px;padding:14px 16px}.diag p{margin:4px 0;font-size:14px}.total{font:800 24px/1 var(--font-brand);letter-spacing:-.02em;margin:0}.shell{flex-direction:column;height:100dvh;display:flex}.app-shell{flex:1;grid-template-columns:220px minmax(0,1fr);min-height:0;display:grid}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;justify-content:space-between;padding:32px 20px 24px;display:flex;overflow:auto}.sidebar nav{gap:6px;display:grid}.nav-item{min-height:48px;color:var(--ink);text-align:left;background:0 0;border-radius:999px;justify-content:flex-start;align-items:center;gap:14px;padding:13px 18px;font-weight:500;display:flex}@media (hover:hover) and (pointer:fine){.nav-item:hover:not(:disabled){background:var(--surface);box-shadow:none}}.nav-item.active{background:var(--ink);color:#fff}@media (hover:hover) and (pointer:fine){.nav-item.active:hover:not(:disabled){background:var(--ink)}}.nav-number{opacity:.5;letter-spacing:.1em;font-size:10px}.sidebar blockquote{color:var(--muted);font:italic 14px/1.6 var(--font-display);border-left:2px solid var(--accent);margin:0;padding-left:14px}.content{background:#fff;min-width:0;min-height:0;overflow:auto}.agenda-view{flex-direction:column;height:100%;display:flex}@media (width<=900px){.app-shell{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)}.sidebar{border-right:0;border-top:1px solid var(--line);min-width:0;padding:6px max(8px, env(safe-area-inset-right)) calc(22px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));flex-direction:row;order:2}.sidebar nav{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x;gap:4px;width:100%;min-width:0;display:flex;overflow:auto hidden}.sidebar nav::-webkit-scrollbar{display:none}.sidebar blockquote{display:none}.nav-item{flex:none;gap:6px;min-height:44px;padding:8px 14px}.nav-number{display:none}.sidebar nav>.nav-item{text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;justify-content:center;min-width:0;padding:8px 6px;font-size:13px;overflow:hidden}.more-backdrop{z-index:19;background:#10121640;position:fixed;inset:0}.more-panel{z-index:20;left:max(8px, env(safe-area-inset-left));right:max(8px, env(safe-area-inset-right));bottom:calc(80px + env(safe-area-inset-bottom));border:1px solid var(--line);background:#fff;border-radius:20px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px;display:grid;position:fixed;box-shadow:0 18px 40px #1012162e}.more-panel .nav-item{justify-content:center;width:100%}}.page{gap:18px;max-width:1260px;margin:0 auto;padding:28px clamp(16px,3vw,40px) 40px;display:grid}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.page-head .actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:24px;overflow:hidden}.panel-pad{padding:22px 26px}.panel-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:20px 26px;display:flex}.panel-title h2{font-size:22px}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.stat{background:var(--surface);border-radius:20px;align-content:space-between;gap:14px;min-height:130px;padding:18px 16px;display:grid}.stat.dark{background:var(--ink);color:#fff}.stat.accent{background:var(--accent)}.stat span{letter-spacing:.12em;text-transform:uppercase;opacity:.7;font-size:10px;font-weight:600}.stat{min-width:0;overflow:hidden;container-type:inline-size}.stat strong{font:800 clamp(15px,11.5cqi,28px)/1.05 var(--font-brand);white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow:hidden}.stat small{opacity:.7;font-size:12px}.toggle{border:1px solid var(--line);border-radius:999px;grid-auto-flow:column;display:inline-grid;overflow:hidden}.toggle button{min-height:38px;color:var(--ink);border-right:1px solid var(--line);text-transform:uppercase;letter-spacing:.08em;background:0 0;border-radius:0;padding:0 16px;font-size:10px;font-weight:800}.toggle button:last-child{border-right:0}.toggle button.active{background:var(--ink);color:#fff}@media (hover:hover) and (pointer:fine){.toggle button:hover:not(:disabled){box-shadow:none;background:var(--surface)}.toggle button.active:hover:not(:disabled){background:var(--ink)}}.rows{display:grid}.rowitem{border-bottom:1px solid var(--line);color:var(--ink);text-align:left;background:0 0;border-radius:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;min-height:0;padding:16px 26px;display:grid}.rowitem>*{overflow-wrap:anywhere;min-width:0}button.rowitem:active:not(:disabled){background:var(--surface)}.rowitem:last-child{border-bottom:0}@media (hover:hover) and (pointer:fine){button.rowitem:hover:not(:disabled){background:var(--surface);box-shadow:none}}.rowitem .t{font:800 17px/1 var(--font-brand);letter-spacing:-.02em;min-width:56px}.rowitem small{color:var(--muted);margin-top:3px;font-size:12px;font-weight:400;display:block}.rowitem strong{font-size:14px}.pill{letter-spacing:.06em;text-transform:uppercase;background:var(--surface);color:var(--muted);border-radius:999px;padding:4px 10px;font-size:10px;font-weight:700;display:inline-block}.pill.blue{background:var(--booked);color:#fff}.pill.green{background:var(--paid);color:#1f4d36}.pill.red{color:var(--danger);background:#f8dcd9}.empty{color:var(--muted);text-align:center;padding:34px 26px}.toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:18px 26px;display:flex}.toolbar input{max-width:340px}.pager{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:10px;padding:14px 26px;font-size:12px;display:flex}.rev-chart{--rev-bar:#3a73a8;--rev-bar-on:#24527c;padding:14px 22px 18px}.rev-tip{min-height:30px;color:var(--muted);align-items:baseline;gap:10px;margin:0 0 10px;font-size:13px;display:flex}.rev-tip strong{font:800 20px/1 var(--font-brand);letter-spacing:-.02em;color:var(--ink)}.rev-plot{grid-template-columns:auto minmax(0,1fr);gap:10px;height:220px;padding-top:22px;display:grid}.rev-axis{width:52px;position:relative}.rev-axis span{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px;position:absolute;right:0;transform:translateY(50%)}.rev-area{position:relative}.rev-grid{border-top:1px solid var(--line);opacity:.7;height:0;position:absolute;left:0;right:0}.rev-grid.base{opacity:1;border-top-color:#c9c9cf}.rev-bars{gap:2px;display:grid;position:absolute;inset:0}.rev-bar{cursor:pointer;background:0 0;border-radius:0;justify-content:center;align-items:flex-end;height:100%;min-height:0;padding:0;display:flex;position:relative}.rev-bar:focus-visible{box-shadow:none;background:#3a73a812;outline:none;transform:none}@media (hover:hover) and (pointer:fine){.rev-bar:hover:not(:disabled){box-shadow:none;background:#3a73a812;outline:none;transform:none}}.rev-bar i{background:var(--rev-bar);border-radius:4px 4px 0 0;width:min(100%,34px);transition:background .15s;display:block}.rev-bar.on i{background:var(--rev-bar-on)}.rev-peak{color:var(--ink);white-space:nowrap;pointer-events:none;font-size:11px;font-weight:700;position:absolute;left:50%;transform:translate(-50%)}.rev-labels{color:var(--muted);text-align:center;gap:2px;margin:6px 0 0 62px;font-size:11px;font-weight:600;display:grid}.rev-labels span{white-space:nowrap;justify-content:center;display:flex;overflow:visible}.rev-labels .on{color:var(--ink)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=760px){.rev-chart{padding:12px 12px 14px}.rev-plot{height:180px}.rev-axis{width:44px}.rev-axis span{font-size:10px}.rev-labels{margin-left:54px;font-size:10px}}.metrics{background:var(--line);border-radius:16px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;display:grid;overflow:hidden}.metrics div{background:var(--surface);padding:14px}.metrics small{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:10px;display:block}.metrics strong{font:800 20px/1.1 var(--font-brand);letter-spacing:-.02em}.ranges{gap:8px;display:grid}.range{grid-template-columns:1fr auto 1fr auto;align-items:center;gap:8px;display:grid}.dayrow{border-bottom:1px solid var(--line);grid-template-columns:110px 1fr;align-items:start;gap:14px;padding:14px 26px;display:grid}.dayrow:last-child{border-bottom:0}.dayrow>strong{padding-top:12px}.swatch{vertical-align:-2px;border-radius:50%;width:14px;height:14px;margin-right:8px;display:inline-block}.paid-info{color:#1f4d36;background:#eaf6ef;border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:10px;padding:10px 14px;font-size:14px;display:flex}.paid-info .pill{padding:5px 12px;font-size:12px}.pill.pay-cash{color:#fff;background:#1f7a4d}.pill.pay-card{background:var(--booked);color:#fff}.pill.pay-other{color:#fff;background:#6b6f76}.holiday-alert{color:#4d3700;background:#fdf3d8;border:1px solid #f1dc9d;border-radius:18px;gap:12px;margin:0 0 18px;padding:16px 20px;display:grid}.holiday-alert .eyebrow{color:#8a6200;margin-bottom:4px}.holiday-alert strong{font-size:16px}.holiday-alert small{opacity:.85;margin-top:4px;font-size:13px;display:block}.holiday-alert .row{flex-wrap:wrap;justify-content:flex-start;gap:8px;display:flex}.holiday-alert .row>button{flex:none;width:auto}.holiday-alert button.ghost{background:#fff}.holiday-booked{background:#fff;border-radius:12px;padding:12px 14px;font-size:13px}.holiday-booked .plain{margin-top:6px}.holiday-booked .plain li{padding:6px 0}.holiday-add{grid-template-columns:minmax(150px,200px) minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.holiday-add label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);gap:6px;font-size:11px;font-weight:700;display:grid}.holiday-row .pill{text-align:center;min-width:86px}.holiday-row.open strong{color:var(--muted)}.holiday-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.move-banner.closed-day{color:#fff;background:#3b3f45}@media (width<=760px){.holiday-add{grid-template-columns:1fr}.holiday-row{grid-template-columns:1fr;gap:8px}.holiday-actions{justify-content:flex-start}.holiday-row .pill{justify-self:start}}.notice{color:#6a4b00;background:#fdf3d8;border-radius:14px;padding:12px 16px;font-size:13px}.warn{border-top:4px solid var(--danger)}.week-days{grid-template-columns:68px repeat(7,1fr);display:grid}.chips{border-bottom:1px solid var(--line);gap:8px;padding:10px 14px;display:flex;overflow-x:auto}.chip{min-height:38px;color:var(--ink);border:1px solid var(--line);white-space:nowrap;background:0 0;padding:0 14px;font-size:12px;font-weight:600}.chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}@media (hover:hover) and (pointer:fine){.chip:hover:not(:disabled){box-shadow:none;background:var(--surface)}.chip.active:hover:not(:disabled){background:var(--ink)}}.calendar-controls .toggle{margin-right:6px}.move-banner{background:#fff4d6;border:1px solid #e6c870;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;padding:12px 16px;font-size:14px;display:flex}.appt.moving{opacity:.45;outline:2px dashed var(--ink)}.toast{z-index:30;background:var(--ink);color:#fff;max-width:min(560px,90vw);box-shadow:var(--shadow);border-radius:16px;padding:14px 20px;font-size:14px;transition:transform .25s cubic-bezier(.23,1,.32,1),opacity .2s;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}@starting-style{.toast{opacity:0;transform:translate(-50%,16px)}}.appt{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.drag-ghost{z-index:80;pointer-events:none;background:var(--accent,#c8a24a);color:#111;opacity:.92;border-radius:10px;flex-direction:column;padding:6px 8px;font-size:13px;display:flex;position:fixed;overflow:hidden;transform:scale(1.03);box-shadow:0 10px 30px #00000073}.drag-ghost span{opacity:.8;font-size:12px}.drop-preview{z-index:3;pointer-events:none;background:#4caf7a38;border:2px dashed #4caf7a;border-radius:8px;position:absolute;left:2px;right:2px}.drop-preview.bad{background:#d9534f38;border-color:#d9534f}.appt.booked{touch-action:pan-y}.appt.lifted{opacity:.6;outline:2px solid #5aa0d8;background:#12304a!important}.drag-ghost{border:2px solid #5aa0d8;color:#fff!important;background:#12304a!important}.calendar-panel{--tcol:68px}.track{will-change:transform;width:300%;height:100%;display:flex}.day-panel{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:0 0 33.3333%;min-width:0;height:100%;position:relative;overflow-y:auto}.day-panel.ghost{pointer-events:none;-webkit-user-select:none;user-select:none}.heads,.grid-day{min-width:0}.chips{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;flex:none}.chip{white-space:nowrap;flex:none}@media (width<=700px){.calendar-panel{--tcol:58px;border-radius:18px;margin:0 8px 8px}.topbar{height:60px}.calendar-toolbar .eyebrow{display:none}.calendar-toolbar{flex-direction:column;align-items:stretch;gap:10px;padding:12px 14px 6px}.calendar-toolbar h2{font-size:20px;line-height:1.15}.calendar-controls{justify-content:space-between;gap:8px;display:flex}.calendar-controls button{min-height:44px;padding:0 16px}.calendar-controls .toggle button{min-height:44px}.chips{gap:6px;padding:10px}.chip{min-height:42px;padding:0 13px}.chip .swatch{width:12px;height:12px;margin-right:6px}.head{min-height:58px;padding:8px 4px}.head strong{font-size:15px}.head small{display:none}.times span{padding:8px 7px 0 0;font-size:11px}.appt{border-radius:16px;gap:4px;padding:9px 12px;font-size:14px;left:6px;right:6px}.appt strong{font-size:15px}.appt span{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box}.grid-day.dense .appt{border-radius:12px;gap:3px;padding:7px;left:3px;right:3px}.grid-day.dense .appt strong{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box}.grid-day.dense .appt span{-webkit-line-clamp:1;font-size:11.5px}.appt .paid{-webkit-line-clamp:1}.cell.available:after{display:none}}html,body{overscroll-behavior:none;touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overflow:hidden}body{width:100%;height:100dvh;position:fixed;inset:0}.track,.day-panel,.viewport,.slide,.scroll{touch-action:pan-y}.calendar-panel .chips{touch-action:pan-x}@media (width<=900px){input,select,textarea{font-size:16px!important}}.day-scroll{height:100%;overflow:hidden auto}.day-scroll .heads{display:grid}.day-body{grid-template-columns:var(--tcol) minmax(0,1fr);display:grid}.clip{touch-action:pan-y;min-width:0;overflow:hidden}.clip .track{align-items:flex-start;height:auto}.clip .day-panel{height:auto;overflow:visible}.head .avatar{width:34px;height:34px;font:800 14px/1 var(--font-brand);color:#fff;border-radius:50%;place-items:center;margin:0 auto 4px;font-style:normal;display:grid}.cell.off,.cell.closed{background:repeating-linear-gradient(135deg,#eceef1 0 6px,#e2e5e9 6px 7px)}@media (width<=700px){.calendar-panel{--tcol:44px;border-radius:14px;margin:0 4px 6px}.head{border-right:0;min-height:64px;padding:6px 2px}.head strong{letter-spacing:0;font-size:12px;font-weight:700}.head .avatar{width:30px;height:30px;font-size:13px}.times span{letter-spacing:0;padding:6px 4px 0 0;font-size:10.5px;font-weight:600}.grid-day.dense .appt{border-radius:8px;gap:1px;padding:5px 6px;left:2px;right:2px}.grid-day.dense .appt strong{font-size:11.5px;line-height:1.15}.grid-day.dense .appt span{font-size:10.5px}}.cell.available:not(.off){background:#fff}@media (hover:hover) and (pointer:fine){.cell.available:not(.off):hover:not(:disabled){background:#f1f6fa}}.cell{background:#fff}@media (hover:hover) and (pointer:fine){.cell:hover:not(:disabled){background:#fff}}.cell.off,.cell.closed{background:#e9ebee;border-bottom-color:#dcdfe3}@media (hover:hover) and (pointer:fine){.cell.off:hover:not(:disabled),.cell.closed:hover:not(:disabled){background:#e9ebee;border-bottom-color:#dcdfe3}}.cell.blocked{cursor:pointer;background:#868c95;border-bottom-color:#777d86}@media (hover:hover) and (pointer:fine){.cell.blocked:hover:not(:disabled){cursor:pointer;background:#868c95;border-bottom-color:#777d86}}.cell.blocked .blk{color:#fff;font:700 11px/1.2 var(--font-body);text-align:left;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;position:absolute;top:5px;left:6px;right:6px;overflow:hidden}.two{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=760px){.topbar{padding:0 max(12px, env(safe-area-inset-left)) 0 max(12px, env(safe-area-inset-right));gap:8px}.topbar .brand{flex:auto;gap:8px;min-width:0}.topbar .brand-mark{flex:none;width:36px;height:36px}.topbar .brand>span:last-child{min-width:0}.topbar .brand strong{display:none}.topbar .brand small{letter-spacing:.06em;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;font-weight:700;display:block;overflow:hidden}.topbar-actions{flex:none;gap:6px}.topbar-actions .small{min-height:36px;padding:6px 10px;font-size:11px}.live-status span{margin-right:0}.session-user{gap:6px;padding-left:8px}}.update-banner{left:50%;top:calc(8px + env(safe-area-inset-top));z-index:60;background:var(--ink);color:#fff;max-width:min(460px,92vw);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:12px;padding:8px 8px 8px 16px;font-size:14px;display:flex;position:fixed;transform:translate(-50%)}.update-banner button{color:var(--ink);background:#fff;border-radius:999px;min-height:36px;padding:6px 14px;font-size:13px;font-weight:700}.bars{gap:10px;display:grid}.bar-row{grid-template-columns:minmax(70px,150px) minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.bar-label{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.bar-track{background:var(--surface);border-radius:999px;height:12px;overflow:hidden}.bar-fill{background:var(--ink);border-radius:999px;height:100%;display:block}.bar-val{text-align:right;font-size:13px}.bar-val small{color:var(--muted);font-size:11px;display:block}@media (width<=760px){.bar-row{grid-template-columns:minmax(60px,100px) minmax(0,1fr) auto;gap:8px}}.lock-card{box-sizing:border-box;grid-template-columns:minmax(0,1fr)}.lock-card h1{overflow-wrap:anywhere;font-size:clamp(26px,7vw,36px)}.lock-card p{overflow-wrap:anywhere}.perm-table{border-collapse:collapse;width:100%;min-width:480px}.perm-table th{text-align:center;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);padding:8px 6px;font-size:10px}.perm-table th:first-child,.perm-table td:first-child{text-align:left}.perm-table td{border-bottom:1px solid var(--line);text-align:center;vertical-align:middle;padding:12px 6px}.perm-table td:first-child small{color:var(--muted);max-width:380px;margin-top:2px;font-size:12px;font-weight:400;display:block}.perm-table td input[type=checkbox]{width:22px;height:22px;min-height:22px;accent-color:var(--ink);padding:0}.perm-table td small{color:var(--muted);font-size:10px;display:block}.perm-table td.changed{background:var(--surface)}.grid-day,.times{position:relative}.now-line{border-top:2px solid var(--ink);z-index:3;pointer-events:none;height:0;position:absolute;left:0;right:0}.now-line:before{content:"";background:var(--ink);border-radius:50%;width:8px;height:8px;position:absolute;top:-5px;left:-4px}.times span.now-label{z-index:5;border:1px solid var(--ink);background:var(--paper);height:auto;color:var(--ink);font:700 10px/1 var(--font-body);font-variant-numeric:tabular-nums;letter-spacing:0;text-align:center;white-space:nowrap;pointer-events:none;border-radius:5px;padding:2px 4px;display:inline-block;position:absolute;right:3px;transform:translateY(-50%)}.missing-phone{border:1.5px solid var(--danger);background:#fdecea;border-radius:14px;padding:14px}.missing-phone>strong{color:var(--danger);font-size:15px}.missing-phone input{background:var(--paper)}.missing-phone p{margin:0;font-size:13px}.quarter-stats{grid-template-columns:repeat(3,minmax(150px,1fr))}.quarter-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.quarter-table-wrap{overflow-x:auto}.quarter-table{border-collapse:collapse;width:100%;min-width:720px}.quarter-table th{text-align:right;color:var(--muted);letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid var(--line);padding:12px 16px;font-size:10px}.quarter-table th:first-child,.quarter-table td:first-child{text-align:left;padding-left:26px}.quarter-table td{text-align:right;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;padding:15px 16px}.quarter-table td small{color:var(--muted);margin-top:3px;display:block}.expense-summary{background:var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.expense-summary>span{background:var(--surface);gap:5px;padding:16px 26px;display:grid}.expense-summary small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.expense-summary strong{font:800 20px/1 var(--font-brand)}.invoice-mark{background:var(--ink);color:#fff;letter-spacing:.06em;border-radius:12px;place-items:center;width:46px;height:46px;font-size:10px;font-weight:800;display:grid}.expense-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.amount-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.archived-docs{border-top:1px solid var(--line);background:var(--surface);padding-top:18px}.archived-docs>.eyebrow,.archived-docs>.muted{padding:0 26px}textarea{border:1px solid var(--line);resize:vertical;background:#fff;border-radius:12px;width:100%;padding:12px}@media (width<=800px){.quarter-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.quarter-grid,.expense-summary{grid-template-columns:1fr}.expense-row{grid-template-columns:auto minmax(0,1fr)}.expense-actions{grid-column:1/-1;justify-content:flex-start}}@media (width<=560px){.amount-grid,.two{grid-template-columns:1fr}}.appt.online:after{content:"Online";letter-spacing:.06em;text-transform:uppercase;background:#ffffff38;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:800;position:absolute;top:6px;right:8px}.appt.completed.online:after{background:#1f4d361f}.appt.online.unconfirmed{box-shadow:inset 0 0 0 2px #e7b63c}.appt.online.unconfirmed:after{content:"Sin confirmar";color:#6a4b00;background:#fdf3d8}.online-alert{color:#203a50;background:#eaf1f7;border:1px solid #c9dbe9;border-radius:18px;gap:10px;margin:0 0 18px;padding:14px 18px;display:grid}.online-alert .row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.online-alert li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.online-actions{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.online-actions button,.online-actions .button-link{flex:none;width:auto}.button-link{border:1px solid var(--line);min-height:36px;color:var(--ink);letter-spacing:.05em;text-transform:uppercase;background:#fff;border-radius:999px;justify-content:center;align-items:center;padding:0 14px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.online-panel{color:#203a50;background:#eaf1f7;border-radius:14px;gap:8px;margin:6px 0 10px;padding:12px 14px;font-size:13px;display:grid}.online-panel.pending{color:#4d3700;background:#fdf3d8}.online-link{background:var(--surface);border-radius:14px;gap:6px;padding:12px 14px;font-size:13px;display:grid}.online-link code{word-break:break-all;font-size:12px}.online-link .row{flex-wrap:wrap;gap:8px;display:flex}.pb{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--paper);box-sizing:border-box;align-content:start;gap:16px;height:100%;padding:24px max(16px,50% - 280px) 40px;display:grid;overflow-y:auto}.pb h1{margin:0;font-size:26px}.pb .eyebrow{margin-bottom:4px}.pb-head{align-items:center;gap:14px;display:flex}.pb-logo{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:50%;width:56px;height:56px}.pb-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:22px;gap:12px;padding:18px;display:grid}.pb-card h2{align-items:center;gap:10px;margin:0;font-size:18px;display:flex}.pb-card h2 span{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:13px;display:grid}.pb-svc span:nth-child(2){flex:1}.pb-svc{text-transform:none}.pb-total{text-align:right;margin:0;font-weight:700}.pb-chips,.pb-times{flex-wrap:wrap;gap:8px;display:flex}.pb-chips button,.pb-times button,.pb-days button{background:var(--surface);min-height:42px;color:var(--ink);border:1px solid #0000;border-radius:999px;padding:0 16px;font-weight:600}.pb-chips button.on,.pb-times button.on,.pb-days button.on{background:var(--ink);color:#fff}@media (hover:hover) and (pointer:fine){.pb-chips button:hover:not(:disabled),.pb-times button:hover:not(:disabled),.pb-days button:hover:not(:disabled){box-shadow:none;border-color:var(--ink)}}.pb-days{scroll-snap-type:x mandatory;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.pb-days button{scroll-snap-align:start;border-radius:16px;flex:none;gap:2px;min-width:58px;min-height:62px;padding:6px 10px;display:grid}.pb-days small{opacity:.75;font-size:11px;font-weight:600}.pb-days strong{font-size:18px}.pb-times button{min-width:76px}.pb-sub{margin:0;font-size:13px}.pb-summary{background:var(--surface);border-radius:12px;margin:0;padding:10px 12px;font-size:14px;font-weight:600}.pb-privacy,.pb-privacy:focus-within{text-transform:none;background:var(--surface);color:var(--ink);align-items:flex-start;padding:12px 14px;font-size:13px;line-height:1.4}@media (hover:hover) and (pointer:fine){.pb-privacy:hover:not(:disabled){text-transform:none;background:var(--surface);color:var(--ink);align-items:flex-start;padding:12px 14px;font-size:13px;line-height:1.4}}.pb-privacy input{margin-top:2px}.pb-svc:focus-within{background:var(--surface)}@media (hover:hover) and (pointer:fine){.pb-svc:hover:not(:disabled){background:var(--surface)}}.pb-captcha{min-height:65px}.pb-ok{color:#1f4d36;background:#e3f4ea;border-radius:18px;gap:4px;padding:14px 16px;font-size:14px;display:grid}.pb-ok strong{font-size:18px}.pb-foot{text-align:center;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.pb .button.ghost{border:1px solid var(--line);min-height:48px;color:var(--ink);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;font-size:11px;font-weight:700;text-decoration:none;display:flex}.pb .button.primary{background:var(--ink);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:0 24px;font-size:14px;font-weight:600;text-decoration:none;transition:transform .16s cubic-bezier(.23,1,.32,1);display:flex}.pb .button.primary:active{transform:scale(.97)}.cell.available:not(.off):active:not(:disabled){background:#e1e8ee}html.public-page,html.public-page body,html.public-page .pb{touch-action:auto}@media (prefers-reduced-motion:reduce){button:active:not(:disabled){transform:none}.sheet,.overlay.closing .sheet{transform:none!important}.toast{transform:translate(-50%)!important}.live-status.syncing span{animation:none}}.month-nav{grid-template-columns:40px minmax(0,1fr) 40px auto;align-items:center;gap:12px;display:grid}.month-nav strong{font:800 clamp(15px,4.4vw,18px)/1.1 var(--font-brand);text-align:center;overflow-wrap:anywhere}@media (width<=560px){.month-nav{grid-template-columns:40px minmax(0,1fr) 40px}.month-nav>.ghost{grid-column:1/-1}}.com-row{border-bottom:1px solid var(--line);gap:10px;padding:16px 26px;display:grid}.com-row:last-child{border-bottom:0}.com-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.com-head>span:first-child{overflow-wrap:anywhere;gap:2px;min-width:0;display:grid}.com-head small{color:var(--muted);font-size:12px}.com-amount{font:800 22px/1 var(--font-brand);font-variant-numeric:tabular-nums;white-space:nowrap}.com-meta,.com-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tier-progress{gap:6px;display:grid}.tier-progress small{color:var(--muted);font-size:12px}.tier-progress.big .bar-track{height:18px}.tier-progress.big small{color:var(--ink);font-size:14px}.tier-grid{gap:8px;display:grid}.tier-grid>.eyebrow{display:none}.tier-line{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px;align-items:center;gap:8px;display:grid}.tier-example{background:var(--surface);border-radius:14px;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:12px 14px;display:flex}.tier-example label{flex:1;min-width:160px}.tier-example strong{padding-bottom:12px;font-size:18px}.tier-step{color:var(--muted);align-items:center;gap:10px;font-size:14px;display:flex}.tier-step span{background:var(--surface);border-radius:50%;place-items:center;width:22px;height:22px;font-weight:700;display:grid}.tier-step.on{color:var(--ink);font-weight:600}.tier-step.on span{background:var(--paid);color:#1f4d36}@media (width<=700px){.com-row{padding:14px 16px}}.punch-button{width:100%;min-height:64px;font:800 22px/1 var(--font-brand);border-radius:18px;justify-content:center;align-items:center;gap:10px;margin-bottom:6px;display:flex}.punch-button small{font:600 13px/1 var(--font-body);opacity:.75;letter-spacing:.02em}.punch-done{text-align:center;justify-items:center}.punch-time{font:800 64px/1 var(--font-brand);font-variant-numeric:tabular-nums;margin:6px 0}.now-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;display:grid}.now-card{background:var(--surface);border-radius:16px;gap:4px;padding:14px 16px;display:grid}.now-card small{color:var(--muted);font-size:12px}.now-card.in{background:var(--paid);color:#1f4d36}.now-card.in small{color:#1f4d36}.time-total{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:800}.time-total.warn{color:var(--danger)}.entry-line{background:var(--surface);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.entry-line>span{overflow-wrap:anywhere;gap:2px;min-width:0;display:grid}.entry-line small{color:var(--muted);font-size:12px}.entry-line.voided strong{opacity:.6;text-decoration:line-through}.clock-bar{background:var(--surface);border:1px solid var(--line);border-radius:18px;align-items:center;gap:12px;margin:0 0 14px;padding:10px 12px 10px 16px;display:flex}.clock-bar.in{background:#e3f4ea;border-color:#bfe3cd}.clock-dot{background:#9aa0a8;border-radius:50%;flex:none;width:12px;height:12px}.clock-bar.in .clock-dot{background:#1f7a4d;box-shadow:0 0 0 5px #1f7a4d26}.clock-info{flex:1;gap:2px;min-width:0;display:grid}.clock-info strong{font-size:15px}.clock-info small{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.clock-info small.bad{color:var(--danger);font-weight:600}.clock-bar>button{flex:none;min-height:44px;padding:0 18px}.clock-bar>button.accent{background:var(--accent-ink,#3a73a8)}.clock-hint{color:var(--muted);flex:none;font-size:12px}.clock-bar.big{border-radius:22px;margin-bottom:18px;padding:18px 18px 18px 22px}.clock-bar.big .clock-info strong{font:800 22px/1.1 var(--font-brand)}.clock-bar.big .clock-info small{font-size:14px}.clock-bar.big>button{min-height:56px;padding:0 24px;font-size:16px}@media (width<=560px){.clock-bar{flex-wrap:wrap}.clock-bar>button{width:100%}.clock-hint{width:100%;padding-left:24px}}.now-card.off{opacity:.6}.clock-bar:not(.big){z-index:7;position:sticky;top:8px;box-shadow:0 6px 18px -10px #00000040}.plan-hero{background:var(--ink);color:#fff;justify-content:space-between;align-items:flex-start;gap:16px;padding:26px 26px 24px;display:flex}.plan-hero .eyebrow{color:var(--accent)}.plan-name{font:800 clamp(40px,6vw,60px)/.95 var(--font-brand);letter-spacing:-.04em;margin:2px 0 6px}.plan-sub{opacity:.85;margin:0;font-size:16px;font-weight:600}.plan-sub small{opacity:.8;font-size:12px;font-weight:400}.plan-hero .pill.green{background:var(--paid)}.plan-body{gap:20px;display:grid}.plan-meter{background:var(--surface);border-radius:18px;gap:10px;padding:18px;display:grid}.plan-meter-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.plan-meter-head span{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.plan-meter-head strong{font:800 24px/1 var(--font-brand);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.plan-meter-bar{background:#e3e6ea;border-radius:999px;height:10px;overflow:hidden}.plan-meter-bar span{border-radius:inherit;background:var(--accent-ink);height:100%;transition:width .4s cubic-bezier(.23,1,.32,1);display:block}.plan-meter.full .plan-meter-bar span{background:#c98a12}.plan-meter.over .plan-meter-bar span{background:var(--danger)}.plan-meter small{color:var(--muted);font-size:13px}.plan-compare{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;display:grid}.plan-card{border:1px solid var(--line);border-radius:20px;align-content:start;gap:10px;padding:20px;display:grid}.plan-card.current{border:2px solid var(--ink);box-shadow:var(--shadow)}.plan-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.plan-card-head strong{font:800 24px/1 var(--font-brand);letter-spacing:-.02em}.plan-price{font-size:18px;font-weight:700}.plan-price small{color:var(--muted);font-size:12px;font-weight:400}.plan-card ul{gap:9px;margin:4px 0 0;padding:0;font-size:14px;line-height:1.35;list-style:none;display:grid}.plan-card li{padding-left:26px;position:relative}.plan-card li:before{content:"";background:var(--paid) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%231f4d36' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat;border-radius:50%;width:17px;height:17px;position:absolute;top:1px;left:0}.plan-foot{font-size:13px}@media (width<=600px){.plan-hero{padding:22px 18px}.plan-body.panel-pad{padding:18px}}.plan-hero .pill,.plan-meter-head strong,.plan-card-head .pill{white-space:nowrap;flex-shrink:0}a.ghost{border:1px solid var(--line);min-height:48px;color:var(--ink);text-transform:uppercase;letter-spacing:.05em;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0 24px;font-size:11px;font-weight:700;text-decoration:none;transition:background .16s,color .16s;display:inline-flex}a.ghost.small{min-height:38px;padding:0 16px}@media (hover:hover) and (pointer:fine){a.ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}}a.wa-action,button.wa-action{background:var(--accent-ink);color:#fff;text-align:center;border-radius:999px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;margin:8px 0;padding:0 20px;font-size:14px;font-weight:600;text-decoration:none;transition:background .16s,transform .16s cubic-bezier(.23,1,.32,1);display:flex}a.wa-action:active,button.wa-action:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){a.wa-action:hover,button.wa-action:hover:not(:disabled){background:#3d6584}}a.wa-action:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.pb-stars{justify-content:center;gap:6px;display:flex}.pb-stars button{background:var(--surface);color:#c7cbd1;width:48px;height:48px;min-height:48px;box-shadow:none;border-radius:12px;padding:0;font-size:30px;line-height:1}.pb-stars button.on{color:#e3a008;background:#fff6dc}.pb-stars-label{text-align:center;margin:0;font-weight:600}.pb-fine{margin:0;font-size:12px}.pb-rv{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.pb-rv-title{margin:0;font-size:18px}.pb-rate{color:#b07800;font-weight:700}.pb-chips button.on .pb-rate{color:#ffd56b}.pb-rate span{opacity:.8;font-weight:500}.pb-opinions{gap:8px;margin:0;padding:0;list-style:none;display:grid}.pb-opinions li{background:var(--surface);border-radius:14px;padding:10px 12px;font-size:14px;line-height:1.4}.pb-opinion-stars{color:#e3a008;letter-spacing:1px;margin-right:4px}.rv-stars{color:#e3a008;letter-spacing:1px;white-space:nowrap}.rec-list{gap:6px;margin:4px 0;display:grid}.rec-list li{background:var(--surface);border-radius:12px;grid-template-columns:20px 1fr;align-items:baseline;gap:2px 8px;padding:8px 10px;display:grid}.rec-list li.ok>span:first-child{color:#1f6b3d;font-weight:800}.rec-list li.ko{background:#fdf0ee}.rec-list li.ko>span:first-child{color:var(--danger);font-weight:800}.rec-list li small{color:#8f1d16;grid-column:2}.summary-recipients li{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px 0;display:grid}.summary-recipients li>div:first-child{gap:3px;min-width:0;display:grid}.summary-recipients strong{overflow-wrap:anywhere}.summary-recipients small{font-size:12px}.summary-recipient-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.summary-add{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.summary-add label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);gap:6px;font-size:11px;font-weight:700;display:grid}@media (width<=760px){.summary-recipients li{grid-template-columns:1fr;gap:8px}.summary-recipients .pill{justify-self:start}.summary-recipient-actions{justify-content:flex-start}.summary-add{grid-template-columns:1fr}}
