:root{--brand: #1f6f5c;--brand-ink: #ffffff;--accent: #f2b134;--accent-ink: #1d1a14;--bg: #f5f6f4;--surface: #ffffff;--surface-2: #eceeea;--ink: #1f2722;--muted: #627068;--line: #dde2dd;--brand-text: var(--brand-text-light, color-mix(in srgb, var(--brand) 88%, #000));--brand-soft: color-mix(in srgb, var(--brand) 12%, var(--surface));--wa: #188a4a;--wa-soft: #e3f3e9;--danger: #b4412f;--danger-soft: #fbe8e4;--warn-soft: #fbf1dc;--warn-ink: #7a5212;--ok-soft: #e3f3e9;--ok-ink: #1d6b3f;--st-programado: #c9922f;--st-confirmado: #2f7d5b;--st-hecho: #4a6fa5;--st-cancelado: #9a9a9a;--radius: 16px;--shadow: 0 1px 2px rgba(31, 39, 34, .06), 0 4px 14px rgba(31, 39, 34, .06);--tabbar-h: 68px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #121614;--surface: #1a201d;--surface-2: #232b27;--ink: #e9efeb;--muted: #9db0a5;--line: #2e3833;--brand-text: color-mix(in srgb, var(--brand) 55%, #fff);--brand-soft: color-mix(in srgb, var(--brand) 22%, var(--surface));--wa: #3cc276;--wa-soft: #183a27;--danger: #ef8a78;--danger-soft: #3a1d1f;--warn-soft: #3a2f17;--warn-ink: #f0cd8a;--ok-soft: #183a27;--ok-ink: #8fdcae;--shadow: none;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3{margin:0;line-height:1.2}p{margin:0}.app{max-width:720px;margin:0 auto;min-height:100dvh}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.brand-mark{width:36px;height:36px;border-radius:10px;flex:none}.brand img{height:38px;width:auto;max-width:120px;object-fit:contain;flex:none;border-radius:8px;background:#fff;padding:2px 4px}.brand-mark{display:grid;place-items:center;background:var(--brand);color:var(--brand-ink);font-weight:800}.brand strong{color:var(--brand-text);font-size:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.who{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;font-size:13px;color:var(--muted)}.who strong{color:var(--ink);font-size:14px}.content{padding:4px 16px calc(var(--tabbar-h) + 96px + env(safe-area-inset-bottom))}.page-title{font-size:26px;margin:8px 0 12px}.page-title:first-letter{text-transform:uppercase}.section-title{font-size:18px;margin:22px 0 10px;display:flex;align-items:center;gap:8px}.section-title .count{font-size:14px;color:var(--muted);font-weight:600}.muted{color:var(--muted)}.small{font-size:14px}.cap:first-letter{text-transform:uppercase}.danger-text{color:var(--danger)}.ok-text{color:var(--ok-ink)}.nowrap{white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 18px;border:1px solid transparent;border-radius:14px;font-weight:600;text-decoration:none;text-align:center;background:var(--surface-2);color:var(--ink);transition:transform .08s ease,opacity .15s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-block{width:100%}.btn-primary{background:var(--brand);color:var(--brand-ink)}.btn-accent{background:var(--accent);color:var(--accent-ink)}.btn-outline{background:var(--surface);border-color:var(--line)}.btn-danger-text{color:var(--danger)}.btn-wa{background:var(--wa);color:#fff}.btn-wa.btn-soft{background:var(--wa-soft);color:var(--wa)}.btn-sm{min-height:44px;padding:0 14px;font-size:15px}.btn-done{background:var(--st-hecho);color:#fff}.icon-btn{width:48px;height:48px;display:inline-grid;place-items:center;flex:none;border:0;border-radius:99px;background:transparent;color:var(--ink)}.icon-btn:active{background:var(--surface-2)}.link{border:0;background:none;color:var(--brand-text);font-weight:600;padding:8px 0;text-decoration:underline;text-underline-offset:3px}.fab{position:fixed;z-index:6;right:max(16px,calc(50% - 344px));bottom:calc(var(--tabbar-h) + 16px + env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:8px;height:58px;padding:0 22px;border:0;border-radius:99px;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:17px;box-shadow:0 6px 20px #00000038}.tabbar{position:fixed;z-index:7;left:0;right:0;bottom:0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;max-width:720px;margin:0 auto;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line)}.tabbar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:none;color:var(--muted);font-size:12px;font-weight:600}.tabbar button.is-on{color:var(--brand-text)}.tab-icon{position:relative;display:inline-flex}.badge{position:absolute;top:-6px;right:-12px;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:var(--danger);color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center;line-height:1}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;border-radius:14px;background:var(--surface-2);margin:4px 0 10px}.segmented button{min-height:44px;border:0;border-radius:11px;background:none;font-weight:600;color:var(--muted);padding:0 4px;font-size:15px;line-height:1.15}.segmented button.is-on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.date-nav{display:flex;align-items:center;justify-content:space-between;gap:4px}.date-nav-title{text-align:center;flex:1;min-height:60px;display:flex;flex-direction:column;justify-content:center}.date-nav-title h1{font-size:20px}.date-nav-title h1:first-letter{text-transform:uppercase}.date-nav-title .link{padding:2px 0;font-size:15px}.chips-scroll{display:flex;gap:8px;overflow-x:auto;margin:0 -16px;padding:2px 16px 10px;scrollbar-width:none}.chips-scroll::-webkit-scrollbar{display:none}.chip-btn{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:99px;border:1px solid var(--line);background:var(--surface);font-weight:600;white-space:nowrap}.chip-btn.is-on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.dot{width:12px;height:12px;border-radius:99px;flex:none;background:var(--muted)}.tech-group{margin-bottom:18px}.tech-head{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:17px}.tech-head .muted{font-weight:500;font-size:14px}.list{display:grid;gap:10px}.svc{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border-left:5px solid var(--st-programado);overflow:hidden}.svc.st-bar-confirmado{border-left-color:var(--st-confirmado)}.svc.st-bar-hecho{border-left-color:var(--st-hecho)}.svc.st-bar-cancelado{border-left-color:var(--st-cancelado);opacity:.6}.svc.st-bar-cancelado .svc-name{text-decoration:line-through}.svc-main{width:100%;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:12px 14px;border:0;background:none;text-align:left}.svc-time{display:flex;flex-direction:column;min-width:66px}.svc-time strong{font-size:17px}.svc-time span{font-size:13px;color:var(--muted)}.svc-name{font-weight:700}.svc-sub{color:var(--muted);font-size:15px}.svc-addr{color:var(--muted);font-size:14px;margin-top:2px}.svc-techs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px}.svc-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 12px 12px}.svc-actions .btn{min-height:48px;font-size:15px;padding:0 10px}.svc-actions.one{grid-template-columns:1fr}.tag{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;padding:3px 8px;border-radius:99px;background:var(--surface-2);color:var(--ink);white-space:nowrap}.tag .dot{width:8px;height:8px}.tag-brand{background:var(--brand-soft);color:var(--brand-text)}.tag-warn{background:var(--warn-soft);color:var(--warn-ink)}.tag-danger{background:var(--danger-soft);color:var(--danger)}.tag-ok{background:var(--ok-soft);color:var(--ok-ink)}.pill{font-size:12px;font-weight:700;padding:4px 9px;border-radius:99px;white-space:nowrap;color:#fff}.st-programado{background:var(--st-programado)}.st-confirmado{background:var(--st-confirmado)}.st-hecho{background:var(--st-hecho)}.st-cancelado{background:var(--st-cancelado)}.week{display:grid;gap:10px}.week-day{background:var(--surface-2);border-radius:var(--radius);padding:4px 8px 8px}.week-day.is-today{outline:2px solid var(--brand-text)}.week-head{width:100%;display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:0 6px;border:0;background:none;font-weight:700}.week-head span:first-child:first-letter{text-transform:uppercase}.week-row{width:100%;display:grid;grid-template-columns:62px 1fr auto;gap:8px;align-items:center;padding:8px 10px;border:0;border-radius:10px;background:var(--surface);text-align:left;margin-top:6px;border-left:4px solid var(--st-programado)}.week-row.st-bar-confirmado{border-left-color:var(--st-confirmado)}.week-row.st-bar-hecho{border-left-color:var(--st-hecho)}.week-row.st-bar-cancelado{border-left-color:var(--st-cancelado);opacity:.55}.week-row .name{font-weight:600;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.initials{display:flex;gap:2px}.initial{width:26px;height:26px;border-radius:99px;display:grid;place-items:center;font-size:11px;font-weight:800;color:#fff;background:var(--muted)}.month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.month-head{text-align:center;font-size:12px;font-weight:700;color:var(--muted);padding:4px 0}.month-day{position:relative;aspect-ratio:1 / 1.1;min-height:48px;border:0;border-radius:10px;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:2px}.month-day.is-out{background:transparent;color:var(--line)}.month-day.is-today{outline:2px solid var(--brand-text)}.month-num{font-size:13px;color:var(--muted)}.month-day.has .month-num{color:var(--ink);font-weight:600}.month-count{min-width:26px;padding:1px 6px;border-radius:99px;background:var(--brand);color:var(--brand-ink);font-size:14px;font-weight:800}.month-done{position:absolute;top:2px;right:4px;font-size:11px;color:var(--ok-ink)}.empty{text-align:center;padding:32px 16px;background:var(--surface);border-radius:var(--radius)}.empty-title{font-weight:700;font-size:18px;margin:0 0 4px}.empty-text{color:var(--muted);margin:0 0 12px}.sheet-backdrop{position:fixed;inset:0;z-index:20;background:#12161473;display:flex;align-items:flex-end;justify-content:center;animation:fade .15s ease}.sheet{width:100%;max-width:720px;max-height:92dvh;display:flex;flex-direction:column;background:var(--bg);border-radius:22px 22px 0 0;animation:up .2s ease}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:10px 8px 4px 18px;gap:8px}.sheet-head h2{font-size:20px}.sheet-body{overflow-y:auto;overflow-x:hidden;padding:4px 16px 20px;display:grid;gap:14px}.sheet-body>*,.form>*,.grid-2>*{min-width:0}.sheet-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}@keyframes up{0%{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}@keyframes fade{0%{opacity:0}}@media(min-width:760px){.sheet-backdrop{align-items:center}.sheet{border-radius:22px;max-height:86dvh}}.card{background:var(--surface);border-radius:14px;padding:12px 14px;display:grid;gap:8px;box-shadow:var(--shadow)}.card h3{font-size:16px;display:flex;align-items:center;justify-content:space-between;gap:8px}.facts{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:0}.facts dt{font-size:13px;color:var(--muted)}.facts dd{margin:0;font-size:15px;font-weight:600}.facts .wide{grid-column:1 / -1}.detail-when{font-size:20px;font-weight:700}.detail-when:first-letter{text-transform:uppercase}.stack{display:grid;gap:8px}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row-between{display:flex;align-items:center;justify-content:space-between;gap:8px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid-2 .btn{padding:0 10px;font-size:16px}.form{display:grid;gap:14px}.field{display:grid;gap:6px}.field-label{font-weight:600;font-size:15px}.field-hint{font-size:13px;color:var(--muted)}.input{width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:17px}textarea.input{resize:vertical;min-height:0}.input:focus{outline:2px solid var(--brand-text);outline-offset:1px;border-color:transparent}.input[type=date],.input[type=time]{-webkit-appearance:none;appearance:none;min-width:0;max-width:100%;display:block}.input[type=date]::-webkit-date-and-time-value,.input[type=time]::-webkit-date-and-time-value{text-align:left}.input[type=color]{padding:4px;height:50px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;line-height:1.5}.switch{display:inline-flex;align-items:center;gap:10px;font-weight:600;min-height:44px}.switch input{width:22px;height:22px;accent-color:var(--brand)}.notice{padding:10px 12px;border-radius:12px;background:var(--warn-soft);color:var(--warn-ink);font-size:15px}.notice-danger{background:var(--danger-soft);color:var(--danger)}.notice-ok{background:var(--ok-soft);color:var(--ok-ink)}.notice-info{background:var(--brand-soft);color:var(--ink)}.notice ul{margin:6px 0 0;padding-left:18px}.search{position:relative;margin-bottom:12px}.search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted)}.search .input{padding-left:44px}.plain-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.client-row{width:100%;display:flex;align-items:center;gap:12px;padding:12px;border:0;border-radius:14px;background:var(--surface);text-align:left;box-shadow:var(--shadow)}.avatar{flex:none;width:42px;height:42px;border-radius:99px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-text);font-weight:800}.client-text{display:grid;min-width:0;flex:1}.client-text .muted{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border:0;border-radius:12px;background:var(--surface);text-align:left}.menu{list-style:none;margin:0;padding:0;display:grid;gap:8px}.menu button{width:100%;display:flex;align-items:center;gap:12px;min-height:60px;padding:10px 14px;border:0;border-radius:14px;background:var(--surface);box-shadow:var(--shadow);text-align:left;font-weight:600}.menu button>span:not(.menu-icon){flex:1;display:grid}.menu button .small{font-weight:400}.menu-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-text);flex:none}.template{display:grid;gap:10px;padding:4px 0 14px;border-bottom:1px solid var(--line)}.template:last-child{border-bottom:0}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--line);background:var(--surface-2);border-radius:99px;padding:6px 10px;font-size:13px;font-family:ui-monospace,Menlo,monospace}.bubble{white-space:pre-wrap;word-break:break-word;background:var(--wa-soft);color:var(--ink);padding:12px 14px;border-radius:14px 14px 14px 4px;font-size:15px}.logo-preview{height:84px;width:auto;max-width:180px;min-width:84px;border-radius:14px;object-fit:contain;background:#fff;padding:4px}.toast{position:fixed;z-index:30;left:50%;transform:translate(-50%);max-width:calc(100% - 32px);bottom:calc(var(--tabbar-h) + 90px + env(safe-area-inset-bottom));background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:18px;font-weight:600;text-align:center;animation:fade .2s ease}.toast.is-error{background:var(--danger);color:#fff}.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:4px}.stat{background:var(--surface);border-radius:14px;padding:12px;display:grid;gap:2px;box-shadow:var(--shadow);border:0;text-align:left}.stat-label{color:var(--muted);font-size:14px;font-weight:600}.stat-value{font-size:24px;font-weight:700}.stat-note{font-size:13px;color:var(--muted)}.stat.is-danger .stat-value{color:var(--danger)}.stat-wide{grid-column:1 / -1}.msg-row{background:var(--surface);border-radius:14px;box-shadow:var(--shadow);padding:10px 12px;display:grid;gap:8px}.msg-row.is-sent{opacity:.62}.msg-head{display:flex;justify-content:space-between;gap:8px;align-items:start}.msg-head button{border:0;background:none;text-align:left;padding:0;display:grid}.msg-actions{display:grid;grid-template-columns:1fr auto;gap:8px}.msg-actions.one{grid-template-columns:1fr}.progress{margin:0 0 10px}.progress-bar{height:8px;border-radius:99px;background:var(--surface-2);overflow:hidden}.progress-bar span{display:block;height:100%;background:var(--wa);border-radius:99px;transition:width .25s}.charge{background:var(--surface);border-radius:14px;box-shadow:var(--shadow);padding:12px;display:grid;gap:8px;border-left:5px solid var(--st-confirmado)}.charge.is-late{border-left-color:var(--danger)}.charge.is-paid{border-left-color:var(--st-hecho)}.charge.is-noprice{border-left-color:var(--st-programado)}.charge-amount{font-size:20px;font-weight:800;white-space:nowrap}.charge-facts{grid-template-columns:auto minmax(0,1fr);gap:4px 14px;background:var(--surface-2);border-radius:10px;padding:8px 10px}.charge-facts dd{font-size:14px}.charge-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.charge-actions .btn{min-height:46px;font-size:15px;padding:0 8px}.charge-actions .wide{grid-column:1 / -1}.pay-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.pay-list li{display:flex;justify-content:space-between;align-items:center;background:var(--surface-2);border-radius:12px;padding:4px 4px 4px 12px;font-size:15px}.credit{margin:28px 0 0;display:flex;justify-content:center;font-size:12px;color:var(--muted)}.kaizen-by{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.kaizen-by b{font-weight:600;color:var(--ink)}.kaizen-by .kaizen-mark{flex:none}.insights{gap:0;padding:4px 14px}.insights button{border:0;background:none;text-align:left;padding:10px 0;font-size:15px;line-height:1.4;border-bottom:1px solid var(--line)}.insights button:last-child{border-bottom:0}.stars{display:inline-flex;gap:2px;color:var(--accent)}.stars .off{color:var(--line)}.star-pick{display:flex;justify-content:center;gap:6px}.star-pick button{border:0;background:none;font-size:46px;line-height:1;padding:4px;color:var(--line)}.star-pick button.is-on{color:var(--accent)}.rating-tech{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.big-number{font-size:28px;font-weight:800}.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:24px 16px}.auth-card{width:100%;max-width:440px;background:var(--surface);border-radius:20px;padding:24px 20px;box-shadow:var(--shadow);display:grid;gap:14px}.auth-card h1{font-size:24px}.auth-logo{height:72px;width:auto;max-width:220px;border-radius:14px;object-fit:contain;background:#fff;padding:4px 8px;justify-self:start}.rating-card .auth-logo{justify-self:center}.person-btn{width:100%;display:flex;align-items:center;gap:12px;min-height:60px;padding:8px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface);text-align:left}.person-btn>span:nth-child(2){flex:1;display:grid}.person-btn .small{color:var(--muted)}.rating-page{min-height:100dvh;display:grid;place-items:center;padding:24px 16px}.rating-card{width:100%;max-width:440px;background:var(--surface);border-radius:22px;padding:26px 20px;box-shadow:var(--shadow);display:grid;gap:16px;text-align:center;justify-items:center}.rating-card textarea{text-align:left}.update-bar{position:fixed;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:14px;background:var(--ink);color:var(--surface);box-shadow:var(--shadow);font-size:15px}.update-bar button{min-height:44px;padding:0 14px;border:0;border-radius:10px;background:var(--brand);color:var(--brand-ink);font-weight:700;font-size:15px}
