:root{--nav:#102a43;--nav2:#173f5f;--blue:#087ea4;--cyan:#16a3b6;--bg:#f3f7fa;--text:#17324d;--muted:#6b7f92;--line:#dce6ed;--white:#fff;--red:#c73535;--amber:#fff3cd;--shadow:0 8px 26px rgba(28,60,86,.08)}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}body{margin:0;font-size:15px}a{color:#08779c;text-decoration:none}button,.button{border:0;border-radius:8px;background:var(--blue);color:white;padding:.72rem 1rem;font:inherit;font-weight:700;cursor:pointer;display:inline-block}.ghost{background:white;color:var(--blue);border:1px solid #b8d3de}.icon{background:transparent;color:var(--text);font-size:1.7rem;padding:0}aside{position:fixed;inset:0 auto 0 0;width:230px;background:linear-gradient(180deg,var(--nav),var(--nav2));color:white;padding:22px 14px;display:flex;flex-direction:column;z-index:4}.logo{color:white;display:flex;gap:10px;align-items:center;padding:0 8px 24px}.logo span,.brand-mark{width:42px;height:42px;border-radius:10px;background:var(--cyan);display:grid;place-items:center;color:#fff;font-weight:900;letter-spacing:-1px}.logo b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}nav{display:grid;gap:5px}aside nav a{color:#d9e8f2;padding:11px 14px;border-radius:8px}aside nav a:hover,aside nav a.active{background:rgba(255,255,255,.12);color:#fff}.user{margin-top:auto;border-top:1px solid rgba(255,255,255,.15);padding:18px 10px 0}.user a{display:block;color:#9ed9e5;margin-top:5px}.app{margin-left:230px;min-height:100vh}.app>header{height:86px;padding:17px 30px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:15px}.app>header h1{font-size:1.35rem;margin:0}.app>header p{margin:4px 0;color:var(--muted)}main{padding:28px;max-width:1400px;margin:auto}.menu{display:none;padding:6px 10px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stats article{background:white;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow)}.stats span{display:block;color:var(--muted);margin-bottom:8px}.stats strong{font-size:1.65rem}.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:var(--shadow);overflow:auto}.panel h2,.panel h3{margin-top:0}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 16px}.toolbar h2{font-size:1.15rem;margin:0}.search{display:flex;gap:8px;flex:1;max-width:560px}.search input{margin:0}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}tr:last-child td{border-bottom:0}.empty{text-align:center;color:var(--muted);padding:35px}.badge{display:inline-block;background:#e2f4f7;color:#126373;padding:4px 8px;border-radius:99px;font-size:.78rem;font-weight:700}.badge.danger{background:#fde7e7;color:var(--red)}label{display:block;font-weight:650;margin-bottom:14px}input,select,textarea{display:block;width:100%;margin-top:6px;padding:.72rem;border:1px solid #bfcfd9;border-radius:7px;background:#fff;color:var(--text);font:inherit}textarea{resize:vertical;min-height:80px}form button{margin-top:3px}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-form{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.grid-form .wide{grid-column:1/-1}.actions{text-align:right}.actions button{margin-left:8px}dialog{border:0;border-radius:14px;width:min(620px,calc(100% - 30px));padding:24px;color:var(--text);box-shadow:0 22px 65px rgba(10,35,55,.28)}dialog::backdrop{background:rgba(7,25,38,.55)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.dialog-head h2{margin:0}.alert{padding:13px 15px;border-radius:8px;background:#dcf5e8;color:#12623b;margin-bottom:18px}.alert.error{background:#fde5e5;color:#982525}.alert.warning{background:var(--amber);color:#74580d}.tabs{display:flex;gap:5px;overflow-x:auto;margin-bottom:20px}.tabs a{padding:9px 13px;border-radius:7px;background:white;border:1px solid var(--line);white-space:nowrap}.tabs a.active{background:var(--blue);color:#fff;border-color:var(--blue)}.patient-hero{background:linear-gradient(125deg,#0a7194,#0d9aaa);color:white;border-radius:14px;padding:25px;display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.patient-hero h2{font-size:1.7rem;margin:5px 0}.patient-hero p{margin:0}.patient-hero .button{background:white;color:#086c8c}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.muted{color:var(--muted)}.timeline{position:relative;margin-left:100px}.timeline:before{content:"";position:absolute;left:-25px;top:0;bottom:0;width:2px;background:#bad8e1}.timeline article{position:relative;background:white;border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:14px}.timeline article:before{content:"";position:absolute;left:-32px;top:20px;width:12px;height:12px;border-radius:50%;background:var(--cyan);border:3px solid var(--bg)}.timeline time{position:absolute;right:calc(100% + 42px);width:100px;text-align:right;color:var(--muted);font-size:.8rem}.timeline h3{margin:0 0 8px}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.cards .toolbar{border-bottom:1px solid var(--line);padding-bottom:10px}.odontogram{padding:25px 5px}.teeth{display:grid;grid-template-columns:repeat(16,1fr);gap:6px;margin:18px 0}.tooth{background:#f5fafc;color:var(--text);border:1px solid #c8dbe3;padding:8px 2px}.tooth span{display:block;font-size:1.6rem}.tooth.caries{background:#fee2e2;color:#a92929}.tooth.tratado{background:#dceeff;color:#126096}.tooth.ausente{opacity:.35;text-decoration:line-through}.legend{display:flex;gap:10px;flex-wrap:wrap}.legend span{padding:5px 10px;border-radius:6px;background:#f0f5f8}.legend .caries{background:#fee2e2}.legend .treated{background:#dceeff}.legend .missing{opacity:.5}.steps{padding-left:22px}.steps li{padding:8px}hr{border:0;border-top:1px solid var(--line);margin:25px 0}.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,#1da9b7 0,transparent 32%),linear-gradient(140deg,#0d2740,#0b5975)}.login-card{width:min(410px,calc(100% - 30px));background:white;padding:35px;border-radius:18px;box-shadow:0 25px 65px rgba(0,0,0,.27)}.login-card .brand-mark{margin:auto;width:58px;height:58px;font-size:1.2rem}.login-card h1{text-align:center;margin:15px 0 4px}.login-card>p,.login-card>small{text-align:center;color:var(--muted);display:block}.login-card form{margin:25px 0 15px}
@media(max-width:900px){aside{transform:translateX(-100%);transition:.2s}.nav-open aside{transform:none}.app{margin-left:0}.menu{display:block}.stats{grid-template-columns:1fr 1fr}.grid-2,.cards{grid-template-columns:1fr}.teeth{grid-template-columns:repeat(8,1fr)}main{padding:18px}.patient-hero{align-items:flex-start;gap:18px;flex-direction:column}.timeline{margin-left:0}.timeline:before,.timeline article:before{display:none}.timeline time{position:static;display:block;width:auto;text-align:left;margin-bottom:6px}}
@media(max-width:560px){.stats{grid-template-columns:1fr}.toolbar{align-items:stretch;flex-direction:column}.search{width:100%}.grid-form,.row{grid-template-columns:1fr}.grid-form .wide{grid-column:auto}.app>header{padding:14px 18px}table{min-width:620px}.teeth{grid-template-columns:repeat(4,1fr)}}
.module-search{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:0 0 16px;box-shadow:var(--shadow)}.module-search-field{display:flex;align-items:center;gap:8px;flex:1;max-width:720px}.module-search-field>span{font-size:1.35rem;color:var(--muted)}.module-search input{margin:0;min-width:180px}.module-search button{white-space:nowrap;margin:0;padding:.68rem .9rem}.module-search-count{color:var(--muted);white-space:nowrap}.search-no-results{margin-top:0}
.toolbar form.search .module-search-count{align-self:center}.toolbar form.search button.ghost{background:#fff;color:var(--blue);border:1px solid #b8d3de}
@media(max-width:560px){.module-search{align-items:stretch;flex-direction:column}.module-search-field{width:100%}.module-search-count{padding-left:30px}.module-search button{padding:.68rem}}
.hero-actions{display:flex;gap:10px;align-items:center}.patient-hero .ghost{background:transparent;color:white;border-color:rgba(255,255,255,.7)}.inline-form{display:inline}.inline-form button{padding:0;background:transparent;color:#08779c}.nowrap{white-space:nowrap}.rx-row{display:grid;grid-template-columns:minmax(240px,2fr) 110px minmax(180px,1.3fr) auto;gap:10px;align-items:end;padding:10px 0;border-bottom:1px solid var(--line)}.rx-row label{margin:0}.danger-link{background:transparent;color:var(--red);padding:.7rem}
@media(max-width:560px){.hero-actions{align-items:stretch;flex-direction:column}.rx-row{grid-template-columns:1fr}}
.odontogram-panel{padding:24px}.odontogram-summary{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.tooth-legend{display:flex;gap:16px;flex-wrap:wrap;padding:12px 0 18px;border-bottom:1px solid var(--line);font-size:.85rem}.tooth-legend span{display:flex;align-items:center;gap:6px}.dot{width:11px;height:11px;border-radius:50%;display:inline-block;background:#f7fbfd;border:2px solid #9cb4c1}.dot.caries{background:#e84b4b;border-color:#b92727}.dot.restauracion{background:#4197d5;border-color:#2878b2}.dot.endodoncia{background:#8b5cc7;border-color:#69419e}.dot.ausente{background:#cbd4da;border-color:#8998a2}.arch-label{text-align:center;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--muted);margin:18px 0 8px}.dental-arch{display:grid;grid-template-columns:repeat(16,minmax(50px,1fr));gap:5px;align-items:start;min-width:880px}.dental-arch.lower{align-items:end}.dental-arch.lower .real-tooth svg{transform:rotate(180deg)}.real-tooth{background:transparent;color:var(--text);padding:5px 2px;border:1px solid transparent;border-radius:10px;min-width:0}.real-tooth:hover,.real-tooth:focus{background:#eef7fa;border-color:#83bdcf;transform:translateY(-2px)}.real-tooth svg{display:block;width:100%;height:74px;fill:#fff;stroke:#7794a3;stroke-width:1.7;filter:drop-shadow(0 2px 2px rgba(21,55,73,.12))}.real-tooth .tooth-detail{fill:none;stroke:#bfd0d8;stroke-width:1}.real-tooth b{display:block;font-size:.8rem;margin-top:2px}.real-tooth small{display:block;font-size:.62rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.real-tooth.state-caries svg{fill:#ffd7d7;stroke:#c73535}.real-tooth.state-restauracion svg{fill:#d9efff;stroke:#2878b2}.real-tooth.state-corona svg{fill:#fff0b8;stroke:#b98b10}.real-tooth.state-endodoncia svg{fill:#eadcff;stroke:#7549ad}.real-tooth.state-implante svg{fill:#d6f3ee;stroke:#258878}.real-tooth.state-ausente{opacity:.35}.real-tooth.state-ausente svg{fill:#e1e6e9;stroke-dasharray:4 3}.real-tooth.state-fractura svg{fill:#ffe5da;stroke:#d25b2c}.real-tooth.state-sellante svg{fill:#dff5e7;stroke:#348c58}.real-tooth.state-protesis svg{fill:#e6e1f6;stroke:#67559a}.arch-divider{display:flex;justify-content:space-between;border-top:2px solid #c8dce5;margin:12px 0;padding-top:5px;color:var(--muted);font-size:.7rem}.odontogram-panel{overflow-x:auto}
.dentition-switch{display:flex;gap:8px;margin:0 0 18px;flex-wrap:wrap}.dentition-switch a{background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px 16px;font-weight:700}.dentition-switch a.active{background:var(--blue);border-color:var(--blue);color:#fff}.dental-arch.pediatric-arch{grid-template-columns:repeat(10,minmax(58px,1fr));min-width:650px;max-width:900px;margin-inline:auto}.surface-count{display:inline-block;margin-top:3px;padding:2px 5px;border-radius:20px;background:#e8f5f7;color:#176779;font-size:.58rem;font-weight:800}.real-tooth.state-no-erupcionado{opacity:.45}.real-tooth.state-en-erupcion svg{fill:#e6f7ff;stroke:#1591b7;stroke-dasharray:3 2}.real-tooth.state-exfoliado{opacity:.3}.real-tooth.state-exfoliado svg{fill:#e1e6e9;stroke-dasharray:4 3}.real-tooth.state-movilidad svg{fill:#fff1cf;stroke:#d59613}.real-tooth.state-pulpotomia svg,.real-tooth.state-pulpectomia svg{fill:#f0dfff;stroke:#814fb0}.real-tooth.state-corona-pediatrica svg{fill:#fff0b8;stroke:#b98b10}.real-tooth.state-mantenedor-de-espacio svg{fill:#dcf4f0;stroke:#268d7c}.real-tooth.state-traumatismo svg{fill:#ffe2d6;stroke:#cc572b}.dot.sellante{background:#dff5e7;border-color:#348c58}.dot.erupcion{background:#e6f7ff;border-color:#1591b7}.surface-grid{border:1px solid var(--line);border-radius:10px;margin:0 0 16px;padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.surface-grid legend{font-weight:800;padding:0 6px}.surface-grid legend small{font-weight:400;color:var(--muted)}.odontogram-history{margin-top:18px}.odontogram-history td{font-size:.9rem}
.clinical-type-legend{display:flex;gap:18px;flex-wrap:wrap;padding:11px 13px;margin-bottom:4px;border-radius:9px;background:#f7fafc}.clinical-type-legend span{display:flex;align-items:center;gap:6px}.type-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.type-dot.finding{background:#dc2626}.type-dot.completed{background:#2563eb}.real-tooth.record-hallazgo{border-color:#dc2626;background:#fff1f1}.real-tooth.record-hallazgo svg{stroke:#dc2626}.real-tooth.record-realizado{border-color:#2563eb;background:#eff6ff}.real-tooth.record-realizado svg{stroke:#2563eb}.record-label{display:block;width:max-content;max-width:100%;margin:3px auto 0;padding:2px 5px;border-radius:20px;font-size:.56rem;font-weight:900}.record-hallazgo .record-label,.record-type-hallazgo,.finding-summary{background:#fee2e2;color:#b91c1c}.record-realizado .record-label,.record-type-realizado,.completed-summary{background:#dbeafe;color:#1d4ed8}
@media(max-width:900px){.dental-arch{grid-template-columns:repeat(8,minmax(56px,1fr));min-width:520px}.dental-arch.pediatric-arch{grid-template-columns:repeat(5,minmax(58px,1fr));min-width:340px}.real-tooth svg{height:66px}.odontogram-panel .toolbar{align-items:flex-start;flex-direction:column}.odontogram-summary{justify-content:flex-start}}
@media(max-width:560px){.surface-grid{grid-template-columns:1fr}.dentition-switch a{flex:1;text-align:center;padding:9px 8px}}
.billing-loader{position:fixed;inset:0;z-index:9999;background:rgba(9,31,48,.72);backdrop-filter:blur(5px);display:grid;place-items:center;padding:20px}.billing-loader[hidden]{display:none}.billing-loader-card{width:min(390px,100%);background:#fff;border-radius:20px;padding:30px;text-align:center;box-shadow:0 25px 80px rgba(0,0,0,.35)}.billing-loader-card h2{margin:18px 0 6px;color:var(--text)}.billing-loader-card p{min-height:22px;margin:0 0 17px;color:var(--muted)}.billing-loader-card small{display:block;margin-top:12px;color:var(--muted)}.billing-processing{overflow:hidden}.receipt-animation{height:125px;position:relative;width:150px;margin:auto}.printer{position:absolute;left:20px;right:20px;top:35px;height:65px;border-radius:13px;background:linear-gradient(145deg,#087ea4,#16a3b6);box-shadow:0 10px 25px rgba(8,126,164,.28);z-index:2}.printer span{position:absolute;left:18px;right:18px;top:14px;height:8px;border-radius:5px;background:#075d7b}.printer i{position:absolute;right:13px;top:13px;width:9px;height:9px;border-radius:50%;background:#7cf4a8;box-shadow:0 0 0 4px rgba(124,244,168,.18);animation:billingBlink .8s infinite alternate}.paper{position:absolute;z-index:3;left:37px;top:0;width:76px;height:92px;background:#fff;border:1px solid #d8e5eb;border-radius:4px;padding:10px;box-shadow:0 8px 18px rgba(20,56,75,.16);animation:printPaper 1.8s ease-in-out infinite}.paper b{display:grid;place-items:center;width:25px;height:25px;margin:0 auto 9px;border-radius:50%;background:#e1f4f7;color:#087ea4}.paper span{display:block;height:4px;margin:6px 0;border-radius:3px;background:#c9dbe3}.paper span:nth-child(3){width:72%}.paper span:nth-child(4){width:88%}.billing-check{position:absolute;z-index:4;right:4px;bottom:8px;width:34px;height:34px;border-radius:50%;background:#20b66f;color:#fff;display:grid;place-items:center;font-size:20px;font-weight:900;animation:checkPulse 1.4s ease-in-out infinite}.billing-progress{height:8px;background:#e4edf2;border-radius:20px;overflow:hidden}.billing-progress i{display:block;width:45%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#087ea4,#20b66f);animation:billingProgress 1.25s ease-in-out infinite}@keyframes printPaper{0%{transform:translateY(28px);opacity:.45}45%,70%{transform:translateY(0);opacity:1}100%{transform:translateY(-7px);opacity:.75}}@keyframes billingProgress{0%{transform:translateX(-110%)}100%{transform:translateX(225%)}}@keyframes billingBlink{to{opacity:.35}}@keyframes checkPulse{50%{transform:scale(1.12)}}@media(prefers-reduced-motion:reduce){.paper,.billing-check,.billing-progress i,.printer i{animation:none}}
.record-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}button:disabled{opacity:.5;cursor:not-allowed}
.attention-item{padding:12px 0;border-bottom:1px solid var(--line)}.attention-item:last-child{border-bottom:0}.attention-item>b,.attention-item>small{display:block}.attention-item>small{margin-top:4px;color:var(--muted)}.attention-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.attention-actions .button{padding:.48rem .72rem;font-size:.82rem}.inventory-focus td{background:#fff8db;animation:inventoryFocus 1.1s ease-in-out 2}.inventory-focus td:first-child{box-shadow:inset 4px 0 #e4a600}@keyframes inventoryFocus{50%{background:#ffed9d}}@media(prefers-reduced-motion:reduce){.inventory-focus td{animation:none}}
.action-menu{position:relative}.action-menu summary{list-style:none;cursor:pointer;font-size:1.45rem;font-weight:800;padding:2px 10px;border-radius:7px}.action-menu summary:hover{background:#edf5f8}.action-menu summary::-webkit-details-marker{display:none}.action-menu>div{position:absolute;right:0;top:36px;z-index:8;width:230px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:7px;box-shadow:0 14px 38px rgba(20,48,66,.2)}.action-menu a,.action-menu button{display:block;width:100%;text-align:left;background:transparent;color:var(--text);padding:9px 10px;border-radius:6px;font-weight:500}.action-menu a:hover,.action-menu button:hover{background:#edf5f8}.action-menu .danger-link{color:var(--red)}.disabled{opacity:.42;pointer-events:none}.receipt-dialog{width:min(900px,calc(100% - 24px));height:min(760px,calc(100% - 24px))}.receipt-dialog iframe{width:100%;height:calc(100% - 105px);border:1px solid var(--line);border-radius:8px;background:#fff}.receipt-dialog .actions{margin-top:12px}
.billing-panel{min-height:220px}.billing-panel:has(.action-menu[open]){overflow:visible}.billing-panel tbody tr:last-child .action-menu>div,.billing-panel tbody tr:nth-last-child(2) .action-menu>div{top:auto;bottom:36px}.action-menu[open]{z-index:20}.action-menu[open]>div{animation:menuIn .14s ease-out}@keyframes menuIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(max-width:900px){.billing-panel:has(.action-menu[open]){overflow-x:auto;overflow-y:visible}.action-menu>div{right:0;width:215px}}
.report-stats{grid-template-columns:repeat(3,1fr)}.report-stats small{display:block;margin-top:6px;color:var(--muted)}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.report-grid .panel{min-width:0}.report-grid h2{font-size:1.05rem}
@media(max-width:900px){.report-stats{grid-template-columns:repeat(2,1fr)}.report-grid{grid-template-columns:1fr}}@media(max-width:560px){.report-stats{grid-template-columns:1fr}}
.clinical-alert{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px;padding:16px 18px;border:1px solid #f0c36a;border-left:5px solid #d18a00;border-radius:12px;background:#fff8df;color:#684c08;box-shadow:var(--shadow)}.clinical-alert.risk-alto{border-color:#edaaaa;border-left-color:var(--red);background:#fff0f0;color:#8f2424}.clinical-alert-icon{flex:0 0 31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#d18a00;color:#fff;font-size:1.1rem;font-weight:900}.risk-alto .clinical-alert-icon{background:var(--red)}.clinical-alert p{margin:5px 0 0}.medical-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}.medical-summary article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;box-shadow:var(--shadow)}.medical-summary span{display:block;margin-bottom:5px;color:var(--muted);font-size:.8rem}.medical-summary b{display:block;overflow-wrap:anywhere}.clinical-timeline{margin-top:8px}.clinical-note-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.clinical-note-head h3{margin-top:6px}.compact{padding:.5rem .7rem;font-size:.82rem;white-space:nowrap}.badge.warning{background:#fff0c2;color:#765606}.clinical-addendum{border-left:4px solid #daa520!important;background:#fffdfa!important}.amendment-reason{padding:9px 11px;border-radius:7px;background:#fff4cf;color:#70520a}.clinical-note-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.clinical-note-grid p{margin:0;padding:11px;border-radius:8px;background:#f6fafc}.clinical-note-grid b,.clinical-note-grid span{display:block}.clinical-note-grid b{margin-bottom:5px;font-size:.79rem;color:var(--muted);text-transform:uppercase;letter-spacing:.025em}.clinical-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.clinical-links span,.clinical-links a{padding:5px 8px;border-radius:6px;background:#e9f5f8;font-size:.82rem;font-weight:700}.vitals{display:block;margin-top:10px;color:var(--muted)}.clinical-note-modal{width:min(790px,calc(100% - 30px));max-height:calc(100vh - 30px);overflow:auto}.vital-grid{border:1px solid var(--line);border-radius:9px;padding:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.vital-grid legend{font-weight:800;padding:0 5px}.vital-grid label{margin:0}.vital-grid small{font-weight:400;color:var(--muted)}
@media(max-width:900px){.medical-summary{grid-template-columns:repeat(2,1fr)}.clinical-note-head{flex-direction:column}.vital-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.medical-summary,.clinical-note-grid,.vital-grid{grid-template-columns:1fr}.clinical-alert{padding:14px}.clinical-note-head .compact{width:100%}}
.required-notice{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:11px 13px;border:1px solid #f0c36a;border-left:4px solid #d18a00;border-radius:8px;background:#fff8df;color:#684c08}.required-notice b{white-space:nowrap}.required-notice span{font-weight:500}.required-notice strong,.required-marker,.required-field>strong{color:#c73535}.optional-label{float:right;margin-top:2px;padding:2px 7px;border-radius:20px;background:#eef4f7;color:var(--muted);font-size:.7rem;font-weight:700}.was-validated .required-field input:invalid,.was-validated .required-field textarea:invalid,.was-validated .required-field select:invalid{border-color:#c73535;background:#fff7f7;box-shadow:0 0 0 2px rgba(199,53,53,.08)}.required-field input:focus,.required-field textarea:focus,.required-field select:focus{border-color:var(--blue);outline:2px solid rgba(8,126,164,.12)}@media(max-width:560px){.required-notice{align-items:flex-start;flex-direction:column;gap:3px}}
.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.quick-actions a{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px;box-shadow:var(--shadow);font-weight:750}.quick-actions b{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#e2f4f7;color:var(--blue)}.dashboard-stats{grid-template-columns:repeat(5,1fr)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,.75fr);gap:18px}.dashboard-side{display:grid;gap:18px;align-content:start}.dashboard-side .panel p{padding-bottom:10px;border-bottom:1px solid var(--line)}
@media(max-width:1100px){.dashboard-stats{grid-template-columns:repeat(3,1fr)}.quick-actions{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}}@media(max-width:560px){.dashboard-stats,.quick-actions{grid-template-columns:1fr}}
.cash-session{margin-bottom:18px;background:linear-gradient(120deg,#fff,#eef9fb)}.cash-session>div{display:flex;justify-content:space-between;align-items:center;gap:18px}.cash-session h2,.cash-session p{margin:0}
@media(max-width:560px){.cash-session>div{align-items:flex-start;flex-direction:column}}
.payment-locked{display:flex;gap:20px;align-items:flex-start;max-width:780px;margin:0 auto;border:1px solid #b7e4c7;background:linear-gradient(135deg,#f3fff7,#fff)}
.payment-locked-icon{display:grid;place-items:center;flex:0 0 58px;height:58px;border-radius:50%;background:#168a4a;color:#fff;font-size:30px;font-weight:900;box-shadow:0 8px 22px #168a4a33}
.payment-locked h2{margin:8px 0 6px}.payment-locked .badge{background:#dff6e8;color:#126b3d}.payment-locked>div:last-child{min-width:0;flex:1}
.locked-receipt{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0;padding:14px 16px;border-radius:12px;background:#edf9f1;border:1px solid #ccebd7}
.locked-receipt span{color:var(--muted)}.locked-receipt strong{margin-left:auto;font-size:1.15rem;color:#126b3d}.recent-payment a{font-weight:800;text-decoration:underline}
@media(max-width:600px){.payment-locked{display:block}.payment-locked-icon{margin-bottom:14px}.locked-receipt strong{width:100%;margin-left:0}}
.action-menu form{margin:0}.action-menu form button{width:100%;text-align:left;border:0;border-radius:0;background:transparent;color:var(--text);padding:9px 12px}.action-menu form button:hover{background:#eef5ff}.action-menu .convert-action{color:#087443;font-weight:800}.action-menu .pse-consult{color:#075fb8;font-weight:800}.conversion-card{max-width:680px;margin:0 auto}.conversion-card .alert{margin-bottom:18px}
.pse-lock-modal{border:0;background:transparent;padding:20px;max-width:520px;width:calc(100% - 30px)}.pse-lock-modal::backdrop{background:#10243bcc;backdrop-filter:blur(5px)}.pse-lock-card{text-align:center;background:#fff;border:1px solid #f1c2c2;border-radius:22px;padding:34px 28px;box-shadow:0 28px 70px #07182b55}.pse-lock-card h1,.pse-lock-card h2{margin:14px 0 8px;color:#9f2424}.pse-lock-card p{font-size:1.08rem;font-weight:700;margin:0 0 22px}.pse-lock-animation{position:relative;width:92px;height:104px;margin:0 auto;animation:pseLockPulse 1.5s ease-in-out infinite}.pse-lock-body{position:absolute;left:11px;bottom:0;width:70px;height:62px;border-radius:13px;background:linear-gradient(145deg,#d63b3b,#a71919);box-shadow:0 12px 25px #b71c1c44;z-index:2}.pse-lock-body span{position:absolute;left:31px;top:18px;width:9px;height:24px;border-radius:8px;background:#fff}.pse-lock-shackle{position:absolute;left:24px;top:2px;width:44px;height:55px;border:10px solid #a71919;border-bottom:0;border-radius:28px 28px 0 0;animation:pseShackle .7s ease-out both}.pse-denied-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eef5fb,#fff5f5);padding:20px}.pse-denied-page .pse-lock-card{max-width:520px}.checking-pse{opacity:.55;pointer-events:none}@keyframes pseLockPulse{50%{transform:scale(1.06)}}@keyframes pseShackle{from{transform:translateY(-15px);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.pse-lock-animation,.pse-lock-shackle{animation:none}}
.login-custom{position:relative;background-image:linear-gradient(135deg,rgba(3,30,49,.54),rgba(3,67,83,.3)),var(--login-background);background-size:cover;background-position:center}.login-custom:before{content:"";position:fixed;inset:0;background:linear-gradient(90deg,rgba(5,31,49,.22),transparent 60%);pointer-events:none}.login-custom .login-card{position:relative;z-index:1;border:1px solid rgba(255,255,255,.5);backdrop-filter:blur(8px)}.login-brand-image{display:block;width:76px;height:76px;object-fit:contain;margin:0 auto;border-radius:18px;filter:drop-shadow(0 7px 14px rgba(8,54,75,.18))}.login-branding-panel{margin-top:18px}.branding-grid{display:grid;grid-template-columns:minmax(300px,1.15fr) minmax(280px,.85fr);gap:22px;align-items:center}.login-preview{min-height:330px;border-radius:16px;background-image:linear-gradient(135deg,rgba(3,30,49,.46),rgba(3,67,83,.2)),var(--preview-background);background-size:cover;background-position:center;display:grid;place-items:center;padding:24px;overflow:hidden}.login-preview>div{width:min(280px,100%);background:#fffffff0;border-radius:16px;padding:25px;text-align:center;box-shadow:0 18px 46px #061c2b55}.login-preview img{width:68px;height:68px;object-fit:contain;border-radius:15px}.login-preview b,.login-preview small{display:block}.login-preview b{margin:12px 0 4px}.login-preview small{color:var(--muted)}@media(max-width:800px){.branding-grid{grid-template-columns:1fr}.login-preview{min-height:260px}}
.billing-panel tr.ticket-row td{background:#fff5f5;border-top-color:#fecaca;border-bottom-color:#fecaca}
.billing-panel tr.ticket-row td:first-child{box-shadow:inset 4px 0 #dc2626}
.billing-panel tr.ticket-row:hover td{background:#feecec}
.billing-panel tr.ticket-row .badge{background:#fee2e2;color:#991b1b}
.backup-panel{margin-top:20px}.backup-warning{padding:12px 14px;border:1px solid #f59e0b;border-radius:10px;background:#fffbeb;color:#92400e}.backup-panel form{max-width:720px}.backup-panel button.danger{background:#b91c1c}
.action-menu button.danger,.action-menu button.danger:hover,button.danger{color:#fff;background:#b91c1c}.action-menu button.danger:hover,button.danger:hover{background:#991b1b}#voidModal textarea{min-height:105px}#voidModal .stack p{line-height:1.5;color:var(--muted)}
.user small{display:block;color:#b9d4e3;margin-top:4px}.role-guide{margin-top:18px}.role-guide .cards{grid-template-columns:repeat(3,1fr)}.role-guide article{border:1px solid var(--line);border-radius:9px;padding:14px}.role-guide p{margin:7px 0 0;color:var(--muted);font-size:.9rem}@media(max-width:760px){.role-guide .cards{grid-template-columns:1fr}}
.module-exports{display:flex;justify-content:flex-end;gap:8px;margin:-4px 0 14px}.module-exports .button{padding:.58rem .85rem}@media(max-width:600px){.module-exports{justify-content:stretch}.module-exports .button{flex:1;text-align:center}}
.mysql-diagnostic-panel{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.mysql-diagnostic-summary{display:flex;align-items:center;gap:14px}.mysql-diagnostic-summary h2,.mysql-diagnostic-summary p{margin:0}.mysql-diagnostic-summary p{margin-top:5px}.mysql-indicator{width:18px;height:18px;border-radius:50%;flex:0 0 18px}.mysql-indicator.online{background:#20b66f;box-shadow:0 0 0 7px #20b66f22;animation:mysqlPulse 1.8s ease-in-out infinite}.mysql-indicator.offline{background:#c73535;box-shadow:0 0 0 7px #c7353522}.diagnostic-page{min-height:100vh;background:linear-gradient(135deg,#edf7fa,#f7fbfd);padding:28px}.diagnostic-wrap{max-width:760px;margin:auto}.diagnostic-card{overflow:hidden;padding:0}.diagnostic-status{display:flex;gap:18px;align-items:center;padding:28px;background:#eefaf3;border-bottom:1px solid #c7ead5}.diagnostic-status>span{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;flex:0 0 62px;background:#168a4a;color:#fff;font-size:34px;font-weight:900}.diagnostic-status small{font-weight:800;letter-spacing:.08em;color:#527263}.diagnostic-status h1{margin:4px 0;font-size:1.65rem}.diagnostic-status p{margin:0}.mysql-error .diagnostic-status{background:#fff0f0;border-color:#f1c2c2}.mysql-error .diagnostic-status>span{background:#b91c1c}.mysql-error .diagnostic-status small{color:#8f5555}.diagnostic-details{display:grid;grid-template-columns:1fr 1fr;margin:0;padding:22px 28px;gap:12px}.diagnostic-details div{border:1px solid var(--line);border-radius:9px;padding:12px}.diagnostic-details dt{color:var(--muted);font-size:.78rem;text-transform:uppercase;font-weight:800}.diagnostic-details dd{margin:5px 0 0;font-weight:750;overflow-wrap:anywhere}.diagnostic-help{margin:22px 28px;padding:16px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa}.diagnostic-help ol{margin-bottom:0}.diagnostic-safe{margin:0 28px;color:var(--muted);font-size:.88rem}.diagnostic-card>.record-actions{margin:18px 28px 28px;justify-content:flex-end}@keyframes mysqlPulse{50%{transform:scale(1.12);box-shadow:0 0 0 10px #20b66f12}}@media(max-width:650px){.mysql-diagnostic-panel{align-items:stretch;flex-direction:column}.diagnostic-page{padding:15px}.diagnostic-status{align-items:flex-start;padding:22px}.diagnostic-details{grid-template-columns:1fr;padding:18px}.diagnostic-safe,.diagnostic-card>.record-actions{margin-left:18px;margin-right:18px}}
.direct-billing-card{max-width:760px;margin:0 auto}.field-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 7px}.compact{padding:.45rem .75rem;font-size:.88rem}#directPatientModal{width:min(680px,calc(100% - 24px))}
.pse-history-dialog{width:min(920px,calc(100% - 24px))}.pse-history-table{max-height:520px;overflow:auto}.pse-history-table table{min-width:760px}.pse-history-table td{vertical-align:top}.pse-history-table .message-cell{min-width:260px;white-space:normal}.pse-result-modal{border:0;background:transparent}.pse-result-modal::backdrop{background:#10243bcc;backdrop-filter:blur(5px)}.pse-result-card{width:min(440px,calc(100vw - 36px));background:#fff;border-radius:22px;padding:34px;text-align:center;box-shadow:0 25px 75px #07182b66}.pse-result-icon{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;margin:auto;background:#fff3cd;color:#9a6700;font-size:46px;font-weight:900;animation:checkPulse 1.2s ease-in-out 2}.pse-result-modal.accepted .pse-result-icon{background:#dcfce7;color:#168a4a}.pse-result-modal.rejected .pse-result-icon{background:#fee2e2;color:#b91c1c}.pse-result-card h2{margin:17px 0 7px}.pse-result-card .record-actions{justify-content:center}
.history-status{font-weight:800}.history-status.aceptado{color:#168a4a}.history-status.error,.history-status.rechazado{color:#b91c1c}.history-status.pendiente{color:#9a6700}
.badge.sunat-accepted{background:#dcfce7;color:#166534;border:1px solid #86efac}.badge.sunat-voided{background:#7f1d1d;color:#fff;border:1px solid #991b1b}.badge.sunat-rejected{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.badge.sunat-pending{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.badge.sunat-void-pending{background:#ffedd5;color:#c2410c;border:1px solid #fdba74}.badge.sunat-internal{background:#e2e8f0;color:#475569;border:1px solid #cbd5e1}.badge.sunat-other{background:#dbeafe;color:#1d4ed8;border:1px solid #bfdbfe}
.login-custom{position:relative;isolation:isolate;background:#dbeef2;overflow:hidden}.login-background-image{position:fixed;inset:0;z-index:0;background-position:center;background-repeat:no-repeat;background-size:cover}.login-background-overlay{position:fixed;inset:0;z-index:1;background:linear-gradient(135deg,rgba(3,30,49,.46),rgba(3,67,83,.18));pointer-events:none}.login-custom .login-card{position:relative;z-index:2}
@media(max-width:600px){.login-body.login-custom{min-height:100dvh;padding:18px 14px;background-position:62% center;background-attachment:scroll}.login-custom:before{background:rgba(5,31,49,.16)}.login-custom .login-card{width:100%;max-width:390px;padding:24px 20px;border-radius:16px;backdrop-filter:blur(10px)}.login-brand-image{width:62px;height:62px;border-radius:15px}.login-card h1{font-size:1.55rem;line-height:1.15;margin-top:12px}.login-card>p{margin-top:8px}.login-card form{margin:20px 0 13px}.login-card label{margin-bottom:12px}.login-card input{min-height:48px;font-size:16px}.login-card form button{display:block;width:100%;min-height:48px}.login-card>small{font-size:.78rem;line-height:1.35}}@media(max-width:380px){.login-body.login-custom{padding:10px}.login-custom .login-card{padding:20px 16px}.login-brand-image{width:56px;height:56px}.login-card h1{font-size:1.35rem}}@media(max-height:620px) and (orientation:landscape){.login-body.login-custom{padding:10px}.login-custom .login-card{max-width:440px;padding:16px 24px}.login-brand-image{width:48px;height:48px}.login-card h1{font-size:1.25rem;margin-top:7px}.login-card form{margin:12px 0 8px}.login-card label{margin-bottom:8px}.login-card input{min-height:42px;padding:.55rem}.login-card form button{min-height:42px}}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 4px 2px;color:#526779;flex-wrap:wrap}.pagination>div{display:flex;align-items:center;gap:10px}.pagination b{color:#12324a;white-space:nowrap}.issued-documents h2{color:#e31b23;text-align:center;letter-spacing:.02em}.issued-list{display:grid;gap:10px}.issued-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid #d9e5ec;border-left:5px solid #0784a8;border-radius:9px;background:#f8fbfd}.issued-item.ticket{border-left-color:#e4a11b}.issued-item.factura{border-left-color:#2b67c7}.issued-item strong,.issued-item small{display:block}.issued-item .amount{font-weight:800;color:#12324a}.issued-item .record-actions{justify-content:flex-end}@media(max-width:700px){.issued-item{grid-template-columns:1fr}.issued-item .record-actions{justify-content:flex-start}.pagination{align-items:flex-start;flex-direction:column}}
.compact-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:12px 0}.compact-stats article{padding:14px}.cash-session .record-actions{margin-top:12px}@media print{aside,.app>header,.record-actions,dialog,.pagination{display:none!important}.app{margin:0!important}.app main{padding:0!important}.panel{box-shadow:none!important;border:1px solid #ccd6dd!important;break-inside:avoid}body{background:#fff!important}}
.public-full-button{display:block;width:100%;text-align:center}.public-login-link{display:block;text-align:center;margin-top:18px}.public-appointment-card{width:min(460px,calc(100% - 30px))}.public-appointment-result{margin:22px 0;text-align:center}.public-appointment-result h2{margin:12px 0}.public-appointment-item{padding:14px;margin-top:12px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(15,23,42,.05)}.public-appointment-result dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:left}.public-appointment-result dl div{padding:12px;background:#f3f7fa;border-radius:9px}.public-appointment-result dt{font-size:.78rem;color:var(--muted)}.public-appointment-result dd{margin:4px 0 0;font-weight:800}@media(max-width:430px){.public-appointment-result dl{grid-template-columns:1fr}}
.panel td.nowrap>*{margin-right:9px;margin-bottom:5px}.panel td.nowrap .inline-form{display:inline-block}.panel td.nowrap .compact{padding:.42rem .65rem;font-size:.82rem}
.appointment-alarm{display:flex;align-items:center;gap:15px;margin-bottom:18px;padding:16px 18px;border-radius:13px;border:1px solid #cfe0e8;background:#fff}.appointment-alarm .alarm-icon{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:#edf5f8;font-size:23px}.appointment-alarm strong,.appointment-alarm p{display:block;margin:0}.appointment-alarm p{margin-top:3px;color:var(--muted)}.appointment-alarm button{margin-left:auto}.appointment-alarm.is-active{border-color:#f0bd43;background:#fff9e8}.appointment-alarm.is-active .alarm-icon{background:#ffd966;animation:appointmentRing 1.2s infinite}.appointment-soon td{background:#fffaf0}.appointment-soon td:first-child{box-shadow:inset 4px 0 #f0a500}.soon-label{display:inline-block;margin-left:8px;padding:2px 6px;border-radius:5px;background:#f0a500;color:#fff;font-weight:900;font-size:.67rem}.patient-phone,.appointment-code{display:block;margin-top:5px;color:var(--muted)}.appointment-status{display:inline-block;padding:5px 9px;border-radius:20px;font-size:.78rem;font-weight:850}.status-programada{background:#dbeafe;color:#1d4ed8}.status-confirmada{background:#dcfce7;color:#166534}.status-atendida{background:#ede9fe;color:#6d28d9}.status-cancelada{background:#fee2e2;color:#b91c1c}.appointment-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:330px}.appointment-actions form{margin:0}.whatsapp-button{background:#16a34a}.attended-button{background:#7c3aed}.reminder-sent{background:#e6f4ea!important;color:#176b3a!important;border:1px solid #a7d7b6}.appointment-toast{position:fixed;z-index:30;right:22px;bottom:22px;max-width:420px;padding:14px 18px;border-radius:10px;color:#fff;font-weight:750;box-shadow:0 14px 40px #10243b44;opacity:0;transform:translateY(15px);pointer-events:none;transition:.2s}.appointment-toast.show{opacity:1;transform:none}.appointment-toast.ok{background:#168a4a}.appointment-toast.error{background:#b91c1c}@keyframes appointmentRing{25%{transform:rotate(12deg)}50%{transform:rotate(-10deg)}75%{transform:rotate(7deg)}}@media(max-width:720px){.appointment-alarm{flex-wrap:wrap}.appointment-alarm button{margin-left:60px}.appointment-panel{overflow-x:auto}}@media(prefers-reduced-motion:reduce){.appointment-alarm.is-active .alarm-icon{animation:none}}
.treatment-panel:has(.action-menu[open]){overflow:visible}.treatment-panel .action-menu>div{min-width:220px}.danger-text{color:#b91c1c}.treatment-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.treatment-summary-grid article{padding:15px}.treatment-summary-grid span,.treatment-summary-grid strong{display:block}.treatment-summary-grid span{color:var(--muted);font-size:.8rem}.treatment-summary-grid strong{margin-top:6px;font-size:1.08rem}.treatment-detail-grid{align-items:start}.treatment-detail-grid>.panel{min-width:0}.treatment-detail-grid table{font-size:.88rem}@media(max-width:950px){.treatment-summary-grid{grid-template-columns:1fr 1fr}.treatment-detail-grid{grid-template-columns:1fr}.treatment-panel{overflow-x:auto}}@media(max-width:520px){.treatment-summary-grid{grid-template-columns:1fr}}
.payment-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.payment-summary>div{padding:12px;border:1px solid #d9e4ea;border-radius:10px;background:#f7fbfd}.payment-summary small,.payment-summary b{display:block}.payment-summary b{font-size:1.08rem;margin-top:4px}.choice{display:inline-flex;align-items:center;gap:7px;margin-right:18px}fieldset#amountChoice{border:1px solid #d9e4ea;border-radius:10px;margin:12px 0;padding:12px}fieldset#amountChoice legend{font-weight:700;padding:0 5px}@media(max-width:700px){.payment-summary{grid-template-columns:1fr}}
.payment-visible-button{display:inline-block;margin-top:9px;white-space:nowrap}
.storage-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.storage-summary>div{padding:16px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.storage-summary small{display:block;color:var(--muted);margin-bottom:7px}.storage-summary strong{display:block;font-size:1.3rem}.storage-meter{height:14px;overflow:hidden;border-radius:999px;background:#e5e7eb;margin:8px 0 14px}.storage-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#0ea5e9)}.storage-details{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:10px}.storage-note{margin-top:14px}@media(max-width:780px){.storage-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){.storage-summary{grid-template-columns:1fr}}
