/* Identity and touch-friendly layouts shared by the real panel and demo. */
:root{--navy:#063966;--ink:#173b56;--muted:#506a7a;--teal:#008464;--teal-soft:#e2f5ed}.sidebar{background:linear-gradient(170deg,#063966,#062b4e);overflow-y:auto}.sidebar .panel-logo{background:white;padding:14px 10px;border-radius:14px;margin:0 0 23px}.panel-logo img{width:100%;height:auto}.nav-item.active{background:#72edb2;color:#073e39;box-shadow:none}.nav-item.active .nav-icon{color:#073e39}.top-avatar,.avatar{background:#b5f2d4;color:#073e39}.button.primary{background:#00578a;border-color:#00578a}.clinic-showcase{background:linear-gradient(110deg,#063966,#006a71)}.clinic-showcase h2{color:#96f5c5}.clinic-showcase>div>span{font-size:12px}.clinic-showcase a{font-size:16px}.stat-icon{background:#e2f5ed;color:#00604d}.page-subtitle,.panel-note,.row-meta,.stat-label{color:#506a7a}.login-logo{display:block;margin-bottom:30px}.login-logo img{width:min(100%,310px);height:auto}.auth-message h1{color:#96f5c5}.auth-art{background:linear-gradient(150deg,#063966,#00615c)}.auth-caption,.auth-foot{color:#506a7a;font-size:15px;line-height:1.6}.auth-card .field{font-size:17px;height:52px}.auth-card label{font-size:16px}.auth-submit{min-height:52px;font-size:16px}.close-sidebar,.mobile-bottom-nav,.mobile-month-list{display:none}.button:focus-visible,.tiny-button:focus-visible,.nav-item:focus-visible,.icon-button:focus-visible,.mobile-bottom-nav button:focus-visible{outline:3px solid #d29a15;outline-offset:3px}.field,.search-field input,select.field,textarea.field{font-size:16px}.data-table td{font-size:15px}.data-table th{font-size:12px}.person b{font-size:15px}.person small{font-size:13px}.form-field label{font-size:14px}.row-title{font-size:16px}.row-meta{font-size:14px}.empty-state{font-size:16px}.panel-title{font-size:20px}.icon-button,.tiny-button{min-height:44px;min-width:44px}.stat-label{font-size:14px}.mobile-bottom-nav button{font:inherit}.modal{margin:auto}.close-sidebar{color:white}.panel-head{gap:15px;flex-wrap:wrap}.button,.field,.panel,.stat-card{max-width:100%}.main,.content,.panel{min-width:0}.data-table td{overflow-wrap:anywhere}
@media(max-width:900px){.sidebar{width:265px;transform:translateX(-100%);transition:transform .2s;z-index:50;padding-top:55px}.sidebar.open{transform:translateX(0)}.main{margin-left:0}.menu-toggle{display:grid}.mobile-overlay.show{display:block;position:fixed;inset:0;background:#082e5877;z-index:45}.close-sidebar{display:grid;place-items:center;position:absolute;right:15px;top:10px;width:40px;height:40px;background:#ffffff12;border:1px solid #ffffff40;border-radius:12px;font-size:29px}.topbar{padding:0 18px}.breadcrumb{margin-right:auto;margin-left:14px}.breadcrumb span,.breadcrumb i,.today-label{display:none}.content{padding:25px 20px 115px}.mobile-bottom-nav{position:fixed;z-index:35;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fffffff5;border-top:1px solid #cadddf;padding:8px 7px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -5px 25px #06396612;backdrop-filter:blur(12px)}.mobile-bottom-nav button{border:0;background:none;color:#506575;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:3px;min-height:57px;font-size:12px;font-weight:650;border-radius:12px;padding:5px 2px}.mobile-bottom-nav button span{font-size:23px;line-height:1.15}.mobile-bottom-nav button.active{color:#005347;background:#e0f6eb}.toast{bottom:100px;max-width:calc(100vw - 32px);font-size:15px}.dashboard-grid,.section-grid{grid-template-columns:1fr}.auth-screen{grid-template-columns:1fr}.auth-art{display:none}.auth-side{padding:35px 22px;min-height:100dvh}.auth-card{padding:0;align-self:center}.auth-card h2{font-size:29px}.clinic-showcase img{width:125px;height:125px}.auth-error{bottom:20px;font-size:15px}}
@media(max-width:760px){body{min-width:320px}.content{padding:24px 15px 120px}.page-title{font-size:30px;letter-spacing:-1px}.page-subtitle{font-size:16px}.eyebrow{font-size:11px;letter-spacing:1px}.topbar{height:65px}.top-avatar{width:44px;height:44px}.welcome-row{gap:18px}.welcome-row>.button{width:100%}.stats-grid{gap:12px}.stat-card{padding:17px 14px;min-height:130px;border-radius:17px}.stat-value{font-size:29px}.stat-label{font-size:13px;line-height:1.4}.stat-foot{font-size:12px}.panel{padding:18px 15px;margin-bottom:17px}.panel-note{font-size:14px}.button{font-size:16px;min-height:48px}.button.small{font-size:15px}.toolbar{gap:10px;align-items:stretch}.toolbar .field,.toolbar select,.toolbar .button{width:100%;flex:1 1 135px}.search-field{min-width:0;flex-basis:100%}.search-field input{font-size:16px;min-height:50px}.data-table,.data-table tbody{display:block;width:100%;min-width:0}.data-table thead{display:none}.data-table tr{display:flex;flex-direction:column;gap:0;border:1px solid #dbe7ed;border-radius:18px;margin-bottom:14px;padding:18px;background:#fff;box-shadow:0 6px 16px #073c5d06}.data-table td,.data-table td:last-child,.data-table td:first-child{display:flex;justify-content:space-between;gap:20px;align-items:center;width:100%;padding:10px 0!important;border:0;border-bottom:1px solid #edf2f5;font-size:16px;color:#29485e;grid-column:auto;grid-row:auto}.data-table td:before{content:attr(data-label);font-size:13px;font-weight:650;color:#506a7a;flex:0 0 32%;text-transform:none;letter-spacing:0}.data-table td:first-child{padding-top:0!important}.data-table td:first-child:before{display:none}.data-table td:last-child{border:0;padding-bottom:0!important}.data-table td[colspan]:before,.data-table td[data-label=""]:before{display:none}.data-table .person{min-width:0}.data-table .person b{font-size:17px}.data-table .person small{font-size:14px}.data-table .person-avatar{width:42px;height:42px;flex-shrink:0}.row-actions{gap:8px;flex-wrap:wrap}.data-table td:nth-child(n+3):nth-last-child(n+2){color:#29485e}.calendar-grid,.calendar-header{display:none}.mobile-month-list{display:block}.mobile-month-caption{font-size:14px;color:#506a7a}.mobile-appointment{width:100%;border:1px solid #d4e7e3;border-radius:15px;margin:10px 0;padding:16px 12px;background:#f5fbf8;display:flex;align-items:center;gap:15px;text-align:left;color:#173b56}.mobile-appointment>span:first-child{min-width:74px;color:#005f58}.mobile-appointment b{display:block;font-size:15px}.mobile-appointment strong{display:block;font-size:20px}.mobile-appointment small{display:block;font-size:14px;margin-top:5px;line-height:1.5}.mobile-appointment>span:last-child{margin-left:auto;font-size:25px}.calendar-top{gap:7px}.calendar-top strong{font-size:16px}.appointment-row{grid-template-columns:78px minmax(0,1fr);gap:13px;padding:16px 0}.appointment-row .row-actions{grid-column:2}.time-badge{font-size:14px;line-height:1.7}.pill{font-size:12px;white-space:normal}.quick-action{min-height:100px}.quick-action b{font-size:15px}.quick-action small{font-size:13px}.clinic-showcase{padding:22px 18px;gap:15px}.clinic-showcase h2{font-size:24px}.clinic-showcase>div>span{font-size:10px}.clinic-showcase a{font-size:15px}.clinic-showcase img{width:90px;height:110px}.modal{width:calc(100% - 16px);max-height:calc(100dvh - 24px);border-radius:22px}.modal-body{max-height:calc(100dvh - 215px);padding:20px}.modal-head{padding:18px 20px}.modal-actions{padding:15px 20px max(15px,env(safe-area-inset-bottom))}.modal-actions .button{flex:1}.form-grid{grid-template-columns:1fr;gap:18px}.form-field label{font-size:15px}.form-field input,.form-field select,.form-field textarea{font-size:17px;min-height:50px}.file-tabs{gap:8px}.file-tab{min-height:46px;font-size:15px}.patient-contact-grid strong{font-size:17px}.patient-contact-grid small{font-size:14px}.notice,.warning-box,.battery-card p,.report-card p{font-size:15px;line-height:1.6}.report-card h3{font-size:19px}.auth-foot{font-size:14px}.cash-box small{font-size:13px}.cash-box strong{font-size:21px}.demo-banner{font-size:14px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Erro de convite visível dentro do modal, inclusive no celular. */
.modal-inline-error:not([hidden]){
  display:block;
  margin:16px 20px 0;
  padding:15px 17px;
  border:1px solid #e99b9b;
  border-radius:14px;
  background:#fff0f0;
  color:#8d2222;
  font-size:15px;
  font-weight:650;
  line-height:1.55;
  overflow-wrap:anywhere;
}
@media(max-width:700px){
  .modal-inline-error:not([hidden]){margin:13px 14px 0;font-size:14px;}
}
