:root{--ink:#171326;--muted:#716985;--violet:#6d4aff;--violet2:#5030ed;--paper:#fffdfa;--cream:#fbf7f0;--line:#ded6eb;--soft:#f1ecff;--danger:#bb3e45;--ok:#16734a;--shadow:0 20px 60px #452e7b15}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}a{color:var(--violet2);text-decoration:none}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1180px)/2));background:var(--paper);border-bottom:1px solid var(--line)}.topbar nav,.topbar>div{display:flex;align-items:center;gap:18px}.topbar.dark{background:var(--ink);color:#fff}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:20px;font-weight:900}.brand b{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#7e5cff,#5939ec);color:#fff;box-shadow:0 9px 20px #6d4aff45}.brand.light{color:#fff}.button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:11px;padding:12px 18px;background:linear-gradient(135deg,var(--violet),var(--violet2));color:#fff;font-weight:850;cursor:pointer;box-shadow:0 8px 20px #6d4aff25}.button.small{padding:9px 14px}.ghost{padding:8px 12px;border:1px solid #ffffff40;border-radius:9px;background:transparent;color:#fff;cursor:pointer}.hero{display:grid;grid-template-columns:1.5fr .7fr;gap:50px;max-width:1180px;margin:auto;padding:80px 24px}.hero h1,.welcome h1,.auth-card h1{margin:8px 0 12px;font-size:clamp(38px,6vw,68px);line-height:1;letter-spacing:-3px}.hero h1 em{color:var(--violet);font-style:normal}.hero p{max-width:650px;color:var(--muted);font-size:18px}.hero-note{align-self:center;padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--paper);box-shadow:var(--shadow)}.hero-note li{margin:12px 0}.eyebrow{display:block;color:var(--violet);font-size:11px;font-weight:900;letter-spacing:.14em}.search-box{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;max-width:920px;margin:-30px auto 55px;padding:15px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow)}input,textarea,select{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--violet);box-shadow:0 0 0 3px #6d4aff18}.content,.dashboard,.admin-wrap{max-width:1180px;margin:auto;padding:30px 24px 80px}.section-title,.welcome,.panel-title{display:flex;align-items:end;justify-content:space-between;gap:20px}.section-title h2,.panel h2{margin:5px 0;font-size:28px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.pro-card,.panel,.stats article{padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow)}.avatar{display:grid;place-items:center;width:48px;height:48px;margin-bottom:18px;border-radius:15px;background:var(--soft);color:var(--violet);font-size:22px;font-weight:900}.pro-card h3{margin:5px 0;font-size:22px}.pro-card p{min-height:48px;color:var(--muted)}.meta{display:flex;justify-content:space-between;gap:12px;margin:18px 0}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 10% 10%,#8a6dff25,transparent 30%),radial-gradient(circle at 90% 90%,#ff8b6b25,transparent 28%),var(--cream)}.auth-card{width:min(100%,480px);padding:32px;border:1px solid var(--line);border-radius:24px;background:var(--paper);box-shadow:var(--shadow)}.auth-card.wide{width:min(100%,760px)}.auth-card h1{font-size:42px}.auth-card>.brand{margin-bottom:32px}.auth-card label,.form-grid label{display:grid;gap:6px;margin:13px 0;font-size:12px;font-weight:800}.auth-card form>.button{width:100%;margin:10px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.full{grid-column:1/-1}.auth-links{display:flex;justify-content:space-between;margin-top:16px}.alert{margin:14px 0;padding:11px 14px;border-radius:10px}.alert.error{background:#ffe8e8;color:#972d35}.alert.ok{background:#e1f5eb;color:var(--ok)}.dashboard-grid,.admin-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px}.welcome{margin:18px 0 28px}.welcome h1{font-size:50px}.welcome p{color:var(--muted)}.times{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0}.times input{position:absolute;opacity:0}.times span{display:block;padding:10px;border:1px solid var(--line);border-radius:9px;text-align:center;cursor:pointer}.times input:checked+span{background:var(--violet);color:#fff}.appointment{padding:16px 0;border-bottom:1px solid var(--line)}.appointment>div:first-child{display:flex;justify-content:space-between}.appointment h3{margin:8px 0 0}.appointment p,.appointment small{display:block;margin:3px 0;color:var(--muted)}.status{padding:4px 8px;border-radius:99px;background:var(--soft);font-size:11px;font-weight:800}.actions,.inline{display:flex;gap:7px;margin-top:10px}.actions button,table button{border:0;border-radius:7px;padding:7px 10px;cursor:pointer}.danger{background:#ffe3e3!important;color:var(--danger)}dialog{width:min(94vw,620px);padding:30px;border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 90px #17132655}dialog::backdrop{background:#17132688}.dialog-close{float:right;border:0;background:none;font-size:28px;cursor:pointer}.slots{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.slots button{padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.slots button.active{background:var(--violet);color:#fff}.success-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#dff6e9;color:var(--ok);font-size:32px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stats span{display:block;color:var(--muted)}.stats strong{font-size:34px}.admin-wrap>.panel,.admin-grid{margin-top:20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px;text-align:left;border-bottom:1px solid var(--line)}td small{display:block;color:var(--muted)}.log-row{display:grid;padding:11px 0;border-bottom:1px solid var(--line)}.log-row span,.log-row small{color:var(--muted)}
@media(max-width:800px){.hero,.dashboard-grid,.admin-grid{grid-template-columns:1fr}.hero{padding-top:50px}.search-box{grid-template-columns:1fr;margin:0 16px 35px}.cards{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.stats{grid-template-columns:1fr 1fr}.topbar nav>a:first-child{display:none}.welcome,.section-title{align-items:flex-start;flex-direction:column}.times{grid-template-columns:repeat(3,1fr)}}
.password-field{position:relative}.password-field input{padding-right:52px}.password-visibility{position:absolute;right:7px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:38px;height:34px;padding:0;border:0;border-radius:8px;background:var(--soft);color:var(--ink);cursor:pointer}.password-visibility:focus-visible{outline:2px solid var(--violet);outline-offset:2px}
.google-login{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:54px;margin:20px 0 14px;padding:12px 18px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font-weight:800;text-decoration:none}.google-login:hover{border-color:var(--violet);box-shadow:0 8px 24px color-mix(in srgb,var(--violet) 14%,transparent)}.google-login span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff;color:#4285f4;font:800 17px Arial,sans-serif;box-shadow:0 1px 4px #0002}.auth-divider{display:flex;align-items:center;gap:12px;margin:4px 0 18px;color:var(--muted);font-size:12px}.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:var(--line)}
.preview-banner{padding:10px 24px;background:#fff2bd;color:#5b4300;border-bottom:1px solid #e4c455;text-align:center;font-size:12px;font-weight:900;letter-spacing:.04em}
.schedule-tools{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:20px;margin-top:20px}.schedule-tools>.panel{height:auto;align-self:start}.schedule-tools label{display:grid;gap:6px;margin:13px 0;font-size:12px;font-weight:800}.schedule-tools .button{margin-top:14px}.weekday-options{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:12px 0}.weekday-options label{margin:0}.weekday-options input{position:absolute;opacity:0}.weekday-options span{display:block;padding:8px 3px;border:1px solid var(--line);border-radius:8px;text-align:center;cursor:pointer}.weekday-options input:checked+span{background:var(--violet);color:#fff}.schedule-tools button:disabled,#saveTimes:disabled{opacity:.45;cursor:not-allowed}.special-notice{display:grid;gap:4px;margin:15px 0;padding:15px;border:1px solid #f0bd45;border-radius:12px;background:#fff5d9;color:#684600}.special-notice span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#9b6200}.special-notice strong{font-size:18px}.special-notice p{margin:2px 0 0}
@media(max-width:800px){.schedule-tools{grid-template-columns:1fr}.weekday-options{grid-template-columns:repeat(4,1fr)}}
.pro-card{--card-accent:var(--violet);--card-background:var(--paper);position:relative;isolation:isolate;overflow:hidden;background:var(--card-background);border-color:var(--card-accent)}.pro-card .avatar{overflow:hidden;background:color-mix(in srgb,var(--card-accent) 13%,white);color:var(--card-accent)}.pro-card .avatar img,.identity-logo .avatar img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}.pro-card .eyebrow{color:var(--card-accent)}.pro-card .button{background:var(--card-accent)}.effect-tremer{animation:card-attention 6s ease-in-out infinite}.effect-brilho{animation:card-glow 2.4s ease-in-out infinite}.effect-cometa{border:2px solid transparent;background:linear-gradient(var(--card-background),var(--card-background)) padding-box,linear-gradient(115deg,transparent 30%,var(--card-accent) 47%,#fff 50%,var(--card-accent) 53%,transparent 70%) border-box;background-size:100% 100%,300% 300%;animation:card-comet 2.8s linear infinite}@keyframes card-attention{0%,86%,100%{transform:translateX(0) rotate(0)}88%{transform:translateX(-4px) rotate(-.5deg)}90%{transform:translateX(4px) rotate(.5deg)}92%{transform:translateX(-3px) rotate(-.35deg)}94%{transform:translateX(3px) rotate(.35deg)}96%{transform:translateX(0)}}@keyframes card-glow{0%,100%{box-shadow:0 12px 35px color-mix(in srgb,var(--card-accent) 18%,transparent)}50%{box-shadow:0 14px 48px color-mix(in srgb,var(--card-accent) 55%,transparent),0 0 0 3px color-mix(in srgb,var(--card-accent) 20%,transparent)}}@keyframes card-comet{0%{background-position:0 0,100% 100%}100%{background-position:0 0,0 0}}.card-identity-panel{grid-column:1/-1}.identity-logo{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:16px;margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);overflow:hidden}.identity-logo .avatar{margin:0;width:72px;height:72px;min-width:72px;border-radius:10px;overflow:hidden}.identity-logo label{min-width:0;margin:0!important}.identity-logo input[type=file]{min-width:0;padding:8px 0;border:0;background:transparent;box-shadow:none}.color-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}.color-options input[type=color]{height:48px;padding:5px;cursor:pointer}.remove-logo-option{display:flex!important;grid-template-columns:auto 1fr;align-items:center}.remove-logo-option input{width:auto}.card-identity-panel form>.button{margin-top:8px}
.modal-open{overflow:hidden}.image-editor-modal{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:18px;background:rgba(5,3,15,.78);backdrop-filter:blur(4px)}.image-editor-modal[hidden]{display:none}.image-editor-dialog{width:min(520px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:0 24px 80px rgba(0,0,0,.35)}.image-editor-dialog h2{margin:3px 0}.image-editor-close{width:42px;height:42px;padding:0;border-radius:50%;font-size:28px;line-height:1}.image-editor-stage{width:min(360px,100%);margin:18px auto;overflow:hidden;border:3px solid var(--violet);border-radius:18px;background:#ddd;box-shadow:0 0 0 5px color-mix(in srgb,var(--violet) 15%,transparent)}.image-editor-stage canvas{display:block;width:100%;height:auto;cursor:grab;touch-action:none}.image-editor-stage canvas:active{cursor:grabbing}.image-editor-zoom{display:grid!important;gap:8px}.image-editor-zoom input{padding:0!important}.image-editor-dialog .actions{justify-content:flex-end;margin-top:18px}
.tour-open{overflow:hidden}.tour-overlay{position:fixed;z-index:3000;inset:0;background:rgba(6,4,14,.76);backdrop-filter:blur(2px)}.tour-overlay[hidden]{display:none}.tour-highlight{position:relative!important;z-index:3002!important;isolation:isolate;outline:4px solid #8d74ff!important;outline-offset:6px;box-shadow:0 0 0 10px rgba(109,74,255,.22),0 0 45px rgba(109,74,255,.7)!important;animation:tour-pulse 1.4s ease-in-out infinite}.tour-card{position:fixed;z-index:3004;width:min(430px,calc(100vw - 24px));padding:20px;border:1px solid #8d74ff;border-radius:18px;background:var(--paper);color:var(--ink);box-shadow:0 22px 70px rgba(0,0,0,.45);transition:left .25s,top .25s}.tour-card h2{margin:5px 0 8px;font-size:25px}.tour-card p{margin:0 0 12px}.tour-result{display:block;padding:11px 13px;border-radius:10px;background:color-mix(in srgb,var(--violet) 12%,var(--paper));color:var(--ink)}.tour-progress{height:5px;margin:-20px -20px 15px;overflow:hidden;border-radius:18px 18px 0 0;background:var(--line)}.tour-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--violet),#aa73ff);transition:width .35s}.tour-counter{margin-top:12px;font-size:12px;color:var(--muted)}.tour-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px}.tour-controls button{padding:9px 12px}.tour-replay{position:fixed;z-index:900;left:16px;bottom:16px;padding:9px 13px;border-color:var(--violet);border-radius:999px;background:var(--paper);color:var(--violet);font-weight:800;box-shadow:0 8px 25px rgba(0,0,0,.18)}@keyframes tour-pulse{50%{outline-color:#d0c6ff;box-shadow:0 0 0 15px rgba(109,74,255,.1),0 0 55px rgba(109,74,255,.8)}}@media(max-width:600px){.tour-card{left:12px!important;top:auto!important;bottom:12px}.tour-controls{justify-content:stretch}.tour-controls button{flex:1}.tour-replay{bottom:72px}}
.social-share-panel{grid-column:1/-1;display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,420px);gap:24px;align-items:center}.social-share-panel canvas{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 14px 35px rgba(0,0,0,.16)}.social-share-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px}.social-share-actions button{min-width:130px}.social-share-panel #shareCardMessage{grid-column:1/-1}@media(max-width:720px){.social-share-panel{grid-template-columns:1fr}.social-share-panel canvas{max-width:420px;margin:auto}.social-share-actions button{flex:1}}
.diagnostics-panel{margin:30px 0}.diagnostic-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;margin-top:16px}.diagnostic-results article{display:grid;gap:5px;padding:13px;border:1px solid var(--line);border-radius:12px}.diagnostic-results article span{font-size:13px;color:var(--muted)}.diagnostic-results .diagnostic-ok{border-color:#2d9f63;background:color-mix(in srgb,#2d9f63 8%,var(--paper))}.diagnostic-results .diagnostic-fail{border-color:#d34d4d;background:color-mix(in srgb,#d34d4d 9%,var(--paper))}.diagnostic-fail strong{color:#d34d4d}
.dialog-fallback[open]{position:fixed;z-index:2500;inset:5vh auto auto 50%;display:block;width:min(650px,94vw);max-height:90vh;margin:0;transform:translateX(-50%);overflow:auto}
.available-date-list{margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.available-date-list>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.available-date-list button{padding:8px 10px;border:2px solid var(--violet);background:color-mix(in srgb,var(--violet) 18%,var(--paper));color:var(--ink);font-weight:800}.available-date-list button:hover,.available-date-list button:focus{background:var(--violet);color:#fff;outline:2px solid #fff;outline-offset:2px}.slots button{background:color-mix(in srgb,var(--violet) 20%,var(--paper));color:var(--ink);border-color:color-mix(in srgb,var(--violet) 65%,var(--line));font-weight:700}.slots button:hover,.slots button:focus,.slots button.active{background:var(--violet);color:#fff;border-color:var(--violet)}
.times label.time-expired{opacity:.38}.times label.time-expired span{text-decoration:line-through}.times input:disabled+span{cursor:not-allowed}
.booking-finalize{position:sticky;top:0;z-index:2;border:1px solid #2d9f63;box-shadow:0 5px 18px rgba(0,0,0,.12)}
.environment-warning{display:flex;justify-content:center;gap:12px;padding:10px 18px;border-bottom:2px solid #f0bd45;background:#fff1b8;color:#4e3900;text-align:center}.environment-warning strong{white-space:nowrap}
.flow-row{position:relative;padding-right:130px}.flow-delete-form{position:absolute;right:0;top:8px;margin:0}.flow-delete-form button{padding:7px 10px;border:1px solid color-mix(in srgb,var(--danger) 45%,var(--line));border-radius:8px;cursor:pointer;font-weight:800}@media(max-width:620px){.flow-row{padding-right:0}.flow-delete-form{position:static;margin-top:9px}.flow-delete-form button{width:100%}}
.billing-controls{display:grid;justify-items:end;gap:9px}.billing-controls form{margin:0}.billing-reset,.billing-reset-one{padding:8px 11px;border:1px solid color-mix(in srgb,var(--danger) 45%,var(--line));border-radius:9px;cursor:pointer;font-weight:800}.billing-reset-one{background:var(--soft);color:var(--ink)}.billing-reset-one:disabled{opacity:.4;cursor:not-allowed}@media(max-width:700px){.billing-controls{justify-items:stretch;width:100%}.billing-reset{width:100%}}
.compact-log-row{grid-template-columns:minmax(150px,.8fr) minmax(260px,1.2fr);align-items:center;gap:12px;padding:9px 0;cursor:pointer}.compact-log-row strong,.compact-log-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-log-row small{grid-column:1/-1;padding:7px 9px;border-radius:7px;background:var(--soft);color:var(--ink)}.compact-log-row:focus-visible{outline:2px solid var(--violet);outline-offset:2px}@media(max-width:620px){.compact-log-row{grid-template-columns:1fr}.compact-log-row span{grid-column:1}.compact-log-row small{grid-column:1}}
[hidden]{display:none!important}
.logs-toggle{width:100%;margin-top:14px;padding:12px 16px;border:2px solid var(--violet)!important;border-radius:10px;background:linear-gradient(135deg,var(--violet),var(--violet2))!important;color:#fff!important;font-weight:900;cursor:pointer;box-shadow:0 7px 18px rgba(109,74,255,.25);-webkit-tap-highlight-color:transparent}.logs-toggle:hover,.logs-toggle:focus-visible,.logs-toggle:active{background:var(--violet2)!important;color:#fff!important;outline:3px solid color-mix(in srgb,var(--violet) 35%,transparent);outline-offset:2px}.actions button:not(.button):not(.danger),table button:not(.button):not(.danger){border:1px solid var(--line);background:var(--soft);color:var(--ink);font-weight:700}.actions button:not(.button):not(.danger):hover,.actions button:not(.button):not(.danger):focus-visible,table button:not(.button):not(.danger):hover,table button:not(.button):not(.danger):focus-visible{border-color:var(--violet);background:var(--violet);color:#fff}
@media(prefers-reduced-motion:reduce){.effect-tremer,.effect-brilho,.effect-cometa{animation:none}.effect-cometa{border-color:var(--card-accent)}}
html{color-scheme:light}html[data-theme=dark]{color-scheme:dark;--ink:#f5f1ff;--muted:#aaa2ba;--paper:#1c1826;--cream:#100d17;--line:#40384e;--soft:#2b2340;--danger:#ff929b;--ok:#67dda2;--shadow:0 20px 60px #00000045}html[data-theme=dark] input,html[data-theme=dark] textarea,html[data-theme=dark] select{background:#15111e;color:var(--ink)}html[data-theme=dark] input[type=color]{background:#15111e}html[data-theme=dark] .topbar.dark{background:#0d0a14}html[data-theme=dark] .auth-shell{background:radial-gradient(circle at 10% 10%,#6d4aff22,transparent 30%),radial-gradient(circle at 90% 90%,#ff8b6b18,transparent 28%),var(--cream)}html[data-theme=dark] .alert.error{background:#451f29;color:#ffadb4}html[data-theme=dark] .alert.ok{background:#153c2c;color:#7ee7b5}html[data-theme=dark] .danger{background:#4a2028!important;color:#ffabb2}html[data-theme=dark] dialog{background:var(--paper);color:var(--ink)}html[data-theme=dark] .slots button,html[data-theme=dark] .actions button,html[data-theme=dark] table button{background:var(--soft);color:var(--ink)}html[data-theme=dark] .slots button.active{background:var(--violet);color:#fff}html[data-theme=dark] .special-notice{border-color:#98712a;background:#362b16;color:#ffe7a6}html[data-theme=dark] .special-notice span{color:#ffc85b}html[data-theme=dark] .preview-banner{background:#3b3116;color:#ffe99b;border-color:#746126}html[data-theme=dark] ::selection{background:#6d4aff;color:#fff}.theme-toggle{position:fixed;right:18px;bottom:18px;z-index:1000;display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);box-shadow:0 10px 30px #0004;font-size:20px;cursor:pointer;transition:transform .2s,background .2s}.theme-toggle:hover{transform:translateY(-2px)}.theme-toggle:focus-visible{outline:3px solid var(--violet);outline-offset:3px}.pro-card{color:var(--card-text,var(--ink))}.pro-card p{color:color-mix(in srgb,var(--card-text,var(--ink)) 72%,transparent)}.pro-card .meta span{color:var(--card-text,var(--ink))}
.install-link{border:0;background:transparent;color:var(--violet2);font-weight:800;cursor:pointer}.pwa-invite{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;max-width:920px;margin:-35px auto 55px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:var(--shadow)}.pwa-invite div{display:grid}.pwa-invite span{color:var(--muted)}#pushMessage{grid-column:1/-1;font-size:12px;color:var(--ok)}@media(max-width:800px){.pwa-invite{grid-template-columns:1fr;margin:-15px 16px 35px}.pwa-invite .button{width:100%}.install-link{font-size:12px}}
@media(max-width:520px){.identity-logo{grid-template-columns:60px minmax(0,1fr);gap:10px;padding:10px}.identity-logo .avatar{width:60px;height:60px;min-width:60px}.identity-logo input[type=file]{font-size:12px}}
.recommended-seal{display:inline-flex;align-items:center;gap:5px;margin:5px 0;padding:5px 9px;border-radius:99px;background:#e2f7ea;color:#126c43;font-size:11px;font-weight:900}.ranking-badge{position:absolute;right:14px;top:14px;z-index:2;padding:6px 9px;border-radius:99px;background:var(--card-accent);color:#fff;font-size:9px;font-weight:900;letter-spacing:.06em;box-shadow:0 6px 18px #0002}.recommend-dialog{text-align:center}.recommend-icon{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 14px;border-radius:50%;background:#e2f7ea;color:#126c43;font-size:34px;font-weight:900}.recommend-dialog .actions{justify-content:center;flex-wrap:wrap}.billing-panel{margin-top:20px}.billing-total{display:grid;min-width:190px;padding:14px 18px;border-radius:14px;background:var(--soft)}.billing-total span,.billing-total small{color:var(--muted)}.billing-total strong{font-size:28px;color:var(--violet)}html[data-theme=dark] .recommended-seal{background:#173b2b;color:#7de3af}html[data-theme=dark] .recommend-icon{background:#173b2b;color:#7de3af}@media(max-width:800px){.billing-panel .panel-title{align-items:stretch}.billing-total{width:100%}}
.recommended-seal{display:inline-flex;align-items:center;gap:5px;margin:5px 0;padding:5px 9px;border-radius:99px;background:#e2f7ea;color:#126c43;font-size:11px;font-weight:900}.ranking-badge{position:absolute;right:14px;top:14px;z-index:2;padding:6px 9px;border-radius:99px;background:var(--card-accent);color:#fff;font-size:9px;font-weight:900;letter-spacing:.06em;box-shadow:0 6px 18px #0002}.recommend-dialog{text-align:center}.recommend-icon{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 14px;border-radius:50%;background:#e2f7ea;color:#126c43;font-size:34px;font-weight:900}.recommend-dialog .actions{justify-content:center;flex-wrap:wrap}.billing-panel{margin-top:20px}.billing-total{display:grid;min-width:190px;padding:14px 18px;border-radius:14px;background:var(--soft)}.billing-total span,.billing-total small{color:var(--muted)}.billing-total strong{font-size:28px;color:var(--violet)}html[data-theme=dark] .recommended-seal{background:#173b2b;color:#7de3af}html[data-theme=dark] .recommend-icon{background:#173b2b;color:#7de3af}@media(max-width:800px){.billing-panel .panel-title{align-items:stretch}.billing-total{width:100%}}
@media(max-width:700px){
 .billing-table-wrap{overflow:visible}
 .billing-table,.billing-table tbody{display:block;width:100%}
 .billing-table thead{display:none}
 .billing-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin:0 0 14px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
 .billing-table td{display:grid;align-content:start;gap:4px;min-width:0;padding:0!important;border:0!important;overflow-wrap:break-word;word-break:normal}
 .billing-table td::before{content:attr(data-label);color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
 .billing-table td:first-child,.billing-table td:nth-child(2),.billing-table td:last-child{grid-column:1/-1}
 .billing-table td strong,.billing-table td small{display:block;overflow-wrap:break-word;word-break:normal}
 .billing-table td:last-child form{width:100%;margin:0}
 .billing-table .billing-reset-one{width:100%;min-height:42px}
 .professionals-table-wrap{overflow:visible}
 .professionals-table,.professionals-table tbody{display:block;width:100%}
 .professionals-table thead{display:none}
 .professionals-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin:0 0 14px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
 .professionals-table td{display:grid;align-content:start;gap:4px;min-width:0;padding:0!important;border:0!important;overflow-wrap:break-word;word-break:normal}
 .professionals-table td::before{content:attr(data-label);color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
 .professionals-table td:first-child,.professionals-table td:nth-child(2),.professionals-table td:last-child{grid-column:1/-1}
 .professionals-table td strong,.professionals-table td small{display:block;overflow-wrap:anywhere;word-break:normal}
 .professional-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
 .professional-actions button{width:100%;min-width:0;min-height:42px;margin:0}
 .professional-actions .danger:last-child{grid-column:1/-1}
}

/* Mobile: preserve legibility instead of squeezing controls into one row. */
img,svg,canvas,video{max-width:100%}
input,textarea,select,button{min-width:0}
.panel,.pro-card,.auth-card,.hero-note,.search-box,.pwa-invite{overflow-wrap:anywhere}
@media(max-width:600px){
  .topbar{height:auto;min-height:68px;padding:10px 14px;gap:10px;flex-wrap:wrap}
  .topbar nav,.topbar>div{min-width:0;gap:9px;flex-wrap:wrap}
  .topbar nav{justify-content:flex-end}
  .brand{font-size:18px}
  .brand b{width:34px;height:34px}
  .hero{gap:24px;padding:38px 16px}
  .hero h1,.welcome h1,.auth-card h1{font-size:clamp(32px,11vw,44px);letter-spacing:-1.5px}
  .content,.dashboard,.admin-wrap{padding:22px 14px 72px}
  .panel,.pro-card,.stats article{padding:17px}
  .search-box{gap:10px;padding:12px}
  .search-box .button{width:100%}
  .section-title,.welcome,.panel-title{width:100%;align-items:stretch;flex-direction:column;gap:10px}
  .section-title h2,.panel h2{font-size:24px;line-height:1.2}
  .dashboard-grid,.admin-grid,.schedule-tools{gap:14px}
  .meta{align-items:flex-start;flex-direction:column;gap:5px}
  .auth-shell{padding:14px}
  .auth-card,.auth-card.wide{padding:21px 17px;border-radius:18px}
  .auth-card>.brand{margin-bottom:22px}
  .auth-links{align-items:flex-start;flex-direction:column;gap:10px}
  .actions,.inline,.social-share-actions{flex-wrap:wrap}
  .actions button,.inline button,.social-share-actions button{flex:1 1 130px;white-space:normal}
  .appointment>div:first-child{align-items:flex-start;flex-wrap:wrap;gap:8px}
  .appointment h3,.appointment p,.appointment small{overflow-wrap:anywhere}
  .color-options{grid-template-columns:1fr}
  dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:18px;overflow:auto}
  .environment-warning{align-items:flex-start;flex-direction:column;gap:2px;text-align:left}
  .environment-warning strong{white-space:normal}
  th,td{padding:10px 8px}
  .billing-total{min-width:0}
}
@media(max-width:420px){
  .topbar{align-items:center;padding:10px 14px}
  .topbar nav{width:100%;justify-content:space-between}
  .topbar nav a{font-size:14px}
  .topbar nav .button{flex:0 1 auto}
  .button{padding:10px 13px}
  .hero{gap:18px;padding:28px 20px 24px}
  .hero h1{font-size:clamp(34px,9.2vw,38px);line-height:1.04;letter-spacing:-1.2px}
  .hero p{margin:14px 0 0;font-size:16px;line-height:1.5}
  .hero-note{padding:20px;border-radius:18px}
  .hero-note ol{margin:10px 0 0;padding-left:24px}
  .hero-note li{margin:8px 0}
  .eyebrow{font-size:10px}
  .search-box{margin:0 14px 24px;padding:10px}
  .pwa-invite{margin:0 14px 28px;padding:14px}
  .content{padding-top:18px}
  .stats{grid-template-columns:1fr}
  .times{grid-template-columns:repeat(2,minmax(0,1fr))}
  .weekday-options{grid-template-columns:repeat(3,minmax(0,1fr))}
  .identity-logo{grid-template-columns:1fr}
  .identity-logo .avatar{width:72px;height:72px}
  .social-share-actions button{flex-basis:100%}
  .compact-log-row strong,.compact-log-row span{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
}

/* Arte pronta opcional para o card profissional. */
.card-art-settings{margin:16px 0}
.card-art-control{display:grid;grid-template-columns:minmax(160px,280px) minmax(0,1fr);align-items:center;gap:16px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.card-art-control label{display:grid;gap:7px;font-weight:800}
.card-art-control label small{color:var(--muted);font-weight:500}
.card-art-preview{display:grid;place-items:center;min-height:150px;max-height:300px;overflow:auto;border:2px dashed var(--line);border-radius:12px;background:var(--soft);color:var(--muted);text-align:center}
.card-art-preview img{display:block;width:100%;height:auto;max-height:290px;object-fit:contain}
.pro-card-art{padding:0}
.card-art-image{display:block;overflow:hidden;border-radius:17px 17px 0 0;background:#09070e}
.card-art-image img{display:block;width:100%;height:auto;object-fit:contain}
.card-art-footer{padding:18px 22px 22px}
.pro-card-art .ranking-badge{top:12px}
.pro-card-art .meta{margin:13px 0}
@media(max-width:600px){
  .card-art-control{grid-template-columns:1fr}
  .card-art-preview{max-height:360px}
  .card-art-preview img{max-height:350px}
  .card-art-footer{padding:16px 17px 18px}
}

/* Busca regional e geolocalização opcional. */
.search-box{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto}
.location-button{padding:11px 14px;border:1px solid var(--violet);border-radius:11px;background:var(--soft);color:var(--violet2);font-weight:850;cursor:pointer}
.location-button:hover,.location-button:focus-visible{background:var(--violet);color:#fff}
.search-message{grid-column:1/-1;color:var(--muted);font-size:12px}
.system-combobox{position:relative;min-width:0}.system-combobox input{padding-right:42px}.combobox-toggle{position:absolute;top:50%;right:7px;width:34px;height:34px;padding:0;transform:translateY(-50%);border:0;border-radius:8px;background:var(--soft);color:var(--violet);font-size:20px;font-weight:900;cursor:pointer}.combobox-options{position:absolute;top:calc(100% + 7px);left:0;z-index:80;width:100%;max-height:260px;padding:6px;overflow-y:auto;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 18px 50px #17132628}.combobox-options button{display:block;width:100%;padding:11px 12px;border:0;border-radius:8px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.combobox-options button:hover,.combobox-options button:focus{outline:0;background:var(--soft);color:var(--violet2)}.combobox-empty{display:block;padding:11px;color:var(--muted);font-size:13px}
.profile-location{align-self:end;margin:13px 0}
.profile-location .actions{margin:0}
.profile-location small{display:block;margin-top:7px;color:var(--muted)}
.territory-fields{grid-column:1/-1;margin:12px 0;padding:16px;border:1px solid var(--line);border-radius:14px}.territory-fields legend{padding:0 8px;font-weight:900}.territory-help{margin:0;color:var(--muted);font-size:12px}
.professional-territory-dialog{width:min(720px,calc(100vw - 24px));max-width:720px}.professional-territory-dialog h2{margin:5px 0}.professional-territory-dialog .form-grid{margin:0}.professionals-table td small{display:block;margin-top:4px;color:var(--muted)}.edit-professional{border-color:transparent!important;background:linear-gradient(135deg,var(--violet),var(--violet2))!important;color:#fff!important;font-weight:850;box-shadow:0 6px 16px #6d4aff25}.edit-professional:hover,.edit-professional:focus-visible{transform:translateY(-1px);box-shadow:0 9px 20px #6d4aff35}
.material-symbols-outlined{font-family:"Material Symbols Outlined";font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.icon-button{display:inline-grid!important;place-items:center!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:currentColor!important;box-shadow:none!important;cursor:pointer}.icon-button:hover,.icon-button:focus-visible{background:color-mix(in srgb,var(--violet) 12%,transparent)!important;color:var(--violet)!important;outline:none}.icon-button .material-symbols-outlined{pointer-events:none}.password-visibility.icon-button{right:5px;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important}.combobox-toggle.icon-button{right:5px;transform:translateY(-50%)}.theme-toggle.icon-button{background:var(--paper)!important}.dialog-close.icon-button,.image-editor-close.icon-button{float:none;font-size:inherit}
.system-select{position:relative;display:block;width:100%;min-width:0}.system-select-native{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.system-select-trigger{display:flex;width:100%;min-height:47px;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);text-align:left;cursor:pointer}.system-select-trigger:hover,.system-select-trigger:focus-visible,.system-select.open .system-select-trigger{border-color:var(--violet);box-shadow:0 0 0 3px #6d4aff18;outline:none}.system-select-trigger .material-symbols-outlined{flex:0 0 auto;color:var(--muted);transition:transform .18s,color .18s}.system-select.open .system-select-trigger .material-symbols-outlined{transform:rotate(180deg);color:var(--violet)}.system-select-options{position:absolute;z-index:300;top:calc(100% + 7px);left:0;width:100%;max-height:260px;padding:6px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 18px 50px #0005}.system-select-options[hidden]{display:none!important}.system-select-option{display:block;width:100%;padding:10px 11px;border:0;border-radius:8px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.system-select-option:hover,.system-select-option:focus-visible,.system-select-option[aria-selected=true]{background:var(--soft);color:var(--violet2);outline:none}.system-select-option:disabled{opacity:.45;cursor:not-allowed}.panel-title>.system-select{width:min(260px,45%);flex:0 1 260px}@media(max-width:600px){.panel-title>.system-select{width:100%;max-width:none;flex-basis:auto}}
.panel-title h1,.panel-title h2,.panel-title h3{min-width:max-content;overflow-wrap:normal;word-break:normal}
#statusFilter{width:min(260px,45%);flex:0 1 260px}
@media(max-width:800px){
  .search-box{grid-template-columns:1fr}
  .location-button{width:100%}
}
@media(max-width:600px){
  .panel-title h1,.panel-title h2,.panel-title h3{min-width:0}
  #statusFilter{width:100%;max-width:none;flex-basis:auto}
}
.backup-panel{margin-top:24px}.backup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.backup-action{padding:22px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--paper) 90%,var(--violet) 10%)}.backup-action h3,.backup-history h3{margin-top:0}.backup-action p{color:var(--muted);line-height:1.55}.backup-action label{display:grid;gap:8px;margin:14px 0}.backup-action input[type=file],.backup-action input[type=text],.backup-action input:not([type]){width:100%}.backup-action input[type=file]{min-height:54px;padding:7px;border:1px solid var(--line);border-radius:11px;background:var(--paper);color:var(--muted);cursor:pointer}.backup-action input[type=file]::file-selector-button{min-height:38px;margin-right:12px;padding:9px 15px;border:0;border-radius:9px;background:linear-gradient(135deg,var(--violet),var(--violet2));color:#fff;font-weight:850;cursor:pointer;box-shadow:0 6px 16px #6d4aff25}.backup-action input[type=file]::-webkit-file-upload-button{min-height:38px;margin-right:12px;padding:9px 15px;border:0;border-radius:9px;background:linear-gradient(135deg,var(--violet),var(--violet2));color:#fff;font-weight:850;cursor:pointer}.backup-restore .danger{display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin-top:4px;padding:11px 18px;border:1px solid color-mix(in srgb,var(--danger) 60%,transparent);border-radius:11px;background:color-mix(in srgb,var(--danger) 16%,var(--paper))!important;color:var(--danger);font-weight:850;cursor:pointer;transition:transform .18s,background .18s,box-shadow .18s}.backup-restore .danger:hover,.backup-restore .danger:focus-visible{background:var(--danger)!important;color:#fff;box-shadow:0 8px 20px color-mix(in srgb,var(--danger) 28%,transparent);transform:translateY(-1px);outline:none}.backup-history{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);overflow:hidden}.backup-history h3{font-size:17px}.backup-history .log-row{display:block;width:100%;padding:8px 0;font-size:12px}.backup-history .log-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:none}.backup-panel code{overflow-wrap:anywhere}@media(max-width:760px){.backup-grid{grid-template-columns:1fr}.backup-action{padding:18px}.backup-restore .danger{width:100%}.backup-history .log-row{font-size:11px}}
.system-dialog{width:min(92vw,500px);padding:26px;border:1px solid var(--line);border-radius:22px;background:var(--paper);color:var(--ink);box-shadow:0 28px 90px #0007}.system-dialog::backdrop{background:#090611b8;backdrop-filter:blur(3px)}.system-dialog-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:15px;border-radius:15px;background:var(--soft);color:var(--violet);font-size:24px;font-weight:900}.system-dialog-copy h2{margin:5px 0 8px;font-size:25px}.system-dialog-copy p{margin:0;color:var(--muted);line-height:1.6;white-space:pre-line}.system-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.system-dialog-actions button{min-height:44px;padding:10px 17px;border:1px solid var(--line);border-radius:11px;font-weight:850;cursor:pointer}.system-dialog-cancel{background:var(--soft);color:var(--ink)}.system-dialog-danger{border-color:color-mix(in srgb,var(--danger) 55%,transparent)!important;background:color-mix(in srgb,var(--danger) 16%,var(--paper));color:var(--danger)}.system-dialog-danger:hover{background:var(--danger);color:#fff}@media(max-width:520px){.system-dialog{padding:21px}.system-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.system-dialog-actions button{width:100%}}
.field-label{display:block;margin:13px 0 7px;font-size:12px;font-weight:800}.multi-calendar{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.multi-calendar-header{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;padding:9px;border-bottom:1px solid var(--line);background:var(--soft)}.multi-calendar-header strong{text-align:center;text-transform:capitalize}.multi-calendar-header button{height:36px;padding:0;border:0;border-radius:9px;background:var(--paper);color:var(--violet);font-size:27px;line-height:1;cursor:pointer}.multi-calendar-weekdays,.multi-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;padding:8px}.multi-calendar-weekdays{padding-bottom:2px;color:var(--muted);font-size:10px;font-weight:850;text-align:center}.multi-calendar-days{padding-top:4px}.multi-calendar-days button{aspect-ratio:1;min-width:0;padding:2px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);font-weight:750;cursor:pointer}.multi-calendar-days button:hover:not(:disabled){border-color:var(--violet);color:var(--violet)}.multi-calendar-days button.selected{border-color:var(--violet);background:linear-gradient(135deg,var(--violet),var(--violet2));color:#fff;box-shadow:0 5px 12px #6d4aff30}.multi-calendar-days button:disabled{opacity:.28;cursor:not-allowed;text-decoration:line-through}.calendar-empty{aspect-ratio:1}.selected-dates-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.selected-dates-list button{padding:7px 9px;border:1px solid color-mix(in srgb,var(--violet) 42%,var(--line));border-radius:999px;background:var(--soft);color:var(--ink);font-size:11px;font-weight:800;cursor:pointer}.selected-dates-list button span{margin-left:3px;color:var(--danger);font-size:15px}.selected-dates-list small{color:var(--muted)}.calendar-clear{margin-top:10px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--muted);font-size:12px;font-weight:750;cursor:pointer}.calendar-clear:hover{border-color:var(--danger);color:var(--danger)}@media(max-width:420px){.multi-calendar-weekdays,.multi-calendar-days{gap:3px;padding-left:5px;padding-right:5px}.multi-calendar-days button{border-radius:7px;font-size:12px}}
.agenda-welcome{display:grid;grid-template-columns:1fr;align-items:start;justify-items:start;gap:18px}.agenda-welcome>div:first-child{min-width:0}.agenda-welcome>div:first-child p{max-width:760px;margin-bottom:0}.agenda-calendar{width:min(100%,520px);padding:12px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow)}.agenda-calendar-header{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;margin-bottom:7px}.agenda-calendar-header strong{text-align:center;text-transform:capitalize}.agenda-calendar-header button{height:34px;padding:0;border:0;border-radius:9px;background:var(--soft);color:var(--violet);font-size:24px;line-height:1;cursor:pointer}.agenda-calendar-weekdays,.agenda-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.agenda-calendar-weekdays{margin-bottom:3px;color:var(--muted);font-size:9px;font-weight:900;text-align:center}.agenda-calendar-days button{position:relative;display:grid;place-items:center;height:36px;min-width:0;padding:1px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);font-size:12px;font-weight:800;cursor:pointer}.agenda-calendar-days button:hover{border-color:var(--violet);background:var(--soft)}.agenda-calendar-days button.today{border-color:var(--line)}.agenda-calendar-days button.selected{background:linear-gradient(135deg,var(--violet),var(--violet2));color:#fff;box-shadow:0 5px 12px #6d4aff30}.agenda-calendar-days button.has-slots:not(.selected){background:color-mix(in srgb,var(--violet) 13%,var(--paper));color:var(--violet)}.agenda-calendar-days button small{position:absolute;right:2px;bottom:1px;display:grid;place-items:center;min-width:13px;height:13px;border-radius:99px;background:var(--violet);color:#fff;font-size:7px}.agenda-calendar-help{display:flex;align-items:center;gap:6px;margin-top:8px;color:var(--muted);font-size:11px}.agenda-calendar-help i{width:8px;height:8px;border-radius:50%;background:var(--violet)}.dashboard-grid.availability-modal-enabled{grid-template-columns:1fr}.availability-dialog{width:min(94vw,720px);max-height:90vh;overflow:auto;padding:0;background:var(--paper);color:var(--ink)}.availability-dialog .availability-modal-panel{padding:26px;border:0;border-radius:22px;background:transparent;box-shadow:none}.availability-dialog .dialog-close{position:sticky;top:0;z-index:2;margin-top:-5px}.availability-dialog .times{grid-template-columns:repeat(6,1fr)}@media(max-width:800px){.agenda-welcome{gap:16px}.agenda-calendar{width:min(100%,480px)}.availability-dialog .times{grid-template-columns:repeat(4,1fr)}}@media(max-width:430px){.agenda-calendar{width:100%;padding:9px;border-radius:15px}.agenda-calendar-header{grid-template-columns:34px 1fr 34px}.agenda-calendar-header button{height:32px}.agenda-calendar-weekdays,.agenda-calendar-days{gap:2px}.agenda-calendar-days button{height:34px;border-radius:7px;font-size:11px}.agenda-calendar-help{font-size:10px}.availability-dialog .times{grid-template-columns:repeat(3,1fr)}}
.agenda-welcome{grid-template-columns:minmax(340px,520px) minmax(0,1fr);align-items:start;justify-items:stretch;gap:20px}.agenda-welcome>div:first-child{grid-column:1/-1}.agenda-calendar{width:100%;padding:0;overflow:hidden;border-radius:15px;box-shadow:none}.agenda-calendar .agenda-calendar-header{grid-template-columns:42px 1fr 42px;margin:0;padding:9px;border-bottom:1px solid var(--line);background:var(--soft)}.agenda-calendar .agenda-calendar-header button{height:36px;border-radius:9px;background:var(--paper);font-size:27px}.agenda-calendar .agenda-calendar-weekdays{gap:5px;margin:0;padding:8px 8px 2px;font-size:10px}.agenda-calendar .agenda-calendar-days{gap:5px;padding:4px 8px 8px}.agenda-calendar .agenda-calendar-days button{height:auto;aspect-ratio:1;padding:2px;border-color:var(--line);border-radius:9px;background:var(--paper);font-size:inherit}.agenda-calendar .agenda-calendar-days button.has-slots:not(.selected){background:color-mix(in srgb,var(--violet) 13%,var(--paper));border-color:color-mix(in srgb,var(--violet) 45%,var(--line))}.agenda-calendar-help{margin:0;padding:2px 12px 10px}.agenda-side-column{display:grid;align-content:start;gap:20px;min-width:0}.agenda-appointments,.agenda-side-column>.panel{width:100%;height:auto;min-height:0;margin:0!important;align-self:start}.dashboard-grid.availability-modal-enabled{display:none}@media(max-width:800px){.agenda-welcome{grid-template-columns:1fr;gap:16px}.agenda-welcome>div:first-child{grid-column:1}.agenda-calendar{width:100%;max-width:520px}.agenda-side-column{width:100%;gap:16px}.agenda-appointments{max-width:none}}@media(max-width:430px){.agenda-calendar .agenda-calendar-weekdays,.agenda-calendar .agenda-calendar-days{gap:3px;padding-left:5px;padding-right:5px}.agenda-calendar .agenda-calendar-days button{border-radius:7px;font-size:12px}}
.availability-dialog{position:relative;width:min(720px,calc(100vw - 24px));max-width:720px;overflow-x:hidden!important}.availability-dialog .availability-modal-panel{width:100%;max-width:100%;min-width:0;overflow:hidden;padding:28px}.availability-dialog .dialog-close{position:absolute;top:14px;right:16px;z-index:3;float:none;width:40px;height:40px;margin:0;padding:0;border-radius:50%;background:var(--soft);color:var(--ink)}.availability-dialog .availability-modal-panel h2{max-width:calc(100% - 52px);margin-top:0}.availability-dialog .times{width:100%;min-width:0;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.availability-dialog .times label,.availability-dialog .times span{width:100%;min-width:0}.availability-dialog .times span{padding:10px 4px}@media(max-width:620px){.availability-dialog .availability-modal-panel{padding:22px 18px}.availability-dialog .times{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:390px){.availability-dialog .times{grid-template-columns:repeat(3,minmax(0,1fr))}}
#saveSpecial,#removeSpecial{display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin:0;padding:11px 18px;border:1px solid transparent;border-radius:11px;font-weight:850;line-height:1.2;cursor:pointer;box-sizing:border-box}#saveSpecial{background:linear-gradient(135deg,var(--violet),var(--violet2));color:#fff;box-shadow:0 8px 20px #6d4aff25}#removeSpecial{border-color:color-mix(in srgb,var(--danger) 55%,transparent);background:color-mix(in srgb,var(--danger) 16%,var(--paper))!important;color:var(--danger)}#removeSpecial:hover,#removeSpecial:focus-visible{background:var(--danger)!important;color:#fff}.schedule-tools #saveSpecial.button{margin-top:0}@media(max-width:420px){#saveSpecial,#removeSpecial{flex:1;padding:10px 12px}}
.schedule-tools>.panel:first-child{grid-column:1;grid-row:1}.schedule-tools>.profile-settings-panel{grid-column:2;grid-row:1}.schedule-tools>.card-identity-panel{grid-column:1/-1;grid-row:2}@media(max-width:800px){.schedule-tools>.panel:first-child,.schedule-tools>.profile-settings-panel,.schedule-tools>.card-identity-panel{grid-column:1;grid-row:auto}}
.agenda-welcome{display:block;margin-bottom:20px}.agenda-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;margin-bottom:20px}.agenda-column{display:grid;align-content:start;gap:20px;min-width:0}.agenda-board .panel,.agenda-board .agenda-calendar{width:100%;height:auto;min-width:0;margin:0!important;align-self:start}.agenda-board label{display:grid;gap:6px;margin:13px 0;font-size:12px;font-weight:800}.agenda-board .agenda-order-repeat>.button{margin-top:14px}.agenda-identity{width:100%;margin:0 0 20px!important}.schedule-tools:empty{display:none}@media(max-width:800px){.agenda-board{display:flex;flex-direction:column;gap:16px}.agenda-column{display:contents}.agenda-order-calendar{order:1}.agenda-order-appointments{order:2}.agenda-order-special{order:3}.agenda-order-repeat{order:4}.agenda-order-profile{order:5}.agenda-board .agenda-calendar,.agenda-board .panel{width:100%;max-width:none}.agenda-identity{margin-top:0!important}}
.site-footer{margin-top:36px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--paper) 92%,var(--violet) 8%);color:var(--ink)}.site-footer-main{display:grid;grid-template-columns:minmax(190px,.65fr) repeat(2,minmax(220px,1fr));gap:34px;max-width:1180px;margin:auto;padding:34px 24px 26px}.footer-brand{display:flex;align-items:center;align-self:start;gap:11px;color:var(--ink);font-size:20px;font-weight:900}.footer-brand b{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--violet),var(--violet2));color:#fff;box-shadow:0 8px 20px #6d4aff35}.site-footer strong{display:block;margin-bottom:7px;font-size:13px}.site-footer p{max-width:440px;margin:0;color:var(--muted);font-size:13px;line-height:1.65}.site-footer-bottom{display:flex;justify-content:space-between;gap:20px;max-width:1180px;margin:auto;padding:17px 24px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.auth-shell+.site-footer{margin-top:0}@media(max-width:760px){.site-footer{margin-top:24px}.site-footer-main{grid-template-columns:1fr;gap:22px;padding:28px 20px 22px}.site-footer-bottom{flex-direction:column;gap:6px;padding:15px 20px}.site-footer p{max-width:none}}
