:root{--bg:#fbfcfb;--surface:#fff;--surface-soft:#f2f7f2;--ink:#17211d;--muted:#66736d;--line:#d9e2dd;--line-strong:#b8c8c0;--green:#1f6f4a;--green-dark:#155438;--gold:#b88a2d;--danger:#a33b31;--shadow:0 18px 50px #17211d14;--radius:8px;--max:1120px}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);max-width:100dvw;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}body{background:linear-gradient(180deg, #f2f7f2e0, #fbfcfb00 280px), var(--bg);max-width:100dvw;min-height:100dvh;margin:0;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.public-shell{max-width:100dvw;min-height:100dvh;overflow-x:hidden}.public-header{max-width:var(--max);justify-content:space-between;align-items:center;margin:0 auto;padding:22px 20px 10px;display:flex}.brand{letter-spacing:0;align-items:center;gap:10px;font-size:18px;font-weight:760;display:inline-flex}.brand-mark{background:var(--green);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.public-nav{align-items:center;gap:12px;display:flex}.public-nav a{color:var(--muted);border-bottom:1px solid #0000;padding:8px 0;font-size:14px;font-weight:650}.public-nav a:hover,.public-nav a:focus-visible{border-color:var(--green);color:var(--green-dark)}.page-wrap{max-width:var(--max);margin:0 auto;padding:26px 20px 56px}.page-title{max-width:700px}.page-title h1{letter-spacing:0;margin:0;font-size:clamp(34px,6vw,58px);line-height:1.02}.page-title p{color:var(--muted);max-width:620px;margin:16px 0 0;font-size:18px;line-height:1.55}.workspace{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:22px;margin-top:30px;display:grid}.flow-panel,.side-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.flow-panel{padding:22px}.side-panel{align-self:start;padding:20px}.section-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.section-heading h2{margin:0;font-size:22px;line-height:1.15}.section-heading p,.helper-text{color:var(--muted);margin:6px 0 0;font-size:14px;line-height:1.45}.day-rail{scroll-snap-type:x proximity;gap:10px;margin:18px -2px 14px;padding:2px 2px 10px;display:flex;overflow-x:auto}.day-button{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);scroll-snap-align:start;text-align:left;background:#fff;flex:0 0 92px;min-height:76px;padding:10px 8px}.day-button strong,.calendar-day strong{margin-top:4px;font-size:24px;line-height:1;display:block}.day-button span,.calendar-day span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:700;display:block}.day-button[aria-pressed=true],.calendar-day[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}.day-button[aria-pressed=true] span,.calendar-day[aria-pressed=true] span{color:#ffffffd1}.day-button:disabled,.calendar-day:disabled{color:#9aa59f;cursor:not-allowed;background:#f5f7f5}.mini-calendar{border:1px solid var(--line);border-radius:var(--radius);margin:4px 0 18px;padding:12px}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.calendar-header h3{margin:0;font-size:15px}.calendar-grid{grid-template-columns:repeat(7,minmax(34px,1fr));gap:6px;display:grid}.calendar-weekday{color:var(--muted);text-align:center;padding:4px 0;font-size:11px;font-weight:800}.calendar-day{border:1px solid var(--line);background:#fff;border-radius:6px;min-height:48px;padding:6px 4px}.calendar-day strong{text-align:center;margin-top:0;font-size:16px}.time-grid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px;margin-top:14px;display:grid}.time-button{border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--green-dark);background:#fff;min-height:58px;padding:12px;font-size:18px;font-weight:760}.time-button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}.time-button:disabled{border-color:var(--line);color:#98a39d;cursor:not-allowed;background:#f3f5f3;font-size:14px;font-weight:650}.form-grid{gap:14px;margin-top:18px;display:grid}.field label{color:var(--ink);margin-bottom:6px;font-size:14px;font-weight:760;display:block}.field input{border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--ink);background:#fff;width:100%;min-height:54px;padding:0 14px;font-size:17px}.field input:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #1f6f4a24}.primary-button,.secondary-button,.quiet-button{border-radius:var(--radius);justify-content:center;align-items:center;min-height:54px;padding:0 18px;font-weight:780;display:inline-flex}.primary-button{background:var(--green);border:1px solid var(--green);color:#fff;width:100%}.primary-button:hover,.primary-button:focus-visible{background:var(--green-dark)}.primary-button:disabled{cursor:wait;background:#9cb8aa;border-color:#9cb8aa}.secondary-button{border:1px solid var(--line-strong);color:var(--green-dark);background:#fff}.quiet-button{color:var(--green-dark);background:0 0;border:1px solid #0000}.status-box{border-radius:var(--radius);margin-top:14px;padding:12px 14px;font-size:15px;line-height:1.45}.status-box.error{color:var(--danger);background:#fff2ef;border:1px solid #edc7c0}.status-box.ok{background:var(--surface-soft);color:var(--green-dark);border:1px solid #cfe1d5}.status-box.warning{color:#75551d;background:#fff8e8;border:1px solid #efd8a5}.back-action{margin-top:14px}.back-arrow-button{min-width:44px;padding:0 12px}.code-box{background:var(--surface-soft);border-radius:var(--radius);border:1px solid #cfe1d5;margin:16px 0;padding:16px}.code-value{color:var(--green-dark);letter-spacing:0;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(22px,7vw,34px);font-weight:800;line-height:1.15;display:block}.appointment-summary{border-top:1px solid var(--line);gap:10px;margin-top:18px;padding-top:16px;display:grid}.summary-row{justify-content:space-between;gap:16px;display:flex}.summary-row span{color:var(--muted)}.summary-row strong{text-align:right}.link-list{gap:10px;margin-top:18px;display:grid}.link-list a{border:1px solid var(--line);border-radius:var(--radius);color:var(--green-dark);justify-content:space-between;align-items:center;min-height:48px;padding:0 14px;font-weight:740;display:flex}.simple-page{grid-template-columns:minmax(0,.9fr) minmax(320px,.7fr);gap:22px;margin-top:30px;display:grid}.receipt{border:1px dashed var(--line-strong);border-radius:var(--radius);background:#fff;padding:18px}.print-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.login-wrap{grid-template-columns:minmax(0,1fr) minmax(320px,420px);place-items:center stretch;gap:28px;min-height:calc(100vh - 90px);display:grid}.login-panel{width:100%}.manager-shell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.manager-sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;gap:22px;padding:22px;display:flex}.manager-brand{min-height:42px}.manager-nav{gap:8px;display:grid}.manager-nav a{border-radius:var(--radius);color:var(--muted);border:1px solid #0000;align-items:center;min-height:46px;padding:0 12px;font-size:15px;font-weight:760;display:flex}.manager-nav a:hover,.manager-nav a:focus-visible{background:var(--surface-soft);border-color:var(--line);color:var(--green-dark)}.manager-main{min-width:0}.manager-topbar{border-bottom:1px solid var(--line);background:#fbfcfbeb;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:14px 24px;display:flex}.manager-topbar strong,.manager-topbar span{display:block}.manager-topbar span{color:var(--muted);margin-top:2px;font-size:13px;font-weight:700}.manager-logout{border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--green-dark);background:#fff;min-width:92px;min-height:42px;padding:0 14px;font-size:14px;font-weight:780}.manager-content{max-width:1040px;margin:0 auto;padding:32px 24px 56px}.manager-title h1{margin:0;font-size:clamp(32px,5vw,48px);line-height:1.04}.manager-title p{color:var(--muted);max-width:660px;margin:12px 0 0;font-size:17px;line-height:1.5}.manager-eyebrow{letter-spacing:0;text-transform:uppercase;font-weight:820;color:var(--green-dark)!important;margin:0 0 8px!important;font-size:13px!important}.manager-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:26px;display:grid}.manager-card,.manager-empty{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:18px}.manager-card{gap:8px;min-height:118px;display:grid}.manager-card strong,.manager-empty strong{font-size:18px}.manager-card span,.manager-empty p{color:var(--muted);margin:0;font-size:14px;line-height:1.45}.manager-empty{max-width:620px;margin-top:24px}.manager-back{margin-top:22px}.agenda-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.agenda-date-controls{grid-template-columns:repeat(3,auto) minmax(260px,1fr);align-items:end;gap:10px;margin-top:22px;display:grid}.agenda-date-form{grid-template-columns:minmax(150px,1fr) auto;align-items:end;gap:10px;display:grid}.agenda-date-form label{color:var(--muted);text-transform:uppercase;grid-column:1/-1;font-size:12px;font-weight:820}.agenda-date-form input{border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--ink);font:inherit;background:#fff;width:100%;min-height:44px;padding:0 12px}.agenda-summary-item,.agenda-item{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff}.agenda-summary-item{padding:16px}.agenda-summary-item span,.agenda-meta dt{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:760;display:block}.agenda-summary-item strong{margin-top:6px;font-size:26px;line-height:1.1;display:block}.agenda-list{gap:12px;margin-top:22px;display:grid}.agenda-item{grid-template-columns:104px minmax(0,1fr);gap:14px;padding:16px;display:grid}.agenda-time{background:var(--surface-soft);border-radius:var(--radius);color:var(--green-dark);border:1px solid #cfe1d5;flex-direction:column;justify-content:center;align-items:center;min-height:86px;padding:10px;display:flex}.agenda-time strong{font-size:24px;line-height:1.1}.agenda-time span{color:var(--muted);margin-top:4px;font-size:13px;font-weight:760}.agenda-main-info{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.agenda-main-info h2{margin:0;font-size:20px;line-height:1.2}.agenda-main-info p{color:var(--muted);margin:5px 0 0;font-size:14px}.agenda-meta{grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.agenda-meta dd{overflow-wrap:anywhere;margin:4px 0 0;font-size:15px;font-weight:720}.status-pill{border-radius:999px;flex:none;padding:7px 10px;font-size:12px;font-weight:820}.status-agendado,.status-pendente_confirmacao{background:var(--surface-soft);color:var(--green-dark)}.status-realizado{color:#23623e;background:#eef8f1}.status-ausente,.status-cancelado{color:var(--danger);background:#fff2ef}.agenda-actions{flex-wrap:wrap;grid-column:2;align-items:center;gap:10px;display:flex}.agenda-edit-form{grid-column:1/-1;grid-template-columns:minmax(220px,1fr) auto auto;align-items:end;gap:10px;width:100%;display:grid}.agenda-edit-form label{color:var(--muted);text-transform:uppercase;grid-column:1/-1;font-size:12px;font-weight:820}.agenda-edit-form input{border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--ink);font:inherit;background:#fff;width:100%;min-height:44px;padding:0 12px}.compact-button{min-width:128px;min-height:44px}.quiet-danger-button{border-radius:var(--radius);color:var(--danger);background:#fff;border:1px solid #edc7c0;justify-content:center;align-items:center;min-height:44px;padding:0 18px;font-weight:780;display:inline-flex}.agenda-action-error{color:var(--danger);font-size:13px;font-weight:700}.operation-panel{max-width:none}.manager-form-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.manager-form-actions{flex-wrap:wrap;grid-column:1/-1;gap:10px;display:flex}.manager-form-actions .primary-button{width:auto}.field select,.manager-inline-form input,.manager-inline-form select{border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--ink);font:inherit;background:#fff;width:100%;min-height:44px;padding:0 12px}.manager-list{gap:12px;margin-top:18px;display:grid}.manager-list-item{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:14px}.manager-inline-form,.manager-row{grid-template-columns:minmax(220px,1.2fr) repeat(4,minmax(110px,.8fr));align-items:end;gap:10px;display:grid}.manager-row{grid-template-columns:minmax(220px,1fr) auto auto;align-items:center}.manager-list-item strong,.manager-list-item span,.manager-list-item small{display:block}.manager-list-item span,.manager-list-item small{color:var(--muted);margin-top:3px;font-size:13px;line-height:1.35}.check-row{color:var(--ink);align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:760;display:inline-flex}.check-row input{width:18px;height:18px}.qr-panel{grid-template-columns:180px minmax(0,1fr);align-items:center;gap:18px;display:grid}.qr-box{aspect-ratio:1;background:linear-gradient(90deg, var(--ink) 12px, transparent 12px) 0 0 / 28px 28px, linear-gradient(var(--ink) 12px, transparent 12px) 0 0 / 28px 28px, #fff;box-shadow:inset 0 0 0 1px var(--line-strong), var(--shadow);color:#fff;border:12px solid #fff;justify-content:center;align-items:center;display:flex}.qr-box span{background:var(--green);border-radius:var(--radius);padding:8px 10px;font-weight:820}.qr-details{gap:10px;display:grid}.qr-details strong,.qr-details span{display:block}.qr-details span{color:var(--muted);overflow-wrap:anywhere}@media (max-width:820px){.public-header{align-items:flex-start;gap:14px;padding-top:16px}.public-nav{flex-wrap:wrap;justify-content:flex-end}.workspace,.simple-page{grid-template-columns:1fr}.flow-panel,.side-panel{padding:16px}.page-wrap{padding-inline:14px}.calendar-grid{gap:4px}.login-wrap,.manager-shell{grid-template-columns:1fr}.login-wrap{place-items:stretch stretch}.manager-sidebar{border-bottom:1px solid var(--line);border-right:0;gap:14px;padding:16px 14px}.manager-nav{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.manager-nav a{white-space:nowrap;flex:none;min-height:44px}.manager-topbar{align-items:flex-start;padding:14px}.manager-content{padding:24px 14px 44px}.agenda-summary-grid,.agenda-date-controls,.agenda-date-form,.agenda-item,.agenda-meta{grid-template-columns:1fr}.agenda-item{gap:12px}.agenda-time,.agenda-meta,.agenda-actions{grid-column:auto}.agenda-time{align-items:flex-start;min-height:72px}.agenda-main-info{display:grid}.agenda-actions{grid-template-columns:1fr;display:grid}.agenda-edit-form{grid-template-columns:1fr}.compact-button,.quiet-danger-button,.manager-form-actions .primary-button,.manager-form-actions .secondary-button{width:100%}.manager-form-grid,.manager-inline-form,.manager-row,.qr-panel{grid-template-columns:1fr}.manager-inline-form,.manager-row{align-items:stretch}.qr-box{width:100%;max-width:220px}}@media (min-width:641px) and (max-width:1024px){.public-header{max-width:760px;padding:18px 18px 8px}.page-wrap{max-width:760px;padding:22px 18px 48px}.page-title{max-width:620px}.page-title h1{font-size:clamp(30px,5dvw,42px)}.page-title p{margin-top:10px;font-size:16px}.workspace,.simple-page{grid-template-columns:1fr;gap:16px;margin-top:20px}.flow-panel,.side-panel{padding:18px}.day-button{flex-basis:82px;min-height:70px;padding:9px 8px}.day-button strong{font-size:22px}.time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.time-button{min-height:48px;padding:9px;font-size:16px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .field:first-child,.form-grid .primary-button,.form-grid .status-box{grid-column:1/-1}}@media (max-width:640px){body{background:var(--bg)}.public-shell{width:100dvw}.public-header{flex-direction:column;align-items:stretch;gap:10px;width:100dvw;max-width:none;padding:12px 12px 8px}.brand{gap:8px;font-size:16px}.brand-mark{border-radius:7px;width:30px;height:30px}.brand-mark svg{width:16px;height:16px}.public-nav{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffc7;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:100%;display:grid;overflow:hidden}.public-nav a{text-align:center;border-bottom:0;justify-content:center;align-items:center;min-height:34px;padding:0 4px;font-size:11px;display:inline-flex}.public-nav a+a{border-left:1px solid var(--line)}.page-wrap{width:100dvw;max-width:none;min-height:calc(100dvh - 86px);padding:12px 12px 28px}.page-title h1{font-size:clamp(24px,8dvw,32px);line-height:1.08}.page-title p{margin-top:8px;font-size:13px;line-height:1.42}.workspace,.simple-page{grid-template-columns:minmax(0,1fr);gap:12px;width:100%;margin-top:14px}.flow-panel,.side-panel,.receipt{box-shadow:none;border-radius:7px}.flow-panel,.side-panel{padding:12px}.section-heading{margin-bottom:10px}.section-heading h2{font-size:17px;line-height:1.2}.section-heading p,.helper-text{font-size:12px}.day-rail{gap:8px;width:100dvw;max-width:100dvw;margin:10px -12px 12px;padding:2px 12px 8px}.day-button{border-radius:7px;flex-basis:68px;min-height:66px;padding:7px}.day-button span,.calendar-day span{font-size:9px}.day-button strong{margin-top:3px;font-size:20px}.mini-calendar{margin:2px 0 14px;padding:8px}.calendar-header{margin-bottom:6px}.calendar-header h3{font-size:12px}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.calendar-weekday{padding:2px 0;font-size:9px}.calendar-day{border-radius:5px;min-height:31px;padding:2px}.calendar-day strong{font-size:11px}.time-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.time-button{border-radius:6px;min-height:38px;padding:6px;font-size:13px}.time-button:disabled{font-size:11px}.form-grid{gap:10px;margin-top:14px}.field label{margin-bottom:4px;font-size:12px}.field input{border-radius:7px;min-height:42px;padding:0 11px;font-size:14px}.primary-button,.secondary-button,.quiet-button{border-radius:7px;min-height:44px;padding:0 14px;font-size:14px}.status-box{margin-top:10px;padding:10px 11px;font-size:13px}.side-panel{padding-top:10px}.appointment-summary{gap:8px;margin-top:10px;padding-top:10px}.summary-row{gap:10px;font-size:13px}.summary-row strong{max-width:58dvw}.link-list{gap:8px;margin-top:12px}.link-list a{min-height:40px;padding:0 11px;font-size:13px}}@media (max-width:380px){.public-nav a{font-size:10px}.page-title h1{font-size:23px}.day-button{flex-basis:62px}.time-button{font-size:12px}}@media print{.public-header,.public-nav,.print-actions,.link-list{display:none}body{background:#fff}.page-wrap,.simple-page,.workspace{padding:0;display:block}.flow-panel,.side-panel,.receipt{box-shadow:none;border:0}}
