:root{--plum:#6f334d;--gold:#b99a68;--paper:#fbfaf7;--cream:#f4eee5;--ink:#2d2430;--muted:#766c73;--line:#e5ddd3;--green:#376146;--red:#9d4545;--orange:#9b6a27}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Inter,system-ui,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.center{place-items:center;height:100vh;display:grid}.centerCard{border:1px solid var(--line);background:#fff;width:min(460px,90%);margin:15vh auto;padding:40px}.login{grid-template-columns:1.2fr .8fr;min-height:100vh;display:grid}.login>section{background:var(--plum);color:#fff;flex-direction:column;justify-content:center;padding:9vw;display:flex}.login h1{margin:12px 0;font:80px Georgia,serif}.login h1 span,.brand span,.logo span{color:var(--gold)}.login>section p{color:#e8dce0;max-width:560px;font:24px Georgia,serif}.kicker{letter-spacing:.2em;font-size:10px}.login form{background:var(--cream);flex-direction:column;justify-content:center;padding:9vw;display:flex}.brand{letter-spacing:.12em;margin-bottom:70px;font-weight:800}.login form h2{font:40px Georgia,serif}.login input,.accessForm input,.accessForm select{border:1px solid var(--line);background:#fff;margin:6px 0;padding:13px}.primary,.ghost,.icon,.dangerGhost,.smallPrimary{border:0;justify-content:center;align-items:center;gap:7px;padding:12px 16px;display:inline-flex}.primary,.smallPrimary{background:var(--plum);color:#fff}.smallPrimary{padding:9px 12px;font-size:11px}.ghost{border:1px solid var(--line);background:#fff}.dangerGhost{color:var(--red);background:#fff;border:1px solid #e3caca}.icon{background:0 0;padding:7px}.linkBtn{color:var(--plum);background:0 0;border:0;padding:14px}.msg{background:#fff;padding:10px;font-size:12px}.shell{grid-template-columns:230px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--plum);color:#fff;flex-direction:column;height:100vh;padding:28px 20px;display:flex;position:sticky;top:0}.logo{letter-spacing:.08em;font-weight:800}.logo small{color:#d8c7cd;margin-top:5px;font-weight:400;display:block}.sidebar nav{gap:6px;margin-top:46px;display:grid}.nav{color:#ddcfd4;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:12px;display:flex}.nav.active{color:#fff;border-left:2px solid var(--gold);background:#ffffff14}.userBox{border-top:1px solid #ffffff26;margin-top:auto;padding-top:18px}.userBox b,.userBox span{display:block}.userBox span{color:#d7c8cd;margin:3px 0 12px;font-size:11px}.userBox button{color:#fff;background:0 0;border:0;gap:7px;padding:0;display:flex}.main{min-width:0;padding:42px 4vw 80px}.header{justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px;display:flex}.header>div>span,.sectionTitle span,.drawerHead span,.modalHead span{letter-spacing:.18em;color:var(--gold);font-size:10px;font-weight:800}.header h1{margin:6px 0 0;font:46px Georgia,serif}.actions{align-items:center;gap:8px;display:flex}.stats{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:36px;display:grid}.stat{border:1px solid var(--line);background:#fff;padding:22px}.stat b{font:32px Georgia,serif;display:block}.stat span{color:var(--muted);font-size:11px}.twoCol{grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);gap:24px;display:grid}.sectionTitle h2{margin:5px 0 16px;font:30px Georgia,serif}.cards{grid-template-columns:1fr 1fr;gap:10px;display:grid}.patientCard{border:1px solid var(--line);text-align:left;background:#fff;padding:20px}.patientCard>div{justify-content:space-between;display:flex}.patientCard h3{margin:24px 0 4px;font:23px Georgia,serif}.patientCard p{color:var(--muted);font-size:11px}.patientCard i{background:#eee7df;height:2px;margin-top:22px;display:block}.patientCard em{background:var(--plum);height:100%;display:block}.pill{border:1px solid var(--line);padding:5px 7px;font-size:10px;display:inline-block}.pill.ativo,.pill.concluido{color:var(--green);border-color:#b9d0bf}.pill.implantacao{color:var(--orange)}.pill.cancelado,.pill.faltou{color:var(--red)}.next{border-bottom:1px solid var(--line);padding:12px 0}.next b,.next span,.next small{display:block}.next b{color:var(--plum);font-size:10px}.next span{margin:4px 0;font-size:13px}.next small{color:var(--muted);font-size:10px}.search{border:1px solid var(--line);background:#fff;align-items:center;gap:8px;padding:0 10px;display:flex}.search input{border:0;outline:0;padding:11px}.table{border:1px solid var(--line);background:#fff}.table>button{border:0;border-bottom:1px solid var(--line);text-align:left;background:#fff;grid-template-columns:110px 1fr 120px 60px;align-items:center;gap:15px;width:100%;padding:16px 18px;display:grid}.table>button div b,.table>button div span{display:block}.table>button div b{font:19px Georgia,serif}.table>button div span{color:var(--muted);font-size:10px}.patientMeta{color:var(--muted);gap:18px;margin-top:-15px;margin-bottom:24px;font-size:11px;display:flex}.programBanner{background:var(--plum);color:#fff;justify-content:space-between;align-items:center;margin-bottom:22px;padding:25px 28px;display:flex}.programBanner h2{margin:10px 0 2px;font:32px Georgia,serif}.programBanner p{color:#e4d7db;font-size:11px}.bannerProgress{text-align:right}.bannerProgress strong{font:42px Georgia,serif;display:block}.bannerProgress span{color:#e5d6dc;font-size:10px}.chips{flex-wrap:wrap;gap:7px;margin-bottom:20px;display:flex}.chips span{border:1px solid var(--line);background:#fff;padding:8px 10px;font-size:11px}.pre{white-space:pre-line;font-size:13px;line-height:1.5}.appt{border-bottom:1px solid var(--line);grid-template-columns:160px 1fr 1.2fr 90px;align-items:center;gap:12px;padding:12px 0;display:grid}.appt b,.appt span,.appt small{font-size:11px}.appt small{color:var(--muted)}.doc{border:0;border-bottom:1px solid var(--line);text-align:left;background:#fff;align-items:center;gap:10px;width:100%;padding:13px;display:flex}.doc b,.doc span{display:block}.doc b{font-size:12px}.doc span{color:var(--muted);margin-top:3px;font-size:9px}.empty{color:var(--muted);padding:20px;font-size:11px}.detail aside{border-left:1px solid var(--line);padding-left:20px}.agendaActions{align-items:center;gap:8px;display:flex}.agendaActions>select{border:1px solid var(--line);background:#fff;height:40px;padding:0 10px}.weekNav{border:1px solid var(--line);background:#fff;align-items:center;height:40px;display:flex}.weekNav button{background:#fff;border:0;height:100%;padding:0 10px}.weekNav b{padding:0 8px;font-size:11px}.agendaMeta{color:var(--muted);justify-content:space-between;margin-bottom:10px;font-size:10px;display:flex}.agendaScroll{border:1px solid var(--line);background:#fff;overflow:auto}.weekGrid{grid-template-rows:56px repeat(31,28px);grid-template-columns:58px repeat(5,minmax(190px,1fr));min-width:1040px;display:grid;position:relative}.cornerCell,.dayHeader,.timeCell,.gridCell{border-bottom:1px solid #eee8e1;border-right:1px solid #eee8e1}.cornerCell{background:#faf8f4;grid-area:1/1}.dayHeader{z-index:3;background:#faf8f4;justify-content:space-between;align-items:center;padding:11px;display:flex;position:sticky;top:0}.dayHeader b{font:17px Georgia,serif}.dayHeader span{color:var(--muted);font-size:9px}.timeCell{text-align:right;color:#9b9296;padding:3px 6px;font-size:9px}.agendaEvent{z-index:2;border:0;border-left:3px solid var(--plum);text-align:left;background:#f1e5ea;min-height:44px;margin:2px 4px;padding:6px 8px;overflow:hidden}.agendaEvent b,.agendaEvent span,.agendaEvent small,.agendaEvent em{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.agendaEvent b{font-size:10px}.agendaEvent span{margin-top:2px;font-size:9px}.agendaEvent small,.agendaEvent em{color:var(--muted);font-size:8px;font-style:normal}.agendaEvent.concluido{border-color:var(--green);background:#eaf2eb}.proGrid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.pro{border:1px solid var(--line);background:#fff;padding:20px}.proTop{grid-template-columns:48px 1fr auto;align-items:center;gap:12px;display:grid}.avatar{background:var(--plum);color:#fff;place-items:center;width:48px;height:48px;font:18px Georgia,serif;display:grid}.avatar.mini{width:36px;height:36px;font-size:13px}.pro h3{margin:0 0 3px;font:23px Georgia,serif}.pro p{color:var(--muted);margin:0;font-size:10px}.availability{border-top:1px solid var(--line);margin-top:18px}.availability>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:9px 0;display:flex}.availability span{color:var(--muted);font-size:10px}.availability span b{color:var(--ink);margin-right:7px}.modalBackdrop{z-index:100;background:#22191e8c;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modalBackdrop.nested{z-index:120}.modal{background:var(--paper);width:min(650px,100%);max-height:92vh;padding:25px;overflow:auto}.miniModal{background:var(--paper);width:min(520px,100%);padding:25px}.modalHead,.drawerHead{justify-content:space-between;align-items:start;display:flex}.modalHead h3,.drawerHead h2{margin:5px 0;font:30px Georgia,serif}.modalHead p,.drawerHead p{color:var(--muted);margin:0;font-size:10px}.formGrid{grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;display:grid}.formStack{gap:12px;margin-top:20px;display:grid}.formGrid label,.formStack label,.notesLabel{font-size:10px;font-weight:700}.formGrid input,.formGrid select,.formStack input,.notesLabel textarea{border:1px solid var(--line);background:#fff;width:100%;margin-top:6px;padding:11px;display:block}.formStack small{color:var(--muted);font-weight:400}.notesLabel{margin-top:18px;display:block}.notesLabel textarea{resize:vertical;min-height:80px}.slots{margin-top:18px}.slots>b{font-size:10px}.slots>div{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.slots button{border:1px solid var(--line);background:#fff;padding:8px 10px}.slots button.selected{background:var(--plum);color:#fff;border-color:var(--plum)}.slots span{color:var(--muted);font-size:11px}.modalActions{justify-content:flex-end;gap:8px;margin-top:22px;display:flex}.modalActions.spread{justify-content:space-between}.modalActions.spread>div{gap:6px;display:flex}.error,.warning{margin-top:12px;padding:10px;font-size:11px}.error{color:#8f3434;background:#fae7e7}.warning{color:#7c5927;background:#f7efe1;align-items:flex-start;gap:8px;display:flex}.appointmentInfo{gap:12px;margin-top:20px;display:grid}.appointmentInfo>div{align-items:center;gap:10px;display:flex}.appointmentInfo svg{color:var(--plum)}.appointmentInfo span,.appointmentInfo b{display:block}.appointmentInfo span{color:var(--muted);font-size:10px}.appointmentInfo b{color:var(--ink);margin-bottom:2px;font-size:12px}.notesBox{border:1px solid var(--line);background:#fff;padding:12px;font-size:11px;line-height:1.45}.drawer{background:var(--paper);width:min(820px,96vw);height:min(92vh,900px);padding:26px;overflow:auto}.drawerHead{border-bottom:1px solid var(--line);padding-bottom:18px}.completion{color:#7b5929;background:#f7efe1;align-items:center;gap:10px;margin:16px 0;padding:14px;display:flex}.completion.ok{color:var(--green);background:#eaf2eb}.completion b,.completion span{display:block}.completion b{font-size:12px}.completion span{margin-top:2px;font-size:10px}.scheduleServices{border:1px solid var(--line);background:#fff}.servicePlan{border-bottom:1px solid var(--line);grid-template-columns:28px minmax(180px,1fr) 48px 85px 78px;align-items:center;gap:10px;padding:13px 14px;display:grid}.servicePlan.done{background:#fbfcfa}.serviceState{color:var(--orange)}.servicePlan.done .serviceState{color:var(--green)}.serviceName b,.serviceName span{display:block}.serviceName b{font-size:12px}.serviceName span{color:var(--muted);margin-top:2px;font-size:9px}.switch{width:38px;height:22px;position:relative}.switch input{display:none}.switch span{background:#ddd5ce;border-radius:20px;position:absolute;inset:0}.switch span:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:all .2s;position:absolute;top:3px;left:3px}.switch input:checked+span{background:var(--plum)}.switch input:checked+span:after{transform:translate(16px)}.qty{color:var(--muted);font-size:9px}.qty input{border:1px solid var(--line);width:52px;margin-left:5px;padding:7px}.drawerFooter{justify-content:flex-end;margin-top:16px;display:flex}.accessForm{border:1px solid var(--line);background:#fff;grid-template-columns:1fr 1fr 160px 100px auto;align-items:center;gap:8px;margin-bottom:14px;padding:16px;display:grid}.accessForm label{font-size:11px}.accessForm span{color:var(--green);grid-column:1/-1;font-size:11px}.accessTable{border:1px solid var(--line);background:#fff}.accessTable>div{border-bottom:1px solid var(--line);grid-template-columns:45px 1fr 80px 110px 70px 40px;align-items:center;gap:12px;padding:13px 16px;display:grid}.accessTable b,.accessTable span{display:block}.accessTable b{font-size:12px}.accessTable span{color:var(--muted);font-size:10px}.accessTable strong{font-size:10px}@media (max-width:980px){.twoCol{grid-template-columns:1fr}.detail aside{border-left:0;padding-left:0}.proGrid{grid-template-columns:1fr}.accessForm{grid-template-columns:1fr 1fr}.servicePlan{grid-template-columns:28px 1fr 45px 80px}.servicePlan .smallPrimary{grid-column:2/-1}}@media (max-width:900px){.login{grid-template-columns:1fr}.login>section{display:none}.shell{grid-template-columns:1fr}.sidebar{z-index:20;height:auto;padding:7px;position:fixed;inset:auto 0 0}.logo,.userBox{display:none}.sidebar nav{grid-template-columns:repeat(4,1fr);margin:0}.nav{flex-direction:column;padding:7px;font-size:9px}.nav:nth-child(5){display:none}.main{padding:26px 16px 90px}.header{display:block}.actions{flex-wrap:wrap;margin-top:14px}.stats{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr}.table>button{grid-template-columns:90px 1fr 50px}.table>button>span:nth-child(3){display:none}.appt{grid-template-columns:1fr auto}.appt small{grid-column:1}.agendaActions{flex-wrap:wrap}.agendaActions>select{width:100%}.programBanner{display:block}.bannerProgress{text-align:left;margin-top:16px}.accessTable>div{grid-template-columns:40px 1fr 70px}.accessTable>div strong,.accessTable>div .ghost,.accessTable>div .icon{display:none}}@media (max-width:600px){.header h1{font-size:36px}.servicePlan{grid-template-columns:26px 1fr 44px}.servicePlan .qty{grid-column:2}.servicePlan .smallPrimary{grid-column:3}.modalActions.spread{display:grid}.formGrid{grid-template-columns:1fr}.stats{gap:7px}.stat{padding:15px}}
