/* Daniela Barbosa — V11 Acompanhamento
   Movimento calmo, informação legível e identidade humana. */

:root{
  --v11-forest:#4B3428;
  --v11-forest-2:#70503C;
  --v11-moss:#6F7757;
  --v11-cream:#F5F0E8;
  --v11-sand:#E6DBCD;
  --v11-gold:#B98A5A;
  --v11-gold-soft:#DEC7B3;
  --v11-rose:#B46842;
  --v11-ink:#3A281F;
  --v11-shadow:0 24px 70px rgba(50,41,33,.13);
  --v11-shadow-soft:0 12px 35px rgba(50,41,33,.09);
  --v11-ease:cubic-bezier(.22,1,.36,1);
}

[data-v11-icon] svg{width:1em;height:1em;display:block;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.v11-nav-symbol,.v11-client-tab-icon{display:grid;place-items:center;width:1.28rem;height:1.28rem;flex:0 0 auto}
.gestao-body [data-subtab="site-turmas"],.gestao-body #site-turmas{display:none!important}
.v10-client-monogram[data-v11-person],.v10-contact-monogram[data-v11-person]{background:linear-gradient(145deg,var(--v11-person-a),var(--v11-person-b))!important;border:2px solid rgba(255,255,255,.9);box-shadow:0 8px 20px color-mix(in srgb,var(--v11-person-a) 28%,transparent)!important;isolation:isolate}
.v10-contact-monogram[data-v11-person]{position:relative}
.v10-client-monogram[data-v11-person]::before,.v10-contact-monogram[data-v11-person]::before{content:"";position:absolute;inset:-5px;border:1px solid color-mix(in srgb,var(--v11-person-b) 45%,transparent);border-radius:inherit;z-index:-1;opacity:.72}
.admin-appointment-card[data-v11-personal],.contact-card[data-v11-personal]{background-image:radial-gradient(circle at 96% 8%,color-mix(in srgb,var(--v11-gold-soft) 42%,transparent),transparent 25%)}

/* Segunda proteção do backoffice */
.v11-mfa-gate{
  width:min(560px,calc(100% - 2rem));margin:clamp(2rem,8vh,6rem) auto;padding:clamp(1.6rem,4vw,3rem);
  color:var(--v11-ink);background:
    radial-gradient(circle at 86% 8%,rgba(196,124,66,.2),transparent 28%),
    linear-gradient(145deg,#fefbf9,var(--v11-cream));border:1px solid rgba(196,124,66,.28);
  border-radius:34px;box-shadow:var(--v11-shadow);text-align:center;position:relative;overflow:hidden;
  animation:v11CardIn .55s var(--v11-ease) both;
}
.v11-mfa-gate::before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,var(--v11-forest),var(--v11-gold),var(--v11-forest-2))}
.v11-mfa-gate h2{font-family:"Fraunces",serif;font-size:clamp(2rem,5vw,3.2rem);line-height:1.02;margin:.45rem 0 1rem;color:var(--v11-forest)}
.v11-mfa-gate>p{max-width:42ch;margin:.5rem auto 1.4rem}
.v11-mfa-gate .admin-field{text-align:left;max-width:310px;margin:1.2rem auto}
.v11-mfa-gate input{text-align:center;font-family:"IBM Plex Mono",monospace;font-size:1.45rem;letter-spacing:.32em}
.v11-mfa-gate .btn{max-width:330px;margin:.65rem auto}
.v11-mfa-portrait{width:126px;height:126px;margin:0 auto 1.2rem;position:relative}
.v11-mfa-portrait img{width:100%;height:100%;object-fit:cover;border-radius:42% 58% 56% 44%/48% 45% 55% 52%;box-shadow:0 15px 35px rgba(64,44,21,.22);border:4px solid #fff}
.v11-mfa-portrait span{position:absolute;right:-4px;bottom:4px;width:30px;height:30px;border-radius:50%;background:var(--v11-forest);border:4px solid var(--v11-cream)}
.v11-mfa-portrait span::before{content:"";position:absolute;width:8px;height:5px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg);left:7px;top:7px}
.v11-mfa-enroll{padding:1rem;border:1px solid rgba(64,44,21,.13);border-radius:22px;background:rgba(255,255,255,.72)}
.v11-mfa-qr{display:grid;place-items:center;margin:1rem auto;width:210px;min-height:210px;background:#fff;border-radius:18px;padding:10px;box-shadow:var(--v11-shadow-soft)}
.v11-mfa-qr img,.v11-mfa-qr svg{max-width:190px;width:100%;height:auto}
.v11-mfa-secret{font-family:"IBM Plex Mono",monospace;font-size:.72rem;overflow-wrap:anywhere}

/* Centro de clínica */
.gestao-body{--panel-line:rgba(64,44,21,.11)}
.v11-clinic-hero{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:clamp(1.5rem,4vw,2.6rem);border-radius:30px;color:#fff;
  background:
    radial-gradient(circle at 82% 26%,rgba(240,213,191,.2),transparent 24%),
    linear-gradient(130deg,var(--v11-forest),#624524 70%,#785b3a);box-shadow:0 26px 55px rgba(64,44,21,.2);overflow:hidden;position:relative}
.v11-clinic-hero::after{content:"";position:absolute;width:300px;height:300px;border:1px solid rgba(255,255,255,.1);border-radius:42% 58% 55% 45%;right:-140px;top:-165px;transform:rotate(24deg)}
.v11-clinic-hero h2{font-family:"Fraunces",serif;font-size:clamp(1.8rem,4vw,3.35rem);line-height:1.02;margin:.35rem 0 .8rem;max-width:19ch;color:#fff}
.v11-clinic-hero p{max-width:65ch;color:rgba(255,255,255,.75)}
.v11-clinic-hero .eyebrow{color:var(--v11-gold-soft)}
.v11-clinic-signature{display:flex;align-items:center;gap:.9rem;padding:.65rem .9rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:999px;backdrop-filter:blur(12px);min-width:max-content;z-index:1}
.v11-clinic-signature img{border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.75)}
.v11-clinic-signature span{display:grid}.v11-clinic-signature strong{font-family:"Fraunces",serif;font-size:1.05rem}.v11-clinic-signature small{opacity:.68}
.v11-clinic-tabs{display:flex;gap:.55rem;margin:1.25rem 0 1.6rem;padding:.45rem;border-radius:18px;background:rgba(255,255,255,.68);border:1px solid var(--panel-line);box-shadow:var(--v11-shadow-soft);overflow-x:auto;scrollbar-width:none;position:sticky;top:.6rem;z-index:15;backdrop-filter:blur(18px)}
.v11-clinic-tabs::-webkit-scrollbar{display:none}.v11-clinic-tabs button{border:0;background:transparent;color:#776959;display:flex;align-items:center;gap:.48rem;min-height:44px;padding:.68rem .92rem;border-radius:13px;font:600 .78rem "Work Sans",sans-serif;white-space:nowrap;cursor:pointer;transition:.25s var(--v11-ease)}
.v11-clinic-tabs button span{width:1.08rem;height:1.08rem}.v11-clinic-tabs button:hover{background:rgba(64,44,21,.06);color:var(--v11-forest)}
.v11-clinic-tabs button.active{color:#fff;background:var(--v11-forest);box-shadow:0 9px 22px rgba(64,44,21,.2);transform:translateY(-1px)}
.v11-clinic-view{display:none}.v11-clinic-view.active{display:block;animation:v11PanelIn .42s var(--v11-ease) both}
.v11-view-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:0 0 1.2rem}.v11-view-heading h3{font-family:"Fraunces",serif;font-size:clamp(1.65rem,3.4vw,2.65rem);color:var(--v11-forest);margin:.2rem 0}.v11-view-heading p{max-width:65ch}

.v11-metric-grid,.v11-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.v11-metric,.v11-class-card,.v11-surface{position:relative;border:1px solid var(--panel-line);background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(251,244,238,.88));border-radius:24px;box-shadow:var(--v11-shadow-soft);overflow:hidden}
.v11-metric{padding:1.35rem;min-height:150px;transition:.28s var(--v11-ease)}.v11-metric:hover{transform:translateY(-3px);box-shadow:var(--v11-shadow)}
.v11-metric::after{content:"";position:absolute;width:85px;height:85px;border-radius:50%;right:-22px;top:-24px;background:var(--metric-glow,rgba(196,124,66,.11))}
.v11-metric-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:rgba(64,44,21,.08);color:var(--v11-forest);margin-bottom:1rem}.v11-metric-icon svg{width:22px;height:22px}
.v11-metric strong{font-family:"Fraunces",serif;color:var(--v11-forest);font-size:2.25rem;line-height:1}.v11-metric small{display:block;color:#8a7c6c;margin-top:.35rem}.v11-metric.is-attention{--metric-glow:rgba(196,124,66,.2)}.v11-metric.is-alert{--metric-glow:rgba(166,95,82,.16)}
.v11-today-brief{grid-column:1/-1;padding:clamp(1.2rem,3vw,2rem);display:grid;grid-template-columns:1.2fr 1fr;gap:1.2rem;background:linear-gradient(120deg,#fff,var(--v11-cream));border:1px solid var(--panel-line);border-radius:26px;box-shadow:var(--v11-shadow-soft)}
.v11-today-brief h4{font-family:"Fraunces",serif;color:var(--v11-forest);font-size:1.5rem;margin:0 0 .45rem}.v11-brief-actions{display:grid;gap:.6rem}.v11-brief-action{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:16px;background:#fff;border:1px solid var(--panel-line)}.v11-brief-action>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--v11-gold-soft);color:var(--v11-forest)}

.v11-class-card{padding:1.25rem;transition:.28s var(--v11-ease)}.v11-class-card:hover{transform:translateY(-3px);border-color:rgba(196,124,66,.42)}
.v11-class-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.v11-class-card h4{font-family:"Fraunces",serif;color:var(--v11-forest);font-size:1.35rem;margin:.15rem 0}.v11-class-card .v11-class-orbit{width:48px;height:48px;display:grid;place-items:center;color:var(--v11-forest);background:linear-gradient(145deg,var(--v11-gold-soft),#fff);border-radius:17px}.v11-class-card .v11-class-orbit svg{width:26px;height:26px}
.v11-capacity{height:7px;border-radius:999px;background:rgba(64,44,21,.08);overflow:hidden;margin:1rem 0 .55rem}.v11-capacity i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--v11-forest-2),var(--v11-gold));transition:width .7s var(--v11-ease)}
.v11-class-meta{display:flex;flex-wrap:wrap;gap:.45rem;margin:.8rem 0}.v11-state-pill,.v11-class-meta span{display:inline-flex;align-items:center;gap:.3rem;min-height:26px;padding:.28rem .58rem;border-radius:999px;font-size:.69rem;font-weight:650;letter-spacing:.02em;background:rgba(64,44,21,.07);color:var(--v11-forest)}
.v11-state-pill.is-good{background:#dcecdf;color:#5f4125}.v11-state-pill.is-warn{background:#f3decb;color:#824b1e}.v11-state-pill.is-bad{background:#f4dcda;color:#884b44}
.v11-split{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem;margin-top:1.25rem}.v11-split>section{padding:1.25rem;border-radius:24px;background:#fff;border:1px solid var(--panel-line);box-shadow:var(--v11-shadow-soft)}.v11-split h4{font-family:"Fraunces",serif;color:var(--v11-forest);font-size:1.35rem;margin:0 0 1rem}
.v11-row{display:grid;grid-template-columns:minmax(150px,1.4fr) repeat(2,minmax(90px,.7fr)) auto;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid rgba(64,44,21,.08)}.v11-row:last-child{border-bottom:0}.v11-row strong{color:var(--v11-forest)}.v11-row small{display:block;color:#77847f}.v11-row-actions{display:flex;gap:.35rem;justify-content:flex-end}.v11-icon-btn{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(64,44,21,.13);border-radius:12px;background:#fff;color:var(--v11-forest);cursor:pointer;transition:.2s}.v11-icon-btn:hover{background:var(--v11-forest);color:#fff;transform:translateY(-1px)}

.v11-timeline{display:grid;gap:.75rem}.v11-session{display:grid;grid-template-columns:90px 1fr auto;gap:1rem;align-items:center;padding:1rem 1.15rem;border:1px solid var(--panel-line);border-radius:20px;background:#fff;box-shadow:0 7px 25px rgba(64,44,21,.06);transition:.25s var(--v11-ease)}.v11-session:hover{transform:translateX(3px);border-color:rgba(196,124,66,.4)}
.v11-session-time{text-align:center;padding:.65rem;border-radius:14px;background:var(--v11-cream);color:var(--v11-forest)}.v11-session-time strong{font-family:"Fraunces",serif;font-size:1.25rem;display:block}.v11-session-time small{text-transform:uppercase;letter-spacing:.12em;font-size:.6rem}.v11-session h4{margin:0;color:var(--v11-forest)}
.v11-attendance-panel{margin-top:1rem;padding:1.2rem;border-radius:24px;background:linear-gradient(145deg,#fff,var(--v11-cream));border:1px solid var(--panel-line);box-shadow:var(--v11-shadow-soft)}
.v11-attendance-options{display:flex;flex-wrap:wrap;gap:.35rem}.v11-attendance-options button{border:1px solid rgba(64,44,21,.12);background:#fff;border-radius:999px;padding:.42rem .68rem;font-size:.72rem;cursor:pointer}.v11-attendance-options button.active{background:var(--v11-forest);color:#fff}

.v11-clinical-search{max-width:680px;position:relative;margin-bottom:1rem}.v11-clinical-search input{width:100%;min-height:54px;border:1px solid rgba(64,44,21,.15);border-radius:18px;background:#fff;padding:0 1rem;box-shadow:var(--v11-shadow-soft)}.v11-clinical-search>div{position:absolute;z-index:20;left:0;right:0;top:calc(100% + .4rem);background:#fff;border:1px solid var(--panel-line);border-radius:18px;box-shadow:var(--v11-shadow);overflow:hidden}.v11-search-result{display:flex;width:100%;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:0;border-bottom:1px solid var(--panel-line);background:#fff;text-align:left;cursor:pointer}.v11-search-result:hover{background:var(--v11-cream)}
.v11-clinical-empty{min-height:290px;display:grid;place-items:center;align-content:center;text-align:center;padding:2rem;border:1px dashed rgba(64,44,21,.2);border-radius:28px;background:rgba(255,255,255,.48)}.v11-clinical-empty>span{width:72px;height:72px;display:grid;place-items:center;border-radius:24px;background:var(--v11-gold-soft);color:var(--v11-forest)}.v11-clinical-empty svg{width:40px;height:40px}.v11-clinical-empty h4{font-family:"Fraunces",serif;font-size:1.55rem;color:var(--v11-forest);margin:.9rem 0 .25rem}
.v11-clinical-header{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.2rem;border-radius:22px;background:var(--v11-forest);color:#fff}.v11-clinical-header h3{font-family:"Fraunces",serif;font-size:1.7rem;margin:0}.v11-clinical-columns{display:grid;grid-template-columns:.8fr 1.2fr;gap:1rem;margin-top:1rem}.v11-clinical-columns>section{padding:1.1rem;border:1px solid var(--panel-line);border-radius:22px;background:#fff}.v11-clinical-form{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.v11-clinical-form .wide{grid-column:1/-1}.v11-record{border-left:3px solid var(--v11-gold);padding:.75rem 0 .75rem 1rem;margin:.4rem 0}.v11-record h5{color:var(--v11-forest);margin:0}.v11-record p{white-space:pre-wrap}

.v11-notice-row{display:grid;grid-template-columns:130px minmax(150px,1fr) 110px 100px auto;align-items:center;gap:.65rem;padding:.8rem;border-bottom:1px solid var(--panel-line)}.v11-notice-row:hover{background:rgba(251,244,238,.7)}.v11-notice-row code{font-size:.7rem}.v11-notice-row .v11-state-pill{justify-self:start}
.v11-security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.v11-security-card{padding:1.25rem;border:1px solid var(--panel-line);border-radius:24px;background:#fff;box-shadow:var(--v11-shadow-soft)}.v11-security-card header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.v11-security-card header span{width:44px;height:44px;display:grid;place-items:center;border-radius:15px;background:var(--v11-gold-soft);color:var(--v11-forest)}.v11-security-card h4{font-family:"Fraunces",serif;color:var(--v11-forest);font-size:1.35rem;margin:0}.v11-health-list{display:grid;gap:.55rem}.v11-health-list div{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--panel-line)}

.v11-skeleton-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.v11-skeleton-grid>span{display:block;height:150px;border-radius:24px;background:linear-gradient(100deg,rgba(64,44,21,.05) 25%,rgba(255,255,255,.8) 40%,rgba(64,44,21,.05) 55%);background-size:220% 100%;animation:v11Shimmer 1.4s linear infinite}
.v11-empty{padding:1.2rem;text-align:center;color:#77847f;border:1px dashed var(--panel-line);border-radius:18px}

/* Portal do cliente e questionário */
.v11-client-class-portal{display:grid;gap:1rem}.v11-client-class-hero{padding:1.4rem;border-radius:26px;color:#fff;background:linear-gradient(125deg,var(--v11-forest),#735636);box-shadow:0 18px 42px rgba(64,44,21,.19);display:flex;justify-content:space-between;gap:1rem;align-items:center}.v11-client-class-hero h3{font-family:"Fraunces",serif;font-size:1.8rem;margin:.15rem 0}.v11-credit-ring{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;text-align:center;background:conic-gradient(var(--v11-gold) var(--credit-progress,0%),rgba(255,255,255,.14) 0);position:relative}.v11-credit-ring::before{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--v11-forest)}.v11-credit-ring span{position:relative;z-index:1}.v11-credit-ring strong{font-family:"Fraunces",serif;font-size:1.65rem;display:block}.v11-client-session-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.v11-client-session-card{padding:1rem;border:1px solid rgba(64,44,21,.1);border-radius:20px;background:#fff}.v11-client-session-card time{display:block;color:var(--v11-gold);font-weight:650;margin-bottom:.3rem}.v11-available-class{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:.8rem;padding:.9rem;border:1px solid rgba(64,44,21,.1);border-radius:20px;background:#fff}.v11-available-class>span{width:52px;height:52px;display:grid;place-items:center;border-radius:17px;color:var(--v11-forest);background:var(--v11-gold-soft)}
.v11-intake-intro{display:grid;grid-template-columns:100px 1fr auto;gap:1.25rem;align-items:center;padding:clamp(1.2rem,3vw,2rem);border-radius:28px;color:#fff;background:linear-gradient(130deg,var(--v11-forest),#725534);box-shadow:0 22px 50px rgba(64,44,21,.18)}.v11-intake-intro h2{font-family:"Fraunces",serif;font-size:clamp(1.8rem,4vw,2.8rem);margin:.2rem 0;color:#fff}.v11-intake-intro p{color:rgba(255,255,255,.74)}.v11-intake-intro .eyebrow{color:var(--v11-gold-soft)}.v11-intake-intro>.v11-state-pill{background:rgba(255,255,255,.13);color:#fff;border:1px solid rgba(255,255,255,.2)}
.v11-intake-illustration{width:96px;height:96px;border-radius:34px;display:grid;place-items:center;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.14)}.v11-intake-illustration svg{width:60px;height:60px;stroke-width:1.2}
.v11-intake-form{margin-top:1rem;padding:clamp(1.1rem,3vw,2rem);border:1px solid rgba(64,44,21,.1);border-radius:28px;background:#fff;box-shadow:var(--v11-shadow-soft)}.v11-intake-section{display:flex;align-items:center;gap:.9rem;margin:0 0 1rem}.v11-intake-section:not(:first-child){margin-top:2rem;padding-top:1.7rem;border-top:1px solid rgba(64,44,21,.09)}.v11-intake-section h3{font-family:"Fraunces",serif;color:var(--v11-forest);font-size:1.55rem;margin:0}.v11-step-number{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:var(--v11-forest);color:#fff;font-family:"Fraunces",serif;font-size:1.25rem;box-shadow:0 8px 20px rgba(64,44,21,.18)}
.v11-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.v11-choice-grid label{position:relative;min-height:112px;display:grid;align-content:center;justify-items:start;gap:.45rem;padding:1rem;border:1px solid rgba(64,44,21,.12);border-radius:20px;background:var(--v11-cream);cursor:pointer;transition:.24s var(--v11-ease)}.v11-choice-grid input{position:absolute;opacity:0;pointer-events:none}.v11-choice-grid label>span{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;color:var(--v11-forest);background:#fff}.v11-choice-grid label:has(input:checked){background:var(--v11-forest);color:#fff;border-color:var(--v11-forest);transform:translateY(-2px);box-shadow:0 13px 28px rgba(64,44,21,.16)}.v11-choice-grid label:has(input:checked)>span{background:rgba(255,255,255,.14);color:var(--v11-gold-soft)}
.v11-sensitive-consent{display:flex;gap:.8rem;align-items:flex-start;margin-top:1.5rem;padding:1rem;border-radius:18px;background:#f8ebe1;border:1px solid rgba(196,124,66,.22);cursor:pointer}.v11-sensitive-consent input{width:20px;height:20px;accent-color:var(--v11-forest);flex:0 0 auto;margin-top:.1rem}.v11-sensitive-consent span{display:grid;gap:.25rem}.v11-sensitive-consent small{color:#6e746f;line-height:1.5}.v11-intake-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:1rem}.v11-intake-actions>span{color:var(--v11-forest);font-size:.8rem}

.v11-day-picker{display:flex;flex-wrap:wrap;gap:.45rem}.v11-day-picker label{cursor:pointer}.v11-day-picker input{position:absolute;opacity:0}.v11-day-picker span{display:grid;place-items:center;min-width:45px;min-height:42px;padding:.45rem;border:1px solid rgba(64,44,21,.14);border-radius:13px;background:#fff;color:var(--v11-forest);font-weight:650;transition:.2s}.v11-day-picker input:checked+span{background:var(--v11-forest);color:#fff;box-shadow:0 8px 20px rgba(64,44,21,.17)}
.v11-intake-summary{display:grid;gap:.55rem;margin-top:1rem}.v11-intake-summary div{padding:.65rem;border-radius:14px;background:var(--v11-cream)}.v11-intake-summary dt{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#7d817c}.v11-intake-summary dd{margin:.25rem 0 0;white-space:pre-wrap;color:var(--v11-ink)}
.v11-sheet-dialog{position:relative}.v11-sheet-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:18px;background:var(--v11-gold-soft);color:var(--v11-forest);margin-bottom:.8rem}.v11-sheet-mark svg{width:28px;height:28px}.v11-sheet-body{margin:1.2rem 0}.v11-sheet-closing{opacity:0!important;transition:opacity .18s ease}.v11-sheet-closing .v11-sheet-dialog{transform:translateY(12px) scale(.985);transition:transform .18s ease}

/* Modais com movimento e profundidade, sem efeitos que atrasem a tarefa. */
.admin-overlay,.client-action-overlay,.media-lightbox,.guide-overlay,.campaign-popup{background:rgba(36,25,13,.58)!important;backdrop-filter:blur(12px) saturate(.88);transition:opacity .28s var(--v11-ease),visibility .28s}
.admin-overlay:not([hidden]),.client-action-overlay:not([hidden]),.media-lightbox:not([hidden]),.guide-overlay:not([hidden]),.campaign-popup:not([hidden]){animation:v11FadeIn .28s ease both}
.admin-modal,.client-action-dialog,.media-lightbox-box,.guide-dialog,.campaign-popup-box{border-radius:28px!important;border:1px solid rgba(255,255,255,.7)!important;box-shadow:0 32px 100px rgba(24,16,6,.3)!important;background:
  radial-gradient(circle at 100% 0,rgba(240,213,191,.23),transparent 25%),#fefbf9!important;animation:v11ModalIn .42s var(--v11-ease) both;transform-origin:50% 85%}
.admin-modal::before,.client-action-dialog::before{content:"";position:absolute;left:28px;right:28px;top:0;height:4px;border-radius:0 0 999px 999px;background:linear-gradient(90deg,var(--v11-forest),var(--v11-gold),var(--v11-forest-2))}
.admin-close,.client-action-close,.guide-close{transition:transform .22s var(--v11-ease),background .22s}.admin-close:hover,.client-action-close:hover,.guide-close:hover{transform:rotate(8deg) scale(1.06);background:var(--v11-forest)!important;color:#fff!important}
.contact-detail:not([hidden]){animation:v11DrawerIn .42s var(--v11-ease) both;box-shadow:-30px 0 80px rgba(44,30,13,.15)}

@keyframes v11ModalIn{from{opacity:0;transform:translateY(18px) scale(.975)}to{opacity:1;transform:none}}
@keyframes v11PanelIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes v11CardIn{from{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:none}}
@keyframes v11DrawerIn{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes v11FadeIn{from{opacity:0}to{opacity:1}}
@keyframes v11Shimmer{to{background-position:-220% 0}}

@media(max-width:1050px){
  .v11-metric-grid,.v11-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v11-today-brief{grid-template-columns:1fr}.v11-clinical-columns{grid-template-columns:1fr}
  .v11-intake-intro{grid-template-columns:82px 1fr}.v11-intake-intro>.v11-state-pill{grid-column:2;justify-self:start}
}
@media(max-width:760px){
  .v11-clinic-hero{align-items:flex-start;flex-direction:column}.v11-clinic-signature{width:100%;min-width:0}
  .v11-clinic-tabs{margin-inline:-.35rem;border-radius:15px;top:.3rem}.v11-view-heading{align-items:flex-start;flex-direction:column}
  .v11-metric-grid,.v11-card-grid,.v11-security-grid,.v11-split,.v11-skeleton-grid{grid-template-columns:1fr}
  .v11-row{grid-template-columns:1fr auto}.v11-row>*:nth-child(2),.v11-row>*:nth-child(3){grid-column:1}.v11-row-actions{grid-column:2;grid-row:1/3}
  .v11-session{grid-template-columns:72px 1fr}.v11-session>.btn{grid-column:1/-1;width:100%}
  .v11-notice-row{grid-template-columns:1fr auto}.v11-notice-row>*:nth-child(2),.v11-notice-row>*:nth-child(3),.v11-notice-row>*:nth-child(4){grid-column:1}.v11-notice-row>*:last-child{grid-column:2;grid-row:1/3}
  .v11-client-session-strip{grid-template-columns:1fr}.v11-intake-intro{grid-template-columns:1fr;text-align:center}.v11-intake-intro>*{justify-self:center}.v11-intake-intro>.v11-state-pill{grid-column:1}
  .v11-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v11-clinical-form{grid-template-columns:1fr}.v11-clinical-form .wide{grid-column:auto}
}
@media(max-width:480px){
  .v11-choice-grid{grid-template-columns:1fr 1fr}.v11-choice-grid label{min-height:104px;padding:.8rem}
  .v11-available-class{grid-template-columns:48px 1fr}.v11-available-class>.btn{grid-column:1/-1;width:100%}
  .v11-mfa-gate{border-radius:25px;padding:1.35rem}.v11-clinic-hero{border-radius:24px}
}
@media(prefers-reduced-motion:reduce){
  .v11-clinic-view.active,.v11-mfa-gate,.admin-modal,.client-action-dialog,.media-lightbox-box,.guide-dialog,.campaign-popup-box,.contact-detail:not([hidden]),.v11-skeleton-grid>span{animation:none!important}
  .v11-metric,.v11-class-card,.v11-session,.v11-clinic-tabs button{transition:none!important}
}

/* ===== Gestão no telemóvel (até 760px): cabeçalho compacto e navegação em baixo, ao alcance do polegar =====
   Antes: cerca de 460 px de cabeçalho, cumprimento e pesquisa antes do editor, e a barra de separadores só mostrava 2 de 5.
   Agora: cabeçalho de 60 px, os 5 separadores sempre visíveis numa barra fixa em baixo e o seletor de secções do editor
   logo no primeiro ecrã. Verificado a 21/09/2026 com um iPhone emulado (390x844). */
@media (max-width: 760px){
  /* cabeçalho numa só linha: avatar, nome, "Ver o site" e "Sair" */
  .gestao-sidebar{ flex-wrap:nowrap !important; gap:.6rem; padding:.55rem .85rem !important; align-items:center; position:relative !important; }
  .gestao-brand{ margin:0 !important; padding:0 !important; display:flex !important; align-items:center; gap:.6rem; flex:1 1 auto; min-width:0; }
  .gestao-brand img{ width:34px !important; height:34px !important; }
  .gestao-brand small{ display:none !important; }
  .gestao-brand strong{ font-size:1rem !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .gestao-sidebar-foot{ width:auto !important; margin:0 !important; padding:0 !important; flex-direction:row !important; align-items:center; gap:.5rem; border:0 !important; }
  .gestao-sidebar-foot .admin-logout{ padding:.35rem .7rem !important; }

  /* navegação principal: barra fixa em baixo (os modais têm z-index maior e ficam por cima) */
  .gestao-nav.admin-main-tabs{ position:fixed !important; left:0; right:0; bottom:0; top:auto !important; z-index:60; width:100% !important;
    display:grid !important; grid-template-columns:1fr 1fr 1.35fr 1fr 1fr !important; gap:0 !important; margin:0 !important;
    padding:.25rem .3rem calc(.25rem + env(safe-area-inset-bottom)) !important; overflow:visible !important; flex-wrap:nowrap !important;
    background:var(--ink,#493c30); border-top:1px solid rgba(248,241,235,.15); }
  .gestao-nav .admin-tab-btn{ display:flex !important; flex-direction:column; align-items:center; justify-content:center; gap:.12rem !important;
    min-height:52px; padding:.3rem 0 !important; text-align:center !important; white-space:nowrap; border-radius:12px !important; grid-template-columns:none !important; }
  .gestao-nav .admin-tab-btn::before{ display:none !important; }
  .gestao-nav .admin-tab-btn > span:nth-of-type(2){ font-family:'Work Sans',sans-serif !important; font-size:.575rem !important; letter-spacing:-.01em !important;
    text-transform:none !important; max-width:100%; overflow:hidden; text-overflow:ellipsis; }
  .gestao-nav .v10-nav-icon, .gestao-nav .v11-nav-symbol{ width:26px !important; height:26px !important; }
  .gestao-nav .v11-nav-symbol{ background:rgba(248,241,235,.14) !important; border-radius:50% !important; color:var(--paper,#f8f1eb) !important; place-items:center; }
  .gestao-nav .v11-nav-symbol svg{ width:15px !important; height:15px !important; }
  .gestao-nav .admin-badge{ position:absolute; top:2px; right:calc(50% - 24px); }
  .gestao-main{ padding-bottom:calc(84px + env(safe-area-inset-bottom)) !important; }
  /* A linha do "Guardar" do editor do site é sticky com bottom:0 (style.css). Colava-se ao
     mesmo sítio desta barra de navegação e ficava por baixo dela: acompanhava a página ao
     deslizar e chegava ao fundo escondida, sem se poder carregar. Sobe o tamanho da barra.
     Só a do editor — a que está dentro de modais fica onde está, porque os modais aparecem
     por cima da barra. Se a altura da barra mudar aqui em cima, este valor muda com ela. */
  .admin-save-row.site-save-global{ bottom:calc(68px + env(safe-area-inset-bottom)) !important; }

  /* boas-vindas numa linha e só na Agenda; pesquisa global só na Agenda e nos Clientes */
  .v10-admin-topbar{ flex-direction:row !important; align-items:center !important; justify-content:space-between !important; gap:.6rem !important;
    padding:.55rem .8rem !important; margin-bottom:.7rem !important; border-radius:16px !important; }
  .v10-admin-topbar h1, .v10-admin-topbar > div:first-child > span{ display:none !important; }
  .v10-admin-topbar::after{ display:none !important; }
  .v10-admin-topbar .eyebrow{ margin:0 !important; font-size:.66rem !important; }
  .v10-admin-topbar-actions{ width:auto !important; flex-direction:row !important; align-items:center !important; }
  .v10-admin-topbar-actions .btn{ width:auto !important; padding:.5rem .85rem !important; font-size:.74rem !important; white-space:nowrap; }
  .v10-live-pill{ display:none !important; }
  .gestao-main:not(:has(#tab-agenda.active)) .v10-admin-topbar{ display:none !important; }
  .gestao-main:not(:has(#tab-agenda.active)):not(:has(#tab-contactos.active)) .global-search-wrap{ display:none !important; }
  .global-search-wrap{ margin:.4rem 0 .9rem !important; }

  /* menos texto explicativo antes do editor do Site */
  #tab-conteudo .admin-section-title{ display:none !important; }
  .admin-section-eyebrow small{ display:none !important; }
  .site-preview-toolbar{ flex-direction:row !important; flex-wrap:nowrap !important; align-items:center !important; justify-content:space-between !important;
    gap:.6rem !important; padding:.55rem .8rem !important; margin:.4rem 0 .7rem !important; }
  .site-preview-toolbar small{ display:none !important; }
  .site-preview-toolbar .btn{ width:auto !important; padding:.5rem .95rem !important; font-size:.76rem !important; white-space:nowrap; }
  #tab-conteudo [role="status"]{ font-size:.78rem !important; line-height:1.4 !important; margin:.2rem 0 .6rem !important; }

  /* Instalar a app: no telemóvel só aparece no cartão de boas-vindas (o cabeçalho fica como estava) e, enquanto o botão existir,
     esse cartão passa a duas linhas. Depois de instalada (modo standalone) o botão fica escondido e o cartão volta a uma linha. */
  .gestao-sidebar-foot .gestao-install{ display:none !important; }
  .v10-admin-topbar:has(#adminInstallTopBtn:not([hidden])){ flex-wrap:wrap !important; row-gap:.55rem !important; }
  .v10-admin-topbar:has(#adminInstallTopBtn:not([hidden])) > div:first-child{ flex:1 1 100%; }
  .v10-admin-topbar:has(#adminInstallTopBtn:not([hidden])) .v10-admin-topbar-actions{ flex:1 1 100%; width:100% !important; }
  .v10-admin-topbar:has(#adminInstallTopBtn:not([hidden])) .v10-admin-topbar-actions .btn{ flex:1 1 0; justify-content:center; }
}

/* Instalar como app: botões [data-install-app] (menu do site e gestão). O atributo hidden tem de ganhar aos estilos dos botões. */
[data-install-app][hidden]{ display:none !important; }
.gestao-install{ background:none; border:0; padding:0; cursor:pointer; text-align:left; color:rgba(248,241,235,.85); font:inherit; font-size:.85rem; }
.gestao-install::before{ content:'\2193\00a0'; }
.gestao-install:hover{ color:var(--paper); }

.push-actions{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:.8rem; }

/* Lembretes de amanhã por WhatsApp (separador Gestão). Enviado = marca verde à esquerda, sem baixar o contraste do texto. */
.reminder-summary{ margin:0 0 .4rem; font-weight:600; }
.reminder-row{ display:flex; align-items:center; justify-content:space-between; gap:.6rem 1rem; padding:.7rem .2rem; border-bottom:1px solid var(--line); flex-wrap:wrap; }
.reminder-row:last-child{ border-bottom:0; }
.reminder-row strong{ display:block; font-size:.95rem; }
.reminder-row span{ color:var(--ink-soft); font-size:.8rem; }
.reminder-row.is-sent{ border-left:3px solid var(--sage-text,#7b6755); padding-left:.7rem; }
.reminder-actions{ display:flex; flex-wrap:wrap; gap:.5rem; }
.reminder-actions .mini-action{ min-height:44px; padding:.5rem .95rem; font-size:.85rem; text-decoration:none; }
@media (max-width:560px){
  .reminder-row{ align-items:flex-start; }
  .reminder-actions{ width:100%; }
  .reminder-actions .mini-action{ flex:1 1 0; text-align:center; }
}

/* Cópias de segurança e vigilância (Gestão > Segurança) */
.v11-ops-ok{ color:#3f6b4f; }
.v11-ops-bad{ color:#9b4b43; }
.v11-ops-alerts{ list-style:none; margin:.4rem 0 .8rem; padding:0; display:grid; gap:.5rem; }
.v11-ops-alerts li{ background:rgba(178,139,98,.12); border:1px solid rgba(178,139,98,.4); border-radius:12px; padding:.6rem .8rem; font-size:.85rem; }
.v11-ops-alerts span{ display:block; color:var(--ink-soft); font-size:.78rem; margin-top:.2rem; }

/* Arquivo da Biblioteca: fechado e discreto, para nao competir com o que esta em uso. */
.admin-archive-box{margin-top:1.6rem;border-top:1px solid var(--line);padding-top:1rem}
.admin-archive-box>summary{cursor:pointer;padding:.4rem 0;list-style:none}
.admin-archive-box>summary::-webkit-details-marker{display:none}
.admin-archive-box>summary::before{content:"▸";display:inline-block;width:1.1em;transition:transform .15s ease}
.admin-archive-box[open]>summary::before{transform:rotate(90deg)}
.admin-archive-box .contact-card{opacity:.85}
/* As miniaturas passaram a ser o seletor de qual ficheiro se esta a editar (23/09).
   Antes editava-se sempre o ultimo da seccao e as outras eram inalcancaveis. */
.visual-media-summary-item{cursor:pointer;border:2px solid transparent;background:none;padding:0;border-radius:10px;transition:border-color .15s ease,opacity .15s ease}
.visual-media-summary-item:not(.is-active){opacity:.55}
.visual-media-summary-item:hover,.visual-media-summary-item:focus-visible{opacity:1}
.visual-media-summary-item.is-active{border-color:var(--gild);opacity:1}
