*{box-sizing:border-box}
:root{
    --bg:#f6f7fb;
    --surface:#ffffff;
    --surface-2:#f8f9fc;
    --text:#1d2533;
    --muted:#7b8495;
    --border:#e6e9f0;
    --primary:#4f6ff5;
    --primary-soft:#eef1ff;
    --danger:#d75252;
    --shadow:0 18px 50px rgba(28,39,66,.08);
    --sidebar:246px;
}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.app{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) 1fr}
.sidebar{background:#111827;color:#fff;padding:22px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:20}
.brand{display:flex;align-items:center;gap:11px}
.brand strong,.brand span{display:block}
.brand strong{font-size:14px}
.brand span{font-size:11px;color:#95a0b5;margin-top:2px}
.btn{border:0;border-radius:10px;padding:10px 14px;font-weight:650;transition:.18s ease}
.btn-primary{background:var(--primary);color:#fff;box-shadow:0 7px 16px rgba(79,111,245,.24)}
.btn-primary:hover{transform:translateY(-1px);background:#4664e8}
.btn-light{background:#fff;border:1px solid var(--border);color:#344054}
.btn-block{width:100%}
.btn-new{margin:26px 0 20px;text-align:left;display:flex;align-items:center;gap:9px}
.plus{font-size:20px;line-height:14px}
.nav{display:grid;gap:5px}
.nav a{color:#aeb6c7;text-decoration:none;padding:10px 11px;border-radius:9px;display:flex;gap:10px;align-items:center;font-size:14px}
.nav a:hover,.nav a.active{background:#1c2637;color:#fff}
.nav-icon{width:18px;text-align:center}
.sidebar-section{margin-top:28px;border-top:1px solid #273244;padding-top:18px}
.sidebar-section-title{text-transform:uppercase;font-size:10px;letter-spacing:.12em;color:#6f7b91;margin-bottom:10px;font-weight:700}
.calendar-check{display:flex;align-items:center;gap:9px;padding:7px 4px;font-size:13px;color:#c2cad8}
.calendar-check input{display:none}
.calendar-dot{width:9px;height:9px;border-radius:50%;background:var(--calendar-color)}
.sidebar-user{margin-top:auto;border-top:1px solid #273244;padding-top:16px;display:flex;align-items:center;gap:9px}
.avatar{width:34px;height:34px;border-radius:10px;background:#26334a;display:grid;place-items:center;font-weight:700}
.sidebar-user-copy{min-width:0;flex:1}
.sidebar-user-copy strong,.sidebar-user-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-user-copy strong{font-size:12px}
.sidebar-user-copy span{font-size:10px;color:#7f8aa0;margin-top:2px}
.logout{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:#8490a4;text-decoration:none;border:1px solid transparent;transition:.16s ease}
.main{min-width:0}
.topbar{height:78px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:15;backdrop-filter:blur(12px)}
.topbar-left,.topbar-actions,.date-nav{display:flex;align-items:center}
.topbar-left{gap:13px;min-width:0}
.topbar-actions{gap:12px}
.date-nav{gap:3px}
.topbar h1{font-size:18px;margin:0 0 0 5px;white-space:nowrap}
.icon-btn{width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:#596273;font-size:22px;display:grid;place-items:center}
.icon-btn:hover{background:#f0f2f6}
.select{border:1px solid var(--border);background:#fff;border-radius:9px;padding:9px 12px;color:#485264}
.view-switch{background:#f0f2f6;border-radius:10px;padding:3px;display:flex}
.view-switch button{border:0;background:transparent;color:#6a7383;padding:7px 12px;border-radius:7px;font-size:12px;font-weight:700}
.view-switch button.active{background:#fff;color:#273043;box-shadow:0 2px 5px rgba(20,31,55,.08)}
.calendar-shell{padding:20px 22px 28px}
.calendar{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:auto;box-shadow:0 5px 24px rgba(31,43,66,.04);min-height:calc(100vh - 126px)}
.week-grid{display:grid;grid-template-columns:64px repeat(7,minmax(130px,1fr));min-width:980px}
.week-header{display:contents}
.week-header .corner,.week-header .day-head{position:sticky;top:0;z-index:6;background:#fff;border-bottom:1px solid var(--border)}
.corner{height:58px;border-right:1px solid var(--border)}
.day-head{height:58px;border-right:1px solid var(--border);display:flex;align-items:center;justify-content:center;gap:8px}
.day-head strong{font-size:12px;text-transform:uppercase}
.day-head span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:13px}
.day-head.today span{background:var(--primary);color:#fff}
.time-label{height:54px;border-right:1px solid var(--border);border-bottom:1px solid transparent;color:#8a93a3;font-size:10px;text-align:right;padding:0 8px;transform:translateY(-6px)}
.time-cell{height:54px;border-right:1px solid var(--border);border-bottom:1px solid #f0f2f6;position:relative}
.time-cell:hover{background:#fafbff}
.event{position:absolute;left:4px;right:4px;border-radius:7px;padding:6px 7px;background:var(--event-bg,#eef1ff);border-left:3px solid var(--event-color,#4f6ff5);font-size:11px;overflow:hidden;z-index:3;box-shadow:0 2px 5px rgba(30,42,64,.06)}
.event strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.event span{display:block;color:#667085;margin-top:2px;font-size:10px}
.day-grid{display:grid;grid-template-columns:64px minmax(500px,1fr);min-width:620px}
.day-grid .day-head{grid-column:2}
.month-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));min-width:850px}
.month-weekday{height:42px;padding:13px 12px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);font-size:10px;font-weight:750;color:#7a8495;text-transform:uppercase}
.month-cell{min-height:126px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:8px;position:relative}
.month-cell.outside{background:#fafbfc;color:#b1b7c2}
.month-date{font-size:11px;font-weight:700;margin-bottom:6px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%}
.month-date.today{background:var(--primary);color:#fff}
.month-event{font-size:10px;padding:4px 6px;margin-bottom:4px;border-radius:5px;background:var(--primary-soft);border-left:2px solid var(--primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar-empty{padding:50px;text-align:center;color:var(--muted)}
.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.42);z-index:100;display:grid;place-items:center;padding:18px}
.modal-backdrop[hidden]{display:none}
.modal{width:min(620px,100%);background:#fff;border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.modal-header{padding:20px 22px 12px;display:flex;align-items:flex-start;justify-content:space-between}
.modal-header h2{font-size:19px;margin:3px 0 0}
.eyebrow{text-transform:uppercase;font-size:9px;font-weight:800;letter-spacing:.14em;color:var(--primary)}
.form-grid{padding:12px 22px 20px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-grid label,.form-stack label{display:grid;gap:6px}
.form-grid label span,.form-stack label span{font-size:11px;font-weight:700;color:#596273}
.form-grid .full{grid-column:1/-1}
input,select,textarea{width:100%;border:1px solid #dde1e9;border-radius:9px;background:#fff;color:#273043;padding:10px 11px;outline:none}
input:focus,select:focus,textarea:focus{border-color:#aab8ff;box-shadow:0 0 0 3px #eef1ff}
textarea{resize:vertical}
.modal-footer{border-top:1px solid var(--border);padding:14px 22px;display:flex;justify-content:flex-end;gap:9px}
.toast{position:fixed;right:20px;bottom:20px;background:#111827;color:#fff;padding:11px 14px;border-radius:10px;z-index:150;font-size:12px;box-shadow:var(--shadow)}
.toast[hidden]{display:none}
.auth-body{background:radial-gradient(circle at top left,#eef1ff 0,#f7f8fb 38%,#f6f7fb 100%);display:grid;place-items:center;padding:24px}
.auth-shell{width:100%;max-width:410px}
.auth-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:28px;box-shadow:var(--shadow)}
.brand-login{margin-bottom:32px}
.auth-copy h1{font-size:24px;margin:0 0 7px}
.auth-copy p{margin:0 0 22px;color:var(--muted);font-size:13px}
.form-stack{display:grid;gap:14px}
.alert{padding:10px 12px;border-radius:9px;margin-bottom:14px;font-size:12px}
.alert-error{background:#fff0f0;color:#a93f3f}
.mobile-only,.calendar-toolbar-mobile{display:none}
@media(max-width:900px){
    .app{display:block}
    .sidebar{position:fixed;left:-270px;width:250px;transition:left .2s ease}
    .sidebar.open{left:0;box-shadow:20px 0 50px rgba(0,0,0,.18)}
    .mobile-only{display:grid}
    .topbar{padding:0 14px;height:auto;min-height:70px;gap:12px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
    .topbar h1{font-size:15px}
    .topbar-actions{width:100%;justify-content:space-between}
    .select{max-width:190px}
    .calendar-shell{padding:12px}
    .calendar{min-height:calc(100vh - 150px)}
}
@media(max-width:560px){
    .view-switch button{padding:7px 9px}
    .topbar-left{width:100%}
    .topbar-left h1{flex:1}
    .form-grid{grid-template-columns:1fr}
    .form-grid .full{grid-column:auto}
    .modal{max-height:92vh;overflow:auto}
}


/* =========================================================
   VISUAL 2.0 — suave, leve e contemporâneo
   ========================================================= */
:root{
  --bg:#f7f8fb;
  --surface:#fff;
  --surface-2:#fbfcfe;
  --text:#202636;
  --muted:#9299a8;
  --border:#e9ebf1;
  --primary:#6c6ff2;
  --primary-soft:#f0f0ff;
  --shadow:0 18px 45px rgba(35,43,61,.07);
  --sidebar:252px;
}
html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
.sidebar{background:rgba(255,255,255,.94);color:var(--text);border-right:1px solid var(--border);padding:22px 16px 18px;backdrop-filter:blur(16px)}
.brand{padding:1px 5px}.brand-mark{border-radius:13px;background:linear-gradient(145deg,#787bf6,#6265e6);color:#fff;box-shadow:0 8px 20px rgba(108,111,242,.22)}
.brand strong{font-size:13px}.brand span{font-size:10px;color:var(--muted)}
.btn{border-radius:11px}.btn-primary{background:var(--primary);box-shadow:0 7px 18px rgba(108,111,242,.18)}.btn-primary:hover{background:#5d60df}
.btn-new{margin:24px 4px 18px;justify-content:center}.plus{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:rgba(255,255,255,.14);font-size:17px}
.nav{gap:4px}.nav a{color:#6e7686;padding:10px 11px;border-radius:11px;font-size:13px;font-weight:560}.nav a:hover{background:#f7f7fb;color:#333a49}.nav a.active{background:var(--primary-soft);color:var(--primary)}
.nav-icon{width:20px;height:20px;display:grid;place-items:center}.nav-icon svg{width:18px;height:18px;stroke:currentColor}
.sidebar-section{margin:26px 5px 0;border-top:1px solid var(--border);padding-top:18px}.sidebar-section-title{font-size:9px;color:#a1a7b3}.calendar-check{font-size:12px;color:#697181;padding:8px 4px}.calendar-dot{box-shadow:0 0 0 3px rgba(108,111,242,.08)}
.sidebar-user{border-top:1px solid var(--border);padding:15px 5px 0}.avatar{background:#f1f2f7;color:#596172;border-radius:11px}.sidebar-user-copy strong{font-size:11px}.sidebar-user-copy span{font-size:9px;color:#9ba2af}.logout{color:#9aa1ae}
.topbar{height:auto;min-height:78px;background:rgba(247,248,251,.88);border-bottom:0;padding:14px 24px;backdrop-filter:blur(14px)}.topbar-left{gap:10px}.topbar-actions{gap:10px}.topbar h1{font-size:17px;font-weight:720;letter-spacing:-.02em;margin-left:4px}
.icon-btn{width:35px;height:35px;border:1px solid transparent;border-radius:10px;color:#70798a;font-size:20px;transition:.16s}.icon-btn:hover{background:#fff;border-color:var(--border);color:#3e4654}
.select{border-color:var(--border);border-radius:11px;color:#566071;box-shadow:0 2px 7px rgba(30,40,60,.02)}
.view-switch{background:#eceef3;border-radius:12px;padding:3px}.view-switch button{border-radius:9px;font-size:11px;padding:7px 13px}.view-switch button.active{box-shadow:0 2px 8px rgba(25,35,55,.07)}
.calendar-shell{padding:4px 22px 28px}.calendar{border-color:var(--border);border-radius:18px;box-shadow:0 4px 18px rgba(30,38,55,.045);min-height:calc(100vh - 110px)}
.week-grid{grid-template-columns:68px repeat(7,minmax(132px,1fr));min-width:1000px}.corner{height:62px;border-color:var(--border)}.day-head{height:62px;border-color:var(--border);gap:7px}.day-head strong{font-size:10px;letter-spacing:.08em;color:#8b93a2}.day-head span{width:29px;height:29px;border-radius:10px;font-size:12px;font-weight:700;color:#434b5a}.day-head.today span{background:var(--primary);box-shadow:0 5px 12px rgba(108,111,242,.2)}
.time-label{height:56px;color:#a0a7b4;font-size:9px}.time-cell{height:56px;border-color:#f0f1f5}.time-cell:hover{background:#fbfbfe}
.event{left:5px;right:5px;border-radius:9px;padding:7px 8px;background:#f0f1ff;border:1px solid #e4e5ff;border-left:3px solid var(--event-color,#6c6ff2);box-shadow:0 3px 8px rgba(38,44,72,.045);font-size:10px}.event strong{font-size:10px;color:#3f4760}.event span{font-size:9px;color:#7d8595}
.month-weekday{height:44px;font-size:9px;letter-spacing:.08em;color:#959cab}.month-cell{background:#fff}.month-cell:hover{background:#fcfcfe}.month-date{border-radius:9px}.month-event{border-radius:7px;background:#f1f1ff;color:#525a71}
.modal-backdrop{background:rgba(28,32,44,.28);backdrop-filter:blur(3px)}.modal{border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow)}.modal-header{padding:22px 24px 12px}.modal-header h2{font-size:18px;letter-spacing:-.02em}.form-grid{padding:12px 24px 22px}.form-grid label span,.form-stack label span{font-size:10px;color:#687182}
input,select,textarea{border-color:#dde1e9;border-radius:11px;color:#303746}.modal-footer{padding:14px 24px 18px}
.toast{background:#242a36;border-radius:11px;font-size:11px;box-shadow:var(--shadow)}
.auth-body{background:radial-gradient(circle at 12% 8%,rgba(108,111,242,.07),transparent 33%),linear-gradient(180deg,#fbfbfd,#f5f6f9)}.auth-card{border-color:var(--border);border-radius:22px;padding:30px;box-shadow:var(--shadow)}.auth-copy h1{font-size:23px;letter-spacing:-.03em}.auth-copy p{font-size:12px}.alert{border-radius:10px;font-size:11px}
@media(max-width:900px){.calendar-shell{padding:4px 10px 18px}.calendar{border-radius:15px}.sidebar{width:252px}.topbar{padding:10px 14px}}


/* =========================================================
   MÓDULOS INTERNOS
   ========================================================= */
.btn-new{text-decoration:none}
.calendar-link{text-decoration:none}
.module-topbar{
    min-height:118px;
    padding:28px 30px 20px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
}
.module-topbar h1{margin:4px 0 5px;font-size:25px;letter-spacing:-.04em}
.module-topbar p{margin:0;color:var(--muted);font-size:12px;max-width:620px}
.module-page{padding:0 30px 32px;display:grid;gap:16px}
.panel{background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 4px 18px rgba(30,38,55,.035);overflow:hidden}
.panel-head{display:flex;justify-content:space-between;align-items:flex-start;padding:21px 23px 4px}
.panel-head h2,.settings-heading h2{font-size:16px;margin:0 0 5px;letter-spacing:-.02em}
.panel-head p,.settings-heading p{font-size:11px;color:var(--muted);margin:0}
.panel-footer{display:flex;align-items:center;justify-content:flex-end;gap:9px;border-top:1px solid var(--border);padding:14px 23px}
.form-panel{margin-bottom:2px}
.module-form{padding:17px 23px 22px}
.alert-success{background:#edf9f4;color:#397e63}
.list-toolbar{padding:15px 17px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);gap:14px}
.search-box{width:min(470px,100%);height:40px;border:1px solid var(--border);border-radius:11px;background:#fafbfc;display:flex;align-items:center;padding:0 11px;gap:7px}
.search-box input{border:0;background:transparent;padding:0;box-shadow:none!important}
.search-box input:focus{box-shadow:none}
.search-box span{color:#9aa1ae;font-size:17px}
.soft-counter{font-size:10px;color:#9299a8;background:#f6f7f9;border-radius:999px;padding:6px 9px}
.data-list{display:grid}
.data-row{min-height:74px;padding:13px 17px;display:flex;align-items:center;gap:13px;border-bottom:1px solid #f0f1f4}
.data-row:last-child{border-bottom:0}
.data-row:hover{background:#fcfcfe}
.data-avatar{width:39px;height:39px;border-radius:12px;background:#f0f0ff;color:#6669e7;display:grid;place-items:center;font-size:13px;font-weight:800;flex:0 0 auto}
.data-main{min-width:0;flex:1}
.data-main strong{font-size:12px}
.data-main>span{font-size:10px;color:#8e96a5;display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.data-title-line{display:flex;align-items:center;gap:7px}
.data-meta{min-width:84px;text-align:center}
.data-meta strong,.data-meta span{display:block}
.data-meta strong{font-size:12px}
.data-meta span{font-size:9px;color:#9aa1ad;margin-top:2px}
.row-actions{display:flex;align-items:center;gap:6px}
.row-actions form{margin:0}
.btn-sm{padding:7px 9px;border-radius:9px;font-size:10px}
.btn-ghost{background:transparent;color:#7a8291}
.btn-ghost:hover{background:#f5f6f8}
.badge{font-size:8px;font-weight:750;padding:4px 7px;border-radius:999px;background:#f1f2f5;color:#7f8794}
.badge.success{background:#edf8f3;color:#438369}
.badge.muted{background:#f1f2f5;color:#8d94a0}
.empty-state{text-align:center;padding:52px 20px;color:#737c8c}
.empty-state h3{margin:11px 0 5px;color:#3d4554;font-size:15px}
.empty-state p{font-size:11px;margin:0 auto 17px;max-width:390px;color:#9aa1ad}
.empty-icon{width:45px;height:45px;border-radius:14px;background:#f1f1ff;color:#6c6ff2;margin:auto;display:grid;place-items:center;font-size:20px}
.unit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.unit-card{background:#fff;border:1px solid var(--border);border-radius:17px;padding:17px;box-shadow:0 4px 18px rgba(30,38,55,.025)}
.unit-card.is-disabled{opacity:.62}
.unit-card-head{display:flex;align-items:center;justify-content:space-between}
.unit-symbol{width:38px;height:38px;border-radius:12px;background:#f2f2ff;color:#676ae9;display:grid;place-items:center}
.unit-card h3{font-size:13px;margin:15px 0 4px}
.unit-card>p{font-size:10px;color:#949ba8;margin:0}
.unit-address{min-height:48px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border);font-size:10px;color:#6f7888;line-height:1.6}
.unit-address span{color:#a0a7b3}
.unit-card-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:13px;padding-top:13px;border-top:1px solid var(--border)}
.unit-card-footer>span{font-size:9px;color:#999fac}
.full-span{grid-column:1/-1}
.settings-page{grid-template-columns:160px minmax(0,780px);align-items:start}
.settings-nav{position:sticky;top:20px;display:grid;gap:3px}
.settings-nav a{text-decoration:none;font-size:11px;color:#777f8e;padding:8px 9px;border-radius:9px}
.settings-nav a:hover{background:#fff;color:#525a68}
.settings-stack{display:grid;gap:15px}
.settings-section{scroll-margin-top:20px}
.settings-heading{padding:21px 23px 2px}
.agenda-setting+.agenda-setting{border-top:1px solid var(--border)}
.agenda-setting-title{padding:16px 23px 0;font-size:11px;font-weight:750;color:#535b6a}
.switch-field{align-self:end;display:flex!important;grid-template-columns:auto auto 1fr!important;align-items:center;gap:8px!important;cursor:pointer}
.switch-field input{display:none}
.switch-ui{width:34px;height:19px;border-radius:999px;background:#dfe2e8;position:relative;transition:.16s}
.switch-ui:after{content:"";position:absolute;width:15px;height:15px;border-radius:50%;background:#fff;left:2px;top:2px;box-shadow:0 1px 4px rgba(0,0,0,.15);transition:.16s}
.switch-field input:checked+.switch-ui{background:var(--primary)}
.switch-field input:checked+.switch-ui:after{left:17px}
.switch-field>span:last-child{font-size:10px;color:#677080;font-weight:650}
@media(max-width:1050px){.unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
    .module-topbar{padding:22px 16px 16px}
    .module-page{padding:0 12px 22px}
    .settings-page{grid-template-columns:1fr}
    .settings-nav{position:static;display:flex;overflow:auto}
}
@media(max-width:620px){
    .module-topbar{align-items:flex-start;flex-direction:column}
    .module-topbar .btn{width:100%;text-align:center}
    .unit-grid{grid-template-columns:1fr}
    .data-row{align-items:flex-start;flex-wrap:wrap}
    .data-meta{margin-left:52px;text-align:left}
    .row-actions{width:100%;justify-content:flex-end}
    .list-toolbar{align-items:stretch;flex-direction:column}
}


/* Agenda: menu contextual e novas configurações */
.slot-menu{
    position:fixed;
    z-index:160;
    width:286px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:15px;
    padding:7px;
    box-shadow:0 18px 45px rgba(31,38,55,.14);
    animation:slotMenuIn .12s ease-out;
}
.slot-menu[hidden]{display:none}
@keyframes slotMenuIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
.slot-menu-head{padding:8px 10px 7px;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#9aa1ae}
.slot-menu button{width:100%;border:0;background:transparent;border-radius:10px;padding:9px 10px;display:flex;align-items:center;gap:10px;text-align:left;color:#4d5565}
.slot-menu button:hover{background:#f7f7fb}
.slot-menu button>span:last-child{min-width:0}
.slot-menu button strong,.slot-menu button small{display:block}
.slot-menu button strong{font-size:11px;font-weight:720}
.slot-menu button small{font-size:9px;color:#9aa1ad;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.slot-menu-icon{width:28px;height:28px;border-radius:9px;background:#f0f0ff;color:#676ae9;display:grid;place-items:center;flex:0 0 auto;font-size:14px}
.slot-menu-divider{height:1px;background:var(--border);margin:5px 4px}
.event,.month-event{cursor:pointer}
.time-cell,.month-cell{cursor:pointer}
.plan-limits{border-top:1px solid var(--border);padding:16px 23px 19px;display:grid;grid-template-columns:1fr 1fr;gap:9px 18px;background:#fcfcfe}
.plan-limits>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.plan-limits span{font-size:10px;color:#89919f}
.plan-limits strong{font-size:11px;color:#4e5665}
.plan-limits small{grid-column:1/-1;color:#a0a6b1;font-size:9px;line-height:1.5}
.limit-note{display:flex;align-items:center;gap:18px;font-size:10px;color:#858d9b;padding:0 3px}
.limit-note strong{color:#525a68}
.btn:disabled{cursor:not-allowed;opacity:.65;transform:none!important}


/* Configurações: feedback visual sutil ao navegar entre seções */
.settings-section-highlight{
    animation:settingsSectionHighlight .85s ease-out;
}
@keyframes settingsSectionHighlight{
    0%{box-shadow:0 0 0 0 rgba(108,111,242,0);border-color:var(--border)}
    30%{box-shadow:0 0 0 4px rgba(108,111,242,.09),0 6px 22px rgba(50,55,100,.055);border-color:#cfd0ff}
    100%{box-shadow:0 4px 18px rgba(30,38,55,.035);border-color:var(--border)}
}
.required-mark{font-style:normal;color:#b85d5d}
.field-help{font-size:9px;color:#a0a7b3;line-height:1.45}

/* Relatórios */
.report-page{gap:14px}
.report-catalog{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
}
.report-catalog a{
    min-height:82px;
    text-decoration:none;
    background:#fff;
    border:1px solid var(--border);
    border-radius:14px;
    padding:13px;
    transition:.16s ease;
}
.report-catalog a:hover{transform:translateY(-1px);border-color:#d9dafe;box-shadow:0 5px 16px rgba(30,38,70,.045)}
.report-catalog a.active{background:#f7f6ff;border-color:#d6d7ff}
.report-catalog strong,.report-catalog span{display:block}
.report-catalog strong{font-size:11px;color:#4b5362}
.report-catalog a.active strong{color:#6063dc}
.report-catalog span{font-size:9px;color:#969daa;line-height:1.45;margin-top:4px}
.report-filters{
    padding:16px;
    display:grid;
    grid-template-columns:repeat(6,minmax(120px,1fr));
    gap:10px;
    align-items:end;
}
.report-filters label{display:grid;gap:5px}
.report-filters label>span{font-size:9px;font-weight:750;color:#7d8594}
.report-filter-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;padding-top:3px}
.report-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.report-summary>div{
    background:#fff;border:1px solid var(--border);border-radius:14px;padding:13px 14px;
}
.report-summary span,.report-summary strong{display:block}
.report-summary span{font-size:9px;color:#9299a6;min-height:25px}
.report-summary strong{font-size:20px;letter-spacing:-.04em;color:#3d4554}
.report-result{min-width:0}
.report-table-wrap{overflow:auto;border-top:1px solid var(--border)}
.report-table{width:100%;border-collapse:collapse;min-width:780px}
.report-table th{
    text-align:left;padding:10px 12px;background:#fafbfc;color:#8e95a2;font-size:8px;
    text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid var(--border);
    white-space:nowrap
}
.report-table td{padding:11px 12px;border-bottom:1px solid #f0f1f4;font-size:10px;color:#586171;white-space:nowrap}
.report-table tr:last-child td{border-bottom:0}
.report-table tbody tr:hover td{background:#fcfcfe}
@media(max-width:1200px){
    .report-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}
    .report-filters{grid-template-columns:repeat(3,minmax(140px,1fr))}
}
@media(max-width:760px){
    .report-catalog{grid-template-columns:1fr}
    .report-filters{grid-template-columns:1fr 1fr}
    .report-summary{grid-template-columns:1fr 1fr}
}
@media(max-width:500px){
    .report-filters{grid-template-columns:1fr}
    .report-summary{grid-template-columns:1fr}
}

/* Revisão funcional 2026-09-08 */
.agenda-filters{flex-wrap:wrap;justify-content:flex-end}
.calendar-link.active{background:var(--primary-soft);color:var(--primary);font-weight:700}
.modal-footer-split{justify-content:space-between}
.modal-footer-actions{display:flex;gap:9px;margin-left:auto}
.btn-danger-soft{background:#fff2f2;color:#b44f4f;border:1px solid #f1d5d5}
.btn-danger-soft:hover{background:#fdeaea}
.toast.toast-error{background:#7e3434}
.month-more{font-size:9px;color:#8e95a3;padding:3px 5px}
.status-cancelado,.status-nao_compareceu{opacity:.62}
.status-concluido{background:#eef8f3;border-color:#dcefe5}
.settings-heading-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}
.agenda-setting-new{background:#fbfbff;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
@media(max-width:900px){
    .agenda-filters{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}
    .agenda-filters .view-switch{grid-column:1/-1;justify-self:end}
}
@media(max-width:560px){
    .agenda-filters{grid-template-columns:1fr}
    .agenda-filters .select{max-width:none;width:100%}
    .agenda-filters .view-switch{grid-column:auto;justify-self:stretch;justify-content:space-between}
    .modal-footer-split{align-items:center}
    .settings-heading-actions{flex-direction:column}
}

/* Produção 1.0 - autenticação, usuários e prévias */
.auth-row{display:flex;justify-content:flex-end;margin-top:-4px}
.auth-row a,.auth-footer a{color:var(--primary);text-decoration:none;font-size:10px;font-weight:700}
.auth-row a:hover,.auth-footer a:hover{text-decoration:underline}
.auth-footer{margin-top:18px;padding-top:16px;border-top:1px solid var(--border);text-align:center;font-size:10px;color:#9299a8}
.auth-body-scroll{overflow:auto;align-items:flex-start;padding-top:35px;padding-bottom:35px}
.auth-shell-wide{max-width:620px}
.auth-form-grid{padding:0;margin-bottom:8px}
.password-help{display:block;margin:-2px 0 14px}
.credentials-card{border-color:#d9dcff;background:linear-gradient(180deg,#fff,#fbfbff)}
.credentials-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 23px 20px}
.credentials-grid>div{background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px}
.credentials-grid span,.credentials-grid strong{display:block}
.credentials-grid span{font-size:9px;color:#969daa;margin-bottom:5px}
.credentials-grid strong{font-size:12px;color:#404858;word-break:break-word}
.credential-password{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#5b5ee2!important;letter-spacing:.02em}
.credentials-actions{flex-wrap:wrap}
.btn-whatsapp{background:#f0faf4;color:#27855b;border:1px solid #d8eee1;text-decoration:none}
.btn-whatsapp:hover{background:#e8f7ef}
.access-section{border-top:1px solid var(--border);padding:19px 23px}
.access-title{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px}
.access-title strong{font-size:11px;color:#4e5665}
.access-title span{font-size:9px;color:#9aa1ad}
.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.check-card{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important;border:1px solid var(--border);border-radius:10px;padding:9px 10px;cursor:pointer;background:#fff}
.check-card:hover{background:#fbfbfe}
.check-card input{width:15px;height:15px;flex:0 0 auto}
.check-card span{font-size:10px!important;font-weight:600!important;color:#626b7b!important}
.permission-group+ .permission-group{margin-top:14px}
.permission-group h4{margin:0 0 8px;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#979eaa}
.compact-form{padding-top:12px;padding-bottom:12px}
.badge.warning{background:#fff7e7;color:#9a742a}
.report-export-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.report-export-actions a{text-decoration:none}
.report-preview{background:#eff1f5;padding:22px;min-height:100vh}
.preview-actions{max-width:1120px;margin:0 auto 12px;display:flex;justify-content:flex-end;gap:8px}
.preview-sheet{max-width:1120px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-md);padding:28px;min-height:600px}
.preview-header{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;border-bottom:1px solid var(--border);padding-bottom:18px;margin-bottom:18px}
.preview-header h1{margin:0 0 5px;font-size:21px;letter-spacing:-.03em;text-align:right}
.preview-header p{margin:0;color:#8f97a5;font-size:9px;text-align:right}
.preview-summary{display:flex;gap:18px;flex-wrap:wrap;padding:10px 0 18px;color:#6d7584;font-size:9px}
.preview-summary strong{color:#3f4756;font-size:11px}
.preview-table{border:1px solid var(--border);border-radius:10px}
.preview-footer{text-align:right;color:#9aa1ad;font-size:9px;padding-top:14px}
.plan-limits{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){
    .credentials-grid,.check-grid{grid-template-columns:1fr}
    .access-title{flex-direction:column;align-items:flex-start;gap:4px}
    .report-export-actions{justify-content:flex-start;width:100%}
    .preview-header{flex-direction:column}
    .preview-header h1,.preview-header p{text-align:left}
    .plan-limits{grid-template-columns:1fr}
}

/* ===== Autoagendamento público ===== */
.public-booking-body{background:#f6f7fb;color:#3f4654;min-height:100vh}
.public-booking-shell{width:min(920px,calc(100% - 28px));margin:0 auto;padding:28px 0 48px}
.public-booking-brand{display:flex;align-items:center;gap:10px;margin-bottom:18px;color:#626a78}
.public-booking-brand strong,.public-booking-brand span{display:block}.public-booking-brand strong{font-size:12px}.public-booking-brand span{font-size:9px;color:#9aa1ad}
.public-booking-card{background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:0 12px 38px rgba(38,44,67,.06);overflow:hidden}
.public-booking-intro{padding:26px 28px 20px;border-bottom:1px solid var(--border)}
.public-booking-intro h1{font-size:25px;letter-spacing:-.035em;margin:5px 0 4px;color:#3e4655}.public-booking-intro p{font-size:11px;color:#747d8b;margin:0}.public-booking-intro small{display:block;margin-top:8px;color:#969daa}
.public-step{display:grid;grid-template-columns:34px 1fr;gap:14px;padding:22px 28px;border-bottom:1px solid var(--border)}
.public-step-number{width:28px;height:28px;border-radius:10px;background:#f0f0ff;color:#676ae9;display:grid;place-items:center;font-size:10px;font-weight:800}
.public-step-content h2{font-size:13px;color:#4a5261;margin:3px 0 13px}.public-muted{font-size:10px;line-height:1.55;color:#949ba7}.public-error{font-size:10px;color:#b65858}
.public-date-field{display:grid;gap:5px;max-width:230px}.public-date-field span,.public-form-grid label>span{font-size:9px;font-weight:750;color:#798290}
.public-slots{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px;min-height:34px}.public-slot{border:1px solid #dedff0;background:#fff;color:#555e6d;border-radius:10px;padding:9px 13px;font-size:10px;cursor:pointer}.public-slot:hover{border-color:#bfc1fb;background:#fafaff}.public-slot.active{background:#696ceb;border-color:#696ceb;color:#fff}
.public-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.public-form-grid label{display:grid;gap:5px}.public-form-grid .full{grid-column:1/-1}
.verification-actions{display:flex;gap:8px;flex-wrap:wrap}.verification-code-row{display:flex;gap:8px;margin-top:12px;max-width:430px}.verification-code-row input{flex:1;letter-spacing:.12em;text-align:center}
.public-status{font-size:10px;line-height:1.5;margin-top:10px;color:#727b89}.public-status.success{color:#39725a}.public-status.error{color:#b05a5a}.public-final-success{padding:10px 14px;margin:0 28px 24px;border-radius:11px;background:#f2faf5}
.public-booking-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 28px}.public-booking-summary{font-size:11px;color:#676f7d}.public-booking-footer .btn{min-width:175px}
@media(max-width:640px){.public-booking-shell{width:min(100% - 18px,920px);padding-top:14px}.public-step{grid-template-columns:1fr;padding:18px}.public-step-number{display:none}.public-booking-intro{padding:21px 18px 17px}.public-form-grid{grid-template-columns:1fr}.public-form-grid .full{grid-column:auto}.public-booking-footer{align-items:stretch;flex-direction:column;padding:18px}.public-booking-footer .btn{width:100%}.verification-code-row{flex-direction:column}.public-final-success{margin:0 18px 18px}}

/* ===== Agenda semanal, bloqueios e configuração online ===== */
.client-inline-select{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.client-inline-select .btn{white-space:nowrap}
#clientModalBackdrop{z-index:220}.modal-compact{max-width:560px}
.weekday-picker{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}.weekday-picker label{display:block;cursor:pointer}.weekday-picker input{position:absolute;opacity:0;pointer-events:none}.weekday-picker span{display:grid;place-items:center;min-width:42px;height:34px;padding:0 10px;border:1px solid var(--border);border-radius:10px;background:#fff;color:#7b8492;font-size:9px;font-weight:750;transition:.15s ease}.weekday-picker input:checked+span{background:#f0f0ff;border-color:#cfd0ff;color:#5d60d8;box-shadow:inset 0 0 0 1px rgba(108,111,242,.05)}.form-label-inline{display:block;font-size:9px;font-weight:750;color:#7d8594}
.compact-list{border-top:1px solid var(--border)}.compact-list-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 18px;border-bottom:1px solid #f0f1f4}.compact-list-row:last-child{border-bottom:0}.compact-list-row strong,.compact-list-row span{display:block}.compact-list-row strong{font-size:10px;color:#555e6c}.compact-list-row span{font-size:9px;color:#939aa7;margin-top:3px}.inline-actions{display:flex;gap:8px;align-items:center}.mini-check{display:flex!important;align-items:center;gap:5px;font-size:9px;color:#8a929f;white-space:nowrap}.empty-inline{padding:18px;color:#9aa1ad;font-size:10px}.agenda-setting-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.public-link-box{margin:0 18px 12px;padding:9px 11px;border:1px dashed #d9dae7;border-radius:9px;background:#fafaff;overflow:auto}.public-link-box code{font-size:9px;color:#777f8d;white-space:nowrap}.subsection-divider{height:1px;background:var(--border);margin:18px 0}.settings-heading h3{font-size:12px;margin:0;color:#4d5564}
@media(max-width:680px){.client-inline-select{grid-template-columns:1fr}.compact-list-row{align-items:flex-start;flex-direction:column}.inline-actions{width:100%;justify-content:space-between}.agenda-setting-title-row{align-items:flex-start;flex-direction:column}}
.event-block{background:repeating-linear-gradient(135deg,#f1f2f5,#f1f2f5 7px,#e8eaf0 7px,#e8eaf0 14px)!important;border-color:#d8dbe3!important;color:#6f7785!important;box-shadow:none!important}.event-block strong{color:#626b79!important}.event-block span{color:#838b98!important}
#blockModalBackdrop{z-index:220}
.public-my-bookings{margin-top:14px}.public-appointments{display:grid;gap:7px;margin-top:9px}.public-appointment-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:10px;padding:9px 10px}.public-appointment-row.active{border-color:#cfd0ff;background:#fafaff}.public-appointment-row strong,.public-appointment-row span{display:block}.public-appointment-row strong{font-size:10px;color:#525b69}.public-appointment-row span{font-size:9px;color:#9299a6;margin-top:2px}

/* Ajustes de refinamento 1.0.x */
.alert{
    display:flex;
    align-items:flex-start;
    gap:9px;
    max-width:100%;
    min-width:0;
    overflow-wrap:anywhere;
    word-break:normal;
    border:1px solid transparent;
    line-height:1.45;
}
.alert::before{
    flex:0 0 18px;
    width:18px;
    height:18px;
    display:grid;
    place-items:center;
    border-radius:50%;
    font-weight:800;
    font-size:10px;
    margin-top:-1px;
}
.alert-success{border-color:#d9eee6}
.alert-success::before{content:'✓';background:#dff3ea;color:#397e63}
.alert-error{border-color:#f3dada}
.alert-error::before{content:'!';background:#f9dddd;color:#a93f3f}
.field-help{display:block;margin-top:5px;color:var(--muted);font-size:9px;line-height:1.45;font-weight:500}
.recurrence-example{padding:8px 10px;margin-top:8px;background:#f8f8fc;border:1px solid var(--border);border-radius:9px}
.check-card span small{display:block;margin-top:3px;color:var(--muted);font-size:9px;font-weight:500}
.inline-actions form{display:inline-flex;margin:0}

@media print{
    .toast,.modal-backdrop,.slot-menu{display:none!important}
}
.toast{max-width:min(420px,calc(100vw - 32px));overflow-wrap:anywhere;line-height:1.45}

/* ===== Refinamento 1.0.3: modais, filtros e formulários ===== */
[hidden]{display:none!important}
input[data-mask="date"],input[data-mask="cpf"],input[data-mask="cpf-cnpj"],input[data-mask="phone"]{font-variant-numeric:tabular-nums}

.agenda-workspace{display:grid;grid-template-columns:248px minmax(0,1fr);gap:0;min-height:calc(100vh - 78px);position:relative;transition:grid-template-columns .18s ease}
.agenda-workspace.filters-collapsed{grid-template-columns:54px minmax(0,1fr)}
.agenda-workspace.filters-unpinned{grid-template-columns:minmax(0,1fr)}
.agenda-filter-panel{border-right:1px solid var(--border);background:#fbfbfd;padding:14px 12px;min-width:0;transition:width .18s ease,transform .18s ease,padding .18s ease;z-index:12}
.agenda-filter-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 4px 12px}
.agenda-filter-panel-head>div:first-child strong{display:block;font-size:13px;margin-top:2px;color:#444d5d}
.agenda-filter-panel-actions{display:flex;align-items:center;gap:2px}
.agenda-filter-panel-body{display:grid;gap:14px}
.agenda-filter-group{padding:12px;border:1px solid var(--border);background:#fff;border-radius:12px}
.agenda-filter-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:9px;font-weight:800;color:#767f8e;text-transform:uppercase;letter-spacing:.05em}
.link-button{border:0;background:transparent;padding:2px 0;color:var(--primary);font-size:9px;font-weight:750;cursor:pointer;text-transform:none;letter-spacing:0}
.agenda-check-list{display:grid;gap:7px;margin-top:10px}
.agenda-filter-check{display:grid!important;grid-template-columns:16px 10px minmax(0,1fr)!important;align-items:center;gap:8px!important;padding:7px 8px;border-radius:9px;cursor:pointer}
.agenda-filter-check:hover{background:#f7f7fb}
.agenda-filter-check input{width:15px;height:15px;margin:0}
.agenda-filter-check>span:last-child{font-size:10px!important;font-weight:650!important;color:#596273!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agenda-filter-field{display:grid;gap:6px}.agenda-filter-field>span{font-size:9px;font-weight:800;color:#767f8e;text-transform:uppercase;letter-spacing:.05em}
.agenda-filter-field .select{width:100%;max-width:none}
.agenda-export-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.agenda-export-grid .btn{text-align:center;justify-content:center}
.agenda-filter-panel.collapsed{width:54px;padding-left:7px;padding-right:7px}.agenda-filter-panel.collapsed .agenda-filter-panel-body,.agenda-filter-panel.collapsed .agenda-filter-panel-head>div:first-child,.agenda-filter-panel.collapsed #btnPinFilters{display:none}.agenda-filter-panel.collapsed .agenda-filter-panel-head{justify-content:center}
.agenda-filter-panel.unpinned{position:absolute;left:10px;top:10px;bottom:10px;width:248px;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-md);transform:translateX(calc(-100% - 24px));pointer-events:none}
.agenda-filter-panel.unpinned.open{transform:translateX(0);pointer-events:auto}
.agenda-workspace>.calendar-shell{min-width:0;padding-top:10px}

.plan-limits{padding:20px!important;gap:12px!important;background:linear-gradient(180deg,#fcfcfe,#fafbfc)!important}
.plan-limits>div{display:grid!important;align-content:start;justify-content:stretch!important;gap:5px!important;border:1px solid var(--border);border-radius:12px;padding:12px 13px;background:#fff;min-height:70px}
.plan-limits span{font-size:9px!important;font-weight:700;color:#8a929f!important;text-transform:uppercase;letter-spacing:.04em}
.plan-limits strong{font-size:17px!important;color:#414a5a!important;letter-spacing:-.03em}
.plan-limits small{padding:4px 2px 0;font-size:9px!important;line-height:1.55!important}
.plan-limit-progress{height:5px;border-radius:99px;background:#eceef3;overflow:hidden;margin-top:5px}.plan-limit-progress>span{display:block;height:100%;background:var(--primary);border-radius:99px}

@media(max-width:980px){
    .agenda-workspace,.agenda-workspace.filters-collapsed,.agenda-workspace.filters-unpinned{grid-template-columns:minmax(0,1fr)}
    .agenda-filter-panel{position:absolute;left:10px;top:10px;bottom:10px;width:min(290px,calc(100vw - 28px));border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-md);transform:translateX(calc(-100% - 24px));pointer-events:none}
    .agenda-filter-panel.open{transform:translateX(0);pointer-events:auto}
    .agenda-filter-panel.collapsed{width:min(290px,calc(100vw - 28px));padding:14px 12px}.agenda-filter-panel.collapsed .agenda-filter-panel-body,.agenda-filter-panel.collapsed .agenda-filter-panel-head>div:first-child,.agenda-filter-panel.collapsed #btnPinFilters{display:initial}
}


/* Acesso assistido da equipe */
.support-context{margin:0 12px 12px;padding:12px;border:1px solid #f0cf78;background:#fff8e5;border-radius:12px;display:grid;gap:3px;line-height:1.25}
.support-context strong{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#805b00}
.support-context span{font-weight:700;font-size:13px;color:#32270f}
.support-context small{font-size:11px;color:#735f32;white-space:normal;overflow-wrap:anywhere}
.support-context a{margin-top:5px;font-size:12px;font-weight:700;color:#7a4f00;text-decoration:none}
.support-context a:hover{text-decoration:underline}
.support-shell{max-width:1180px;margin:0 auto;min-height:100vh;padding:28px}
.support-search{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:10px;padding:14px;margin-bottom:14px}
.support-list{display:grid}
.support-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1fr) auto;gap:14px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border,#e6e7ec)}
.support-row:last-child{border-bottom:0}
.support-row>div{display:grid;gap:3px}
.support-row>div span{font-size:12px;color:var(--muted,#74798a)}
@media(max-width:760px){.support-shell{padding:14px}.support-search,.support-row{grid-template-columns:1fr}.support-row .btn{width:100%}}


/* =========================================================
   Estabilidade de layout - Configurações / prevenção de scroll
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden}
.app{width:100%;max-width:100vw}
.main{min-width:0;max-width:100%;overflow-x:hidden}
.module-topbar,.module-page,.module-flash-wrap{min-width:0;max-width:100%}
.module-flash-wrap{padding:0 30px 14px}
.module-flash-wrap .alert{margin:0;max-width:956px}
.settings-page{grid-template-columns:minmax(130px,160px) minmax(0,780px);width:100%;max-width:100%;align-items:start}
.settings-page>*{min-width:0}
.settings-stack,.settings-section,.settings-section form,.module-form,.plan-limits{min-width:0;max-width:100%}
.settings-section input,.settings-section select,.settings-section textarea{min-width:0;max-width:100%}
.plan-limits{grid-template-columns:repeat(2,minmax(0,1fr))}
.plan-limits>div{min-width:0}
.plan-limits span,.plan-limits strong{min-width:0;overflow-wrap:anywhere}
@media(max-width:900px){
    .module-flash-wrap{padding:0 12px 12px}
    .module-flash-wrap .alert{max-width:none}
    .settings-page{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:560px){.plan-limits{grid-template-columns:minmax(0,1fr)}}

/* Filtro de unidades acompanha o mesmo padrão de seleção múltipla das agendas. */
.unit-filter-icon{width:10px;height:10px;display:grid;place-items:center;color:#858da0;font-size:10px;line-height:1}
.agenda-filter-check-unit:has(input:checked) .unit-filter-icon{color:#6669e8}


/* ===== Ícones refinados ===== */
.icon-svg{width:18px;height:18px;display:block;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.icon-btn{display:grid;place-items:center}
.icon-btn .icon-svg{width:17px;height:17px}
.logout:hover{background:#fff;border-color:var(--border);color:#4d5564}
.logout .logout-icon{width:18px;height:18px}

.filter-pin{position:relative}
.filter-pin.active,
.agenda-filter-panel:not(.unpinned) .filter-pin{
    background:#eef0ff;
    border-color:#d4d7ff;
    color:#5f63dd;
    box-shadow:inset 0 0 0 1px rgba(108,111,242,.04);
}
.agenda-filter-panel.unpinned .filter-pin{
    color:#70798a;
    background:transparent;
    border-color:transparent;
    box-shadow:none;
}

.unit-filter-icon{
    width:20px;
    height:20px;
    display:grid;
    place-items:center;
    color:#8b93a3;
    font-size:10px;
    line-height:1;
    border-radius:6px;
    background:#f3f4f8;
    border:1px solid #e6e9f0;
}
.unit-filter-icon .icon-svg{width:13px;height:13px}
.agenda-filter-check-unit:has(input:checked) .unit-filter-icon{
    color:#6366e8;
    background:#eef0ff;
    border-color:#d5d8ff;
}


/* =========================================================
   RESPONSIVIDADE 1.0 RC4 — celulares e tablets
   ========================================================= */
body{min-width:0}
img,svg{max-width:100%}
.panel,.module-page,.module-topbar,.settings-page,.settings-stack,.report-page,.calendar-shell{min-width:0}

.sidebar-mobile-trigger,.sidebar-mobile-backdrop{display:none}

/* Evita que textos longos, URLs e botões façam a página inteira crescer. */
.panel-head>*,.module-topbar>*,.data-row>*,.unit-card>*,.settings-heading>*,.agenda-setting-title-row>*,.compact-list-row>*{min-width:0}
.module-topbar h1,.module-topbar p,.panel-head h2,.panel-head p,.data-main,.public-link-box{overflow-wrap:anywhere}
.btn{max-width:100%}

@media(max-width:900px){
    body.mobile-nav-open{overflow:hidden}
    .sidebar{
        left:0!important;
        width:min(286px,86vw)!important;
        transform:translateX(-105%);
        transition:transform .2s ease;
        box-shadow:none;
        overflow-y:auto;
        overscroll-behavior:contain;
        padding-bottom:max(22px,env(safe-area-inset-bottom));
    }
    .sidebar.open{transform:translateX(0);box-shadow:20px 0 50px rgba(0,0,0,.18)}
    .sidebar-mobile-trigger{
        display:grid;
        position:fixed;
        left:12px;
        top:12px;
        width:40px;
        height:40px;
        place-items:center;
        border:1px solid var(--border);
        border-radius:11px;
        background:rgba(255,255,255,.96);
        color:#596273;
        box-shadow:0 7px 20px rgba(31,39,61,.08);
        z-index:35;
    }
    .sidebar-mobile-trigger[hidden]{display:none!important}
    .sidebar-mobile-backdrop{
        position:fixed;inset:0;background:rgba(16,24,40,.34);z-index:19;backdrop-filter:blur(1px)
    }
    .sidebar-mobile-backdrop:not([hidden]){display:block}

    /* Páginas dos módulos ganham espaço para o botão de menu global. */
    .module-topbar{padding-left:64px;min-height:auto;align-items:flex-start}
    .module-topbar>div:first-child{min-width:0}
    .module-topbar h1{font-size:22px}

    .settings-nav{scrollbar-width:none;white-space:nowrap;padding-bottom:2px}
    .settings-nav::-webkit-scrollbar{display:none}
    .settings-nav a{flex:0 0 auto;background:#fff;border:1px solid var(--border)}

    .panel-head{gap:12px}
    .calendar-shell{width:100%;max-width:100%;overflow:hidden}
    .calendar{width:100%;max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
    .agenda-filter-panel{max-height:calc(100dvh - 94px);overflow:auto;overscroll-behavior:contain}
}

@media(max-width:720px){
    .module-page{gap:12px}
    .panel{border-radius:14px}
    .panel-head,.settings-heading{padding-left:16px;padding-right:16px}
    .module-form,.form-grid{padding-left:16px;padding-right:16px}
    .panel-footer{padding:12px 16px;flex-wrap:wrap}
    .panel-footer .btn{flex:1 1 140px;text-align:center}

    .form-grid{grid-template-columns:minmax(0,1fr)!important}
    .form-grid .full{grid-column:auto!important}
    .check-grid{grid-template-columns:minmax(0,1fr)!important}

    .data-row{padding:12px}
    .data-main>span{white-space:normal;overflow-wrap:anywhere}
    .data-title-line{flex-wrap:wrap}
    .data-meta{min-width:0;margin-left:52px}
    .row-actions{gap:5px;flex-wrap:wrap}
    .row-actions .btn,.row-actions form{flex:1 1 auto}
    .row-actions form .btn{width:100%}

    .unit-card-footer{align-items:flex-start;flex-direction:column}
    .unit-card-footer .row-actions,.unit-card-footer .btn{width:100%}

    .report-filter-actions{justify-content:stretch;flex-wrap:wrap}
    .report-filter-actions .btn{flex:1 1 120px;text-align:center}
    .report-export-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
    .report-export-actions .btn{width:100%;text-align:center}
    .report-table-wrap{max-width:100%;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
    .report-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}

    .compact-list-row{padding:12px 14px}
    .inline-actions{flex-wrap:wrap}
    .inline-actions>*{flex:1 1 auto}

    .public-link-box{overflow-x:auto;max-width:calc(100vw - 56px)}

    .modal-backdrop{padding:10px;align-items:end}
    .modal{
        width:100%;
        max-width:none;
        max-height:min(92dvh,820px);
        border-radius:16px 16px 0 0;
        overflow:auto;
        overscroll-behavior:contain;
    }
    .modal-header{position:sticky;top:0;background:#fff;z-index:3;padding:16px 16px 10px;border-bottom:1px solid #f3f4f7}
    .modal-footer{position:sticky;bottom:0;background:#fff;z-index:3;padding:12px 16px;box-shadow:0 -8px 18px rgba(25,31,45,.04);flex-wrap:wrap}
    .modal-footer .btn{flex:1 1 120px}

    .slot-menu{width:min(320px,calc(100vw - 20px));max-height:70dvh;overflow:auto}
}

@media(max-width:560px){
    .module-topbar{padding:64px 12px 14px;gap:12px}
    .module-topbar h1{font-size:20px}
    .module-topbar p{font-size:11px;line-height:1.5}
    .module-page{padding:0 9px 18px}
    .module-flash-wrap{padding-left:9px;padding-right:9px}

    .brand strong{font-size:13px}.brand span{font-size:10px}
    .sidebar{padding-left:14px;padding-right:14px}

    .panel-head{align-items:flex-start;flex-direction:column}
    .panel-head>.btn,.panel-head>form,.panel-head>.row-actions{width:100%}
    .panel-head>.btn{display:block;text-align:center}

    .list-toolbar{padding:11px}
    .search-box{width:100%}
    .soft-counter{align-self:flex-start}

    .data-row{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px}
    .data-avatar{grid-column:1;grid-row:1}
    .data-main{grid-column:2;grid-row:1}
    .data-meta{grid-column:2;margin:0;text-align:left}
    .row-actions{grid-column:1/-1;width:100%;justify-content:stretch}
    .row-actions .btn{min-height:36px}

    .report-catalog,.report-filters,.report-summary{grid-template-columns:minmax(0,1fr)!important}
    .report-export-actions{grid-template-columns:minmax(0,1fr)}
    .preview-actions{display:grid;grid-template-columns:1fr 1fr}
    .preview-actions .btn{width:100%}
    .preview-sheet{padding:16px;border-radius:10px}

    /* Agenda: navegação cabe em telas estreitas sem criar scroll no body. */
    .topbar{padding:8px 9px;gap:8px}
    .topbar-left{gap:5px;flex-wrap:wrap}
    .topbar-left .btn{padding:8px 10px}
    .date-nav{gap:0}
    .topbar h1{order:3;width:100%;margin:2px 0 0;font-size:13px;white-space:normal}
    .topbar-actions{gap:7px;align-items:center}
    #btnAgendaFilters{padding:8px 10px}
    .view-switch{min-width:0;flex:1;justify-content:stretch}
    .view-switch button{flex:1;padding:7px 5px;font-size:10px}
    .calendar-shell{padding:7px}
    .calendar{border-radius:11px;min-height:calc(100dvh - 166px)}
    .day-grid{grid-template-columns:52px minmax(270px,1fr);min-width:322px}
    .week-grid{grid-template-columns:52px repeat(7,minmax(112px,1fr));min-width:836px}
    .month-grid{grid-template-columns:repeat(7,minmax(106px,1fr));min-width:742px}
    .time-label{padding-right:5px;font-size:9px}
    .event{font-size:10px;padding:5px}.event span{font-size:9px}
    .agenda-filter-panel{left:7px;top:7px;bottom:7px;width:calc(100vw - 14px);border-radius:12px}
    .agenda-filter-group{padding:10px}
    .agenda-export-grid{grid-template-columns:1fr 1fr}

    .toast{left:9px;right:9px;bottom:max(9px,env(safe-area-inset-bottom));max-width:none;text-align:left}

    .auth-body{padding:14px}.auth-card{padding:20px;border-radius:15px}.auth-copy h1{font-size:21px}
    .public-booking-shell{width:calc(100% - 12px)}
    .public-booking-card{border-radius:15px}
}

@media(max-width:380px){
    .sidebar-mobile-trigger{width:38px;height:38px;left:8px;top:8px}
    .module-topbar{padding-left:54px;padding-right:9px}
    .btn{padding-left:10px;padding-right:10px}
    .view-switch button{font-size:9px}
    .agenda-export-grid{grid-template-columns:1fr}
    .modal-footer{display:grid;grid-template-columns:1fr}
    .modal-footer .btn{width:100%}
}


/* ===== Fechamento 1.0: planos e administração ===== */
.signup-plan-note{display:flex;flex-direction:column;gap:3px;margin:0 0 16px;padding:11px 13px;border:1px solid #e2e4f4;background:#fafaff;border-radius:11px;color:#596273}.signup-plan-note strong{font-size:10px}.signup-plan-note span{font-size:9px;color:#8a92a0}
.plan-current-name{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:0 2px 12px}.plan-current-name span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#8d95a3;font-weight:800}.plan-current-name strong{font-size:15px;color:#444d5d}.plan-current-name small{width:100%;font-size:9px;color:#989faa}
.support-top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.support-account-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(300px,.9fr) minmax(300px,.9fr);gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border)}.support-account-row:last-child{border-bottom:0}.support-account-main{min-width:0}.support-account-main strong,.support-account-main span{display:block}.support-account-main strong{font-size:11px;color:#4e5665}.support-account-main span{font-size:9px;color:#949ca9;margin-top:4px;overflow-wrap:anywhere}.support-plan-inline,.support-access-inline{display:grid;grid-template-columns:minmax(110px,.65fr) minmax(130px,1fr) auto;gap:7px;align-items:center}.support-plan-inline select,.support-plan-inline input,.support-access-inline input{min-width:0;width:100%}.support-access-inline{grid-template-columns:minmax(160px,1fr) auto}.support-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.support-plan-card{min-width:0}.plan-flags{display:grid;gap:8px;padding:0 20px 18px}.support-plan-card .panel-footer{justify-content:flex-end}
@media(max-width:1100px){.support-account-row{grid-template-columns:1fr}.support-plan-grid{grid-template-columns:1fr 1fr}.support-plan-inline,.support-access-inline{max-width:680px}}
@media(max-width:680px){.support-plan-grid{grid-template-columns:1fr}.support-plan-inline,.support-access-inline{grid-template-columns:1fr}.support-top-actions{width:100%}.support-top-actions .btn{flex:1;text-align:center;justify-content:center}}

.api-token-reveal{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;margin:14px 18px;padding:12px;border:1px solid #d9dcef;background:#fafaff;border-radius:11px}.api-token-reveal span{font-size:9px;font-weight:800;color:#747d8c;text-transform:uppercase}.api-token-reveal code{min-width:0;padding:8px 10px;background:#f0f1f8;border-radius:8px;font-size:10px;overflow:auto;white-space:nowrap}.api-token-reveal small{grid-column:1/-1;color:#8e96a4;font-size:9px}.api-scope-grid{margin-top:7px}.platform-setting-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center;padding:18px 20px;margin-bottom:14px}.platform-setting-card h2{margin:2px 0 3px;font-size:14px}.platform-setting-card p{margin:0;color:#8b93a0;font-size:9px;line-height:1.5}.platform-setting-card .switch-field{white-space:nowrap}
@media(max-width:700px){.api-token-reveal{grid-template-columns:1fr}.api-token-reveal small{grid-column:auto}.platform-setting-card{grid-template-columns:1fr}.platform-setting-card .btn{width:100%;justify-content:center}}

.audit-list{display:grid}.audit-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.7fr);gap:16px;padding:12px 18px;border-top:1px solid var(--border)}.audit-row:first-child{border-top:0}.audit-row>div:last-child{text-align:right}.audit-row strong,.audit-row span{display:block}.audit-row strong{font-size:10px;color:#535c6b}.audit-row span{font-size:9px;color:#939aa7;margin-top:3px;overflow-wrap:anywhere}@media(max-width:640px){.audit-row{grid-template-columns:1fr}.audit-row>div:last-child{text-align:left}}

.public-privacy-note{padding:0 28px 20px;color:#969daa;font-size:9px;line-height:1.5}.public-privacy-note a{color:#6b6fe8;text-decoration:none}.public-privacy-note a:hover{text-decoration:underline}@media(max-width:640px){.public-privacy-note{padding:0 18px 18px}}


/* =========================================================
   ESTABILIDADE DE LAYOUT 1.0 RC6
   Revisão global: desktop, tablet e celular
   ========================================================= */
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{min-width:0}
.app{width:100%;max-width:100%;grid-template-columns:var(--sidebar) minmax(0,1fr)}
.main,.module-topbar,.module-page,.panel,.settings-page,.settings-stack,.settings-section,.report-page,.calendar-shell,.support-shell{min-width:0;max-width:100%}
.module-page>*{min-width:0}
.panel-head>*{min-width:0}
input,select,textarea{min-width:0;max-width:100%}
img,svg{max-width:100%}
.sidebar-mobile-trigger,.sidebar-mobile-backdrop{display:none}

/* A área administrativa já possui um container externo; evita padding duplicado. */
.support-shell{width:min(1180px,100%);margin:0 auto;padding:28px}
.support-shell>.module-topbar{padding:4px 0 22px;min-height:auto}
.support-shell>.module-page{padding:0;gap:16px}
.support-shell .panel{width:100%}
.support-account-row,.support-plan-inline,.support-access-inline,.support-plan-card,.platform-setting-card{min-width:0}

/* Tabelas e conteúdos largos devem rolar dentro do componente, nunca no body. */
.table-wrap,.report-table-wrap,.preview-table,.public-link-box,.api-token-reveal code{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

@media(max-width:900px){
    .app{display:block}
    .sidebar-mobile-trigger{display:grid}
    body:has(#btnMenu) .sidebar-mobile-trigger{display:none!important}

    /* Somente páginas com sidebar precisam reservar espaço para o botão mobile. */
    .app .module-topbar{padding-left:64px}
    .support-shell>.module-topbar{padding:4px 0 16px}
    .support-shell>.module-page{padding:0}

    .settings-page{grid-template-columns:minmax(0,1fr)!important}
    .settings-nav{position:static;display:flex;overflow-x:auto;overflow-y:hidden;gap:6px;white-space:nowrap;padding-bottom:4px}
    .settings-nav a{flex:0 0 auto}
}

@media(max-width:720px){
    .module-page{padding-left:12px;padding-right:12px}
    .support-shell{padding:14px}
    .support-shell>.module-page{padding:0}
    .support-shell>.module-topbar{padding:2px 0 14px}

    .module-topbar{gap:12px}
    .module-topbar>*{min-width:0;max-width:100%}
    .module-topbar .support-top-actions{width:100%}

    .panel-head,.settings-heading{padding-left:16px;padding-right:16px}
    .module-form,.form-grid{padding-left:16px;padding-right:16px}
    .form-grid{grid-template-columns:minmax(0,1fr)!important}
    .form-grid .full{grid-column:auto!important}

    .support-account-row{grid-template-columns:minmax(0,1fr)!important}
    .support-plan-inline,.support-access-inline,.platform-setting-card{grid-template-columns:minmax(0,1fr)!important}
    .support-plan-grid{grid-template-columns:minmax(0,1fr)!important}
    .support-plan-inline .btn,.support-access-inline .btn,.platform-setting-card .btn{width:100%;justify-content:center;text-align:center}

    .panel-footer{flex-wrap:wrap}
    .panel-footer .btn{flex:1 1 140px;text-align:center}
}

@media(max-width:560px){
    .app .module-topbar{padding:64px 12px 14px}
    .support-shell>.module-topbar{padding:0 0 14px}
    .support-shell>.module-page{padding:0}

    .module-page{padding-left:9px;padding-right:9px}
    .support-shell{padding:12px}
    .support-shell .module-page{padding-left:0;padding-right:0}

    .panel-head{align-items:flex-start;flex-direction:column}
    .panel-head>.btn,.panel-head>form,.panel-head>.row-actions{width:100%}
    .row-actions{max-width:100%;flex-wrap:wrap}

    .public-link-box{max-width:100%}
    .api-token-reveal{margin-left:12px;margin-right:12px}

    .topbar{width:100%;max-width:100%;overflow:hidden}
    .topbar-left,.topbar-actions{min-width:0;max-width:100%}
}

@media(max-width:380px){
    .support-shell{padding:9px}
    .app .module-topbar{padding-left:54px;padding-right:9px}
    .panel-footer{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
    .panel-footer .btn{width:100%}
}


/* =========================================================
   STATUS DA AGENDA + SINCRONIZAÇÃO VISUAL — RC11
   ========================================================= */
/*
 * As classes são aplicadas a partir de DOM_STATUS_AGENDAMENTO.CD_STATUS_AGENDAMENTO.
 * Mantemos contraste suave para leitura rápida sem transformar a agenda em um carnaval.
 */
.event.status-agendado,.month-event.status-agendado{
    background:#eef3ff;border-color:#d9e3ff;border-left-color:#5d7ce6;color:#445a9a
}
.event.status-agendado strong{color:#3f568f}.event.status-agendado span{color:#7180a6}

.event.status-confirmado,.month-event.status-confirmado{
    background:#edf9f3;border-color:#d7eee2;border-left-color:#3fa978;color:#357c5d
}
.event.status-confirmado strong{color:#326f56}.event.status-confirmado span{color:#658a78}

.event.status-concluido,.month-event.status-concluido{
    background:#eef8f8;border-color:#d9ecec;border-left-color:#41989a;color:#39797b;opacity:1
}
.event.status-concluido strong{color:#356f71}.event.status-concluido span{color:#6b8d8f}

.event.status-cancelado,.month-event.status-cancelado{
    background:#fff1f2;border-color:#f3d8dc;border-left-color:#d56772;color:#a24f57;opacity:.72
}
.event.status-cancelado strong{color:#99515a}.event.status-cancelado span{color:#a8797e}

.event.status-nao_compareceu,.month-event.status-nao_compareceu,
.event.status-nao-compareceu,.month-event.status-nao-compareceu{
    background:#fff7e8;border-color:#f1e3c7;border-left-color:#d69a36;color:#936821;opacity:1
}
.event.status-nao_compareceu strong,.event.status-nao-compareceu strong{color:#86601f}
.event.status-nao_compareceu span,.event.status-nao-compareceu span{color:#9b8258}

.event.status-pendente,.month-event.status-pendente{
    background:#fffbe9;border-color:#efe6bb;border-left-color:#c8a83d;color:#806f2d
}
.event.status-remarcado,.month-event.status-remarcado{
    background:#f5f0ff;border-color:#e5d9fb;border-left-color:#8666cc;color:#674fa0
}

.month-event{
    border:1px solid transparent;
    border-left-width:3px;
    padding:4px 6px;
}

/* RC15 — cancelamentos com e sem antecedência */
.event.status-cancelado_com_antecedencia,.month-event.status-cancelado_com_antecedencia,
.event.status-cancelado-com-antecedencia,.month-event.status-cancelado-com-antecedencia{
  background:#f6f7f9;border-color:#e2e5ea;opacity:.72;
}
.event.status-cancelado_com_antecedencia strong,.event.status-cancelado-com-antecedencia strong{color:#687180}
.event.status-cancelado_com_antecedencia span,.event.status-cancelado-com-antecedencia span{color:#8b929d}
.event.status-cancelado_sem_antecedencia,.month-event.status-cancelado_sem_antecedencia,
.event.status-cancelado-sem-antecedencia,.month-event.status-cancelado-sem-antecedencia{
  background:#fff0f0;border-color:#f1c4c4;opacity:1;
}
.event.status-cancelado_sem_antecedencia strong,.event.status-cancelado-sem-antecedencia strong{color:#9d3f49}
.event.status-cancelado_sem_antecedencia span,.event.status-cancelado-sem-antecedencia span{color:#ad6970}


/* IDENTIDADE VISUAL - AgendeSeuHorario */
.brand-icon{width:40px;height:40px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 6px 12px rgba(30,102,222,.14))}
.brand-copy{min-width:0}
.brand-wordmark{font-weight:800!important;letter-spacing:-.035em;color:#0d2148;white-space:nowrap}
.brand-wordmark em{font-style:normal;color:#1680f5}
.brand-copy>span{display:block;font-size:11px;color:#95a0b5;margin-top:2px}
.sidebar .brand-wordmark{color:#f8fbff}
.sidebar .brand-wordmark em{color:#4da2ff}
.sidebar .brand-icon{width:42px;height:42px;filter:drop-shadow(0 7px 14px rgba(0,121,255,.22))}
.brand-login{align-items:center}
.brand-login .brand-icon{width:48px;height:48px}
.brand-login .brand-wordmark{font-size:18px!important;color:#0d2148}
.public-brand .brand-icon{width:42px;height:42px}
.preview-header .brand-icon{width:42px;height:42px}
@media(max-width:520px){
    .brand-login .brand-wordmark{font-size:16px!important}
    .brand-login .brand-icon{width:44px;height:44px}
}


/* =========================================================
   AJUSTES DE MARCA + LANDING PAGE
   ========================================================= */
.sidebar-brand{align-items:center;gap:10px}
.brand-logo{display:block;width:172px;max-width:100%;height:auto;object-fit:contain;flex:0 1 auto}
.sidebar .brand-logo{filter:none}
.sidebar .brand-copy{display:none}
.sidebar .brand-wordmark{color:#0d2148}
.sidebar .brand-wordmark em{color:#1680f5}
@media (max-width:900px){
    .brand-logo{width:160px}
    .sidebar .brand-logo{width:156px}
}

.landing-body{margin:0;background:radial-gradient(circle at top left,rgba(108,111,242,.12),transparent 28%),linear-gradient(180deg,#f7f9fc 0%,#ffffff 42%,#f8faff 100%);color:var(--text)}
.landing-container{width:min(1160px,calc(100% - 40px));margin:0 auto}
.landing-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.85);backdrop-filter:blur(14px);border-bottom:1px solid rgba(225,229,238,.9)}
.landing-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0}
.landing-brand{display:inline-flex;align-items:center}
.landing-brand img{height:42px;width:auto;display:block}
.landing-nav-actions{display:flex;align-items:center;gap:12px}
.landing-link{text-decoration:none;color:#637085;font-size:14px;font-weight:700}
.landing-link:hover{color:#2f3950}
.landing-hero{padding:56px 0 36px}
.landing-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center;gap:42px}
.landing-kicker{display:inline-block;padding:8px 12px;border-radius:999px;background:rgba(108,111,242,.1);color:#575ee7;font-size:12px;font-weight:800;letter-spacing:.03em}
.landing-hero-copy h1{font-size:clamp(32px,4.2vw,54px);line-height:1.03;letter-spacing:-.045em;margin:16px 0 16px;max-width:12ch}
.landing-hero-copy p{font-size:17px;line-height:1.7;color:#697487;max-width:700px;margin:0}
.landing-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 30px}
.landing-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.landing-highlight{background:rgba(255,255,255,.75);border:1px solid #e8ecf4;border-radius:18px;padding:18px 17px;box-shadow:0 14px 35px rgba(58,73,111,.06)}
.landing-highlight strong{display:block;font-size:14px;margin-bottom:7px;letter-spacing:-.02em}
.landing-highlight span{display:block;font-size:12px;line-height:1.6;color:#7a8494}
.landing-hero-visual{position:relative}
.landing-preview-window{background:linear-gradient(180deg,#ffffff,#f8faff);border:1px solid #e7ebf3;border-radius:28px;padding:14px;box-shadow:0 30px 80px rgba(61,74,115,.12)}
.landing-preview-bar{display:flex;gap:7px;padding:4px 4px 14px}
.landing-preview-bar span{width:10px;height:10px;border-radius:50%;background:#d8deea}
.landing-preview-content{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(210px,.8fr);gap:14px}
.landing-preview-card{background:#fff;border:1px solid #e8ecf4;border-radius:20px;padding:18px;box-shadow:0 10px 28px rgba(42,56,88,.05)}
.landing-preview-card.is-large{min-height:100%}
.landing-preview-title{font-size:14px;font-weight:800;color:#3f4960;letter-spacing:-.02em;margin-bottom:14px}
.landing-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.landing-preview-col{display:grid;gap:8px}
.landing-preview-col small{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#99a2b1;font-weight:800}
.slot{display:block;padding:10px 11px;border-radius:14px;background:#f4f6fb;color:#5f6980;font-size:12px;font-weight:700;border:1px solid #ebeff5}
.slot-primary{background:#eff0ff;color:#5b60e7;border-color:#dde0ff}
.slot-green{background:#eef8f2;color:#3c8a66;border-color:#d6ecde}
.slot-orange{background:#fff6eb;color:#be7b27;border-color:#f7e2c2}
.slot-red{background:#fff0f1;color:#c55467;border-color:#f5d6dc}
.landing-preview-side{display:grid;gap:14px}
.landing-preview-card p{margin:0;color:#7a8494;font-size:12px;line-height:1.65}
.landing-section{padding:34px 0}
.landing-section-alt{background:linear-gradient(180deg,rgba(242,245,252,.66),rgba(255,255,255,.94))}
.landing-section-head{margin-bottom:20px;max-width:720px}
.landing-section-head h2{font-size:clamp(28px,3vw,40px);letter-spacing:-.04em;margin:13px 0 10px}
.landing-section-head p{margin:0;font-size:15px;color:#778092;line-height:1.7}
.landing-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.landing-feature-card{background:#fff;border:1px solid #e7ebf3;border-radius:22px;padding:22px;box-shadow:0 14px 34px rgba(60,75,112,.06)}
.landing-feature-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#f2f4ff;font-size:22px;margin-bottom:14px}
.landing-feature-card h3{margin:0 0 8px;font-size:18px;letter-spacing:-.03em}
.landing-feature-card p{margin:0;font-size:13px;line-height:1.7;color:#768193}
.landing-integrations{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:26px;align-items:start}
.landing-integrations h2{font-size:clamp(26px,3vw,38px);margin:12px 0 10px;letter-spacing:-.04em}
.landing-integrations p{margin:0;color:#748093;line-height:1.7}
.landing-integration-cards{display:grid;gap:14px}
.integration-card{background:#fff;border:1px solid #e7ebf3;border-radius:20px;padding:18px 20px;box-shadow:0 12px 28px rgba(60,75,112,.05)}
.integration-card strong{display:block;margin-bottom:6px;font-size:16px}
.integration-card span{display:block;color:#788293;font-size:13px;line-height:1.65}
.landing-cta-section{padding-top:18px;padding-bottom:54px}
.landing-cta-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;background:linear-gradient(135deg,#171f33,#2d3a63 68%,#405295 100%);color:#fff;border-radius:28px;padding:32px;border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 52px rgba(22,30,53,.2)}
.landing-cta-box .landing-kicker{background:rgba(255,255,255,.12);color:#dfe8ff}
.landing-cta-box h2{font-size:clamp(24px,3vw,36px);margin:12px 0 10px;letter-spacing:-.04em}
.landing-cta-box p{margin:0;color:rgba(235,239,250,.82);line-height:1.7}
.landing-cta-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
.landing-cta-box .btn-secondary{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.14)}
.landing-cta-box .btn-secondary:hover{background:rgba(255,255,255,.14)}
.landing-footer{border-top:1px solid #e8ecf4;padding:20px 0 30px;background:rgba(255,255,255,.78)}
.landing-footer-row{display:flex;align-items:center;justify-content:space-between;gap:20px}
.landing-footer strong{display:block;font-size:14px}
.landing-footer span{display:block;color:#7e8796;font-size:12px;margin-top:5px}
.startfox-credit{font-size:13px;color:#6f798a;white-space:nowrap}
.startfox-credit strong{display:inline;color:#2f3950}

@media (max-width:1080px){
    .landing-hero-grid,.landing-integrations,.landing-cta-box{grid-template-columns:1fr}
    .landing-highlights,.landing-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .landing-cta-actions{justify-content:flex-start}
}
@media (max-width:760px){
    .landing-container{width:min(100% - 24px,1160px)}
    .landing-nav{padding:12px 0}
    .landing-nav-actions{gap:10px}
    .landing-brand img{height:38px}
    .landing-hero{padding:34px 0 24px}
    .landing-hero-copy p{font-size:15px}
    .landing-highlights,.landing-feature-grid,.landing-preview-content,.landing-preview-grid{grid-template-columns:1fr}
    .landing-section{padding:28px 0}
    .landing-preview-window{border-radius:22px}
    .landing-preview-card,.landing-feature-card,.integration-card{border-radius:18px}
    .landing-cta-box{padding:24px}
    .landing-footer-row{flex-direction:column;align-items:flex-start}
}


/* =========================================================
   CLIENTES — FILTRO DE INATIVOS
   ========================================================= */
.client-list-toolbar{align-items:center}
.client-list-filter{display:flex;align-items:center;gap:10px;min-width:0;flex:1;flex-wrap:wrap}
.client-list-filter .search-box{flex:1 1 320px}
.client-inactive-toggle{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;cursor:pointer;color:#687182;font-size:11px;font-weight:700}
.client-inactive-toggle input{position:absolute;opacity:0;pointer-events:none}
.client-inactive-toggle-ui{width:32px;height:18px;border-radius:999px;background:#dfe2e8;position:relative;transition:.16s ease;flex:0 0 auto}
.client-inactive-toggle-ui:after{content:"";position:absolute;left:2px;top:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.15);transition:.16s ease}
.client-inactive-toggle input:checked+.client-inactive-toggle-ui{background:var(--primary)}
.client-inactive-toggle input:checked+.client-inactive-toggle-ui:after{transform:translateX(14px)}
.client-inactive-toggle input:focus-visible+.client-inactive-toggle-ui{outline:3px solid rgba(108,111,242,.18);outline-offset:2px}
@media(max-width:720px){
  .client-list-toolbar{align-items:stretch}
  .client-list-filter{width:100%}
  .client-list-filter .search-box{flex-basis:100%}
  .client-list-toolbar .soft-counter{align-self:flex-start}
}


/* =========================================================
   RC19 - DRAWER DE FILTROS NO MOBILE / iOS
   ========================================================= */
@media(max-width:980px){
    body.agenda-filters-open{overflow:hidden}
    body.agenda-filters-open::after{
        content:"";
        position:fixed;
        inset:0;
        z-index:11;
        background:rgba(17,24,39,.26);
        backdrop-filter:blur(1px);
        -webkit-backdrop-filter:blur(1px);
    }
    .agenda-filter-panel{
        z-index:36;
        -webkit-overflow-scrolling:touch;
        will-change:transform;
    }
    .agenda-filter-panel.open{
        transform:translate3d(0,0,0);
        pointer-events:auto;
    }
    #btnAgendaFilters{
        touch-action:manipulation;
        -webkit-tap-highlight-color:transparent;
    }
}


/* =========================================================
   RC20 - POLIMENTO MOBILE GLOBAL
   Scroll horizontal somente em componentes que precisam dele.
   ========================================================= */

/* Containers comuns nunca devem ampliar a largura do viewport. */
.main,.module-page,.module-topbar,.panel,.panel-head,.panel-footer,
.data-list,.data-row,.unit-grid,.unit-card,.settings-stack,.settings-section,
.public-booking-card,.landing-body main,.landing-section,.landing-hero,
.support-shell,.support-list,.support-row{
    min-width:0;
    max-width:100%;
}

/* Locais em que o scroll horizontal é proposital. */
.calendar,
.table-wrap,.report-table-wrap,.preview-table,
.settings-nav,.public-link-box,.api-token-reveal code{
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
}

@media(max-width:900px){
    .sidebar{
        height:100dvh;
        max-height:100dvh;
        padding-top:max(22px,env(safe-area-inset-top));
        padding-bottom:max(22px,env(safe-area-inset-bottom));
    }
    .sidebar-mobile-trigger{
        top:max(12px,env(safe-area-inset-top));
    }
    .topbar{
        padding-top:max(10px,env(safe-area-inset-top));
    }
    .module-topbar{
        padding-top:max(22px,calc(env(safe-area-inset-top) + 12px));
    }
}

@media(max-width:760px){
    /* Controles com área de toque confortável no iOS/Android. */
    .btn,.icon-btn,.view-switch button,.link-button,
    .client-inactive-toggle,.agenda-filter-check,.check-card{
        min-height:44px;
    }
    .icon-btn{min-width:44px}
    .agenda-filter-check{padding-top:9px;padding-bottom:9px}
    .check-card{align-items:center}

    /* Evita zoom automático do Safari ao focar campos menores que 16px. */
    input,select,textarea{font-size:16px}

    /* Cabeçalhos e toolbars empilham sem forçar scroll no body. */
    .module-topbar,.panel-head,.list-toolbar{max-width:100%}
    .module-topbar{flex-wrap:wrap}
    .panel-head{flex-wrap:wrap}
    .list-toolbar{flex-wrap:wrap}
    .list-toolbar>*{min-width:0;max-width:100%}

    /* Cards/listas: conteúdo textual quebra; ações continuam acessíveis. */
    .data-row,.support-row{overflow:visible}
    .data-main strong,.data-main span,.support-row strong,.support-row span,
    .credential-password{overflow-wrap:anywhere;word-break:break-word}

    /* Modal em formato bottom-sheet, respeitando safe-area. */
    .modal-backdrop{
        padding-left:8px;
        padding-right:8px;
        padding-bottom:env(safe-area-inset-bottom);
    }
    .modal{max-height:calc(100dvh - max(12px,env(safe-area-inset-top)))}
    .modal-footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}
    .modal-header .icon-btn{flex:0 0 44px}

    /* Agendamento público não pode criar scroll lateral. */
    .public-booking-shell,.public-booking-card,.public-step,
    .public-booking-intro,.public-booking-footer{max-width:100%;min-width:0}
    .verification-code-row{max-width:100%}

    /* Landing: header e CTAs cabem mesmo em iPhones estreitos. */
    .landing-nav{gap:10px}
    .landing-brand{min-width:0;flex:1}
    .landing-brand img{max-width:170px;height:auto}
    .landing-nav-actions{flex:0 0 auto;gap:6px}
    .landing-nav-actions .btn{padding:9px 11px;font-size:12px;white-space:nowrap}
    .landing-link{font-size:12px;white-space:nowrap}
    .landing-cta-row .btn{flex:1 1 150px;text-align:center}
}

@media(max-width:560px){
    /* Na visualização Dia não há motivo para scroll horizontal. */
    .day-grid{grid-template-columns:48px minmax(0,1fr);min-width:0;width:100%}

    /* Semana e mês continuam rolando SOMENTE dentro do calendário. */
    .week-grid,.month-grid{max-width:none}
    .calendar{overflow-x:auto;overflow-y:auto}

    .topbar{overflow:visible}
    .topbar-left,.topbar-actions{width:100%;flex-wrap:wrap}
    .topbar-left{justify-content:flex-start}
    .topbar-actions{justify-content:stretch}
    #btnAgendaFilters{flex:0 0 auto}
    .view-switch{flex:1 1 210px;width:auto}

    .report-summary{grid-template-columns:minmax(0,1fr)!important}

    /* Configurações: somente a barra de seções pode rolar lateralmente. */
    .settings-page,.settings-stack,.settings-section,.agenda-setting,
    .platform-setting-card,.api-token-reveal{overflow-x:clip}

    /* URLs e tokens são exceções legítimas de scroll horizontal. */
    .public-link-box,.api-token-reveal code{overflow-x:auto!important;overflow-y:hidden}

    /* Landing muito estreita. */
    .landing-container{width:calc(100% - 20px)}
    .landing-brand img{max-width:145px}
    .landing-nav-actions .btn{padding:8px 9px}
    .landing-highlights,.landing-feature-grid,.landing-preview-grid,
    .landing-preview-content{grid-template-columns:minmax(0,1fr)!important}
}

@media(max-width:390px){
    .landing-brand img{max-width:132px}
    .landing-link{display:none}
    .landing-nav-actions .btn{font-size:11px}
    .module-topbar{padding-left:54px!important;padding-right:9px!important}
    .topbar{padding-left:7px;padding-right:7px}
    .topbar-left .btn,#btnAgendaFilters{padding-left:9px;padding-right:9px}
    .view-switch button{padding-left:4px;padding-right:4px}
}


/* =========================================================
   RC21 - CONTROLES DE VISUALIZACAO DA AGENDA
   ========================================================= */
.view-switch button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.view-switch button:focus-visible{outline:2px solid rgba(108,111,242,.45);outline-offset:2px}
@media(max-width:640px){
    .view-switch{min-height:44px}
    .view-switch button{min-height:38px;font-size:11px}
}


/* =========================================================
   RC23 - SERVIÇOS + DETALHES DO AGENDAMENTO
   ========================================================= */
.service-row{color:inherit;text-decoration:none}.service-form-grid{grid-template-columns:2fr 1fr 1fr 1fr}.service-agendas{padding:0 23px 22px}.service-agendas h3{font-size:13px;margin:4px 0 12px}.service-agenda-row{display:grid;grid-template-columns:minmax(180px,1fr) 170px 170px;gap:12px;align-items:end;padding:12px 0;border-top:1px solid var(--border)}.inline-check{display:flex;align-items:center;gap:8px;font-size:11px;color:#657080}.inline-check input{width:auto}.appointment-details{padding:4px 24px 18px;display:grid}.appointment-detail-row{display:grid;grid-template-columns:145px minmax(0,1fr);gap:14px;padding:10px 0;border-bottom:1px solid var(--border)}.appointment-detail-row span{font-size:10px;color:#929aa8}.appointment-detail-row strong{font-size:12px;color:#404858;overflow-wrap:anywhere}
@media(max-width:760px){.service-form-grid{grid-template-columns:1fr}.service-agenda-row{grid-template-columns:1fr}.appointment-detail-row{grid-template-columns:1fr;gap:3px}.services-page{padding-left:12px;padding-right:12px}}


/* RC24 - relatório de receita */
.report-summary-revenue strong{font-variant-numeric:tabular-nums}
@media(max-width:760px){.report-summary-revenue{grid-template-columns:repeat(2,minmax(0,1fr))}.report-summary-revenue>div:first-child{grid-column:1/-1}}


/* =========================================================
   RC25 - DETALHES PREMIUM + STATUS DRAWER
   ========================================================= */
.appointment-details-modal{max-width:720px;overflow:hidden}.appointment-details-header{padding-bottom:14px;border-bottom:1px solid var(--border)}.appointment-details-code{font-size:10px;color:#9199a7;margin-top:5px;font-weight:650;letter-spacing:.03em}.appointment-details-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px 18px;background:linear-gradient(180deg,#fbfcff,#fff)}.appointment-details-main{min-width:0}.appointment-details-label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#a1a8b5;font-weight:800;margin-bottom:5px}.appointment-details-main strong{display:block;font-size:22px;letter-spacing:-.035em;color:#303847;line-height:1.15}.appointment-details-main>span:last-child{display:block;font-size:12px;color:#7d8798;margin-top:6px}.appointment-status-pill{flex:0 0 auto;border-radius:999px;padding:8px 11px;font-size:10px;font-weight:800;background:#f0f1f5;color:#687181;border:1px solid #e5e8ee;white-space:nowrap}.appointment-status-pill.status-agendado{background:#eef3ff;color:#5270d8;border-color:#dce5ff}.appointment-status-pill.status-confirmado,.appointment-status-pill.status-concluido{background:#edf8f3;color:#3f8667;border-color:#d6ecdf}.appointment-status-pill.status-nao_compareceu{background:#fff6e8;color:#ad7427;border-color:#f4e1bf}.appointment-status-pill.status-cancelado,.appointment-status-pill.status-cancelado_com_antecedencia{background:#f5f6f8;color:#8c94a1;border-color:#e8eaee}.appointment-status-pill.status-cancelado_sem_antecedencia{background:#fff0f2;color:#bd5365;border-color:#f4d7dd}.appointment-status-pill.status-remarcado{background:#f3f0ff;color:#715fd0;border-color:#e3dcff}.appointment-details-grid{padding:0 24px 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.appointment-detail-card{display:flex;align-items:center;gap:12px;min-width:0;padding:14px;border:1px solid #eaedf3;border-radius:15px;background:#fff}.appointment-detail-card>div{min-width:0}.appointment-detail-card span:not(.appointment-detail-icon){display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#9ba3b0;font-weight:750}.appointment-detail-card strong{display:block;margin-top:4px;font-size:12px;color:#444d5e;overflow-wrap:anywhere}.appointment-detail-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#f3f4ff;flex:0 0 auto}.appointment-detail-icon:before{font-size:15px}.appointment-detail-icon-calendar:before{content:"◫"}.appointment-detail-icon-clock:before{content:"◷"}.appointment-detail-icon-money:before{content:"$"}.appointment-detail-icon-agenda:before{content:"≡"}.appointment-detail-icon-location:before{content:"⌖"}.appointment-detail-icon-source:before{content:"↗"}.appointment-details-notes{margin:0 24px 16px;padding:14px 16px;border:1px solid #eaedf3;border-radius:15px;background:#fafbfc}.appointment-details-notes span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#9ba3b0;font-weight:800;margin-bottom:6px}.appointment-details-notes p{margin:0;font-size:12px;color:#5f697a;line-height:1.65;white-space:pre-wrap}.appointment-details-cancel{background:#fff8f8;border-color:#f3dfdf}.appointment-details-footer{justify-content:space-between}.appointment-details-footer .modal-footer-actions{margin-left:auto}

@media(max-width:640px){
    .appointment-details-modal{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:18px}
    .appointment-details-hero{padding:18px 16px 14px;flex-direction:column}
    .appointment-details-main strong{font-size:20px}
    .appointment-details-grid{padding:0 16px 16px;grid-template-columns:1fr}
    .appointment-details-notes{margin-left:16px;margin-right:16px}
    .appointment-details-footer{padding-left:16px;padding-right:16px;gap:8px}
    .appointment-details-footer .modal-footer-actions{width:100%;display:grid;grid-template-columns:1fr}
    .appointment-details-footer>button{display:none}
}


/* =========================================================
   RC26 - STATUS COMO SUBMENU DO MENU FLUTUANTE
   ========================================================= */
.slot-status-wrap{display:grid;gap:2px}
.slot-status-trigger{position:relative}
.slot-status-trigger .slot-submenu-chevron{margin-left:auto!important;min-width:auto!important;font-size:18px;line-height:1;color:#adb4c1;transition:transform .14s ease}
.slot-status-trigger[aria-expanded="true"]{background:#f7f7fb}
.slot-status-trigger[aria-expanded="true"] .slot-submenu-chevron{transform:rotate(90deg)}
.slot-status-submenu{margin:1px 4px 5px 38px;padding:4px;border-left:1px solid #e8eaf0;display:grid;gap:1px}
.slot-status-submenu[hidden]{display:none}
.slot-menu .slot-status-option{padding:8px 8px;gap:9px;border-radius:9px}
.slot-menu .slot-status-option:hover{background:#f5f6fa}
.slot-menu .slot-status-option:disabled{opacity:.48;cursor:default;background:transparent}
.slot-status-dot{width:9px;height:9px;border-radius:50%;background:#a4acb9;box-shadow:0 0 0 3px #f1f3f6;flex:0 0 auto}
.slot-status-option>span:nth-child(2){min-width:0;flex:1}
.slot-status-option strong{font-size:10px!important}
.slot-status-option small{font-size:8px!important;margin-top:1px!important}
.status-dot-agendado{background:#6b8be3}.status-dot-confirmado,.status-dot-concluido{background:#54a17b}.status-dot-nao_compareceu{background:#d79a43}.status-dot-remarcado{background:#8b75d8}.status-dot-cancelado{background:#d35f71}
@media(max-width:640px){.slot-status-submenu{margin-left:34px}.slot-menu .slot-status-option{min-height:42px}}


/* =========================================================
   RC28 - EM ATENDIMENTO + CORRECAO DETALHES
   ========================================================= */
.event.status-em_atendimento,.month-event.status-em_atendimento,
.event.status-em-atendimento,.month-event.status-em-atendimento{
    background:#fff4e8;border-color:#f4dfc4;border-left-color:#e58a2f;color:#9b641f;opacity:1
}
.event.status-em_atendimento strong,.event.status-em-atendimento strong{color:#8d5919}
.event.status-em_atendimento span,.event.status-em-atendimento span{color:#a67a45}
.appointment-status-pill.status-em_atendimento,.appointment-status-pill.status-em-atendimento{
    background:#fff4e8;color:#a3661f;border-color:#f1d6b3
}
.status-dot-em_atendimento,.status-dot-em-atendimento{background:#e58a2f}

/* =========================================================
   RC29 - EM ATENDIMENTO + LABEL SERVICO/VALOR
   ========================================================= */
.event.status-em_atendimento,
.month-event.status-em_atendimento,
.event.status-em-atendimento,
.month-event.status-em-atendimento {
    background:#e7f8fb !important;
    border-color:#bfe9ef !important;
    border-left-color:#24a7b8 !important;
    color:#176c78 !important;
    opacity:1 !important;
}
.event.status-em_atendimento strong,
.event.status-em-atendimento strong { color:#125f69 !important; }
.event.status-em_atendimento span,
.event.status-em-atendimento span { color:#3f7f88 !important; }
.appointment-status-pill.status-em_atendimento,
.appointment-status-pill.status-em-atendimento {
    background:#e7f8fb !important;
    color:#176c78 !important;
    border-color:#bfe9ef !important;
}
.status-dot-em_atendimento,
.status-dot-em-atendimento { background:#24a7b8 !important; }

.event span{
    display:block;
    margin-top:2px;
    line-height:1.25;
    white-space:normal;
    overflow:hidden;
    text-overflow:ellipsis;
}
