@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--paper:#f7f8f5;--white:#fff;--ink:#233d35;--muted:#87918a;--green:#214d3f;--line:#e6eae4;--lime:#d6e7a5;--gold:#d4bc84;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);font:14px 'DM Sans',sans-serif;color:var(--ink)}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #b7c48c;outline-offset:4px}button{transition:background .2s,transform .2s}button:active{transform:translateY(1px)}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}i{display:inline-flex;font-style:normal}.app-shell{display:flex;min-height:100vh}.sidebar{width:240px;background:#fff;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:32px 20px 0;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:0 12px;font:42px var(--serif);letter-spacing:-2px}.brand small{display:block;font:8px 'Manrope',sans-serif;letter-spacing:2.5px;margin-top:7px}.brand-symbol{font-size:52px;position:relative;line-height:1;color:var(--green);border-bottom:1px solid var(--gold);padding:0 2px}.brand-symbol>span{font:20px var(--serif);position:absolute;top:-4px;right:-8px}.clinic-picker{display:flex;gap:11px;align-items:center;background:#f7f8f4;border:1px solid var(--line);border-radius:10px;padding:13px 10px;margin:34px 0 31px}.clinic-icon{display:flex;background:#fff;padding:8px;border-radius:8px}.clinic-picker label{min-width:0}.clinic-picker small{font-size:8px;letter-spacing:1.5px;color:var(--muted)}.clinic-picker select{font-size:12px;font-weight:650;border:0;background:none;display:block;width:133px;margin-top:5px;padding:0;color:var(--ink)}.nav-label{font-size:9px;letter-spacing:1.8px;color:#929b94;margin:0 15px 13px}nav{display:grid;gap:7px}nav button{border:0;background:none;display:flex;align-items:center;gap:12px;padding:14px;border-radius:8px;font-size:12px;text-align:left;color:#758178}nav button:hover{background:#f4f6f1}nav button.active{background:#eaf0e3;color:#2b543e;font-weight:650}nav i svg{width:18px;height:18px}.nav-dot{width:6px;height:6px;border-radius:100%;background:#517c45;margin-left:auto}.nav-count{margin-left:auto;font-size:10px;border:1px solid var(--line);padding:1px 5px;border-radius:4px}.sidebar-bottom{margin-top:auto;padding-top:34px}.care-card{padding:22px 17px;border:1px solid #e4e9df;border-radius:11px;background:linear-gradient(125deg,#f4f6ef,#fcfcf8);position:relative;overflow:hidden}.care-card:after{content:'';width:100px;height:100px;border:1px solid #e0e5d6;border-radius:50%;position:absolute;right:-64px;top:-8px;box-shadow:0 0 0 12px #eef1e7,0 0 0 13px #e2e7d9,0 0 0 27px #f4f6ef,0 0 0 28px #e0e5d6}.mini-stars{font-size:25px;color:#88996a}.care-card p{font-size:15px;line-height:1.6;margin:9px 0}.care-card em{font:italic 18px var(--serif)}.care-card small{font-size:10px;color:var(--muted)}.help-link{display:flex;align-items:center;gap:8px;background:none;border:0;font-size:10px;color:#7e8b80;margin:19px 7px}.help-link i:last-child{margin-left:10px}.help-link svg{width:15px}.side-profile{display:flex;align-items:center;gap:10px;padding:20px 2px;border-top:1px solid var(--line)}.side-profile strong{font-size:11px;display:block}.side-profile small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.avatar{display:inline-flex;width:35px;height:35px;border-radius:50%;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0;background:#e9eee5;color:#677858}.avatar.olive{background:#e9ecd9;color:#657142}.avatar.peach{background:#f4e7db;color:#a27b59}.avatar.purple{background:#ece9f6;color:#8877a4}.avatar.blue{background:#e2edf0;color:#6a8b95}.avatar.small{width:31px;height:31px;font-size:10px}.online-dot{width:6px;height:6px;background:#8da57b;border-radius:50%;margin-left:auto}.main-shell{margin-left:240px;flex:1;min-width:0}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 37px;background:#fff;border-bottom:1px solid var(--line);gap:15px}.breadcrumb{display:flex;align-items:center;gap:15px;font-size:11px;color:#a0a69f}.breadcrumb strong{color:#5b6c60;font-weight:500}.top-actions{display:flex;align-items:center;gap:20px}.search-trigger{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:#929a92;font-size:11px}.search-trigger svg{width:16px}.search-trigger kbd{border:1px solid var(--line);border-radius:4px;padding:2px 6px;font-size:10px;margin-left:18px}.demo-tag{display:flex;gap:6px;align-items:center;color:#78846c;background:#f4f6ed;border:1px solid #e9ecdf;padding:6px 9px;border-radius:6px;font-size:9px}.demo-tag span{width:4px;height:4px;border-radius:50%;background:#96a869}.icon-button{border:1px solid var(--line);background:#fff;border-radius:8px;width:33px;height:33px;display:inline-flex;align-items:center;justify-content:center}.icon-button svg{width:16px;height:16px}.notification{border:0;position:relative}.notification b{position:absolute;width:4px;height:4px;background:#b3a573;border-radius:50%;top:4px;right:5px}.mobile-menu{display:none}main{padding:31px 37px 20px;max-width:1680px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:14px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:9px;font-weight:600;color:#8b968a;display:flex;align-items:center;gap:7px}.eyebrow .sun{color:#a9ac7b;font-size:17px}h1{font:500 29px 'Manrope',sans-serif;letter-spacing:-1.3px;margin:8px 0}h1 em{font:italic 33px var(--serif);color:#77906a}.subtitle{font-size:11px;color:#8c968e;margin:9px 0 0}.button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:11px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:11px;font-weight:550;white-space:nowrap}.button svg{width:15px;height:15px}.button:hover{background:#f0f4ea}.button.primary{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 4px 9px #254d3a12}.button.primary:hover{background:#32624d}.button.light{background:#e4eecf;border-color:#e4eecf;color:#294b34}.hero{min-height:190px;background:#214a3b;border-radius:12px;display:flex;align-items:center;position:relative;overflow:hidden;color:#fff;padding:27px 31px;isolation:isolate;margin-bottom:23px}.hero-copy{position:relative;z-index:2;width:65%}.hero .eyebrow{color:#c3d1b7;font-size:8px;letter-spacing:2.2px}.hero h2{font:500 29px 'Manrope',sans-serif;letter-spacing:-1px;line-height:1.35;margin:12px 0 10px}.hero h2 em{font:italic 33px var(--serif);color:#dfebc4}.hero p{color:#bacbbf;font-size:11px;line-height:1.7;margin:0 0 18px}.hero .button{font-size:10px;padding:9px 12px}.hero-art{position:absolute;width:340px;height:340px;right:13px;top:-77px;border-radius:50%;border:1px solid #718b4a55;box-shadow:0 0 0 24px #ffffff02,0 0 0 25px #a3b56a27,0 0 0 53px #ffffff02,0 0 0 54px #a3b56a27,0 0 0 85px #ffffff02,0 0 0 86px #a3b56a27;transform:rotate(-30deg)}.hero-art:after{content:'';position:absolute;width:135px;height:200px;border-radius:90px 90px 25px 25px;top:78px;left:75px;background:linear-gradient(130deg,#b9c7915c,#8baf7822 50%,#163a2b00);border:1px solid #c2d09640;box-shadow:inset 10px 10px 30px #c2d0961a;transform:rotate(60deg)}.hero-spark{position:absolute;right:92px;top:38px;font-size:80px;color:#d7e2b7;font-weight:400;animation:float 6s ease-in-out infinite;text-shadow:0 0 25px #d7e2b722}.hero-caption{position:absolute;right:31px;bottom:27px;color:#d3ddbe;font-size:8px;letter-spacing:2.4px}.hero-caption:before{content:'';width:29px;height:1px;display:inline-block;background:#a8bc8d;vertical-align:middle;margin-right:11px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:24px}.stat{border:1px solid var(--line);border-radius:10px;padding:18px 19px;background:#fff}.stat-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#8b948d}.stat-top i{background:#f4f6ef;border-radius:7px;padding:7px;color:#7d9169}.stat-top svg{width:16px;height:16px}.stat-number{font:550 28px 'Manrope',sans-serif;letter-spacing:-1px;margin:9px 0 8px}.stat-number small{font-size:19px;letter-spacing:-.4px}.stat-note{font-size:9px;color:#99a198;display:flex;gap:7px;align-items:center}.positive{color:#6b8c55;font-weight:550}.dashboard-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}.panel{border:1px solid var(--line);background:#fff;border-radius:11px;overflow:hidden}.panel-heading{padding:22px 23px 16px;display:flex;justify-content:space-between;align-items:center;gap:10px}.panel h3{font-size:14px;font-weight:600;margin:0 0 6px;letter-spacing:-.3px}.panel-heading p{margin:0;color:#97a095;font-size:10px}.text-button{border:0;background:none;font-size:10px;display:inline-flex;align-items:center;gap:7px;color:#6f845c;padding:5px 0}.text-button svg{width:13px;height:13px}.day-strip{display:flex;gap:5px;margin:0 22px 14px;padding:5px;background:#f8f9f5;border:1px solid #eff1e9;border-radius:8px}.day{flex:1;text-align:center;padding:8px 1px;background:none;border:0;border-radius:6px;font-size:9px;color:#9ba194}.day strong{display:block;margin-top:6px;font-size:14px;font-weight:500;color:#5b6d5d}.day.active{background:var(--green);color:#cad9c2;box-shadow:0 3px 5px #173f3522}.day.active strong{color:#fff}.appointment{display:flex;align-items:center;gap:12px;padding:14px 23px;border-top:1px solid #f0f2ec;cursor:pointer;transition:background .2s}.appointment:hover{background:#f8faf5}.appointment-time{width:43px;flex-shrink:0;font-size:12px;font-weight:600}.appointment-time small{display:block;font-size:9px;color:#a2a99f;margin-top:4px;font-weight:400}.appointment-person{flex:1;min-width:0}.appointment-person strong{font-size:11px;display:block;font-weight:550}.appointment-person p{font-size:9px;color:#969f94;margin:5px 0 0}.badge{font-size:8px;padding:5px 7px;border-radius:4px;display:inline-block;white-space:nowrap;background:#edf4e7;color:#7d9666}.badge.wait{background:#f8f1e2;color:#b09960}.badge.progress{background:#e7efec;color:#658d7e}.badge.purple{background:#eeebf5;color:#8e7daf}.badge.gray{background:#f1f2ef;color:#909789}.panel-footer{padding:11px 23px;background:#fcfdfb;border-top:1px solid var(--line);color:#94a08b;font-size:9px;display:flex;align-items:center;gap:6px}.panel-footer span{height:4px;width:4px;border-radius:50%;background:#91a675}.revenue{padding:0 23px;display:flex;justify-content:space-between;align-items:end}.revenue strong{font:550 29px 'Manrope',sans-serif;letter-spacing:-1px}.revenue strong small{font-size:14px;margin-right:4px;color:#7f8d7b;font-weight:400}.revenue p{font-size:9px;color:#99a093;margin:7px 0}.chart-legend{display:flex;gap:12px;font-size:8px;color:#94a087;padding-bottom:3px}.chart-legend span:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:#9da891;margin-right:4px}.chart-legend span:first-child:before{background:#315b44}.chart{width:100%;height:176px;padding:8px 20px 0}.chart svg{height:100%;width:100%;overflow:visible;stroke:none}.chart text{font:9px 'DM Sans',sans-serif;fill:#a2aa9c}.chart .grid-line{stroke:#eef1e9;stroke-width:1;stroke-dasharray:3 3}.chart-path{stroke-dasharray:600;stroke-dashoffset:600;animation:draw 1.6s ease-out forwards}.finance-summary{display:flex;gap:20px;margin:8px 23px 18px;border-top:1px solid var(--line);padding-top:15px}.finance-summary>div{flex:1}.finance-summary small{font-size:9px;color:#99a18f;display:flex;align-items:center;gap:5px}.finance-summary strong{display:block;font-size:12px;font-weight:550;margin-top:8px}.finance-summary i{color:#8a9d6c}.finance-summary svg{width:13px;height:13px}.finance-summary>div+div{padding-left:20px;border-left:1px solid var(--line)}.lower-strip{display:flex;gap:15px;margin-top:22px;border:1px solid var(--line);background:#f0f3e9;border-radius:9px;padding:16px 20px;align-items:center}.lower-strip>i{color:#9eab7e}.lower-strip p{margin:0;font-size:11px}.lower-strip p small{font-size:10px;color:#8b9980;margin-left:7px}.lower-strip .text-button{margin-left:auto;white-space:nowrap}footer{max-width:1680px;margin:auto;padding:18px 37px 24px;font-size:8px;letter-spacing:1.7px;color:#8e9b85;display:flex;gap:15px;align-items:center}footer span{letter-spacing:0;font-size:9px;color:#a6afa1}.footer-right{margin-left:auto}.page-content{animation:enter .4s ease-out}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:20px}.filters{display:flex;gap:7px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:#fff;color:#839077;padding:9px 13px;border-radius:6px;font-size:10px}.chip.active{background:#e8efdf;border-color:#d8e3cc;color:#365936}.field-search{background:#fff;border:1px solid var(--line);border-radius:7px;padding:11px 13px;width:270px;color:var(--ink);outline:none}.field-search:focus{border-color:#95aa77}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:11px;white-space:nowrap}th{font-size:9px;font-weight:500;color:#909b88;background:#fafbf8;padding:16px 21px;text-transform:uppercase;letter-spacing:.8px}td{padding:19px 21px;border-top:1px solid var(--line)}td .person{display:flex;align-items:center;gap:11px}td strong{font-weight:550}td small{font-size:9px;color:#9aa58e;display:block;margin-top:5px}.row-button{border:0;background:#f3f6ee;border-radius:5px;padding:7px;color:#82976a;display:flex}.row-button svg{width:14px;height:14px}.large-agenda{display:grid;grid-template-columns:210px 1fr;gap:22px}.agenda-aside{padding:21px;height:fit-content}.agenda-aside h3{margin-bottom:20px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center;font-size:10px}.calendar-grid span{color:#9aa78d;padding-bottom:9px;font-size:9px}.calendar-grid button{padding:7px 0;border:0;border-radius:5px;background:transparent;font-size:10px}.calendar-grid button.active{background:var(--green);color:#fff}.calendar-grid button:hover{background:#dde8ce;color:#234d35}.doctor-list{border-top:1px solid var(--line);margin-top:22px;padding-top:22px}.doctor-list button{display:flex;gap:9px;align-items:center;background:none;border:0;font-size:10px;padding:10px 0;width:100%;text-align:left}.doctor-list button.active{font-weight:700}.doctor-dot{width:7px;height:7px;background:#91a96e;border-radius:50%}.doctor-list button:nth-child(3) .doctor-dot{background:#b59ecb}.doctor-list button:nth-child(4) .doctor-dot{background:#c8ad7f}.schedule-date{display:flex;gap:10px;align-items:center}.agenda-list .appointment{padding:22px}.agenda-list .appointment-person strong{font-size:13px}.agenda-list .appointment-person p{font-size:11px}.agenda-list .appointment-time{width:52px}.agenda-list .badge{font-size:9px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.member{padding:25px}.member .avatar{width:54px;height:54px;font-size:17px}.member h3{margin:17px 0 7px;font-size:16px}.member p{font-size:11px;color:#9aa68e}.member .badge{margin-top:8px}.member-bottom{border-top:1px solid var(--line);margin-top:22px;padding-top:15px;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#93a080}.empty{padding:50px 24px;text-align:center;color:#96a387;font-size:12px}.empty i{display:flex;justify-content:center;margin-bottom:10px}dialog{border:1px solid var(--line);border-radius:16px;padding:0;width:510px;max-width:calc(100% - 30px);color:var(--ink);box-shadow:0 25px 100px #13342633}dialog[open]{animation:enter .25s ease-out}dialog::backdrop{background:#152a235c;backdrop-filter:blur(5px)}.modal-head{padding:25px 28px 18px;display:flex;justify-content:space-between;gap:15px;align-items:start;border-bottom:1px solid var(--line)}.modal-head h2{font:550 23px 'Manrope',sans-serif;letter-spacing:-.8px;margin:5px 0}.modal-head p{font-size:11px;color:#97a28c}.modal-body{padding:24px 28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid label{font-size:10px;color:#89977c;display:block}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select{display:block;width:100%;padding:12px 10px;border:1px solid #dfe6d7;border-radius:6px;color:#405634;background:#fcfdf9;margin-top:7px;outline:none;font-size:12px}.form-grid input:focus,.form-grid select:focus{border-color:#7b9464}.modal-actions{margin-top:25px;display:flex;justify-content:flex-end;gap:8px}.demo-note{font-size:10px;line-height:1.7;color:#99a18f;margin-top:17px}.profile-detail{text-align:center}.profile-detail .avatar{height:65px;width:65px;font-size:20px}.profile-detail h3{margin-bottom:7px;font-size:19px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;text-align:left;border-top:1px solid var(--line);margin-top:23px;padding-top:23px}.detail-grid small{color:#929e86;display:block;font-size:10px;margin-bottom:7px}.detail-grid strong{font-size:12px;font-weight:500}.activity{padding:14px;background:#f3f6ed;border-radius:8px;font-size:11px;line-height:1.8;margin-top:20px;color:#75856a}#toast{position:fixed;bottom:26px;left:calc(50% + 100px);transform:translate(-50%,25px);background:#264d3b;color:#eef4e6;border:1px solid #65825a;padding:14px 24px;border-radius:9px;font-size:12px;box-shadow:0 10px 40px #214a3b33;z-index:50;opacity:0;pointer-events:none;transition:.3s}#toast.show{opacity:1;transform:translate(-50%,0)}.search-results{display:grid;gap:7px;margin-top:15px}.search-result{display:flex;align-items:center;gap:12px;background:#f7f9f2;border:0;text-align:left;padding:13px;border-radius:7px;font-size:12px}.search-result small{display:block;font-size:10px;margin-top:4px;color:#97a489}.notice{display:flex;gap:12px;align-items:start;border-bottom:1px solid var(--line);padding:15px 0}.notice p{font-size:12px;margin:0;line-height:1.7}.notice small{font-size:10px;color:#9aa58e}.about-logo{text-align:center;font:50px var(--serif);margin-bottom:15px}.about-copy{font-size:12px;line-height:1.9;color:#7d8d71}.about-copy strong{color:#446038}.inline-error{color:#a06049;font-size:11px;margin-top:15px}.date-input{border:1px solid var(--line);border-radius:6px;padding:9px;color:#6b7e5e;background:#fff;font-size:11px}.period-select{border:1px solid var(--line);border-radius:5px;padding:6px;background:#fff;color:#8b967f;font-size:9px}.finance-wide{margin-bottom:22px}.finance-wide .chart{height:210px}.finance-columns{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.receipt-stat{padding:20px 24px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:12px}.receipt-stat small{display:block;margin-top:6px;font-size:10px;color:#9aa78c}@keyframes enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes float{50%{transform:translateY(-8px) rotate(7deg)}}@media(min-width:1600px){main{padding-top:40px}.hero{min-height:230px}.hero h2{font-size:34px}.hero h2 em{font-size:39px}.appointment{padding-top:20px;padding-bottom:20px}.chart{height:214px}}@media(max-width:1200px){.sidebar{width:210px;padding-left:15px;padding-right:15px}.main-shell{margin-left:210px}.clinic-picker select{width:118px}.topbar{padding:0 24px}main{padding:28px 24px 15px}.top-actions{gap:10px}.search-trigger span{display:none}.search-trigger kbd{margin:0}.stats{gap:10px}.stat{padding:15px}.stat-note{font-size:8px}.dashboard-grid{gap:15px;grid-template-columns:1.1fr 1fr}.appointment{gap:9px;padding:14px 17px}.panel-heading{padding:20px 17px 15px}.appointment-person p{font-size:8px}.hero-art{right:-75px}.hero-spark{right:60px}.hero-caption{right:22px}.team-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:980px){.sidebar{width:184px;padding:27px 12px 0}.brand{font-size:37px;padding-left:8px}.brand small{font-size:7px;letter-spacing:2px}.clinic-picker{gap:6px;padding:10px 5px}.clinic-picker select{width:108px;font-size:10px}.clinic-icon{padding:5px}.main-shell{margin-left:184px}.top-clinic{display:none}.breadcrumb{gap:8px}.hero-copy{width:75%}.hero-spark{right:30px;font-size:60px}.hero h2{font-size:26px}.hero h2 em{font-size:29px}.hero-caption{display:none}.stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.appointment-person p{font-size:10px}.chart{height:200px}.care-card{padding:15px 10px}.care-card p{font-size:13px}.care-card em{font-size:16px}.lower-strip small{display:none}.large-agenda{grid-template-columns:1fr}.agenda-aside{display:none}.finance-columns{grid-template-columns:1fr}.footer-right{display:none}.team-grid{grid-template-columns:1fr 1fr}#toast{left:calc(50% + 80px)}}@media(max-width:650px){.sidebar{transform:translateX(-100%);transition:.3s;width:240px;box-shadow:10px 0 40px #254b3b20}.sidebar.open{transform:translateX(0)}.clinic-picker select{width:155px}.main-shell{margin-left:0}.topbar{height:65px;padding:0 17px}.top-actions{gap:8px}.top-actions>.avatar,.search-trigger kbd{display:none}.breadcrumb>span{display:none}.mobile-menu{display:inline-flex}.demo-tag{font-size:8px;padding:5px}.search-trigger{padding:4px}.top-actions .icon-button{width:27px}.breadcrumb strong{font-size:10px}main{padding:23px 17px 10px}.page-heading{align-items:flex-start;margin-bottom:20px}h1{font-size:24px}h1 em{font-size:28px}.subtitle{font-size:10px;line-height:1.6;max-width:220px}.page-heading>.button{font-size:0;padding:11px}.page-heading>.button svg{width:19px;height:19px}.hero{padding:23px;min-height:216px}.hero-copy{width:95%}.hero h2{font-size:24px}.hero h2 em{font-size:29px}.hero p{max-width:230px;font-size:10px}.hero-art{right:-230px;opacity:.7}.hero-spark{font-size:37px;right:22px;top:22px;opacity:.7}.hero .eyebrow{font-size:7px;letter-spacing:1.6px}.stats{gap:9px;margin-bottom:18px}.stat{padding:14px 12px}.stat-top{font-size:10px}.stat-top i{padding:5px}.stat-top svg{width:14px;height:14px}.stat-number{font-size:25px}.stat-number small{font-size:15px}.stat-note{gap:4px;font-size:8px}.appointment{padding:15px 13px;gap:9px}.appointment .avatar{width:28px;height:28px;font-size:9px}.appointment-time{width:35px;font-size:11px}.appointment-person strong{font-size:10px}.appointment-person p{font-size:8px}.badge{font-size:7px;padding:4px 5px}.day-strip{margin-left:13px;margin-right:13px}.lower-strip{padding:14px 13px;gap:10px}.lower-strip p{font-size:10px}.lower-strip .text-button{font-size:9px}footer{padding:18px;font-size:8px;gap:10px}footer span{font-size:8px}.toolbar{align-items:stretch;flex-direction:column}.field-search{width:100%}.team-grid{grid-template-columns:1fr}.agenda-list .appointment{padding:16px 12px;gap:7px}.agenda-list .appointment-person strong{font-size:11px}.agenda-list .appointment-person p{font-size:8px}.agenda-list .badge{font-size:8px}.agenda-list .appointment-time{width:39px}.schedule-date h3{font-size:12px}.date-input{font-size:10px;max-width:122px}.modal-body{padding:21px}.modal-head{padding:21px}.form-grid{gap:13px}.form-grid input,.form-grid select{font-size:11px}#toast{left:50%;width:max-content;max-width:90vw;font-size:11px}.revenue strong{font-size:26px}.chart-legend{font-size:7px;gap:7px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.chart-path{stroke-dashoffset:0}}

.profile-preview-bar{min-height:48px;padding:9px 37px;background:#eef2e6;border-bottom:1px solid #e2e8d8;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:10px;color:#6a7b57}.profile-preview-intro{display:flex;align-items:center;gap:9px}.profile-preview-intro strong{font-weight:550}.profile-preview-intro>span:last-child{border-left:1px solid #d4ddc7;padding-left:12px;color:#7e8c70}.preview-dot{width:5px;height:5px;border-radius:100%;background:#92a966}.profile-preview-bar label{display:flex;align-items:center;gap:10px;white-space:nowrap}.profile-preview-bar select{border:1px solid #d6dfc9;border-radius:6px;background:#fcfdf8;color:#49613b;font-size:10px;padding:7px 9px;max-width:215px}.clinic-picker select:disabled{opacity:.8;cursor:default}.agenda-workspace{overflow:hidden}.agenda-commandbar{padding:24px;display:flex;align-items:center;justify-content:space-between;gap:18px}.agenda-day-navigation{display:flex;align-items:center;gap:17px}.agenda-day-navigation h2{font:600 17px 'Manrope',sans-serif;letter-spacing:-.4px;margin:0 0 7px}.agenda-day-navigation p{margin:0;font-size:11px;color:#71816a;text-transform:capitalize}.agenda-day-navigation p span{color:#a1ac98;text-transform:none}.agenda-controls{display:flex;align-items:center;gap:12px}.date-control{border:1px solid var(--line);border-radius:7px;padding:8px;display:flex;align-items:center;gap:7px;color:#80936d}.date-control svg{width:15px;height:15px}.date-control input{font-size:11px;border:0;background:transparent;color:#5a6f4c;outline:none;max-width:116px}.dentist-filter{display:flex;gap:9px;align-items:center;padding:8px 10px;border:1px solid #dce5d3;border-radius:7px;background:#f9fbf5}.dentist-filter>span{font-size:10px;color:#8a9a7d}.dentist-filter select{border:0;outline:none;background:transparent;font-size:11px;font-weight:500;color:#446037;max-width:160px}.own-agenda-label{display:flex;align-items:center;gap:7px;padding:9px 11px;background:#edf3e6;color:#62824a;border-radius:6px;font-size:10px}.own-agenda-label svg{width:14px;height:14px}.agenda-meta{padding:0 24px 19px;display:flex;justify-content:space-between;gap:15px;align-items:center}.agenda-legends{display:flex;gap:19px;flex-wrap:wrap}.agenda-legends>span{display:flex;align-items:center;gap:6px;font-size:9px;color:#839176}.legend-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.legend-dot.sage{background:#8faa75}.legend-dot.gold{background:#c6ad6d}.legend-dot.dark{background:#3d7459}.legend-dot.outline{border:1px solid #aebba0;background:transparent}.agenda-hint{display:flex;gap:6px;align-items:center;font-size:9px;color:#94a08a}.agenda-hint svg{height:13px;width:13px}.schedule-scroll{overflow:auto;max-height:660px;border-top:1px solid var(--line);scrollbar-color:#c9d4bd #f7f9f3;scrollbar-width:thin}.schedule-board{table-layout:fixed;min-width:640px;width:100%;border-spacing:0}.schedule-board .time-col{width:77px}.schedule-board th,.schedule-board td{padding:0;white-space:normal}.schedule-board thead{position:sticky;top:0;z-index:3}.schedule-board thead th{padding:18px 14px 18px 5px;background:#fcfdfb;border-bottom:1px solid #e4eade;letter-spacing:0;text-transform:none}.schedule-board .time-column-heading{padding:0 12px;vertical-align:middle;text-align:center;color:#94a58a}.time-column-heading i{display:flex;justify-content:center}.time-column-heading svg{width:15px;height:15px}.time-column-heading span{display:block;font-size:7px;letter-spacing:1px;margin-top:6px}.doctor-column-title{border-left:3px solid #9aaf84;padding-left:13px;display:flex;align-items:center;gap:12px;min-height:40px}.doctor-column-title.lavender{border-color:#b3a0ca}.doctor-initials{width:33px;height:33px;display:flex;align-items:center;justify-content:center;font-size:10px;color:#6e865a;background:#edf2e6;border-radius:50%;flex-shrink:0}.lavender .doctor-initials{background:#efebf5;color:#927bac}.doctor-column-title strong{font-size:12px;font-weight:600;display:block;color:#36502c}.doctor-column-title small{font-size:10px;font-weight:400;display:block;margin-top:5px;color:#97a08f}.doctor-count{font-size:8px;font-weight:400;background:#f1f4eb;padding:5px 7px;border-radius:5px;margin-left:auto;white-space:nowrap;color:#8b9b7b}.schedule-board tbody td{vertical-align:top;border-top:0;border-bottom:1px solid #edf0e8;padding:9px 14px 9px 5px;height:95px}.schedule-board .time-cell{width:77px;vertical-align:top;border-bottom:1px solid #edf0e8;padding:19px 13px;background:#fff;color:#8c9a80;font-size:10px;font-weight:500;letter-spacing:0}.time-cell span{display:block;text-align:center}.slot-stack{display:grid;gap:6px}.slot-available{width:100%;min-height:77px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:7px;padding:14px 17px;border:1px dashed #dce4d5;background:#fbfcf9;border-radius:8px;text-align:left;color:#859679}.slot-available span{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:500}.slot-available svg{width:13px;height:13px}.slot-available small{font-size:9px;color:#a1ac98;padding-left:19px}.slot-available:hover{border-color:#9fb487;background:#edf3e4;color:#557d3d;transform:translateY(-1px);box-shadow:0 3px 10px #536b3610}.booking-card{width:100%;border:1px solid #e0e8d7;border-left:3px solid #93ab79;border-radius:8px;background:linear-gradient(110deg,#eef4e7,#f7faf3);padding:11px 14px 10px;display:flex;flex-direction:column;align-items:stretch;text-align:left;color:#415936;min-height:91px;transition:background .2s,box-shadow .2s,transform .2s}.booking-card.lavender{border-color:#e5dfee;border-left-color:#b39ecb;background:linear-gradient(110deg,#f1edf6,#faf8fc)}.booking-card.waiting{border-color:#ece4d1;border-left-color:#c3ab6d;background:linear-gradient(110deg,#f8f2e4,#fcfaf5)}.booking-card.in-progress{border-color:#d5e4d8;border-left-color:#4e795b;background:linear-gradient(110deg,#e4efe4,#f2f7ed)}.booking-card.finished{border-color:#e2e7dd;border-left-color:#a4ae9a;background:#f3f5ef;opacity:.85}.booking-card:hover{transform:translateY(-1px);box-shadow:0 5px 16px #4a653b15}.booking-top{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}.booking-hour{display:flex;align-items:center;gap:5px;font-size:9px;color:#7b906a}.booking-hour svg{width:11px;height:11px}.booking-card .badge{font-size:7px;padding:4px 6px}.booking-card>strong{font-size:12px;font-weight:600;margin-bottom:6px;color:#3c5731}.booking-procedure{font-size:9px;color:#829374;display:flex;align-items:center;justify-content:space-between;gap:6px}.booking-procedure svg{width:12px;height:12px;opacity:.6}.booking-card.lavender .booking-hour,.booking-card.lavender .booking-procedure{color:#93839f}.booking-card.lavender>strong{color:#675775}.booking-card.waiting>strong{color:#80704a}.booking-card.waiting .booking-procedure,.booking-card.waiting .booking-hour{color:#a08d65}.continuing-card{padding:8px 12px;background:#f4f6f0;border:1px solid #e3e8dc;border-radius:6px;font-size:9px;text-align:left;color:#81916f;display:flex;align-items:center;gap:7px;line-height:1.5}.continuing-card svg{width:12px;height:12px;flex-shrink:0}.agenda-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 24px;font-size:9px;color:#91a180;background:#fcfdf9;border-top:1px solid var(--line)}.agenda-bottom>span:first-child{display:flex;align-items:center;gap:6px}.agenda-bottom svg{width:12px;height:12px}.role-note{font-size:10px;color:#96a18b;margin-top:14px}.fixed-professional{padding:13px 15px;background:#f2f6eb;border:1px solid #dfe8d4;border-radius:7px}.fixed-professional>span{font-size:10px;color:#8a9a7a}.fixed-professional strong{display:flex;align-items:center;gap:7px;margin-top:9px;font-size:12px;font-weight:550;color:#537243}.fixed-professional svg{width:15px;height:15px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.schedule-board.single-doctor{min-width:340px}.single-doctor .doctor-column-title{max-width:100%}.single-doctor .booking-card,.single-doctor .slot-available{max-width:100%}@media(min-width:1600px){.schedule-scroll{max-height:730px}.booking-card{min-height:99px}.slot-available{min-height:85px}.booking-card>strong{font-size:13px}.booking-procedure{font-size:10px}.schedule-board tbody td{padding-top:11px;padding-bottom:11px}}@media(max-width:1200px){.profile-preview-bar{padding-left:24px;padding-right:24px}.profile-preview-intro>span:last-child{display:none}.agenda-commandbar{padding:20px;flex-wrap:wrap}.agenda-controls{margin-left:auto}.agenda-day-navigation h2{font-size:15px}.doctor-count{display:none}.doctor-column-title{gap:9px}.doctor-column-title strong{font-size:11px}.agenda-legends{gap:12px}.agenda-meta{padding-left:20px;padding-right:20px}.schedule-board .time-col{width:64px}.schedule-board .time-cell{padding-left:8px;padding-right:8px}.schedule-board .time-column-heading{padding-left:6px;padding-right:6px}}@media(max-width:980px){.agenda-commandbar{align-items:flex-start;gap:20px}.agenda-controls{margin-left:0;width:100%;justify-content:space-between}.agenda-hint{display:none}.schedule-board{min-width:570px}.schedule-board .time-col{width:55px}.doctor-initials{width:27px;height:27px;font-size:9px}.doctor-column-title{padding-left:9px;gap:7px}.doctor-column-title small{font-size:9px}.schedule-board thead th{padding-right:9px}.schedule-board tbody td{padding-right:9px}.booking-card{padding-left:10px;padding-right:10px}.booking-card>strong{font-size:11px}.booking-card .badge{font-size:6px}.booking-hour{font-size:8px}.booking-procedure{font-size:8px}.agenda-bottom{padding:13px 18px}.agenda-bottom>span:last-child{display:none}}@media(max-width:650px){.profile-preview-bar{padding:9px 17px;gap:8px;flex-wrap:wrap;min-height:63px}.profile-preview-intro{font-size:9px}.profile-preview-bar label{font-size:9px;gap:7px}.profile-preview-bar select{padding:6px;font-size:9px;max-width:185px}.agenda-commandbar{padding:18px 14px;gap:16px}.agenda-day-navigation{width:100%;justify-content:space-between;gap:10px}.agenda-day-navigation h2{font-size:15px}.agenda-day-navigation p{font-size:10px}.agenda-controls{gap:7px}.date-control{padding:7px;gap:4px}.date-control input{font-size:10px;max-width:100px}.date-control i{display:none}.dentist-filter{padding:8px 7px;gap:4px}.dentist-filter>span{display:none}.dentist-filter select{font-size:10px;max-width:153px}.own-agenda-label{font-size:9px;padding:8px}.agenda-meta{padding:0 14px 15px}.agenda-legends{gap:10px}.agenda-legends>span{font-size:8px;gap:5px}.schedule-scroll{max-height:620px}.schedule-board{min-width:570px}.schedule-board.single-doctor{min-width:300px}.schedule-board .time-col{width:48px}.time-column-heading span{font-size:6px}.schedule-board .time-cell{font-size:9px;padding:20px 5px}.agenda-bottom{font-size:8px;padding:13px}.role-note{font-size:9px;line-height:1.7}.single-doctor .booking-card>strong{font-size:12px}.single-doctor .booking-hour,.single-doctor .booking-procedure{font-size:9px}.single-doctor .badge{font-size:7px}.single-doctor .doctor-column-title strong{font-size:12px}.single-doctor .doctor-column-title small{font-size:10px}}

nav button[hidden]{display:none!important}.form-grid textarea{display:block;width:100%;padding:12px 10px;border:1px solid #dfe6d7;border-radius:6px;color:#405634;background:#fcfdf9;margin-top:7px;outline:none;font:12px 'DM Sans',sans-serif;resize:vertical;min-height:110px}.form-grid textarea:focus{border-color:#7b9464}.record-entry{display:block;line-height:1.7}.record-entry b{color:#52674b;font-weight:600}

/* Agenda: Dia/Semana por dentista */
.agenda-view-toggle{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid #dce5d3;border-radius:8px;background:#f6f8f2;flex-shrink:0}
.agenda-view-toggle button{border:0;background:transparent;color:#849078;font-size:10px;font-weight:600;padding:7px 11px;border-radius:6px;min-height:32px}
.agenda-view-toggle button.active{background:#214d3f;color:#fff;box-shadow:0 2px 6px #214d3f18}
.weekly-doctor-summary{display:flex;align-items:center;gap:12px;padding:14px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f8faf5}
.weekly-doctor-summary .doctor-initials{width:38px;height:38px}
.weekly-doctor-summary div{min-width:0;display:grid;gap:2px}
.weekly-doctor-summary small{font-size:8px;letter-spacing:1.2px;color:#98a28f}
.weekly-doctor-summary strong{font-size:12px;color:#36502c}
.weekly-doctor-summary span{font-size:9px;color:#8b9784}
.weekly-doctor-summary>b{margin-left:auto;background:#edf2e6;color:#667d56;border-radius:999px;padding:6px 9px;font-size:9px;white-space:nowrap}
.weekly-desktop-scroll{overflow:auto;max-height:700px;scrollbar-width:thin;scrollbar-color:#c9d4bd #f7f9f3}
.weekly-grid{width:100%;min-width:1080px;border-collapse:separate;border-spacing:0;table-layout:fixed;background:#fff}
.weekly-grid th,.weekly-grid td{border-right:1px solid #edf0e8;border-bottom:1px solid #edf0e8;padding:0;vertical-align:top}
.weekly-grid thead{position:sticky;top:0;z-index:4}
.weekly-grid thead th{background:#fbfcf9;height:67px}
.weekly-grid thead th.active{background:#f2f6eb}
.weekly-grid thead th>button{border:0;background:transparent;width:100%;height:100%;padding:10px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.weekly-grid thead th>button span{font-size:8px;text-transform:uppercase;letter-spacing:1px;color:#91a087}
.weekly-grid thead th>button strong{font-size:12px;color:#3b5635;margin-top:3px}
.weekly-grid thead th>button small{font-size:8px;color:#9ca593;margin-top:3px}
.weekly-time-head{width:72px;min-width:72px;position:sticky;left:0;z-index:6;color:#8b9980;text-align:center}
.weekly-time-head i{display:flex;justify-content:center;margin-bottom:4px}
.weekly-time-head svg{width:14px;height:14px}
.weekly-time-head span{display:block;font-size:7px;letter-spacing:1px;text-transform:uppercase}
.weekly-time-cell{width:72px;position:sticky;left:0;z-index:2;background:#fbfcf9!important;color:#7f8f75;font-size:10px;font-weight:600;text-align:center;padding-top:19px!important}
.weekly-grid tbody td{height:82px;padding:6px;background:#fff}
.weekly-available{width:100%;min-height:68px;border:1px dashed #dbe4d4;border-radius:7px;background:#fbfcf9;color:#8b9a7f;display:flex;align-items:center;justify-content:center;gap:5px;font-size:9px}
.weekly-available:hover{background:#eef4e7;border-color:#9fb487;color:#577840}
.weekly-available svg{width:12px;height:12px}
.weekly-booking{width:100%;min-height:68px;border:1px solid #e0e8d7;border-left:3px solid #93ab79;border-radius:7px;background:#f2f7ed;padding:7px 8px;text-align:left;display:grid;grid-template-columns:1fr auto;gap:2px 5px;color:#415936}
.weekly-booking.lavender{border-color:#e5dfee;border-left-color:#b39ecb;background:#f5f1f8}
.weekly-booking.waiting{border-color:#ece4d1;border-left-color:#c3ab6d;background:#fbf6ea}
.weekly-booking.in-progress{border-color:#d5e4d8;border-left-color:#4e795b;background:#eaf3e8}
.weekly-booking.finished{opacity:.72}
.weekly-booking-time{font-size:8px;color:#7b906a;grid-column:1/-1}
.weekly-booking strong{font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.weekly-booking small{grid-column:1/-1;font-size:7px;color:#899680;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.weekly-booking .badge{font-size:6px;padding:3px 4px;align-self:start}
.weekly-continuing{width:100%;min-height:68px;border:1px solid #e3e8dd;border-radius:7px;background:#f3f5f0;color:#81916f;font-size:8px;display:flex;align-items:center;justify-content:center;gap:5px}
.weekly-continuing svg{width:11px;height:11px}
.weekly-mobile{display:none}
@media(max-width:1200px){.weekly-grid{min-width:980px}.weekly-grid tbody td{padding:5px}}
@media(max-width:980px){.agenda-controls{flex-wrap:wrap}.weekly-grid{min-width:930px}}
@media(max-width:650px){
  .agenda-commandbar{padding:16px 13px;align-items:stretch}
  .agenda-controls{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}
  .agenda-view-toggle{grid-column:1/-1;width:100%}
  .agenda-view-toggle button{flex:1;min-height:40px;font-size:11px}
  .date-control{min-width:0;width:100%;padding:9px}
  .date-control input{max-width:none;width:100%;min-width:0;font-size:16px}
  .dentist-filter,.own-agenda-label{min-width:0;width:100%;min-height:42px}
  .dentist-filter select{max-width:none;width:100%;font-size:11px}
  .weekly-doctor-summary{padding:12px 13px;gap:9px;align-items:flex-start}
  .weekly-doctor-summary .doctor-initials{width:34px;height:34px}
  .weekly-doctor-summary>b{font-size:8px;padding:5px 7px}
  .weekly-desktop-scroll{display:none}
  .weekly-mobile{display:grid;gap:12px;padding:12px;background:#fbfcf9;border-top:1px solid var(--line)}
  .weekly-mobile-day{border:1px solid #e2e8dc;border-radius:10px;background:#fff;overflow:hidden}
  .weekly-mobile-day.active{border-color:#a7ba8d;box-shadow:inset 3px 0 0 #7f9d65}
  .weekly-mobile-day>header{display:flex;align-items:center;justify-content:space-between;padding:12px 13px;background:#f8faf5;border-bottom:1px solid #edf0e8}
  .weekly-mobile-day>header button{border:0;background:transparent;text-align:left;padding:0}
  .weekly-mobile-day>header span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:1px;color:#91a087}
  .weekly-mobile-day>header strong{display:block;font-size:13px;color:#35502d;margin-top:3px}
  .weekly-mobile-day>header b{font-size:8px;color:#718460;background:#edf2e6;padding:5px 7px;border-radius:999px}
  .weekly-mobile-slots{display:grid}
  .weekly-mobile-row{display:grid;grid-template-columns:50px minmax(0,1fr);gap:8px;padding:7px 9px;border-bottom:1px solid #f0f2ec;align-items:stretch}
  .weekly-mobile-row:last-child{border-bottom:0}
  .weekly-mobile-row>time{font-size:9px;color:#7d8e73;font-weight:600;padding-top:13px;text-align:center}
  .weekly-mobile-row .weekly-available,.weekly-mobile-row .weekly-booking,.weekly-mobile-row .weekly-continuing{min-height:58px}
  .weekly-mobile-row .weekly-booking strong{font-size:10px}
  .weekly-mobile-row .weekly-booking small{font-size:8px}
}

/* Agendamento com pré-cadastro e cadastro obrigatório */
.patient-lookup{position:relative}
.patient-lookup>label{display:block;font-size:10px;color:#89977c}
.patient-lookup input[type="text"]{display:block;width:100%;padding:12px 10px;border:1px solid #dfe6d7;border-radius:6px;color:#405634;background:#fcfdf9;margin-top:7px;outline:none;font-size:12px}
.patient-lookup-results{display:grid;gap:5px;margin-top:7px}
.patient-lookup-result{width:100%;display:flex;align-items:center;gap:9px;border:1px solid #e2e8dc;background:#f9fbf6;border-radius:7px;padding:9px;text-align:left;color:#405634}
.patient-lookup-result:hover{border-color:#aabf92;background:#f1f6e9}
.patient-lookup-result .avatar{width:28px;height:28px;font-size:8px;flex-shrink:0}
.patient-lookup-result>span{min-width:0;flex:1}
.patient-lookup-result strong{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.patient-lookup-result small{display:block;font-size:8px;color:#92a087;margin-top:2px}
.patient-lookup-result>b{font-size:7px;color:#6f835e;background:#edf2e6;padding:4px 6px;border-radius:999px;white-space:nowrap}
.patient-new-hint{font-size:9px;line-height:1.5;color:#8d9a84;padding:5px 2px}
.patient-lookup-hint{display:block;font-size:9px;line-height:1.5;color:#8d9a84;margin-top:6px}
.quick-register-note,.registration-required-note{margin-top:17px;border:1px solid #e0e7d8;background:#f4f7ef;border-radius:8px;padding:11px 12px;display:flex;gap:9px;align-items:flex-start;color:#6f8064}
.quick-register-note svg,.registration-required-note svg{width:15px;height:15px;flex-shrink:0;margin-top:1px}
.quick-register-note div{display:grid;gap:3px}
.quick-register-note strong{font-size:10px;color:#49613e}
.quick-register-note span,.registration-required-note span{font-size:9px;line-height:1.55}
.registration-state{margin-top:15px;border-radius:8px;padding:11px 12px;display:flex;gap:9px;align-items:flex-start;text-align:left}
.registration-state svg{width:15px;height:15px;flex-shrink:0;margin-top:2px}
.registration-state div{display:grid;gap:3px}
.registration-state strong{font-size:10px}
.registration-state span{font-size:9px;line-height:1.5}
.registration-state.complete{background:#eef5e8;color:#5a774a}
.registration-state.pending{background:#faf4e6;color:#947545}
.full-detail{grid-column:1/-1}
.optional-label{font-size:8px;color:#a1aa98;margin-left:4px}
.complete-patient-grid [hidden],.appointment-form-grid [hidden]{display:none!important}
dialog{max-height:calc(100vh - 30px);overflow:auto}
@media(max-width:650px){
  dialog{width:calc(100% - 18px);max-width:calc(100% - 18px);border-radius:13px}
  .modal-head{padding:18px 17px 14px}.modal-head h2{font-size:20px}.modal-body{padding:17px}
  .form-grid,.complete-patient-grid,.appointment-form-grid{grid-template-columns:1fr;gap:12px}
  .form-grid .full,.full-detail{grid-column:1}
  .form-grid input,.form-grid select,.patient-lookup input[type="text"]{font-size:16px;min-height:45px}
  .modal-actions{display:grid;grid-template-columns:1fr;gap:8px}
  .modal-actions .button{width:100%;justify-content:center;min-height:44px}
  .patient-lookup-result{min-height:50px;padding:10px}
  .patient-lookup-result>b{display:none}
  .detail-grid{grid-template-columns:1fr;gap:12px}
  .quick-register-note,.registration-required-note{padding:10px}
}
/* Clinical agenda */
.agenda-actions,.date-controls,.agenda-view,.agenda-legend,.professional-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.agenda-actions .secondary,.date-controls .secondary{padding:10px 14px}.agenda-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:18px 20px;background:#fff;border:1px solid #e0e6df;border-radius:14px;margin-bottom:16px}.agenda-toolbar input,.agenda-toolbar select,.schedule-panel select{padding:10px;border:1px solid #dce4dc;border-radius:8px;background:#fbfcfa;color:#254c42;font:inherit}.agenda-filter{display:flex;gap:6px;flex-direction:column;font-size:11px;color:#67796f}.agenda-view{background:#eef3ea;padding:4px;border-radius:9px;gap:3px}.agenda-view button{border:0;background:transparent;padding:10px 16px;border-radius:7px;color:#607166;cursor:pointer;font:inherit;font-size:12px}.agenda-view button.active{background:#fff;box-shadow:0 2px 6px #193e2910;color:#16483b;font-weight:600}.professional-strip{margin:16px 0 22px;gap:10px}.professional-chip{display:flex;align-items:center;gap:10px;border:1px solid #e0e6dc;border-radius:12px;background:#fff;padding:10px 16px;text-align:left;cursor:pointer;color:#284a3e;font:inherit;transition:background .2s,border-color .2s}.professional-chip.selected{border-color:#7b967a;background:#eef4e9}.professional-chip strong,.professional-chip small{display:block}.professional-chip strong{font-size:12px}.professional-chip small{font-size:10px;color:#718376;margin-top:3px}.professional-chip .avatar{width:32px;height:32px;font-size:11px}.agenda-legend{font-size:11px;color:#667d6c;margin:18px 0 12px;gap:18px}.agenda-legend span{display:flex;align-items:center;gap:6px}.agenda-legend i{width:8px;height:8px;display:inline-block;border-radius:3px}.legend-confirmed{background:#6d9578}.legend-waiting{background:#c5a460}.legend-blocked{background:#a5aca5}.agenda-calendar{background:#fff;border:1px solid #dde5dc;border-radius:14px;overflow:auto;max-height:720px;box-shadow:0 3px 12px #244e2f04}.calendar-grid{display:grid;min-width:100%;position:relative}.calendar-time-header,.calendar-column-header{position:sticky;top:0;background:#f5f8f1;z-index:5;border-bottom:1px solid #dde5dc;padding:14px 10px;color:#2e5644}.calendar-time-header{font-size:8px;align-content:center}.calendar-column-header{border-left:1px solid #e1e8dd;text-align:center}.calendar-column-header strong,.calendar-column-header small,.calendar-column-header span{display:block}.calendar-column-header small{font-size:10px;color:#758977;margin-bottom:5px;text-transform:uppercase}.calendar-column-header strong{font-size:12px}.calendar-column-header span{font-size:10px;margin-top:4px;color:#7b8d7b}.calendar-times{position:relative;min-width:64px;background:#fcfdfb;position:sticky;left:0;z-index:3}.calendar-times span{position:absolute;right:9px;transform:translateY(4px);font-size:10px;color:#82917f}.calendar-column{position:relative;border-left:1px solid #e6ece2;min-width:210px}.calendar-slot{position:absolute;width:100%;left:0;border:0;border-top:1px solid #eff2eb;background:#fff;cursor:pointer;text-align:center;color:#a0aa9c;font-size:10px;transition:background .15s}.calendar-slot:hover{background:#eef5e6}.calendar-slot.unavailable{background:repeating-linear-gradient(135deg,#f5f6f3,#f5f6f3 7px,#eef1eb 7px,#eef1eb 8px);cursor:default}.calendar-appointment{position:absolute;left:5px;right:5px;border:1px solid #d9e2bc;border-left:3px solid #b49d57;border-radius:7px;background:#fbf6e5;color:#535a32;padding:5px 8px;text-align:left;cursor:pointer;overflow:hidden;z-index:2;box-shadow:0 2px 4px #243c1710;font:inherit}.calendar-appointment strong,.calendar-appointment small,.calendar-appointment span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-appointment strong{font-size:11px;line-height:1.5}.calendar-appointment small,.calendar-appointment span{font-size:9px;line-height:1.4}.calendar-appointment.status-confirmed{background:#e9f3e5;border-color:#b9d3b3;border-left-color:#719b69;color:#305739}.calendar-appointment.status-in_progress{background:#e3eff3;border-color:#bbd4db;border-left-color:#50858f;color:#315960}.calendar-appointment.status-completed{background:#f1f4f0;border-left-color:#99ad92;color:#73816c}.calendar-block{position:absolute;left:4px;right:4px;border:1px dashed #acb5a6;border-radius:7px;background:repeating-linear-gradient(135deg,#e8ede4e8,#e8ede4e8 8px,#dce3d7e8 8px,#dce3d7e8 9px);color:#697563;padding:8px;pointer-events:none;z-index:1;overflow:hidden}.calendar-block strong,.calendar-block span{display:block;font-size:10px}.calendar-block span{margin-top:4px}.schedule-days{display:grid;gap:7px;margin:18px 0}.schedule-day{display:grid;grid-template-columns:minmax(140px,1.2fr) 1fr 1fr;gap:12px;align-items:center;padding:9px 12px;border:1px solid #e2e8de;border-radius:9px;background:#fbfcf9}.check-label{display:flex!important;align-items:center;gap:8px;font-size:12px}.check-label input[type=checkbox]{width:16px!important;height:16px!important;flex-shrink:0;accent-color:#285f45}.schedule-day>label:not(.check-label){display:flex;align-items:center;gap:7px;font-size:11px}.schedule-day input[type=time]{min-width:0;width:100%;padding:7px}.schedule-panel .page-heading{margin:0 0 15px}.schedule-panel .page-heading h2{font-size:20px}.agenda-blocks{margin-top:20px}.block-list-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;border-top:1px solid #e8ede5}.block-list-row p{margin:5px 0 0;font-size:11px;color:#7c8875}.agenda-warning{color:#a27735!important}.hidden{display:none!important}@media(max-width:950px){.agenda-toolbar{flex-wrap:wrap}.agenda-actions{justify-content:flex-start}.page-heading:has(.agenda-actions){align-items:flex-start;gap:18px;flex-wrap:wrap}.agenda-filter{flex:1}.schedule-day{grid-template-columns:1fr 1fr}.schedule-day .check-label{grid-column:1/-1}.agenda-calendar{max-height:600px}.calendar-column{min-width:180px}}@media(prefers-reduced-motion:reduce){.calendar-slot,.professional-chip{transition:none}}

/* NUVORA | Busca e edição cadastral da recepção */
.reception-patients{overflow:hidden}
.reception-patients-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:20px}
.reception-patients-toolbar h2{margin:5px 0;font-size:1.3rem}
.reception-patient-search{display:flex;align-items:center;gap:12px;min-width:min(100%,340px);max-width:100%;padding:0 16px;border:1px solid #d9e2d7;border-radius:16px;background:#f8faf6;box-shadow:0 8px 28px rgba(22,57,46,.04);transition:border-color .2s,box-shadow .2s}
.reception-patient-search:focus-within{border-color:#8ca58e;box-shadow:0 0 0 4px rgba(84,128,93,.10)}
.reception-patient-search>span{font-size:25px;color:#467260;line-height:1}
.reception-patient-search input{width:100%;min-height:48px;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:inherit}
#patient-search-count{margin:0 0 12px}
.reception-patients .table-wrap{overflow-x:auto}
.reception-patients tbody tr{transition:background .2s}
.reception-patients tbody tr:hover{background:#f5f8f2}
.patient-edit-panel{margin-top:22px;border:1px solid #dfe6da;border-radius:20px;box-shadow:0 14px 36px rgba(30,68,49,.045)}
.patient-edit-panel .section-actions{display:flex;gap:16px;justify-content:space-between;align-items:flex-start;margin-bottom:20px}
.patient-edit-panel form{display:grid;gap:14px}
.patient-edit-panel .form-row{gap:15px}
@media(max-width:720px){.reception-patients-toolbar{align-items:stretch}.reception-patient-search{width:100%;min-width:0}.patient-edit-panel .section-actions{flex-wrap:wrap}}

/* NUVORA | Resumo protegido para recepção */
.reception-summary-shell{margin-top:24px;padding:0;scroll-margin-top:20px}
.reception-summary-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}
.reception-summary-topline h2{margin:4px 0 6px;font-size:1.45rem}
.reception-summary-loading{margin-top:22px}
.reception-readonly-hero{margin-top:0}
.reception-readonly-hero .patient-summary-detail{min-width:0}
.reception-summary-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;margin-top:16px}
.reception-summary-history,.reception-return-card{border-radius:20px}
.reception-summary-history h3,.reception-return-card h3{margin:0}
.reception-last-dentist{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #e7ebe3}
.reception-last-dentist>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#edf2e8;color:#285542;font-weight:700}
.reception-last-dentist small,.reception-next-step small,.reception-future-return small{display:block;color:#879184;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.reception-last-dentist strong,.reception-next-step strong,.reception-future-return strong{display:block;color:#153f33}
.reception-last-dentist p,.reception-future-return p{margin:3px 0 0;color:#7c877e;font-size:.82rem}
.reception-next-step,.reception-future-return{margin-top:14px;padding:14px;border-radius:14px;background:#f8faf5;border:1px solid #e5eadf}
.reception-next-step strong{font-size:.9rem;line-height:1.45}
.reception-schedule-return{width:100%;margin-top:14px;min-height:44px}
.reception-summary-shell .patient-summary-metrics{margin-top:14px}
.reception-summary-shell .patient-summary-metric{min-height:104px}
.reception-summary-shell .patient-summary-hero{box-shadow:0 14px 40px rgba(23,57,45,.045)}
@media(max-width:1050px){.reception-summary-grid{grid-template-columns:1fr}}
@media(max-width:720px){.reception-summary-topline{flex-direction:column}.reception-summary-topline .secondary{width:100%}.reception-summary-shell .patient-summary-hero{border-radius:18px}.reception-summary-grid{gap:12px}}


/* ===== Premium workspace identity · 2026-10-12 ===== */
.clinic-picker.clinic-picker-premium{
  display:block;
  position:relative;
  padding:0;
  margin:30px 0 27px;
  overflow:visible;
  border:0;
  border-radius:18px;
  background:transparent;
}
.workspace-identity-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:154px;
  padding:15px 15px 14px;
  border:1px solid #dfe5dc;
  border-radius:18px;
  background:
    radial-gradient(circle at 94% 8%,rgba(198,164,93,.10),transparent 30%),
    linear-gradient(145deg,#fffdf8 0%,#f6f7f1 100%);
  box-shadow:0 13px 30px rgba(28,64,50,.045),inset 0 1px rgba(255,255,255,.92);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.workspace-identity-card:hover{
  transform:translateY(-1px);
  border-color:#d5ddcf;
  box-shadow:0 17px 36px rgba(28,64,50,.065),inset 0 1px rgba(255,255,255,.96);
}
.workspace-identity-orbit{
  position:absolute;
  right:-39px;
  bottom:-49px;
  border:1px solid rgba(178,144,74,.14);
  border-radius:50%;
  pointer-events:none;
  z-index:-1;
}
.workspace-identity-orbit.orbit-a{width:112px;height:112px}
.workspace-identity-orbit.orbit-b{width:82px;height:82px;right:-24px;bottom:-38px;border-color:rgba(36,79,63,.07)}
.workspace-identity-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  margin-bottom:12px;
}
.workspace-identity-mark{
  display:grid;
  place-items:center;
  flex:0 0 39px;
  width:39px;
  height:39px;
  border-radius:13px;
  background:linear-gradient(145deg,#153d32,#2b604b);
  color:#efd89d;
  box-shadow:0 9px 20px rgba(23,63,53,.14);
  font:700 12px var(--serif);
  letter-spacing:.1px;
}
.workspace-identity-status{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:24px;
  padding:5px 7px;
  border:1px solid rgba(102,146,109,.10);
  border-radius:999px;
  background:#edf4eb;
  color:#5b7b60;
  font-size:7.5px;
  font-weight:800;
  white-space:nowrap;
}
.workspace-identity-status i{
  width:5px;
  height:5px;
  border-radius:50%;
  background:#729a77;
  box-shadow:0 0 0 3px rgba(114,154,119,.08);
}
.workspace-identity-label{
  display:block;
  margin:0 0 4px;
  color:#9b7e49!important;
  font-size:7.5px!important;
  font-weight:800;
  letter-spacing:1.45px!important;
}
.workspace-identity-name{
  display:block;
  position:relative;
  z-index:1;
  max-width:100%;
  overflow:hidden;
  color:#173f35;
  font:600 17px/1.12 var(--serif);
  letter-spacing:-.25px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.workspace-identity-meta{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
  margin-top:10px;
}
.workspace-identity-meta span{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  max-width:100%;
  padding:5px 7px;
  overflow:hidden;
  border:1px solid rgba(48,86,68,.06);
  border-radius:999px;
  background:#eef2eb;
  color:#6b7b71;
  font-size:7.5px;
  font-weight:750;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Mantém o seletor tradicional somente no contexto do Mestre. */
.clinic-picker:not(.clinic-picker-premium)>small{display:block}
.clinic-picker:not(.clinic-picker-premium)>select{min-width:0}

@media(max-width:1200px){
  .clinic-picker.clinic-picker-premium{margin:27px 0 25px}
  .workspace-identity-card{min-height:145px;padding:13px}
  .workspace-identity-mark{width:36px;height:36px;flex-basis:36px;border-radius:12px;font-size:11px}
  .workspace-identity-name{font-size:15px}
  .workspace-identity-status{font-size:7px;padding-inline:6px}
}
@media(max-width:980px){
  .clinic-picker.clinic-picker-premium{padding:0;margin:24px 0 24px}
  .workspace-identity-card{min-height:128px;padding:11px;border-radius:15px}
  .workspace-identity-top{margin-bottom:9px}
  .workspace-identity-mark{width:32px;height:32px;flex-basis:32px;border-radius:10px;font-size:9px}
  .workspace-identity-status{min-height:20px;padding:4px 5px;font-size:6.5px}
  .workspace-identity-label{font-size:6.5px!important;letter-spacing:1.1px!important}
  .workspace-identity-name{font-size:13px}
  .workspace-identity-meta{margin-top:7px}
  .workspace-identity-meta span{min-height:19px;padding:4px 6px;font-size:6.5px}
}
@media(max-width:650px){
  .clinic-picker.clinic-picker-premium{margin:24px 0 25px}
  .workspace-identity-card{min-height:145px;padding:14px}
  .workspace-identity-mark{width:38px;height:38px;flex-basis:38px;font-size:11px}
  .workspace-identity-status{min-height:23px;font-size:7.5px}
  .workspace-identity-label{font-size:7.5px!important}
  .workspace-identity-name{font-size:16px}
  .workspace-identity-meta span{min-height:21px;font-size:7.5px}
}
