:root{--primary:#45417a;--primary-dark:#34315f;--ink:#272337;--ink-soft:#4b4657;--muted:#777180;--line:#e7e2eb;--surface:#fff;--cream:#f8f6fa;--soft:#efedf7;--coral:#e45f4f;--gold:#b98532;--sage:#5f8876;--blue:#557faf;--rose:#8d5f78;--shadow:0 18px 56px rgba(48,43,74,.12);--shadow-soft:0 8px 30px rgba(48,43,74,.08);--radius:28px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a{touch-action:manipulation}.hidden{display:none!important}.eyebrow{display:block;color:var(--primary);font-size:11px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase}.eyebrow-light{color:#f4d49f}.gold-text{color:var(--gold)}.coral-text{color:var(--coral)}.rose-text{color:var(--rose)}.blue-text{color:var(--blue)}.sage-text{color:var(--sage)}.brand{display:flex;align-items:center;gap:14px;text-decoration:none}.brand img,.sidebar-brand img{width:58px;height:58px;border-radius:19px;box-shadow:0 12px 28px rgba(15,12,40,.22)}.brand span,.sidebar-brand span{display:flex;flex-direction:column}.brand strong,.sidebar-brand strong{font-size:25px;letter-spacing:-1px}.brand strong i,.sidebar-brand strong i{color:var(--coral);font-style:normal}.brand small,.sidebar-brand small{font-size:10px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase}.brand-light{color:#fff}.brand-light small{color:#c8c4df}.brand-mobile{display:none;color:var(--primary);margin-bottom:32px}.brand-mobile small{color:var(--muted)}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(480px,1.07fr) minmax(500px,.93fr)}.auth-story{position:relative;overflow:hidden;padding:58px clamp(48px,7vw,112px);display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 90% 12%,rgba(231,181,99,.26),transparent 24%),radial-gradient(circle at 5% 90%,rgba(228,95,79,.24),transparent 28%),linear-gradient(145deg,#292543,#45417a 58%,#5d568f);color:#fff}.auth-story:after{content:"";position:absolute;right:-90px;bottom:-150px;width:520px;height:520px;border:1px solid rgba(255,255,255,.18);border-radius:50%;box-shadow:0 0 0 74px rgba(255,255,255,.035),0 0 0 148px rgba(255,255,255,.025)}.story-copy{position:relative;z-index:2;max-width:720px;padding:70px 0 40px}.story-copy h1{max-width:690px;margin:20px 0 22px;font-size:clamp(43px,4.6vw,72px);line-height:.98;letter-spacing:-3.8px}.story-copy>p{max-width:625px;margin:0;color:#dedbea;font-size:18px;line-height:1.68}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:46px}.trust-grid article{min-height:130px;padding:22px;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:rgba(255,255,255,.08);backdrop-filter:blur(14px)}.trust-grid b{display:block;margin-bottom:10px;color:#f0c678;font-size:24px}.trust-grid span{color:#e9e6f1;font-size:13px;line-height:1.45}.story-orbit{position:absolute;border:1px solid rgba(255,255,255,.16);border-radius:50%}.orbit-one{right:9%;top:18%;width:150px;height:150px}.orbit-two{right:4%;top:12%;width:260px;height:260px}.auth-panel{display:grid;place-items:center;padding:48px;background:linear-gradient(155deg,#fbfafd,#f2eff7)}.auth-card{width:min(100%,510px);padding:48px;border:1px solid rgba(69,65,122,.1);border-radius:34px;background:#fff;box-shadow:var(--shadow)}.auth-card h2,.gate-card h2{margin:12px 0 10px;font-size:34px;letter-spacing:-1.4px}.auth-intro,.gate-card>p{margin:0 0 28px;color:var(--muted);line-height:1.6}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;padding:5px;margin-bottom:26px;border-radius:14px;background:var(--soft)}.auth-tabs button{padding:12px;border:0;border-radius:11px;background:transparent;color:var(--muted);font-size:13px;font-weight:800;cursor:pointer}.auth-tabs button.active{background:#fff;color:var(--primary);box-shadow:0 3px 12px rgba(48,43,74,.1)}.auth-form,.auth-form form{display:flex;flex-direction:column}.auth-form label,.modal-card label{margin:0 0 8px;color:var(--ink-soft);font-size:13px;font-weight:800}.auth-form input,.modal-card input,.modal-card textarea,.custom-period input,.file-toolbar input{width:100%;border:1px solid #dcd6e3;border-radius:14px;background:#fff;color:var(--ink);outline:none;transition:border-color .18s,box-shadow .18s}.auth-form input{height:52px;padding:0 16px;margin-bottom:15px}.auth-form input:focus,.modal-card input:focus,.modal-card textarea:focus,.custom-period input:focus,.file-toolbar input:focus{border-color:#8982bd;box-shadow:0 0 0 4px rgba(117,107,168,.12)}.auth-form .code-input{height:72px;text-align:center;color:var(--primary-dark);font-size:29px;font-weight:900;letter-spacing:9px}.field-hint{margin:-3px 0 16px;color:#8a8490;font-size:12px;line-height:1.5}.form-error{display:block;min-height:18px;margin:0 0 7px;color:var(--coral);font-size:12px;font-weight:700}.button{min-height:44px;padding:0 18px;border:0;border-radius:13px;font-weight:850;cursor:pointer;transition:transform .16s,box-shadow .16s,background .16s}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.58;cursor:wait;transform:none}.button.primary{background:linear-gradient(135deg,var(--primary),#5d568f);color:#fff;box-shadow:0 9px 22px rgba(69,65,122,.22)}.button.primary b{font-size:18px}.button.wide{width:100%;display:flex;align-items:center;justify-content:center;gap:16px}.button.quiet{margin-top:10px;background:#fff;color:var(--primary);border:1px solid var(--line)}.button.ghost{background:#fff;color:var(--primary);border:1px solid var(--line)}.divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:#97919c;font-size:11px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.google-button{min-height:44px;display:flex;justify-content:center}.privacy-note{display:flex;gap:12px;margin-top:24px;padding:16px;border-radius:16px;background:#f7f5fa;color:var(--muted)}.privacy-note span{color:var(--primary);font-size:20px}.privacy-note p{margin:0;font-size:12px;line-height:1.55}
.gate-shell{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at 15% 20%,rgba(231,181,99,.15),transparent 24%),linear-gradient(145deg,#302b4a,#4c477d)}.gate-card{position:relative;width:min(100%,510px);padding:52px;border-radius:34px;background:#fff;box-shadow:0 30px 90px rgba(20,16,46,.32)}.gate-card>img{width:76px;height:76px;border-radius:24px;margin-bottom:26px;box-shadow:var(--shadow-soft)}.gate-logout{position:absolute;right:28px;top:27px}.text-button{padding:5px;border:0;background:transparent;color:var(--primary);font-weight:850;cursor:pointer}.profile-chip{display:flex;align-items:center;gap:12px;margin-top:24px;padding:14px;border:1px solid var(--line);border-radius:16px}.profile-chip>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--soft);color:var(--primary);font-weight:900}.profile-chip div{display:flex;flex-direction:column}.profile-chip small{margin-top:3px;color:var(--muted)}
.app-shell{min-height:100vh}.sidebar{position:fixed;z-index:30;inset:0 auto 0 0;width:280px;padding:30px 20px;display:flex;flex-direction:column;background:linear-gradient(180deg,#302b4a,#3c376a);color:#fff;box-shadow:15px 0 45px rgba(38,33,69,.11)}.sidebar-brand{display:flex;align-items:center;gap:13px;padding:0 10px 27px;color:#fff;text-decoration:none}.sidebar-brand img{width:50px;height:50px;border-radius:16px}.sidebar-brand strong{font-size:21px}.sidebar-brand small{color:#bab5ce;font-size:9px}.sidebar nav{display:flex;flex-direction:column;gap:5px;overflow:auto;padding-right:2px}.sidebar nav a{display:flex;align-items:center;gap:13px;min-height:45px;padding:0 14px;border-radius:13px;color:#d9d5e5;text-decoration:none;font-size:13px;font-weight:750}.sidebar nav a i{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:rgba(255,255,255,.08);font-style:normal}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.12);color:#fff}.sidebar nav a.active:before{content:"";width:3px;height:19px;margin-left:-14px;border-radius:3px;background:#e7b563}.sidebar-access{display:flex;gap:12px;margin-top:auto;padding:18px 12px;border-top:1px solid rgba(255,255,255,.12);color:#ddd9e9}.sidebar-access>span{color:#e7b563}.sidebar-access div{display:flex;flex-direction:column}.sidebar-access small{font-size:10px}.sidebar-access strong{margin-top:4px;font-size:12px}.sidebar>.text-button{align-self:flex-start;margin:8px 7px 0;color:#fff}.content{margin-left:280px}.topbar{position:sticky;z-index:20;top:0;height:82px;padding:0 clamp(22px,4vw,58px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(69,65,122,.08);background:rgba(255,255,255,.92);backdrop-filter:blur(18px)}.menuButton{display:none}.icon-button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--primary);font-size:19px;cursor:pointer}.pet-heading{display:flex;align-items:center;gap:12px}.pet-avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:var(--soft);color:var(--primary);font-weight:900}.pet-heading>div:last-child{display:flex;flex-direction:column}.pet-heading small{color:var(--muted);font-size:10px;font-weight:750}.pet-heading strong{margin-top:3px}.top-actions{display:flex;align-items:center;gap:12px}.secure-badge{padding:8px 12px;border-radius:999px;background:#eff6f2;color:#4f846d;font-size:11px;font-weight:850}.page{max-width:1540px;margin:0 auto;padding:45px clamp(22px,4vw,58px) 90px}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:10px 0 32px}.hero h1{margin:9px 0 8px;font-size:clamp(36px,4vw,56px);letter-spacing:-2.3px}.hero p{margin:0;color:var(--muted)}.period-control{display:flex;align-items:center;gap:10px}.segmented{display:flex;padding:4px;border-radius:13px;background:var(--soft)}.segmented button{min-height:36px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:12px;font-weight:800;cursor:pointer}.segmented button.active{background:#fff;color:var(--primary);box-shadow:0 3px 12px rgba(48,43,74,.09)}.custom-period{display:flex;align-items:flex-end;gap:12px;margin:-15px 0 28px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}.custom-period label{color:var(--muted);font-size:11px;font-weight:800}.custom-period input{display:block;height:42px;padding:0 12px;margin-top:5px}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.summary-card{position:relative;overflow:hidden;min-height:145px;padding:24px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-soft)}.summary-card:after{content:"";position:absolute;right:-24px;top:-28px;width:90px;height:90px;border-radius:50%;background:var(--soft)}.summary-card span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px}.summary-card strong{display:block;margin:12px 0 7px;font-size:28px;letter-spacing:-1px}.summary-card small{color:var(--muted);line-height:1.4}.report-section{padding-top:74px}.section-heading{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:18px;margin-bottom:22px}.section-heading.heading-actions{grid-template-columns:auto 1fr auto;align-items:center}.section-number{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--soft);color:var(--primary);font-weight:900}.section-number.gold{background:#f8f0de;color:var(--gold)}.section-number.coral{background:#fcedea;color:var(--coral)}.section-number.rose{background:#f4edf4;color:var(--rose)}.section-number.blue{background:#eaf0f7;color:var(--blue)}.section-number.sage{background:#eff6f2;color:var(--sage)}.section-heading h2{margin:5px 0 5px;font-size:31px;letter-spacing:-1px}.section-heading p{margin:0;color:var(--muted);line-height:1.5}.panel{padding:27px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow-soft)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.panel-head h3{margin:6px 0 0;font-size:21px}.metric-pill{padding:10px 13px;border-radius:12px;background:var(--soft);color:var(--primary);font-size:12px;font-weight:850}.chart{min-height:300px}.chart svg{display:block;width:100%;height:auto;overflow:visible}.chart-label{fill:#8a8490;font-size:11px}.chart-empty,.empty-state{display:grid;place-items:center;min-height:160px;padding:25px;border:1px dashed #d9d4e3;border-radius:18px;color:var(--muted);text-align:center}.inline-facts,.compact-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.inline-fact,.stat-card{padding:15px;border-radius:16px;background:#f8f7fa}.inline-fact span,.stat-card span{display:block;color:var(--muted);font-size:11px}.inline-fact strong,.stat-card strong{display:block;margin-top:6px;font-size:17px}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:16px}.timeline-list,.fact-list,.card-list,.consultation-list{display:flex;flex-direction:column;gap:11px}.timeline-item,.fact-item,.treatment-card,.consultation-card{position:relative;padding:17px 18px 17px 20px;border:1px solid var(--line);border-radius:17px;background:#fff}.timeline-item:before{content:"";position:absolute;left:-1px;top:17px;bottom:17px;width:3px;border-radius:3px;background:var(--primary)}.timeline-item strong,.fact-item strong,.treatment-card strong,.consultation-card strong{display:block}.timeline-item p,.fact-item p,.treatment-card p,.consultation-card p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.timeline-item small,.treatment-card small,.consultation-card small{display:block;margin-top:8px;color:#938d98;font-size:11px}.fact-item{background:#faf9fb}.record-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.record-card{padding:19px;border:1px solid var(--line);border-radius:18px}.record-card strong{display:block}.record-card p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.record-card small{display:block;margin-top:10px;color:#938d98}.file-toolbar{display:flex;align-items:center;gap:15px;margin-bottom:20px}.file-toolbar input{height:44px;padding:0 14px;max-width:460px}.file-toolbar span{margin-left:auto;color:var(--muted);font-size:12px;font-weight:800}.file-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.file-card{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:17px;color:var(--ink);text-decoration:none}.file-icon{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:13px;background:var(--soft);color:var(--primary);font-weight:900}.file-card div{min-width:0}.file-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-card small{display:block;margin-top:4px;color:var(--muted)}
.modal{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:22px}.modal-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(26,22,47,.67);backdrop-filter:blur(6px)}.modal-card{position:relative;width:min(100%,620px);max-height:calc(100vh - 44px);overflow:auto;padding:32px;border:0;border-radius:28px;background:#fff;box-shadow:0 30px 90px rgba(22,17,49,.35)}.modal-card-wide{width:min(100%,760px)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;margin-bottom:26px}.modal-head h2{margin:7px 0 7px;font-size:28px;letter-spacing:-1px}.modal-head p{margin:0;color:var(--muted);line-height:1.5}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid label{display:block;margin:0}.form-grid label small{color:var(--muted);font-weight:500}.form-grid .full{grid-column:1/-1}.modal-card input,.modal-card textarea{display:block;padding:13px 14px;margin-top:7px;resize:vertical}.modal-card input{height:49px}.modal-card label>small{display:block;margin-top:7px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:23px}.toast{position:fixed;z-index:120;left:50%;top:20px;max-width:min(90vw,520px);padding:14px 18px;border-radius:14px;background:var(--primary-dark);color:#fff;font-size:13px;font-weight:750;box-shadow:var(--shadow);opacity:0;transform:translate(-50%,-20px);pointer-events:none;transition:.22s}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#a94439}.sidebar-backdrop{display:none}
@media(max-width:1100px){.auth-shell{grid-template-columns:1fr}.auth-story{min-height:410px;padding:42px}.story-copy{padding:50px 0 0}.story-copy h1{max-width:820px;font-size:48px}.trust-grid{max-width:820px}.auth-panel{padding:44px 20px}.summary-grid{grid-template-columns:repeat(2,1fr)}.sidebar{transform:translateX(-102%);transition:transform .22s}.sidebar.open{transform:none}.content{margin-left:0}.sidebar-backdrop{position:fixed;z-index:25;inset:0;border:0;background:rgba(23,19,43,.5)}.sidebar-backdrop.show{display:block}.topbar .icon-button{display:grid}.topbar{padding-inline:24px}}
@media(min-width:1101px){#menuButton{display:none}}
@media(max-width:760px){.auth-story{display:none}.auth-panel{min-height:100vh;padding:18px}.auth-card{padding:30px 22px;border-radius:26px}.brand-mobile{display:flex}.auth-card h2,.gate-card h2{font-size:29px}.gate-card{padding:42px 23px}.topbar{height:72px;padding:0 15px}.secure-badge{display:none}.top-actions .button{width:42px;padding:0;font-size:0}.top-actions .button:after{content:"+";font-size:22px}.page{padding:30px 16px 70px}.hero{display:block}.hero h1{font-size:39px}.period-control{align-items:stretch;flex-direction:column;margin-top:23px}.segmented{display:grid;grid-template-columns:repeat(4,1fr)}.summary-grid,.two-column,.record-grid,.file-list{grid-template-columns:1fr}.summary-card{min-height:125px}.section-heading,.section-heading.heading-actions{grid-template-columns:auto 1fr}.section-heading.heading-actions .button{grid-column:1/-1}.section-heading h2{font-size:27px}.panel{padding:21px 17px;border-radius:20px}.chart{min-height:210px;overflow-x:auto}.chart svg{min-width:620px}.inline-facts,.compact-stats{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.modal{padding:10px}.modal-card{max-height:calc(100vh - 20px);padding:25px 20px;border-radius:23px}.file-toolbar{align-items:stretch;flex-direction:column}.file-toolbar input{max-width:none}.file-toolbar span{margin-left:0}.pet-heading small{display:none}}
@media(max-width:420px){.auth-card{padding:28px 18px}.auth-tabs button{font-size:12px}.code-input{letter-spacing:6px!important}.summary-grid{grid-template-columns:1fr}.inline-facts,.compact-stats{grid-template-columns:1fr}.pet-heading strong{max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
.summary-card:after{display:none}
.auth-card{min-height:820px;display:flex;flex-direction:column}
.privacy-note{margin-top:auto}
.modal-card label>small.optional-inline{display:inline;margin:0 0 0 5px}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Portal veterinário responsivo */
html,body,.app-shell,.content{max-width:100%}
.mobile-header-brand,.mobile-action-label{display:none}
#appointmentForm input[readonly]{background:var(--surface-muted,#f5f3f8);color:var(--ink-soft)}
#appointmentForm .appointment-date-time-group{min-width:0}
#appointmentForm .appointment-date-time-fields>input{box-sizing:border-box;min-width:0;max-width:100%;height:49px;font-size:16px}
#appointmentTime{width:100%;padding:10px 8px;appearance:none;-webkit-appearance:none}
#appointmentTime::-webkit-date-and-time-value{text-align:center;min-width:0}
#newAppointmentTop .mobile-action-label{font-size:13px;line-height:1.2;white-space:nowrap}
#appView #newAppointmentTop{width:auto;min-width:100px;padding:0 12px;font-size:13px}
#appView #newAppointmentTop:after{display:none}
@media(min-width:521px) and (max-width:760px){#newAppointmentTop .desktop-action-label{display:none}#newAppointmentTop .mobile-action-label{display:inline}}
.pet-heading,.pet-heading>div:last-child,.top-actions,.panel,.two-column>*{min-width:0}
.clinical-history-grid{margin-top:16px}
.compact-timeline{margin-top:12px}
.symptom-donut-layout{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:24px;min-height:190px}
.symptom-donut{position:relative;width:142px;height:142px;margin:auto;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(69,65,122,.08)}
.symptom-donut>svg{position:absolute;z-index:0;inset:0;width:100%;height:100%;overflow:visible}
.symptom-segment{cursor:crosshair;pointer-events:stroke;transition:opacity .16s ease,stroke-width .16s ease;outline:none}
.symptom-segment:hover,.symptom-segment:focus{opacity:.82;stroke-width:23}
.symptom-donut:after{content:"";position:absolute;inset:25px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgba(69,65,122,.08)}
.symptom-donut>div{position:absolute;z-index:1;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column}
.symptom-donut strong{font-size:27px;line-height:1;color:var(--ink)}
.symptom-donut span{margin-top:6px;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.7px;text-transform:uppercase}
.symptom-legend{display:flex;flex-direction:column;gap:10px}
.symptom-legend>div{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:9px}
.symptom-legend-item{padding:6px 8px;border-radius:9px;cursor:help;outline:none;transition:background .16s ease}
.symptom-legend-item:hover,.symptom-legend-item:focus{background:#f5f2fa}
.symptom-legend i{width:9px;height:9px;border-radius:50%}
.symptom-legend span{overflow:hidden;color:var(--ink-soft);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.symptom-legend b{color:var(--primary);font-size:12px}
.latest-diagnosis{padding:20px;border:1px solid rgba(141,95,120,.2);border-radius:19px;background:linear-gradient(135deg,rgba(141,95,120,.1),#fff)}
.latest-diagnosis>span{display:block;color:var(--rose);font-size:10px;font-weight:900;letter-spacing:.75px;text-transform:uppercase}
.latest-diagnosis>strong{display:block;margin-top:8px;color:var(--ink);font-size:22px;line-height:1.12;overflow-wrap:anywhere}
.latest-diagnosis>p{margin:9px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.record-date{display:flex!important;align-items:center;flex-wrap:wrap;gap:7px}
.future-record{border-color:rgba(85,127,175,.3)!important;background:linear-gradient(135deg,rgba(85,127,175,.07),#fff)!important}
.future-badge{display:inline-flex!important;align-items:center;min-height:21px;padding:0 8px;border-radius:999px;background:#eaf0f7;color:#3e6b9a;font-size:9px;font-weight:900;letter-spacing:.45px;text-transform:uppercase}
.record-attachments{margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}
.attachment-heading{display:block;margin-bottom:8px;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.65px;text-transform:uppercase}
.attachment-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:8px}
.attachment-card{display:flex;align-items:center;gap:10px;min-width:0;padding:10px;border:1px solid #ddd8e7;border-radius:13px;background:#faf9fc;color:var(--ink);text-decoration:none;transition:border-color .18s,background .18s,transform .18s}
.attachment-card:hover{border-color:#aaa1c4;background:#f5f2fa;transform:translateY(-1px)}
.attachment-card>i{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:10px;background:var(--soft);color:var(--primary);font-size:9px;font-style:normal;font-weight:900}
.attachment-card>span{min-width:0}
.attachment-card strong{display:block;overflow:hidden;color:var(--ink);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.attachment-card small{display:block!important;margin-top:3px!important;color:var(--muted)!important;font-size:9px!important}
.treatment-note{padding:10px 12px;border-radius:12px;background:#f7f5fa}
body.modal-open{position:fixed;width:100%;overflow:hidden}
.modal{overflow:hidden;overscroll-behavior:contain}
.modal-card{min-width:0;max-width:100%;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.modal-card>*,.form-grid,.form-grid>*,.record-card,.file-card,.file-card div{min-width:0;max-width:100%}
.google-button{width:100%;min-height:44px;align-items:center;overflow:hidden}
.google-button>div{width:100%!important;max-width:100%!important}
.interactive-chart{position:relative}
.chart-point{cursor:crosshair;outline:none}
.chart-point-halo{fill:rgba(228,95,79,0);transition:fill .16s ease}
.chart-point-dot{fill:#fff;stroke:#e45f4f;stroke-width:4;transition:r .16s ease,fill .16s ease}
.chart-point:hover .chart-point-halo,.chart-point:focus .chart-point-halo{fill:rgba(228,95,79,.13)}
.chart-point:hover .chart-point-dot,.chart-point:focus .chart-point-dot{r:8;fill:#fff7f5}
.chart-interaction-hint{display:block;margin-top:-5px;color:var(--muted);font-size:9px;font-weight:750;text-align:right}
.chart-tooltip{position:fixed;z-index:300;left:0;top:0;max-width:min(270px,calc(100vw - 20px));padding:10px 13px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(48,43,74,.96);box-shadow:0 12px 34px rgba(35,30,59,.24);color:#fff;font-size:11px;font-weight:850;line-height:1.35;pointer-events:none;opacity:0;transform:translate(-999px,-999px);transition:opacity .12s ease;backdrop-filter:blur(12px)}
.chart-tooltip.show{opacity:1}

.professional-return-row{display:flex;margin:0 0 18px}.professional-return-button{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:0 15px;border:1px solid #d9d4e6;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(48,43,74,.07);color:var(--primary);font:inherit;font-size:11px;font-weight:900;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.professional-return-button span{color:var(--gold);font-size:17px;line-height:1}.professional-return-button:hover{border-color:#aaa3cf;box-shadow:0 9px 22px rgba(48,43,74,.11);transform:translateY(-1px)}

/* Visão geral clínica */
.clinical-dashboard{padding-top:8px}
.dashboard-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 20px}
.dashboard-heading h2{margin:6px 0 5px;font-size:31px;letter-spacing:-1px}
.dashboard-heading p{margin:0;color:var(--muted);line-height:1.5}
.dashboard-period{flex:0 0 auto;padding:10px 13px;border:1px solid #d9d4e6;border-radius:12px;background:#fff;color:var(--primary);font-size:11px;font-weight:900;box-shadow:0 5px 16px rgba(48,43,74,.06)}
.clinical-alert-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:15px}
.clinical-alert{display:flex;align-items:flex-start;gap:11px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 5px 18px rgba(48,43,74,.05)}
.clinical-alert>i{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:12px;background:#eff6f2;color:var(--sage);font-size:13px;font-style:normal;font-weight:950}
.clinical-alert>div{min-width:0}
.clinical-alert strong{display:block;color:var(--ink);font-size:12px;line-height:1.3}
.clinical-alert p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.4;overflow-wrap:anywhere}
.clinical-alert.attention{border-color:#efcdc6;background:linear-gradient(145deg,#fff8f6,#fff)}
.clinical-alert.attention>i{background:#fcedea;color:var(--coral)}
.clinical-alert.clinical{border-color:#d9d4e6;background:linear-gradient(145deg,#f8f6fc,#fff)}
.clinical-alert.clinical>i{background:var(--soft);color:var(--primary)}
.clinical-dashboard>.summary-grid{margin-bottom:16px}
.summary-card{border-top:3px solid #d9d4e6}
.summary-card.sage{border-top-color:#8eb09f;background:linear-gradient(160deg,#fff,#f8fcfa)}
.summary-card.gold{border-top-color:#d4ac65;background:linear-gradient(160deg,#fff,#fdfaf3)}
.summary-card.coral{border-top-color:#e98679;background:linear-gradient(160deg,#fff,#fff8f6)}
.summary-card.primary{border-top-color:#8279b3;background:linear-gradient(160deg,#fff,#f9f8fc)}
.summary-card.blue{border-top-color:#86a6c8;background:linear-gradient(160deg,#fff,#f7fafd)}
.dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.dashboard-grid>.panel{min-width:0}
.dashboard-weight-panel{grid-column:span 8}
.dashboard-symptom-panel{grid-column:span 4}
.dashboard-care-panel,.dashboard-vaccine-panel{grid-column:span 6}
.dashboard-timeline-panel{grid-column:1/-1}
.overview-chart{min-height:235px}
.overview-chart svg{max-height:255px}
.panel-link{flex:0 0 auto;color:var(--primary);font-size:11px;font-weight:900;text-decoration:none}
.panel-link:hover{text-decoration:underline}
.dashboard-compact-list{display:flex;flex-direction:column;gap:9px}
.dashboard-compact-list>.empty-state{min-height:125px}
.dashboard-compact-list article{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:15px;background:#fbfafc}
.dashboard-compact-list article>i{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--soft);color:var(--primary);font-size:10px;font-style:normal;font-weight:950}
.dashboard-vaccine-panel .dashboard-compact-list article>i{background:#f8f0de;color:var(--gold)}
.dashboard-compact-list article div{min-width:0}
.dashboard-compact-list article strong{display:block;overflow:hidden;color:var(--ink);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.dashboard-compact-list article p{margin:4px 0 0;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.dashboard-compact-list article small{color:var(--muted);font-size:9px;font-weight:850;text-align:right}
.dashboard-compact-list article small.overdue{color:var(--coral)}
.tutor-source{padding:7px 10px;border-radius:999px;background:#eaf0f7;color:var(--blue);font-size:9px;font-weight:900;letter-spacing:.5px;text-transform:uppercase}
.dashboard-timeline{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
.dashboard-timeline>.empty-state{grid-column:1/-1}
.dashboard-timeline-item{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:start;gap:10px;min-width:0;padding:13px 0;border-bottom:1px solid var(--line)}
.dashboard-timeline-item>i{width:9px;height:9px;margin-top:4px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 4px var(--soft)}
.dashboard-timeline-item.symptom>i,.dashboard-timeline-item.disease>i{background:var(--coral);box-shadow:0 0 0 4px #fcedea}
.dashboard-timeline-item.exam>i{background:var(--blue);box-shadow:0 0 0 4px #eaf0f7}
.dashboard-timeline-item.vaccine>i{background:var(--gold);box-shadow:0 0 0 4px #f8f0de}
.dashboard-timeline-item>div{min-width:0}
.dashboard-timeline-item span{display:block;color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.55px;text-transform:uppercase}
.dashboard-timeline-item span b{display:inline-flex;margin-left:5px;padding:2px 5px;border-radius:999px;background:#eaf0f7;color:var(--blue);font-size:7px}
.dashboard-timeline-item strong{display:block;margin-top:4px;overflow:hidden;color:var(--ink);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.dashboard-timeline-item p{margin:4px 0 0;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.dashboard-timeline-item time{color:var(--muted);font-size:9px;white-space:nowrap}
.clinical-source-note{margin:15px 0 0;padding:13px 15px;border:1px solid #d9d4e6;border-radius:15px;background:rgba(255,255,255,.72);color:var(--muted);font-size:10px;line-height:1.5}
.clinical-source-note strong{color:var(--primary)}

@media(max-width:1100px){
  body.menu-open{overflow:hidden}
  .sidebar{z-index:72;width:min(86vw,320px);padding:24px 18px calc(20px + env(safe-area-inset-bottom));visibility:hidden;transition:transform .22s ease,visibility .22s ease}
  .sidebar.open{visibility:visible}
  .sidebar-backdrop{z-index:71;display:block!important;opacity:0;pointer-events:none;transition:opacity .22s ease;backdrop-filter:blur(3px)}
  .sidebar-backdrop.show{opacity:1;pointer-events:auto}
  .sidebar nav a,.sidebar>.text-button{min-height:44px}
  .topbar{min-height:74px;height:auto;padding:10px 18px;gap:10px}
  #menuButton{display:grid;flex:0 0 44px;width:44px;height:44px}
  .pet-heading{flex:1 1 auto}
  .pet-heading>div:last-child{min-width:0}
  .pet-heading strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .top-actions{flex:0 0 auto}
  .clinical-alert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-weight-panel{grid-column:span 7}
  .dashboard-symptom-panel{grid-column:span 5}
}

@media(max-width:760px){
  html,body,.app-shell,.content{overflow-x:clip}
  .auth-shell{display:block;min-height:100dvh;background:linear-gradient(155deg,#fbfafd,#f2eff7)}
  .auth-panel{min-height:100dvh;align-items:start;padding:18px 14px calc(22px + env(safe-area-inset-bottom))}
  .auth-card{width:100%;min-height:828px;padding:28px 20px;border-radius:25px}
  .brand-mobile{margin-bottom:25px}
  .brand-mobile img{width:50px;height:50px;border-radius:16px}
  .auth-card h2,.gate-card h2{font-size:clamp(27px,8vw,32px);line-height:1.05}
  .auth-intro{font-size:14px}
  .auth-tabs{margin-bottom:22px}
  .google-button,.google-button>div,.google-button iframe{max-width:100%!important}
  .privacy-note{margin-top:auto}
  .gate-shell{padding:14px}
  .gate-card{width:100%;padding:38px 21px calc(26px + env(safe-area-inset-bottom));border-radius:26px}
  .gate-card>img{width:64px;height:64px;border-radius:20px}
  .gate-logout{right:20px;top:20px}
  .page{padding:26px 14px calc(50px + env(safe-area-inset-bottom))}
  .professional-return-row{margin-bottom:14px}.professional-return-button{width:100%;justify-content:center;min-height:45px}
  .hero{gap:20px;padding-bottom:24px}
  .hero h1{font-size:clamp(34px,10vw,43px);line-height:1;letter-spacing:-1.8px}
  .hero p{font-size:13px;line-height:1.45}
  .period-control{width:100%}
  .segmented{width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .segmented button{min-width:64px;padding-inline:8px}
  .custom-period{align-items:stretch;flex-wrap:wrap;margin-top:-10px;padding:15px}
  .custom-period label{flex:1 1 125px}
  .custom-period .button{flex:1 1 100%;width:100%}
  .summary-grid{gap:10px}
  .summary-card{min-height:116px;padding:18px}
  .summary-card strong{font-size:23px;overflow-wrap:anywhere}
  .report-section{padding-top:54px;scroll-margin-top:76px}
  .section-heading,.section-heading.heading-actions{gap:12px}
  .section-number{width:42px;height:42px;border-radius:13px}
  .section-heading h2{font-size:24px;line-height:1.08}
  .section-heading p{font-size:12px}
  .section-heading.heading-actions .button{width:100%}
  .panel{padding:19px 15px;border-radius:20px}
  .panel-head{margin-bottom:17px}
  .panel-head h3{font-size:19px}
  .chart{justify-content:flex-start;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .chart svg{min-width:560px}
  .timeline-item,.fact-item,.treatment-card,.consultation-card,.record-card,.file-card{overflow-wrap:anywhere}
  .symptom-donut-layout{grid-template-columns:126px minmax(0,1fr);gap:17px;min-height:160px}
  .symptom-donut{width:120px;height:120px}
  .symptom-donut:after{inset:22px}
  .clinical-history-grid{margin-top:12px}
  .form-grid input,.form-grid textarea,.custom-period input,.file-toolbar input{font-size:16px}
  .dashboard-heading{align-items:flex-start;flex-direction:column;gap:12px}
  .dashboard-heading h2{font-size:27px}
  .dashboard-grid>*{grid-column:1/-1}
  .overview-chart{min-height:210px;overflow-x:auto}
  .overview-chart svg{min-width:560px;max-height:none}
  .dashboard-timeline{grid-template-columns:1fr}
}

@media(max-width:520px){
  .topbar{display:grid;grid-template-columns:44px minmax(0,1fr) 42px;gap:8px 10px;padding:10px 10px 9px}
  #menuButton{grid-column:1;grid-row:1}
  .mobile-header-brand{grid-column:2;grid-row:1;display:flex;align-items:center;justify-self:center;min-width:0;color:var(--ink);text-decoration:none}
  .mobile-header-brand img{width:34px;height:34px;flex:0 0 auto;padding:3px;border-radius:10px;background:#fff}
  .mobile-header-brand>span{display:flex;min-width:0;margin-left:8px;flex-direction:column}
  .mobile-header-brand strong{font-size:16px;line-height:1;letter-spacing:-.6px}
  .mobile-header-brand strong i{color:var(--coral);font-style:normal}
  .mobile-header-brand small{margin-top:3px;color:var(--muted);font-size:7px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}
  .top-actions{grid-column:3;grid-row:1;margin:0}
  .pet-heading{grid-column:1/-1;grid-row:2;width:100%;padding:9px 4px 0;border-top:1px solid var(--line)}
  .pet-avatar{width:38px;height:38px;border-radius:12px;font-size:15px}
  .pet-heading small{display:block}
  .pet-heading strong{max-width:calc(100vw - 84px);font-size:13px}
  .desktop-action-label{display:none}
  .mobile-action-label{display:inline;font-size:20px;line-height:1}
  .top-actions .button{display:grid;place-items:center;width:42px;height:42px;min-height:42px;padding:0;font-size:inherit}
  .top-actions .button:after{display:none}
  .summary-grid{grid-template-columns:1fr 1fr}
  .summary-card{min-height:108px;padding:15px}
  .summary-card span{font-size:9px}
  .summary-card strong{font-size:19px}
  .summary-card small{font-size:10px}
  .section-heading,.section-heading.heading-actions{grid-template-columns:1fr}
  .section-number{display:inline-grid;margin-bottom:2px}
  .section-heading.heading-actions .button{grid-column:auto}
  .panel-head{align-items:flex-start;flex-direction:column}
  .metric-pill{max-width:100%;overflow-wrap:anywhere}
  .two-column,.record-grid,.file-list{grid-template-columns:minmax(0,1fr)}
  .inline-facts{grid-template-columns:1fr 1fr;gap:8px}
  .symptom-donut-layout{grid-template-columns:1fr;gap:16px}
  .symptom-donut{width:132px;height:132px}
  .symptom-legend{width:100%}
  .symptom-legend span{white-space:normal}
  .latest-diagnosis>strong{font-size:20px}
  .file-card{align-items:flex-start;padding:14px}
  .file-card strong,.file-card small{white-space:normal;overflow-wrap:anywhere}
  .modal{align-items:end;padding:0}
  .modal-card{width:100%;max-height:92dvh;overflow-y:auto;border-radius:24px 24px 0 0;padding:20px 16px calc(18px + env(safe-area-inset-bottom));touch-action:pan-y}
  .modal-head{margin-bottom:17px}
  .modal-head h2{font-size:25px;line-height:1.08}
  .modal-head p{font-size:13px}
  .form-grid{width:100%;overflow:hidden}
  .form-grid label,.form-grid input,.form-grid textarea{width:100%;max-width:100%}
  .modal-actions{position:sticky;bottom:calc(-18px - env(safe-area-inset-bottom));z-index:2;margin:18px -16px calc(-18px - env(safe-area-inset-bottom));padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,255,255,.96)}
  .modal-actions .button{flex:1}
  .clinical-alert-grid{grid-template-columns:1fr}
  .clinical-alert{padding:13px}
  .dashboard-period{width:100%;text-align:center}
  .dashboard-compact-list article{grid-template-columns:36px minmax(0,1fr)}
  .dashboard-compact-list article>small{grid-column:2;text-align:left}
  .dashboard-timeline-item{grid-template-columns:12px minmax(0,1fr)}
  .dashboard-timeline-item time{grid-column:2}
  .tutor-source{white-space:normal}
}

/* Prontuário clínico criado pelo veterinário */
.appointment-modal-card{display:flex;flex-direction:column;width:min(96vw,1120px);padding:38px 42px;overflow:hidden}
.appointment-modal-scroll{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:2px 14px 2px 2px;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}
.appointment-modal-card>.modal-actions{flex:0 0 auto;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.appointment-modal-card .modal-head{padding-bottom:22px;border-bottom:1px solid var(--line)}
.appointment-modal-card .modal-head h2{font-size:32px}
.consultation-professional-grid,.consultation-clinical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.consultation-clinical-grid{margin-top:26px;padding-top:26px;border-top:1px solid var(--line)}
.consultation-professional-grid label,.consultation-clinical-grid label{display:block;margin:0}
.consultation-professional-grid input,.consultation-clinical-grid input,.consultation-clinical-grid textarea{width:100%}
.consultation-clinical-grid .full{grid-column:1/-1}
.consultation-clinical-grid textarea{min-height:148px;line-height:1.55}
.consultation-clinical-grid label.full textarea{min-height:132px}
.consultation-files-section{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:26px;padding:24px;border:1px solid #dce3ec;border-radius:20px;background:linear-gradient(145deg,#f8fbfe,#fff)}
.consultation-files-section h3{margin:6px 0 5px;font-size:20px}.consultation-files-section p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}
.consultation-file-picker{margin:0!important}.consultation-file-picker input{position:absolute;width:1px!important;height:1px!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.consultation-file-picker span{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 17px;border:1px solid #b7c7da;border-radius:13px;background:#fff;color:var(--blue);font-size:11px;font-weight:900;cursor:pointer;transition:border-color .16s,box-shadow .16s,transform .16s}
.consultation-file-picker span:hover{border-color:#7894b4;box-shadow:0 7px 18px rgba(85,127,175,.12);transform:translateY(-1px)}
.appointment-attachment-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.appointment-attachment-list article{display:flex;align-items:center;gap:11px;min-width:0;padding:11px 12px;border:1px solid #dce3ec;border-radius:14px;background:#fff}
.appointment-attachment-list article>i{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:11px;background:#eaf0f7;color:var(--blue);font-size:9px;font-style:normal;font-weight:950}
.appointment-attachment-list article>div{min-width:0;flex:1}.appointment-attachment-list strong{display:block;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.appointment-attachment-list small{display:block;margin-top:3px;color:var(--muted);font-size:9px}
.appointment-attachment-list article>button{display:grid;place-items:center;flex:0 0 32px;height:32px;border:1px solid #edd3cf;border-radius:10px;background:#fff8f6;color:var(--coral);font-size:17px;cursor:pointer}
.consultation-files-empty{grid-column:1/-1;padding:13px;border:1px dashed #cad6e4;border-radius:13px;color:var(--muted);font-size:10px;text-align:center}
.appointment-date-time-group>span{display:block;margin-bottom:8px;color:var(--ink-soft);font-size:13px;font-weight:800}.appointment-date-time-fields{display:grid;grid-template-columns:minmax(0,1fr) 49px 112px;gap:8px}.appointment-date-time-fields>input{margin:0}.appointment-date-picker-button{position:relative;display:grid!important;place-items:center;height:49px;margin:0!important;overflow:hidden;border:1px solid #d8d1e2;border-radius:14px;background:linear-gradient(145deg,#f8f6fc,#fff);color:var(--primary)!important;cursor:pointer;transition:.16s}.appointment-date-picker-button svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.appointment-date-picker-button input{position:absolute!important;inset:0;width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;opacity:0;cursor:pointer}.appointment-date-picker-button:hover{border-color:#938ac1;box-shadow:0 7px 18px rgba(69,65,122,.12);transform:translateY(-1px)}.consultation-files-section h3 .optional-inline{font-size:10px;font-weight:700}
.button.danger{border:1px solid #efd0ca;background:#fff7f5;color:#b74b3f;box-shadow:none}
.professional-account-actions{position:relative}
.professional-account-menu{position:absolute;top:calc(100% + 10px);right:0;width:220px;max-width:calc(100vw - 28px);padding:8px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);color:var(--ink)}
.professional-account-menu button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:46px;padding:12px 14px;border:0;border-radius:10px;background:transparent;color:var(--ink);text-align:left;cursor:pointer;font-weight:700}
.professional-account-menu button:hover,.professional-account-menu button:focus-visible{background:var(--soft)}
.professional-account-menu button.account-signout{color:#b42318;border-top:1px solid var(--line);border-radius:0 0 10px 10px;margin-top:4px}
.account-danger-zone{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.account-danger-zone h3{color:#b42318;margin:0 0 12px}.account-danger-zone p{color:var(--muted);font-size:14px;line-height:1.6}
.account-modal-card .modal-head p{overflow-wrap:anywhere}.account-modal-card .auth-form{margin-top:18px}
.consultation-card{display:grid;grid-template-columns:minmax(270px,1.15fr) minmax(320px,1fr) auto;align-items:center;gap:24px;padding:22px 24px;border-left:4px solid var(--primary);box-shadow:0 6px 20px rgba(48,43,74,.045)}
.consultation-professional{display:flex;align-items:center;gap:13px;min-width:0}.consultation-professional-icon{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:15px;background:linear-gradient(145deg,#eeebf7,#f8f6fc);color:var(--primary);font-size:18px;font-weight:900}.consultation-professional>div{min-width:0}.consultation-card-kicker,.consultation-card-facts span,.consultation-detail-professional small,.consultation-detail-facts span,.consultation-detail-sections section>span{display:block;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.7px;text-transform:uppercase}.consultation-professional strong{overflow:hidden;margin:4px 0 2px;font-size:17px;text-overflow:ellipsis;white-space:nowrap}.consultation-professional small{overflow:hidden;margin:0;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.consultation-professional b{display:block;margin-top:4px;color:var(--primary);font-size:11px}.consultation-card-facts{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(145px,.65fr);gap:10px}.consultation-card-facts>div{min-width:0;padding:12px 14px;border-radius:14px;background:#f7f5fa}.consultation-card-facts strong{overflow:hidden;margin-top:5px;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.consultation-card-facts .future-badge{display:inline-flex;margin-top:5px}.consultation-view-button{min-width:150px;border:1px solid #d8d1e7;background:#fff;color:var(--primary);box-shadow:none}.consultation-view-button:hover{border-color:#938ac1;background:#f8f6fc}
.consultation-detail-modal-card{width:min(96vw,920px);padding:36px 40px}.consultation-detail-professional{display:flex;align-items:center;gap:16px;padding:20px;border-radius:20px;background:linear-gradient(135deg,#353052,#504a7c);color:#fff}.consultation-detail-professional .consultation-professional-icon{background:rgba(255,255,255,.12);color:#efc978}.consultation-detail-professional h3{margin:5px 0 3px;font-size:23px}.consultation-detail-professional p{margin:0;color:#eeeaf5;font-size:14px}.consultation-detail-professional b{display:block;margin-top:6px;color:#f2ce83;font-size:13px}.consultation-detail-facts{display:grid;grid-template-columns:1fr auto;gap:12px;margin-top:14px}.consultation-detail-facts>div{padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:#faf9fb}.consultation-detail-facts span,.consultation-detail-sections section>span{color:var(--primary);font-size:11px;font-weight:950;letter-spacing:.75px}.consultation-detail-facts strong{display:block;margin-top:7px;color:var(--ink);font-size:15px}.consultation-detail-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:18px}.consultation-detail-sections section{padding:18px;border:1px solid var(--line);border-radius:17px;background:#fff}.consultation-detail-sections section:first-child,.consultation-detail-sections section:last-child{grid-column:1/-1}.consultation-detail-sections p{margin:9px 0 0;color:var(--ink);font-size:14px;line-height:1.7;white-space:pre-line}

@media(max-width:760px){
  .professional-invitation-alert{justify-self:stretch;min-width:0}
  .professional-summary.compact{grid-template-columns:1fr}
  .invitations-modal-card{padding:24px 18px calc(18px + env(safe-area-inset-bottom))}
  .appointment-modal-card{width:100%;padding:20px 16px calc(18px + env(safe-area-inset-bottom))}
  .appointment-modal-scroll{padding-right:8px}
  .appointment-modal-card>.modal-actions{position:static;bottom:auto;margin:14px 0 0;padding:12px 0 0;background:#fff}
  .appointment-modal-card .modal-head h2{font-size:26px}
  .consultation-professional-grid,.consultation-clinical-grid{grid-template-columns:1fr;gap:15px}
  .consultation-clinical-grid .full{grid-column:auto}
  .consultation-files-section{grid-template-columns:1fr;padding:18px 14px}
  .consultation-file-picker span{width:100%}
  .appointment-attachment-list{grid-template-columns:1fr}
  .consultation-card{padding:18px 15px}
  .consultation-card{grid-template-columns:1fr;gap:15px}.consultation-card-facts{grid-template-columns:1fr}.consultation-view-button{width:100%}
  .appointment-date-time-fields{grid-template-columns:minmax(0,1fr) 47px 100px}
  .consultation-detail-modal-card{width:100%;padding:20px 16px calc(18px + env(safe-area-inset-bottom))}.consultation-detail-facts,.consultation-detail-sections{grid-template-columns:1fr}.consultation-detail-sections section:first-child,.consultation-detail-sections section:last-child{grid-column:auto}
}

@media(max-width:380px){
  .auth-card{padding-inline:16px}
  .auth-tabs button{padding-inline:7px;font-size:11px}
  .summary-grid,.inline-facts{grid-template-columns:1fr}
}

.forgot-link{display:block;margin:10px auto 2px;font-size:12px}.professional-home-card{width:min(100%,880px);padding:44px}.professional-home-card>p{max-width:620px}.home-section{margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}.home-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.home-section-title h3,.temporary-access-block h3{margin:5px 0 0;font-size:20px}.count-badge{display:grid;place-items:center;min-width:30px;height:30px;padding:0 9px;border-radius:999px;background:var(--soft);color:var(--primary);font-size:12px;font-weight:900}.count-badge.gold{background:#fff4d9;color:#9a6b24}.patient-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.patient-card{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:18px;background:#fff;text-align:left;cursor:pointer}.patient-card:hover{border-color:#aaa3cf;box-shadow:var(--shadow-soft)}.patient-card>i{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#efedf7;color:var(--primary);font-style:normal;font-weight:900}.patient-card div{display:flex;min-width:0;flex:1;flex-direction:column}.patient-card strong{font-size:14px}.patient-card small{margin-top:4px;color:var(--muted);font-size:11px}.patient-card>b{color:var(--primary)}.invitation-list{display:grid;gap:10px}.invitation-card,.invitation-decision{padding:16px;border:1px solid #ead9ad;border-radius:18px;background:#fffaf0}.invitation-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.invitation-card h4{margin:0 0 4px;font-size:14px}.invitation-card p,.invitation-decision p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.invitation-actions{display:flex;gap:8px;margin-top:13px}.invitation-actions .button{min-height:38px}.temporary-access-block{margin-top:27px;padding:22px;border-radius:21px;background:#f7f5fa}.temporary-access-block>p{margin:7px 0 16px;color:var(--muted);font-size:12px}.temporary-access-block .auth-form{max-width:500px}.access-kind-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:500px;margin:0 0 15px}.access-kind-grid>span{display:flex;min-width:0;flex-direction:column;padding:11px 12px;border:1px solid #dfdae9;border-radius:13px;background:#fff}.access-kind-grid strong{color:var(--ink);font-size:11px}.access-kind-grid small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.35}.access-permissions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.access-permissions span{padding:7px 9px;border-radius:999px;background:#fff;color:var(--primary);font-size:9px;font-weight:850}.portal-notifications{margin-top:20px;padding:14px 16px;border-radius:16px;background:#f0edf8;color:var(--primary);font-size:12px;line-height:1.5}.portal-notifications strong{display:block;margin-bottom:3px}.invitation-decision{margin-top:20px}.invitation-decision h3{margin:5px 0 8px}.portal-status{display:inline-flex;margin-top:8px;padding:5px 8px;border-radius:999px;background:#edf6f2;color:#26725a;font-size:9px;font-weight:900}.access-permanent{color:#26725a!important}

@media(max-width:760px){.professional-home-card{padding:36px 20px}.patient-grid,.access-kind-grid{grid-template-columns:1fr}.home-section-title h3,.temporary-access-block h3{font-size:18px}.temporary-access-block{padding:17px}.invitation-actions{flex-direction:column}.invitation-actions .button{width:100%}}

/* Área profissional logada */
.professional-shell{min-height:100vh;background:linear-gradient(180deg,#f3f0f7 0,#faf9fb 430px,#f7f5f9 100%)}
.professional-topbar{position:sticky;z-index:60;top:0;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(46,41,75,.97);box-shadow:0 12px 34px rgba(31,27,55,.16);backdrop-filter:blur(20px)}
.professional-topbar:after{content:"";position:absolute;right:0;bottom:0;left:0;height:2px;background:linear-gradient(90deg,transparent 0,#d2a653 35%,#f0d394 50%,#d2a653 65%,transparent 100%);opacity:.75}
.professional-topbar-inner{width:min(100% - 48px,1360px);min-height:84px;margin:0 auto;display:flex;align-items:center;gap:30px}
.professional-brand{display:flex;align-items:center;flex:0 0 auto;gap:12px;color:#fff;text-decoration:none}
.professional-brand img{width:46px;height:46px;border-radius:15px;box-shadow:0 10px 24px rgba(13,10,34,.3)}
.professional-brand>span{display:flex;flex-direction:column}
.professional-brand strong{font-size:19px;letter-spacing:-.7px}.professional-brand strong i{color:#f47a69;font-style:normal}
.professional-brand small{margin-top:3px;color:#c9c4dc;font-size:8px;font-weight:850;letter-spacing:1.1px;text-transform:uppercase}
.professional-nav{display:flex;align-items:center;align-self:stretch;gap:4px;margin-left:20px}
.professional-nav button{position:relative;align-self:stretch;padding:0 14px;border:0;background:transparent;color:#c9c4d8;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}
.professional-nav button:hover,.professional-nav button.active{color:#fff}
.professional-nav button.active:after{content:"";position:absolute;right:14px;bottom:0;left:14px;height:3px;border-radius:4px 4px 0 0;background:#e6bd70}
.professional-nav button span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;padding:0 6px;border-radius:7px;background:rgba(255,255,255,.12);color:#f2d18f;font-size:9px}
.professional-account-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.professional-profile-button{display:flex;align-items:center;gap:10px;min-width:210px;min-height:54px;padding:7px 10px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:rgba(255,255,255,.07);color:#fff;text-align:left;cursor:pointer;transition:background .18s,border-color .18s,transform .18s}
.professional-profile-button:hover{border-color:rgba(230,189,112,.46);background:rgba(255,255,255,.11);transform:translateY(-1px)}
.professional-profile-button>span{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:11px;background:linear-gradient(145deg,#726aa0,#534c83);color:#fff;font-size:12px;font-weight:950;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.professional-profile-button>div{display:flex;min-width:0;flex:1;flex-direction:column}.professional-profile-button strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.professional-profile-button small{margin-top:3px;overflow:hidden;color:#bfb9d1;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.professional-profile-button>b{color:#e6bd70;font-size:13px}
.professional-logout-button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:0 13px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:transparent;color:#e2deea;font-size:10px;font-weight:850;cursor:pointer}.professional-logout-button:hover{background:rgba(255,255,255,.08);color:#fff}.professional-logout-button b{color:#e6bd70;font-size:13px}
.professional-main{width:min(100% - 48px,1280px);margin:0 auto;padding:42px 0 90px}
.professional-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;min-height:268px;padding:50px 54px;border:1px solid rgba(255,255,255,.13);border-radius:30px;background:linear-gradient(135deg,#302b4a 0,#45417a 60%,#5b548b 100%);box-shadow:0 22px 55px rgba(45,40,77,.2);color:#fff;scroll-margin-top:110px}
.professional-hero-copy{max-width:720px}.professional-hero h1{margin:12px 0 13px;font-size:clamp(39px,5vw,62px);line-height:.98;letter-spacing:-2.8px}.professional-hero p{max-width:680px;margin:0;color:#dad6e7;font-size:16px;line-height:1.62}
.professional-invitation-alert{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;min-width:300px;padding:14px 16px;border:1px solid rgba(241,204,127,.55);border-radius:18px;background:linear-gradient(145deg,#fff8e9,#f2d695);box-shadow:0 14px 34px rgba(18,15,39,.24);color:#393458;text-align:left;cursor:pointer;transition:transform .18s,box-shadow .18s}
.professional-invitation-alert:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(18,15,39,.3)}.professional-invitation-alert>span{display:grid;place-items:center;grid-row:1/3;width:44px;height:44px;border-radius:14px;background:#45417a;color:#fff;font-size:15px;font-weight:950}.professional-invitation-alert>div{display:flex;min-width:0;flex-direction:column}.professional-invitation-alert small{color:#8b6427;font-size:8px;font-weight:950;letter-spacing:.8px;text-transform:uppercase}.professional-invitation-alert strong{margin-top:4px;font-size:13px}.professional-invitation-alert>b{grid-column:2;color:#665c91;font-size:9px}
.professional-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 28px}
.professional-summary.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.professional-summary>article,.professional-quick-card{display:flex;align-items:center;gap:16px;min-width:0;min-height:128px;padding:22px;border:1px solid #e4dfE8;border-radius:22px;background:#fff;box-shadow:0 8px 26px rgba(48,43,74,.065);text-align:left}
.professional-summary-icon,.professional-quick-card>span{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:14px;background:#efedf7;color:var(--primary);font-size:13px;font-weight:950}.professional-summary-icon.gold{background:#fbf1df;color:#a57026}.professional-summary>article>div,.professional-quick-card>div{min-width:0}.professional-summary small,.professional-quick-card small{display:block;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.7px;text-transform:uppercase}.professional-summary strong,.professional-quick-card strong{display:block;margin-top:6px;color:var(--ink);font-size:23px;letter-spacing:-.6px}.professional-summary p,.professional-quick-card p{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.4}
.professional-quick-card{border-color:#d8d2e3;background:linear-gradient(145deg,#fff,#f6f3fa);font:inherit;cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s}.professional-quick-card:hover{border-color:#aaa3cf;box-shadow:0 13px 32px rgba(48,43,74,.11);transform:translateY(-2px)}.professional-quick-card>span{order:2;margin-left:auto;background:var(--primary);color:#fff;font-size:18px}.professional-quick-card strong{font-size:15px}
.professional-panel{padding:30px;border:1px solid #e3dee8;border-radius:25px;background:#fff;box-shadow:0 10px 34px rgba(48,43,74,.07)}
.professional-section-block{margin-top:18px;scroll-margin-top:112px}
.professional-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}.professional-section-heading h2,.professional-token-copy h2{margin:6px 0 6px;font-size:25px;letter-spacing:-.8px}.professional-section-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.professional-panel .patient-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.patient-card-shell{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,#fff,#fbfafc);transition:border-color .18s,box-shadow .18s}.patient-card-shell:hover{border-color:#aaa3cf;box-shadow:var(--shadow-soft)}.professional-panel .patient-card-shell .patient-card{min-height:92px;padding:17px;border:0;border-radius:0;background:transparent;box-shadow:none}.professional-panel .patient-card-shell .patient-card>i{width:46px;height:46px}.professional-panel .patient-card-shell .patient-card>b{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:var(--soft)}.patient-remove-access{min-height:35px;margin:0 14px 12px;padding:0 10px;border:1px solid #eadad6;border-radius:10px;background:#fffafa;color:#9c4d45;font:inherit;font-size:9px;font-weight:850;cursor:pointer;transition:background .18s,border-color .18s}.patient-remove-access:hover{border-color:#d9aaa3;background:#fff3f1}.patient-remove-access:disabled{cursor:wait;opacity:.62}
.professional-notification{margin:0 0 18px;padding:17px 20px;border:1px solid #dcd6e8;border-left:4px solid var(--primary);border-radius:16px;background:#fff;box-shadow:0 8px 25px rgba(48,43,74,.06)}
.professional-invitation-decision{margin:0 0 18px;padding:22px;border-radius:20px;box-shadow:0 8px 25px rgba(116,82,26,.08)}
.professional-token-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,440px);align-items:center;gap:50px;padding:38px 42px;border:1px solid rgba(230,189,112,.32);border-radius:27px;background:linear-gradient(135deg,#302b4a,#45417a);box-shadow:0 18px 44px rgba(45,40,77,.17);color:#fff}.professional-token-copy>p{max-width:600px;margin:0 0 20px;color:#d5d1e2;font-size:13px;line-height:1.55}.professional-token-panel .access-kind-grid{max-width:none;margin:0}.professional-token-panel .access-kind-grid>span{border-color:rgba(255,255,255,.13);background:rgba(255,255,255,.08)}.professional-token-panel .access-kind-grid strong{color:#fff}.professional-token-panel .access-kind-grid small{color:#c9c4d8}.professional-token-form{padding:23px;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 16px 35px rgba(18,15,39,.24)}.professional-token-form .code-input{margin-bottom:6px}.professional-token-form .form-error{margin-bottom:9px}
.professional-token-panel.compact{grid-template-columns:minmax(0,1fr) 320px;width:min(100%,920px);gap:28px;margin:18px auto 0;padding:26px 28px;border-radius:23px}.professional-token-panel.compact .professional-token-copy h2{font-size:22px}.professional-token-panel.compact .professional-token-copy>p{margin-bottom:14px;font-size:11px}.professional-token-panel.compact .access-kind-grid{gap:6px}.professional-token-panel.compact .access-kind-grid>span{padding:9px 10px}.professional-token-panel.compact .professional-token-form{padding:17px 18px}.professional-token-panel.compact .professional-token-form label{font-size:10px}.professional-token-panel.compact .code-input{min-height:48px;font-size:20px}
.professional-topbar-inner{min-height:96px}.professional-brand{gap:15px}.professional-brand img{width:62px;height:62px;border-radius:18px}.professional-brand strong{font-size:23px}.professional-brand small{font-size:9px;letter-spacing:1.3px}.professional-profile-button{min-width:158px;max-width:184px;min-height:44px;padding:5px 8px;border-radius:13px;gap:8px}.professional-profile-button>span{flex-basis:32px;height:32px;border-radius:10px;font-size:10px}.professional-profile-button strong{font-size:10px}.professional-profile-button small{margin-top:2px;font-size:8px}.professional-hero{min-height:250px;padding:42px 48px;background:linear-gradient(90deg,rgba(29,22,48,.99) 0%,rgba(43,33,65,.94) 48%,rgba(48,37,71,.18) 100%),url("assets/professional-dashboard-hero-v2.webp") center right/cover no-repeat}.professional-hero h1{font-size:clamp(36px,4.4vw,54px);letter-spacing:-2.2px}
.professional-workspace-grid{display:grid;grid-template-columns:minmax(360px,1.18fr) minmax(270px,.82fr);gap:14px;align-items:stretch}.professional-workspace-grid .professional-token-panel.compact{display:flex;flex-direction:column;align-items:stretch;width:100%;min-height:100%;gap:18px;margin:0;padding:28px;border-radius:24px}.professional-workspace-grid .professional-token-copy{display:flex;flex:1;flex-direction:column}.professional-workspace-grid .professional-token-copy>p{max-width:520px}.professional-workspace-grid .professional-token-panel .access-kind-grid{margin-top:auto}.professional-workspace-grid .professional-token-form{width:100%;padding:18px}.professional-workspace-grid .professional-token-form .button{min-height:47px}
.professional-quick-access{display:flex;min-width:0;flex-direction:column;padding:27px;border:1px solid #e1dbe7;border-radius:24px;background:linear-gradient(145deg,#fff,#f8f5fb);box-shadow:0 10px 32px rgba(48,43,74,.08)}.professional-quick-access h2{margin:6px 0 6px;font-size:24px;letter-spacing:-.8px}.professional-quick-access>div>p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.professional-quick-links{display:grid;gap:8px;margin-top:auto;padding-top:20px}.professional-quick-links button{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:51px;padding:8px 12px;border:1px solid #e1dce7;border-radius:14px;background:rgba(255,255,255,.88);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s}.professional-quick-links button:hover{border-color:#aaa3cf;box-shadow:0 9px 22px rgba(48,43,74,.09);transform:translateX(2px)}.professional-quick-links span{color:#aa7a2d;font-size:9px;font-weight:950}.professional-quick-links strong{font-size:12px}.professional-quick-links b{color:var(--primary);font-size:14px}
.recent-patients-panel{padding:26px 28px}.professional-section-heading.compact-heading{margin-bottom:18px}.recent-patient-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.recent-patient-list>.empty{grid-column:1/-1}.recent-patient-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:start;gap:12px;min-width:0;min-height:154px;padding:18px;border:1px solid rgba(230,189,112,.28);border-radius:19px;background:linear-gradient(90deg,rgba(35,28,57,.98) 0%,rgba(49,39,74,.93) 54%,rgba(53,42,77,.34) 100%),url("assets/patient-card-premium-v1.webp") center/cover no-repeat;color:#fff;font:inherit;text-align:left;cursor:pointer;box-shadow:0 10px 28px rgba(40,31,65,.16);transition:transform .18s,border-color .18s,box-shadow .18s}.recent-patient-card:hover{border-color:rgba(230,189,112,.65);box-shadow:0 15px 34px rgba(40,31,65,.23);transform:translateY(-2px)}.recent-patient-card>i{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.2);border-radius:13px;background:rgba(255,255,255,.12);color:#f2d18f;font-size:12px;font-style:normal;font-weight:950;backdrop-filter:blur(8px)}.recent-patient-card>div{min-width:0}.recent-patient-card small{display:block;color:#e7c77e;font-size:10px;font-weight:900;text-transform:uppercase}.recent-patient-card strong{display:block;overflow:hidden;margin-top:5px;color:#fff;font-size:18px;letter-spacing:-.3px;text-overflow:ellipsis;white-space:nowrap}.recent-patient-card p{display:-webkit-box;overflow:hidden;margin:5px 0 10px;color:#d7d1e2;font-size:10px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.recent-patient-card span{display:block;overflow:hidden;color:#f2d18f;font-size:10px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.recent-patient-card>b{color:#f2d18f;font-size:15px}
.professional-panel .patient-card-shell{border-color:rgba(74,65,112,.28);background:#fff;box-shadow:0 9px 25px rgba(48,43,74,.08)}.professional-panel .patient-card-shell .patient-card{min-height:132px;padding:20px;background:linear-gradient(90deg,rgba(35,28,57,.98) 0%,rgba(49,39,74,.91) 58%,rgba(53,42,77,.3) 100%),url("assets/patient-card-premium-v1.webp") center/cover no-repeat;color:#fff}.professional-panel .patient-card-shell .patient-card>i{width:50px;height:50px;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(255,255,255,.12);color:#f2d18f;font-size:13px;backdrop-filter:blur(8px)}.professional-panel .patient-card-shell .patient-card strong{color:#fff;font-size:18px;letter-spacing:-.2px}.professional-panel .patient-card-shell .patient-card small{color:#d7d1e2;font-size:11px;line-height:1.45}.professional-panel .patient-card-shell .patient-card>b{background:rgba(255,255,255,.12);color:#f2d18f}.professional-panel .patient-card-shell .portal-status{width:max-content;background:rgba(237,246,242,.94);font-size:10px}.professional-panel .patient-remove-access{min-height:39px;margin:10px 14px 13px;font-size:10px}
.recent-patient-card{border-color:#e5dfe8;background:linear-gradient(90deg,rgba(255,253,249,.98) 0%,rgba(255,253,249,.94) 58%,rgba(255,253,249,.35) 100%),url("assets/patient-card-soft-v1.webp") center right/cover no-repeat;color:var(--ink);box-shadow:0 9px 24px rgba(48,43,74,.09)}.recent-patient-card:hover{border-color:#cdbb94;box-shadow:0 14px 31px rgba(48,43,74,.14)}.recent-patient-card>i{border-color:#ddd5e8;background:rgba(85,77,134,.09);color:var(--primary);backdrop-filter:blur(8px)}.recent-patient-card small{color:#9b712d}.recent-patient-card strong{color:var(--ink)}.recent-patient-card p{color:var(--muted)}.recent-patient-card span,.recent-patient-card>b{color:var(--primary)}.professional-panel .patient-card-shell{border-color:#e1dbe7}.professional-panel .patient-card-shell .patient-card{background:linear-gradient(90deg,rgba(255,253,249,.99) 0%,rgba(255,253,249,.94) 61%,rgba(255,253,249,.34) 100%),url("assets/patient-card-soft-v1.webp") center right/cover no-repeat;color:var(--ink)}.professional-panel .patient-card-shell .patient-card>i{border-color:#ddd5e8;background:rgba(85,77,134,.09);color:var(--primary);backdrop-filter:blur(8px)}.professional-panel .patient-card-shell .patient-card strong{color:var(--ink)}.professional-panel .patient-card-shell .patient-card small{color:var(--muted)}.professional-panel .patient-card-shell .patient-card>b{background:rgba(85,77,134,.1);color:var(--primary)}
.patient-search-area{display:grid;grid-template-columns:minmax(250px,330px) auto;align-items:end;gap:8px}.patient-search-area>label{grid-column:1/-1;color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.5px;text-transform:uppercase}.patient-search-area>div{display:flex;align-items:center;min-height:44px;padding:0 12px;border:1px solid #ddd7e5;border-radius:13px;background:#faf9fc}.patient-search-area>div:focus-within{border-color:#aaa3cf;box-shadow:0 0 0 3px rgba(69,65,122,.08)}.patient-search-area>div>span{margin-right:8px;color:var(--primary);font-size:18px}.patient-search-area input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:11px}.patient-search-area .count-badge{align-self:center}.patient-list-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}.patient-list-footer small{color:var(--muted);font-size:10px}.patient-list-footer .button{min-height:39px;padding:0 18px}
.patient-professional-button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 13px;border:1px solid #d7d1e2;border-radius:12px;background:#fff;color:var(--primary);font-size:10px;font-weight:900;cursor:pointer;box-shadow:0 5px 15px rgba(48,43,74,.06)}.patient-professional-button:hover{border-color:#aaa3cf;background:#faf9fc}.patient-professional-button span{color:var(--gold);font-size:15px}.patient-professional-button strong{font-size:10px}
.permanent-token-modal-card{width:min(100%,610px);padding:36px;border:1px solid rgba(185,133,50,.2)}
.invitations-modal-card{width:min(100%,700px);padding:34px}.invitations-modal-list{max-height:min(62vh,620px);overflow:auto;padding:2px}.invitations-modal-list .invitation-card{padding:20px}.invitations-modal-list .access-permissions{margin:14px 0 0}.invitations-modal-list .invitation-actions{margin-top:16px}
.permanent-token-heading{display:flex;align-items:flex-start;gap:15px}.permanent-token-heading>span{display:grid;place-items:center;flex:0 0 48px;height:48px;border:1px solid #ead39f;border-radius:15px;background:#fff7e7;color:#9b6a21}.permanent-token-heading i{font-style:normal;font-weight:950}.permanent-token-heading>div{min-width:0}.permanent-token-heading small{display:block;color:var(--gold);font-size:9px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.permanent-token-heading h2{margin:6px 0 0;font-size:27px;line-height:1.08;letter-spacing:-1px}.permanent-token-modal-card>p{margin:18px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.permanent-token-pet{display:flex;align-items:center;gap:13px;margin-top:20px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#faf9fc}.permanent-token-pet>span{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:13px;background:var(--primary);color:#fff;font-size:12px;font-weight:950}.permanent-token-pet>div{display:flex;min-width:0;flex-direction:column}.permanent-token-pet small{color:var(--muted);font-size:9px}.permanent-token-pet strong{margin-top:4px;font-size:16px}.permanent-token-permissions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.permanent-token-permissions>span{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid #e7e2eb;border-radius:14px;background:#fff;color:var(--sage);font-size:12px;font-weight:950}.permanent-token-permissions small{color:var(--ink-soft);font-size:9px;font-weight:800}.permanent-token-modal-card>p.permanent-token-note{padding:13px 14px;border-left:3px solid #d8ad5d;border-radius:4px 13px 13px 4px;background:#fff9ed;color:#6f6554;font-size:10px}.permanent-token-actions{margin-top:24px}.permanent-token-actions .button.primary{min-width:210px}

@media(max-width:1120px){
  .professional-topbar-inner{width:min(100% - 30px,1360px);flex-wrap:wrap;gap:10px 18px;padding:12px 0}.professional-nav{order:3;width:100%;height:45px;margin:0;overflow-x:auto;border-top:1px solid rgba(255,255,255,.09)}.professional-nav button{min-height:45px}.professional-account-actions{margin-left:auto}.professional-main{width:min(100% - 30px,1280px);padding-top:30px}.professional-hero{padding:36px 40px}.professional-panel .patient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recent-patient-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .professional-topbar-inner{width:100%;padding:10px 14px 0}.professional-brand img{width:48px;height:48px;border-radius:14px}.professional-brand strong{font-size:19px}.professional-profile-button{min-width:0;width:42px;height:42px;padding:4px;border:0;background:transparent}.professional-profile-button>span{width:34px;flex-basis:34px;height:34px}.professional-profile-button>div,.professional-profile-button>b,.professional-logout-button span{display:none}.professional-logout-button{width:42px;padding:0}.professional-nav{padding:0 6px}.professional-nav button{padding:0 10px;font-size:11px}.professional-nav button.active:after{right:10px;left:10px}.professional-main{width:calc(100% - 24px);padding:18px 0 calc(60px + env(safe-area-inset-bottom))}.professional-hero{grid-template-columns:1fr;min-height:0;padding:29px 24px;border-radius:24px}.professional-hero h1{font-size:39px;letter-spacing:-1.8px}.professional-hero p{font-size:13px}.professional-invitation-alert{justify-self:stretch;min-width:0}.professional-summary{grid-template-columns:1fr;gap:9px;margin:12px 0 18px}.professional-summary>article,.professional-quick-card{min-height:104px;padding:17px;border-radius:18px}.professional-panel{padding:22px 17px;border-radius:21px}.professional-section-heading{gap:12px}.professional-section-heading h2,.professional-token-copy h2{font-size:22px}.professional-panel .patient-grid{grid-template-columns:1fr}.professional-token-panel{grid-template-columns:1fr;gap:24px;padding:27px 19px;border-radius:22px}.professional-token-form{padding:18px}.professional-token-panel .access-kind-grid{grid-template-columns:1fr}.professional-section-block{scroll-margin-top:132px}.patient-professional-button{width:42px;height:42px;padding:0;justify-content:center}.patient-professional-button strong{display:none}.top-actions{gap:7px}.professional-workspace-grid{grid-template-columns:1fr}.professional-quick-access{min-height:0;padding:22px}.professional-quick-links{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px;padding-top:0}.recent-patient-list{grid-template-columns:1fr}
}
@media(max-width:520px){
  .professional-brand>span{display:none}.professional-account-actions{margin-left:auto}.professional-nav{justify-content:flex-start;scrollbar-width:none}.professional-nav::-webkit-scrollbar{display:none}.professional-nav button{flex:0 0 auto;padding-inline:8px;font-size:10px}.professional-nav button.active:after{right:8px;left:8px}.professional-hero h1{font-size:35px}.professional-summary strong{font-size:21px}.professional-quick-card strong{font-size:14px}.professional-section-heading p{font-size:11px}.topbar{grid-template-columns:44px minmax(0,1fr) auto}.top-actions{grid-column:3}.top-actions .patient-professional-button{display:grid;width:38px;height:42px;min-height:42px}.top-actions .patient-professional-button span{font-size:17px}.permanent-token-modal-card{padding:24px 18px calc(18px + env(safe-area-inset-bottom))}.permanent-token-heading h2{font-size:24px}.permanent-token-permissions{grid-template-columns:1fr}.permanent-token-actions{position:static;margin:20px 0 0;padding:0;border:0;background:transparent;flex-direction:column-reverse}.permanent-token-actions .button{width:100%}.permanent-token-actions .button.primary{min-width:0}.professional-quick-links{grid-template-columns:1fr}.recent-patient-card{min-height:142px}
}

@media(max-width:760px){
  .professional-summary.compact{grid-template-columns:1fr}
  .professional-token-panel.compact{grid-template-columns:1fr;width:100%;gap:18px;padding:23px 17px}
  .patient-section-heading{flex-direction:column}.patient-search-area{grid-template-columns:minmax(0,1fr) auto;width:100%}.patient-search-area>div{min-width:0}
  .invitations-modal-card{padding:24px 18px calc(18px + env(safe-area-inset-bottom))}
}

/* CRMV state selector follows the existing professional-profile inputs. */
.modal-card select[name="crmvState"]{display:block;width:100%;max-width:100%;min-width:0;height:49px;margin-top:7px;padding:10px 14px;border:1px solid #dcd6e3;border-radius:14px;background:#fff;color:var(--ink);font:inherit;outline:none}
.modal-card select[name="crmvState"]:focus{border-color:#8982bd;box-shadow:0 0 0 4px rgba(117,107,168,.12)}
.modal-card [id$="CrmvStateHelp"],.modal-card [id$="CrmvNumberHelp"]{display:block;margin-top:6px;line-height:1.45}
.modal-card [name="crmvState"][aria-invalid="true"],.modal-card [name="crmvNumber"][aria-invalid="true"]{border-color:var(--coral)}
@media(max-width:760px){.modal-card select[name="crmvState"]{font-size:16px}}

/* Profile first; destructive actions have their own confirmation dialog. */
.account-profile-summary{display:grid;gap:18px;margin:0 0 26px;padding:22px;background:#faf9fc;border:1px solid var(--line);border-radius:18px}
.account-profile-summary dt{color:var(--muted);font-size:12px;margin-bottom:5px}
.account-profile-summary dd{margin:0;font-weight:750;overflow-wrap:anywhere}
.account-secondary-actions{margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}
.account-secondary-actions .account-delete-link{color:#86635f;font-size:13px;font-weight:600}
.account-secondary-actions .account-delete-link:hover{color:#b42318}
.account-deletion-details p{color:var(--muted);font-size:14px;line-height:1.6}
.crmv-fields{display:grid;grid-template-columns:110px minmax(0,1fr);gap:0 16px;align-items:start}
.crmv-fields .crmv-help{grid-column:1/-1;margin-top:8px;color:var(--muted);font-size:12px;line-height:1.5}
.modal-card label>.field-error{color:#b42318;font-size:12px;font-weight:600;line-height:1.4;margin-top:6px}
.modal-card label>.field-error:empty,.profile-form-alert:empty{display:none}
.profile-form-alert:not(:empty){display:block;padding:12px 14px;margin:0 0 20px;border:1px solid #efd0ca;border-radius:12px;background:#fff7f5;color:#b42318;font-size:14px;line-height:1.5}
#profileForm [aria-invalid="true"]{border-color:#b42318}
#profileManageAccount{margin-top:20px;font-size:13px}
@media(max-width:760px){.crmv-fields{grid-template-columns:96px minmax(0,1fr);gap:0 12px}}

#professionalConsultationsSection{background:linear-gradient(145deg,#fff 35%,#f8f6fc);border:1px solid #e5dfed;box-shadow:0 12px 36px rgba(52,42,84,.045)}
.consultations-heading{display:flex;align-items:center;gap:18px;padding-bottom:24px;border-bottom:1px solid #e9e4ef}
.consultations-heading>div{min-width:0;flex:1}.consultations-heading h2{font-size:28px;letter-spacing:-1px;margin:6px 0 8px}.consultations-heading p{font-size:13px;color:var(--muted);line-height:1.6;margin:0}
.consultations-heading-icon{display:grid;place-items:center;width:60px;height:60px;flex-shrink:0;border-radius:19px;color:#fff;background:linear-gradient(135deg,#45417a,#7567a1);box-shadow:0 8px 18px #45417a20}
.consultations-heading-icon svg{width:29px;height:29px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.consultations-heading-badge{padding:8px 12px;border-radius:99px;background:#eeeaf6;color:#605184;font-size:11px;font-weight:750;white-space:nowrap}
.consultations-search{display:grid;grid-template-columns:minmax(200px,1fr) 150px 150px auto auto;gap:12px;align-items:end;margin:24px 0 12px;padding:20px;background:#f1eef6;border:1px solid #e8e2f0;border-radius:18px}
.consultations-search label{min-width:0;font-size:12px;color:var(--muted);font-weight:700}
.consultations-search input{display:block;width:100%;min-width:0;height:46px;margin-top:6px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff;font:inherit;color:var(--ink)}
.consultations-access-note{color:var(--muted);font-size:12px;line-height:1.5}
.consultations-list{display:grid;gap:12px;margin-top:20px}
.professional-consultation-card{display:flex;align-items:center;gap:18px;padding:22px;border:1px solid #e7e1ed;border-radius:18px;background:#fff;box-shadow:0 4px 14px #30224305}
.professional-consultation-card:focus-within{border-color:#8a7db2;box-shadow:0 0 0 3px #8a7db218}
.consultation-result-body{flex:1}.consultation-pet-avatar{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:16px;background:#f1ebfa;color:#675283;font-size:20px;font-weight:850}
.professional-consultation-card .consultation-result-date{color:#82718e;font-weight:650;letter-spacing:.15px}
.professional-consultation-card .button{gap:14px;background:#f4f1f9;border-color:#e8e1f2;color:#514475}
.professional-consultation-card>div{min-width:0}.professional-consultation-card h3{margin:7px 0;font-size:17px;overflow-wrap:anywhere}.professional-consultation-card p{margin:0;font-size:13px;color:var(--muted);overflow-wrap:anywhere}.professional-consultation-card small{color:var(--muted);font-size:12px}.professional-consultation-card button{flex-shrink:0}
@media(max-width:1000px){.consultations-search{grid-template-columns:1fr 1fr}.consultations-search>label:first-child{grid-column:1/-1}}
@media(max-width:760px){.consultations-heading{align-items:flex-start;gap:13px}.consultations-heading-icon{width:46px;height:46px;border-radius:15px}.consultations-heading h2{font-size:24px}.consultations-heading-badge{display:none}.consultations-search{padding:15px}}
@media(max-width:520px){.consultations-search{gap:10px}.consultations-search input{font-size:16px}.professional-consultation-card{display:grid;grid-template-columns:40px minmax(0,1fr);padding:16px;gap:13px}.consultation-pet-avatar{width:40px;height:40px;border-radius:13px}.professional-consultation-card button{grid-column:1/-1;width:100%}.professional-consultation-card h3{font-size:16px}}

/* Consistent visual identity per pet, independent of clinical status. */
.professional-consultation-card{--consultation-accent:#67518b;--consultation-soft:#f1ebf8;--consultation-line:#dfd3ed;position:relative;border-left:4px solid var(--consultation-accent);background:linear-gradient(110deg,var(--consultation-soft),#fff 38%);padding:24px;gap:24px}
.consultation-theme-sage{--consultation-accent:#3d7063;--consultation-soft:#eaf4f0;--consultation-line:#cce1d9}
.consultation-theme-sand{--consultation-accent:#8a622c;--consultation-soft:#fbf3e5;--consultation-line:#ebd9bd}
.consultation-calendar{flex:0 0 76px;text-align:center;padding:12px 8px;border:1px solid var(--consultation-line);border-radius:16px;background:#fff;color:var(--consultation-accent)}
.consultation-calendar>span{display:block;font-size:11px;font-weight:850;letter-spacing:1.5px;text-transform:uppercase}.consultation-calendar>strong{display:block;font-size:32px;line-height:1.25;letter-spacing:-1px}.professional-consultation-card .consultation-calendar>small{font-size:11px;color:var(--consultation-accent)}
.consultation-pet-heading{display:flex;align-items:center;gap:10px;margin-bottom:15px}.consultation-pet-heading>div{min-width:0}.consultation-pet-heading strong{display:block;font-size:14px;overflow-wrap:anywhere}.consultation-pet-heading small{display:block;margin-top:3px;font-size:11px;overflow-wrap:anywhere}
.consultation-pet-heading .consultation-pet-avatar{flex:0 0 38px;width:38px;height:38px;border-radius:12px;font-size:14px;background:var(--consultation-soft);color:var(--consultation-accent);border:1px solid var(--consultation-line)}
.professional-consultation-card h3{font-size:19px;line-height:1.4;margin:0 0 12px}.consultation-result-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.consultation-result-meta>span{font-size:10px;color:var(--consultation-accent);border:1px solid var(--consultation-line);background:var(--consultation-soft);border-radius:99px;padding:4px 8px;white-space:nowrap}
.professional-consultation-card .button{background:var(--consultation-soft);color:var(--consultation-accent);border-color:var(--consultation-line)}
@media(max-width:760px){.professional-consultation-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;padding:18px}.consultation-calendar{align-self:start;padding:10px 6px}.professional-consultation-card>button{grid-column:1/-1;width:100%}.professional-consultation-card h3{font-size:17px}.consultation-pet-heading{margin-bottom:12px}.consultation-result-meta{gap:6px}.professional-consultation-card .consultation-result-date{font-size:11px}}

/* Mobile professional portal: fixed navigation, single-column filters and an explicit patient-view return. */
@media(max-width:760px){
  .professional-topbar{overflow-x:hidden}
  .professional-topbar-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:52px 50px;width:100%;min-height:102px;padding:0 12px;gap:0 10px}
  .professional-brand{grid-column:1;grid-row:1;min-width:0}
  .professional-brand img{width:42px;height:42px;border-radius:13px}
  .professional-account-actions{grid-column:2;grid-row:1;margin:0;justify-self:end}
  .professional-nav{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-self:stretch;width:auto;height:50px;margin:0 -12px;padding:0 5px;overflow:visible;border-top:1px solid rgba(255,255,255,.09)}
  .professional-nav button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:50px;height:50px;padding:3px 4px;line-height:1.08;text-align:center;white-space:normal;overflow:hidden}
  .professional-nav button span{display:none}
  .professional-nav button.active:after{right:5px;left:5px}
  .professional-main{padding-top:18px}
  .professional-section-block{scroll-margin-top:116px}
  .consultations-search{display:flex;flex-direction:column;align-items:stretch;width:100%;padding:15px;overflow:hidden}
  .consultations-search>label,.consultations-search>.button{display:block;width:100%;min-width:0}
  .consultations-search input{width:100%;max-width:100%;min-width:0}
  .professional-return-row{margin-bottom:14px}
  .professional-return-button{width:100%;min-height:47px;justify-content:flex-start;padding:0 16px;border-color:#d7d1e2;background:#f8f6fc;box-shadow:none;font-size:12px}
  .professional-return-button span{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#fff;color:var(--primary);font-size:16px;box-shadow:0 3px 10px rgba(48,43,74,.08)}
}
@media(max-width:390px){
  .professional-nav button{font-size:9px;letter-spacing:-.1px}
  .professional-brand strong{font-size:17px}
}
.sidebar nav .sidebar-professional-home{display:flex;align-items:center;gap:13px;min-height:48px;padding:10px 14px;margin-bottom:12px;border:1px solid #777095;border-radius:13px;background:#514a70;color:#fff;font:inherit;font-size:13px;font-weight:750;text-align:left;cursor:pointer}
.sidebar-professional-home i{font-style:normal;font-size:20px;width:25px;text-align:center}
.sidebar nav .sidebar-professional-home:hover,.sidebar nav .sidebar-professional-home:focus-visible{background:#696185;outline:2px solid #d7d1ed;outline-offset:2px}
.consultation-card-target{border-color:#7763b1!important;box-shadow:0 0 0 4px #e6def8,0 12px 30px #514a7020;scroll-margin-top:110px}
.portal-navigation{min-width:0}
/* One continuous record: local anchors replace the former sidebar. */
#appView .content{margin-left:0;min-width:0}
#appView .topbar{position:relative;top:auto;display:flex;align-items:center;justify-content:space-between;height:auto;min-height:92px;padding:18px max(24px,calc((100% - 1360px)/2));gap:20px}
#appView .mobile-header-brand{display:none}
#appView .pet-heading{width:auto;border:0;padding:0;min-width:0}
#appView .page{max-width:1416px;margin:0 auto}
#appView #files{min-height:calc(100svh - var(--portal-header-height,0px) - var(--record-anchor-height,54px) - 40px)}
.record-anchors{position:sticky;top:var(--portal-header-height,0px);z-index:40;display:flex;align-items:stretch;gap:8px;padding:0 max(24px,calc((100% - 1360px)/2));background:#fff;border-bottom:1px solid var(--line);box-shadow:0 6px 14px rgba(48,43,74,.04);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
.record-anchors a{flex:0 0 auto;display:flex;align-items:center;min-height:54px;padding:0 15px;border-bottom:3px solid transparent;color:var(--muted);text-decoration:none;font-size:13px;font-weight:750;white-space:nowrap}
.record-anchors a:hover{color:var(--primary);background:var(--cream)}
.record-anchors a.active{color:var(--primary);border-bottom-color:var(--primary);background:var(--cream)}
.record-access{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px;color:var(--muted);font-size:12px;flex-wrap:wrap}
.record-anchors~.page .consultation-card-target{scroll-margin-top:calc(var(--portal-header-height,0px) + var(--record-anchor-height,54px) + 20px)}
@media(max-width:760px){#appView .topbar{padding:16px;min-height:80px;gap:10px}#appView .pet-heading strong{max-width:none;overflow-wrap:anywhere}#appView .pet-heading{flex:1}#appView .top-actions{flex:0 0 auto}.record-anchors{padding:0 10px;gap:2px}.record-anchors a{padding:0 12px;min-height:48px;font-size:12px}}
.portal-navigation>summary{display:none}
@media(min-width:761px){.portal-navigation::details-content{content-visibility:visible}.portal-navigation:not([open])>nav{display:flex}}
.has-portal-header .sidebar{top:90px;height:calc(100dvh - 90px)}
#portalHeader .professional-topbar-inner{min-height:90px}
.pet-photo-frame{position:relative;display:grid;place-items:center;width:100%;height:100%;min-width:32px;min-height:32px;overflow:hidden;border-radius:inherit;font-style:normal}
.pet-profile-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.has-portal-header .topbar{position:relative;top:auto}
@media(max-width:1100px){#portalHeader .professional-brand{display:none}#portalHeader .professional-topbar-inner{display:flex;justify-content:space-between;gap:12px}}
@media(max-width:760px){
  #portalHeader{overflow:visible}
  #portalHeader .professional-topbar-inner{min-height:70px;max-width:100%;padding:10px 16px}
  .portal-navigation>summary{display:flex;gap:10px;align-items:center;padding:12px 16px;border:1px solid #777095;border-radius:12px;color:white;cursor:pointer;font-weight:750;list-style:none}
  .portal-navigation>summary::-webkit-details-marker{display:none}
  #portalHeader .portal-navigation .professional-nav{position:absolute;top:calc(100% + 6px);left:12px;right:12px;display:flex;flex-direction:column;align-items:stretch;height:auto;margin:0;padding:10px;border-radius:16px;background:#302b4a;box-shadow:0 14px 35px #19132b40;z-index:65}
  #portalHeader .professional-nav button{text-align:left;justify-content:flex-start;min-height:44px;font-size:14px}
  #portalHeader .professional-profile-button{width:auto;max-width:210px;gap:8px}
  #portalHeader .professional-profile-button>div{display:flex}
  #portalHeader .professional-profile-button>b{display:block}
  .has-portal-header .sidebar{top:70px;height:calc(100dvh - 70px)}
  .pet-heading strong{white-space:normal}
}
