:root{--bg:#f7f4ee;--surface:#fff;--text:#213e47;--muted:#586c73;--line:#e4e0d7;--green:#185361;--soft:#eaf0f1;--accent:#a78142;color-scheme:light} :root[data-theme=dark]{--bg:#11252c;--surface:#19333d;--text:#ede9df;--muted:#b1c4ca;--line:#35515b;--green:#add0d8;--soft:#25434e;--accent:#dbc596;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 system-ui,-apple-system,'Segoe UI',sans-serif}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}aside{position:fixed;inset:0 auto 0 0;width:250px;background:var(--surface);border-right:1px solid var(--line);padding:30px 18px;overflow:auto;z-index:5}.brand{display:flex;gap:13px;align-items:center;line-height:1.4;color:var(--text);padding:0 10px 25px}.brand-icon{font-size:42px;color:var(--green)}.brand small{display:block;font-size:9px;letter-spacing:3px;margin-top:6px}.nav-label{font-size:10px;letter-spacing:1.4px;color:var(--muted);margin:24px 12px 10px}nav a{display:flex;align-items:center;gap:13px;padding:10px 14px;border-radius:8px;color:var(--muted);margin:3px 0;font-size:14px}nav a span{font-size:21px;width:22px;text-align:center}nav a.active{background:var(--soft);color:var(--green);font-weight:650}nav a:hover{background:var(--soft);text-decoration:none}.sidebar-footer{margin:30px 12px 0;font-size:12px;color:var(--muted)}.dot{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;margin-right:5px}.workspace{margin-left:250px}header{height:78px;background:var(--surface);border-bottom:1px solid var(--line);padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:12px}.header-title{color:var(--muted);font-size:13px}.header-actions{display:flex;align-items:center;gap:20px}.header-actions form{margin:0}.user{font-size:13px}.icon-button,.text-button{border:0;background:none;color:var(--green);padding:5px}.icon-button{font-size:23px}#menu-toggle{display:none}main{max-width:1500px;margin:auto;padding:32px 40px}h1{font-family:Georgia,serif;font-weight:500;font-size:36px;line-height:1.2;margin:8px 0}h2{font-size:19px;font-weight:600;margin:0 0 12px}p{margin:8px 0}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:650;color:var(--green)}.muted,small{color:var(--muted)}small{display:block;font-size:12px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.date-chip{font-size:12px;border:1px solid var(--line);border-radius:20px;padding:8px 14px;color:var(--muted)}.welcome{background:var(--soft);border:1px solid var(--line);padding:30px 36px;display:flex;align-items:center;justify-content:space-between;border-radius:15px;overflow:hidden}.welcome h2{font:32px/1.2 Georgia,serif;margin:14px 0}.welcome p{color:var(--muted);margin-bottom:22px}.welcome-art{font-size:160px;line-height:1;color:var(--green);opacity:.25;margin:0 45px}.button{display:inline-block;border:1px solid var(--green);border-radius:7px;background:var(--green);color:var(--surface);font-size:13px;font-weight:600;padding:10px 17px;text-align:center}.button:hover{opacity:.9;text-decoration:none}.button.secondary{background:transparent;color:var(--green);border-color:var(--line)}.welcome .button{margin:0 7px 6px 0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:25px 0}.metrics article{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px}.metrics article>span{font-size:12px;color:var(--muted)}.metrics strong{display:block;font-size:34px;font-weight:550;margin:6px 0}.metrics strong.development{font-size:16px;margin:19px 0}.two-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.card{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:24px;min-width:0}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}.card-heading h2{margin:0}.card-heading a{font-size:12px}.appointment{display:flex;align-items:center;gap:16px;padding:17px 0;border-bottom:1px solid var(--line)}.appointment:last-child{border:0}.appointment>div{flex:1}.calendar-chip{background:var(--soft);color:var(--green);min-width:45px;text-align:center;border-radius:7px;line-height:1.3;padding:8px;font-size:20px}.calendar-chip small{font-size:10px}.badge{display:inline-block;border-radius:20px;padding:4px 10px;font-size:11px;white-space:nowrap}.agendado{background:var(--soft);color:var(--green)}.concluido{background:#e3edf5;color:#325970}.cancelado{background:#f4e8e6;color:#8d504b}.empty{text-align:center;padding:35px 15px;color:var(--muted)}.empty p{font-size:13px}footer{font-size:11px;color:var(--muted);padding:30px 0;text-align:center}.form-card{max-width:650px}form p{margin-bottom:20px}form label{display:block;font-size:13px;font-weight:600;margin-bottom:7px}input,select{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:11px;color:var(--text)}.helptext{display:block;font-size:12px;color:var(--muted);margin-top:6px}.errorlist{color:#bc4b43;font-size:13px;padding-left:20px}.form-actions{display:flex;gap:10px;flex-wrap:wrap}.back{font-size:13px;display:inline-block;margin-bottom:16px}.filters{display:flex;align-items:center;gap:12px;margin-bottom:25px;flex-wrap:wrap}.filters label{margin:0}.filters input{max-width:300px}.filters select{width:auto}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.7px;font-weight:600}td,th{border-bottom:1px solid var(--line);padding:16px 10px}td:first-child,th:first-child{padding-left:0}.row-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px}.row-actions form{margin:0}.danger{color:#b05d53}.notice{padding:12px 18px;background:var(--soft);border-left:3px solid var(--green);border-radius:5px;margin-bottom:20px}.notice.error{border-color:#b05d53}.pagination{display:flex;justify-content:center;gap:12px;align-items:center;font-size:13px;margin-top:18px}.pagination a{font-size:13px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:650px}.weekday{font-size:12px;text-align:center;padding:10px;color:var(--muted)}.day{min-height:120px;border:1px solid var(--line);padding:8px;font-size:12px}.day.outside{opacity:.45}.day.today>span{background:var(--green);color:var(--surface);padding:3px 7px;border-radius:50%}.calendar-event{display:block;margin-top:7px;padding:5px;border-radius:4px;font-size:10px;overflow-wrap:anywhere}.calendar-event small{color:inherit;font-size:9px}.calendar-wrap{overflow:auto}.slots{margin-top:24px}.module-empty{text-align:center;padding:65px 24px}.module-icon{font-size:50px;color:var(--accent)}.module-empty .button{margin-top:20px}.login-layout{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:60px;max-width:1100px;margin:auto;padding:50px}.login-intro h1{font-size:45px;margin:25px 0}.login-intro>p:not(.eyebrow){max-width:430px;color:var(--muted)}.login-intro small{margin-top:70px}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:40px}.login-card h2{font:28px Georgia,serif;margin-top:18px}.login-card form{margin-top:28px}.login-card .button{width:100%}.login-card>.muted{font-size:12px;margin-top:20px}@media(min-width:1600px){main{padding-top:45px}}@media(max-width:1150px){.metrics{grid-template-columns:repeat(2,1fr)}.welcome-art{margin:0;font-size:110px}.two-columns{grid-template-columns:1fr}.page-heading{align-items:flex-start}.date-chip{display:none}main{padding:25px}.welcome{padding:25px}header{padding:0 25px}}@media(max-width:760px){aside{transform:translateX(-100%);transition:transform .2s;top:65px;width:250px}.menu-open aside{transform:translateX(0);box-shadow:15px 0 50px #0003}.workspace{margin-left:0}header{height:65px;padding:0 16px}#menu-toggle{display:block}.header-title{display:none}.header-actions{gap:12px}main{padding:22px 16px}h1{font-size:30px}.page-heading{flex-direction:column;gap:12px}.welcome-art{display:none}.welcome h2{font-size:28px}.metrics{gap:10px}.metrics article{padding:14px}.metrics strong{font-size:29px}.metrics strong.development{font-size:14px}.card{padding:18px}.badge{padding:3px 7px}.appointment{gap:10px}.login-layout{grid-template-columns:1fr;padding:24px;gap:24px}.login-intro h1{font-size:30px}.login-intro small{margin-top:20px}.login-card{padding:25px}.form-actions .button{padding:9px 12px}.filters{gap:8px}.filters input{max-width:none}.user{max-width:130px;overflow:hidden;text-overflow:ellipsis}.header-actions .text-button{font-size:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Identidade: escuta, privacidade e desenvolvimento pessoal. */
.brand{align-items:flex-start}.brand strong{font:600 18px/1.35 Georgia,serif;display:block;margin-top:3px}.brand-icon{color:var(--accent);font-size:35px}.welcome{background:linear-gradient(115deg,var(--soft),var(--bg));border-top:3px solid var(--accent)}.welcome-art{color:var(--accent);font-size:150px}.login-intro .eyebrow{font-size:12px}.login-card{border-top:3px solid var(--accent)}textarea{font:inherit;width:100%;resize:vertical;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:11px;color:var(--text)}textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}input[type=checkbox]{width:auto;accent-color:var(--green)}.notes-link{display:block;font-size:12px;margin-bottom:8px}.profile-columns{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}.profile-columns form{margin-top:24px}.profile-preview{align-self:start;border-top:3px solid var(--accent)}.profile-preview h2{font:28px Georgia,serif;margin:18px 0}.profile-preview h3{font-size:15px;margin:24px 0 8px}.prose{overflow-wrap:anywhere}.profile-scope{font-size:12px;border-top:1px solid var(--line);padding-top:18px;margin-top:24px}@media(max-width:1000px){.profile-columns{grid-template-columns:1fr}}

.brand-name{font:600 18px/1.4 Georgia,serif;max-width:160px}.brand{gap:10px}.brand-icon{flex-shrink:0}

.nav-icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.notifications-button{display:flex;align-items:center;gap:5px;font-size:11px}.notifications-button span{background:var(--soft);border-radius:12px;min-width:20px;padding:1px 5px;text-align:center}.confirmation-dialog{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:14px;padding:28px;width:min(440px,90vw)}.confirmation-dialog::backdrop{background:#102d3880;backdrop-filter:blur(3px)}.confirmation-dialog p{margin:15px 0 25px}.video-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;margin-bottom:20px}.video-grid video{width:100%;aspect-ratio:4/3;border-radius:10px;background:#10252c;object-fit:contain}.video-grid small{margin-top:6px}button:disabled{cursor:not-allowed;opacity:.45}.receipt{max-width:850px;margin:40px auto}.prose,details{overflow-wrap:anywhere}details{margin:15px 0}summary{cursor:pointer;color:var(--green);font-size:13px}h3{font-size:16px}form p:has(input[type=checkbox]){padding:12px;background:var(--soft);border-radius:7px}@media(max-width:760px){.video-grid{grid-template-columns:1fr}.video-grid>div:nth-child(2){max-width:160px}.header-actions{gap:10px}.receipt{margin:10px auto}}@media print{body{background:white;color:#111}.receipt{margin:0;max-width:none}.receipt .card{border:0}.receipt button,.receipt a{display:none}}

.period-calendar{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));min-width:760px;gap:8px}.period-calendar.daily{grid-template-columns:1fr;min-width:0}.period-column{min-height:230px;border:1px solid var(--line);border-radius:7px;padding:10px}.period-column h3{font-size:12px;color:var(--muted)}.period-column .calendar-event{padding:10px;font-size:12px}.period-column .calendar-event small{font-size:10px}

body{font-family:'DejaVu Sans','Liberation Sans',Arial,sans-serif}.logo-mark{display:inline-block;border:2px solid var(--accent);border-radius:50%;width:35px;height:35px;position:relative;margin-top:5px}.logo-mark::after{content:"";position:absolute;inset:7px;border:1px solid var(--accent);border-radius:50%}.welcome-art.logo-mark{width:135px;height:135px;flex-shrink:0;margin-right:40px;opacity:.45;border-width:3px}.welcome-art.logo-mark::after{inset:22px;border-width:2px}.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1150px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.welcome-art.logo-mark{display:none}}

/* Terapeuta Joelma: the same monogram on the web and Android launcher. */
.logo-mark{border:0;background:url("brand-mark.bb723221c186.svg") center/contain no-repeat;border-radius:22%;}
.logo-mark::after{display:none}
