:root{--teal:#09a6a6;--teal-dark:#087e82;--teal-soft:#e7f9f7;--blue:#536dfe;--ink:#17233c;--muted:#7f8ba3;--line:#e7ebf2;--bg:#f4f7fb;--white:#fff;--coral:#ff6978;--orange:#ffb545;--shadow:0 8px 30px rgba(34,53,84,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:20}.brand{height:72px;display:flex;align-items:center;gap:12px;padding:0 22px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line)}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;font:800 21px Manrope;background:linear-gradient(145deg,#18c1b4,#078aa3);box-shadow:0 8px 18px #08a4a444}.brand b{font:800 20px Manrope}.brand small,.profile small,.clinic-card small{display:block;color:var(--muted);font-size:11px;margin-top:1px}.sidebar nav{padding:18px 12px;flex:1;overflow:auto}.sidebar nav p{font-size:10px;letter-spacing:1.3px;color:#a5afc2;margin:19px 13px 8px}.sidebar nav a{height:43px;padding:0 13px;display:flex;align-items:center;gap:13px;border-radius:10px;text-decoration:none;color:#657188;margin:3px 0;font-weight:500}.sidebar nav a span{font-size:18px;width:20px;text-align:center}.sidebar nav a:hover{background:#f4f8fb;color:var(--teal)}.sidebar nav a.active{background:var(--teal-soft);color:var(--teal-dark);font-weight:700}.sidebar nav i{margin-left:auto;background:#ffedf0;color:#f25767;border-radius:10px;padding:2px 7px;font-size:10px;font-style:normal}.clinic-card{margin:14px;padding:12px;background:#f7fafc;border:1px solid var(--line);border-radius:12px;display:flex;gap:10px;align-items:center;font-size:11px}.online{width:9px;height:9px;background:#38c792;border-radius:50%;box-shadow:0 0 0 4px #dff7ed}main{margin-left:238px;min-height:100vh}.topbar{height:72px;background:linear-gradient(100deg,#079da5,#0eb8ae);display:flex;align-items:center;padding:0 28px;color:#fff;position:sticky;top:0;z-index:15}.menu{display:none;background:none;border:0;color:#fff;font-size:22px}.search{width:min(420px,42vw);height:40px;background:#ffffff24;border:1px solid #ffffff25;border-radius:10px;display:flex;align-items:center;padding:0 14px;font-size:21px}.search input{width:100%;border:0;outline:0;background:transparent;color:#fff;padding:0 10px}.search input::placeholder{color:#d7ffff}.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.icon-button{position:relative;border:0;background:transparent;color:#fff;font-size:20px;width:36px;height:36px}.icon-button span{position:absolute;width:7px;height:7px;border-radius:50%;background:#ff6679;right:5px;top:4px}.profile{display:flex;align-items:center;gap:9px;padding-left:12px;border-left:1px solid #ffffff44}.profile small{color:#dcffff}.avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--teal-dark);font-size:12px;font-weight:700}.content{padding:26px;max-width:1580px;margin:auto}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.page-head h1{font:800 25px Manrope;margin:0}.page-head p{margin:5px 0 0;color:var(--muted)}.button{border:0;background:var(--teal);color:#fff;border-radius:9px;padding:11px 16px;font-weight:700;box-shadow:0 6px 15px #09a6a631}.button:hover{background:var(--teal-dark)}.button.secondary{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:none}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.stat,.panel{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 2px 7px rgba(45,62,90,.025)}.stat{padding:18px 19px;position:relative;overflow:hidden}.stat:after{content:"";position:absolute;width:66px;height:3px;border-radius:5px;background:var(--accent,var(--teal));right:18px;bottom:21px}.stat label{text-transform:uppercase;font-size:10px;letter-spacing:.65px;color:#8793a8;font-weight:700}.stat strong{display:block;font:800 26px Manrope;margin:9px 0 3px}.stat small{color:#98a2b5;font-size:10px}.stat small b{color:#28b98c;background:#e7faf3;border-radius:8px;padding:2px 5px}.dashboard-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:18px}.panel{padding:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-head h2{font:700 14px Manrope;margin:0}.panel-head small{color:var(--muted)}.chart{height:220px;display:flex;align-items:flex-end;gap:8px;padding:24px 4px 25px;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 43px,#eef1f6 44px)}.bar{flex:1;min-width:5px;background:linear-gradient(#8782d7,#b1ace7);border-radius:4px 4px 0 0;position:relative;transition:.3s}.bar:hover{background:var(--teal);transform:scaleX(1.12)}.bar span{position:absolute;bottom:-21px;left:50%;transform:translateX(-50%);font-size:9px;color:#8993a5}.donut-wrap{display:flex;align-items:center;gap:24px;min-height:200px}.donut{width:135px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--teal) 0 48%,var(--blue) 48% 75%,var(--orange) 75% 90%,var(--coral) 90%);flex:0 0 auto}.donut:after{content:"";width:82px;aspect-ratio:1;background:#fff;border-radius:50%}.donut-center{position:absolute;text-align:center;font:800 20px Manrope}.donut-center small{display:block;font:500 9px DM Sans;color:var(--muted)}.legend{flex:1}.legend-row{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid #f0f2f6;font-size:11px}.legend-row i{width:8px;height:8px;border-radius:50%;margin-right:8px}.legend-row b{margin-left:auto}.agenda-panel{grid-column:1/-1}.agenda-list{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.agenda-item{border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:9px;padding:12px;display:flex;gap:12px}.agenda-time{font-weight:800;color:var(--teal-dark)}.agenda-item b,.agenda-item small{display:block}.agenda-item small{color:var(--muted);margin-top:3px}.table-panel{padding:0;overflow:hidden}.table-tools{display:flex;padding:16px 18px;gap:10px;border-bottom:1px solid var(--line)}.input,.table-tools input,.table-tools select{border:1px solid #dfe4ec;border-radius:8px;padding:10px 12px;background:#fff;outline:0;color:var(--ink)}.table-tools input{flex:1}.input:focus,.table-tools input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #08aaa91a}table{width:100%;border-collapse:collapse}th{text-align:left;color:#8994a8;font-size:10px;text-transform:uppercase;letter-spacing:.6px;padding:12px 18px;background:#fafbfd}td{padding:14px 18px;border-top:1px solid #edf0f4}tbody tr:hover{background:#fbfdfd}.entity{display:flex;align-items:center;gap:10px}.entity-icon{width:36px;height:36px;border-radius:11px;background:var(--teal-soft);color:var(--teal-dark);display:grid;place-items:center;font-weight:800}.entity small{display:block;color:var(--muted);margin-top:2px}.badge{display:inline-block;border-radius:20px;padding:4px 9px;font-size:10px;font-weight:700;background:#edf1ff;color:#586cdc}.badge.green{background:#e6f8f1;color:#159b70}.badge.orange{background:#fff3df;color:#d78a16}.badge.red{background:#ffeaed;color:#d84c5d}.empty{text-align:center;color:var(--muted);padding:45px!important}.loading{height:60vh;display:grid;place-items:center;color:var(--muted)}.loading span{width:27px;height:27px;border:3px solid #dce8e8;border-top-color:var(--teal);border-radius:50%;animation:spin .7s linear infinite}.modal-backdrop{position:fixed;inset:0;background:#15233877;backdrop-filter:blur(3px);z-index:50;display:grid;place-items:center;padding:20px}.modal-backdrop[hidden]{display:none}.modal{width:min(610px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:17px;padding:26px;box-shadow:0 25px 70px #15223855;position:relative}.modal h2{margin:0 0 5px;font:800 20px Manrope}.modal .subtitle{color:var(--muted);margin:0 0 20px}.modal-close{position:absolute;right:18px;top:16px;border:0;background:#f2f5f8;width:30px;height:30px;border-radius:8px;font-size:20px;color:#687389}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:700;color:#606c82}.field input,.field select,.field textarea{border:1px solid #dce2eb;border-radius:8px;padding:10px 11px;outline:0}.field textarea{min-height:78px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.toast-wrap{position:fixed;right:22px;bottom:22px;z-index:80;display:grid;gap:8px}.toast{background:#17233c;color:#fff;border-radius:10px;padding:13px 17px;box-shadow:var(--shadow);animation:slide .25s}.toast.error{background:#ce4e5d}.record-layout{display:grid;grid-template-columns:320px 1fr;gap:18px}.pet-card{text-align:center}.pet-big{width:78px;height:78px;border-radius:24px;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center;font-size:34px;margin:5px auto 12px}.info-grid{display:grid;grid-template-columns:1fr 1fr;text-align:left;margin-top:18px;border-top:1px solid var(--line)}.info-grid div{padding:12px 5px;border-bottom:1px solid var(--line)}.info-grid small,.report small{display:block;color:var(--muted)}.timeline{position:relative;padding-left:24px}.timeline:before{content:"";position:absolute;left:6px;top:8px;bottom:5px;width:2px;background:#d9eeee}.report{position:relative;padding:0 0 22px}.report:before{content:"";position:absolute;left:-23px;top:5px;width:10px;height:10px;border:3px solid #fff;background:var(--teal);border-radius:50%;box-shadow:0 0 0 2px #bce8e4}.report h3{margin:3px 0 8px;font-size:14px}.report p{margin:5px 0;color:#566177}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.setting{padding:20px}.setting span{font-size:28px}.setting h3{margin:12px 0 5px}.setting p{color:var(--muted);font-size:12px}.status-ok{color:#16996f;font-weight:700}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slide{from{transform:translateY(10px);opacity:0}}
.nav-section{margin-top:10px}.nav-section-toggle{width:100%;height:31px;padding:0 12px;border:0;background:transparent;color:#98a3b7;display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:700;letter-spacing:1.2px;text-align:left}.nav-section-toggle:hover{color:var(--teal-dark)}.sidebar nav .nav-toggle-icon{position:relative;width:16px;height:16px;margin:0;padding:0;border-radius:50%;background:#eef3f6;color:inherit;transition:transform .32s ease,background-color .32s ease}.nav-toggle-icon:before,.nav-toggle-icon:after{content:"";position:absolute;left:4px;right:4px;top:7px;height:2px;border-radius:2px;background:currentColor;transition:transform .32s ease,opacity .32s ease}.nav-toggle-icon:after{transform:rotate(90deg)}.nav-section:not(.collapsed) .nav-toggle-icon{transform:rotate(45deg);background:var(--teal-soft);color:var(--teal-dark)}.nav-section-items{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .34s ease,opacity .25s ease}.nav-section-items>div{min-height:0;overflow:hidden}.nav-section.collapsed .nav-section-items{grid-template-rows:0fr;opacity:0}.nav-section.collapsed .nav-toggle-icon{transform:rotate(0)}
.button.danger{background:#fff;color:#d84c5d;border:1px solid #f1cbd0;box-shadow:none}.button.danger:hover{background:#ffeaed}.stock-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}.stock-summary article{padding:17px;border-left:4px solid var(--teal)}.stock-summary article.danger{border-left-color:#ed5e6d}.stock-summary article.warning{border-left-color:#f5b83d}.stock-summary small,.stock-summary strong{display:block}.stock-summary small{font-size:9px;color:var(--muted);font-weight:700;letter-spacing:.6px}.stock-summary strong{font:800 25px Manrope;margin-top:5px}.stock-tools input{min-width:180px}@media(max-width:760px){.stock-summary{grid-template-columns:1fr 1fr}.stock-tools{min-width:680px}}
.sale-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);gap:16px;align-items:start}.sale-products{padding:0;overflow:hidden}.sale-product-grid{padding:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.sale-product{border:1px solid var(--line);background:#fff;border-radius:9px;padding:11px;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;text-align:left;color:var(--ink)}.sale-product:hover{border-color:var(--teal);background:#f7fdfc}.sale-product b,.sale-product small{display:block}.sale-product small{color:var(--muted);margin-top:3px}.sale-product>strong{font-size:11px}.sale-product>i{font-style:normal;color:var(--teal);font-size:18px}.sale-cart{position:sticky;top:88px}.sale-cart-row{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:9px;padding:11px 0;border-top:1px solid var(--line)}.sale-cart-row b,.sale-cart-row small{display:block}.sale-cart-row small{color:var(--muted);font-size:9px}.quantity-control{display:flex;align-items:center;border:1px solid var(--line);border-radius:7px;overflow:hidden}.quantity-control button,.cart-remove{border:0;background:#f5f8fa;color:var(--ink);width:27px;height:27px}.quantity-control span{min-width:25px;text-align:center;font-size:11px}.cart-remove{border-radius:50%;color:#d84c5d}.sale-fields{display:grid;gap:9px;margin-top:12px}.sale-fields label{display:grid;gap:5px;color:var(--muted);font-size:10px}.sale-total{display:flex;align-items:center;justify-content:space-between;margin:17px 0;padding-top:15px;border-top:1px solid var(--line)}.sale-total strong{font:800 24px Manrope}.sale-complete{width:100%}.sale-complete:disabled{opacity:.45;cursor:not-allowed}@media(max-width:980px){.sale-layout{grid-template-columns:1fr}.sale-cart{position:static}}@media(max-width:600px){.sale-product-grid{grid-template-columns:1fr}}
.sale-product-search h2{margin:0}.sale-product-search>p{color:var(--muted);margin:5px 0 18px}.sale-search-box{position:relative}.sale-search-box>input{width:100%}.sale-search-results{position:absolute;z-index:12;left:0;right:0;top:calc(100% + 6px);max-height:360px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 15px 35px #22314d24;padding:6px}.sale-search-results button{width:100%;border:0;background:#fff;border-radius:8px;padding:10px;display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;text-align:left;color:var(--ink)}.sale-search-results button:hover{background:var(--teal-soft)}.sale-search-results b,.sale-search-results small{display:block}.sale-search-results small,.sale-search-results p{color:var(--muted);margin-top:3px}.sale-search-results>p{text-align:center;padding:18px}.sale-search-results strong{font-size:12px}
.hospital-kpis{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:10px;margin-bottom:14px}.hospital-kpis article{background:#fff;border:1px solid var(--line);border-top:3px solid var(--teal);border-radius:9px;padding:13px}.hospital-kpis article.warning{border-top-color:#f5b83d}.hospital-kpis article.critical{border-top-color:#ed5e6d}.hospital-kpis small,.hospital-kpis strong{display:block}.hospital-kpis small{color:var(--muted);font-size:8px;font-weight:700;letter-spacing:.5px}.hospital-kpis strong{font:800 19px Manrope;margin-top:7px}.hospital-filters{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:9px;padding:12px;margin-bottom:14px}.hospital-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.hospital-card{border-top:4px solid #35b985}.hospital-card.observation{border-top-color:#f5b83d}.hospital-card.critical{border-top-color:#ed5e6d}.hospital-card-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px}.hospital-card-head img,.hospital-photo{width:55px;height:55px;border-radius:14px;object-fit:cover;background:var(--teal-soft);display:grid;place-items:center;font-size:25px}.hospital-card h2,.hospital-card p{margin:0}.hospital-card p{color:var(--muted);font-size:10px;margin-top:3px}.clinical-state{font-size:9px;font-weight:700;border-radius:12px;padding:5px 8px;background:#e7f8f1;color:#159b70}.observation .clinical-state{background:#fff3df;color:#d78a16}.critical .clinical-state{background:#ffeaed;color:#d84c5d}.hospital-info{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:14px 0;border-top:1px solid var(--line)}.hospital-info div{padding:10px 4px;border-bottom:1px solid var(--line)}.hospital-info small,.hospital-info b{display:block}.hospital-info small,.next-care small{color:var(--muted);font-size:8px}.hospital-info b{font-size:10px;margin-top:3px}.next-care{display:flex;align-items:flex-start;gap:9px;background:#f3fbfa;border-radius:8px;padding:10px;margin-bottom:12px}.next-care.overdue{background:#ffeaed;color:#b74351}.next-care b,.next-care time{display:block;font-size:9px}.next-care time{margin-top:3px;color:var(--muted)}.hospital-empty{grid-column:1/-1}.hospital-card>.button{width:100%}@media(max-width:1250px){.hospital-kpis{grid-template-columns:repeat(4,1fr)}.hospital-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.hospital-filters{grid-template-columns:1fr 1fr}.hospital-grid{grid-template-columns:1fr}.hospital-kpis{grid-template-columns:1fr 1fr}}
.hospital-kpis article:nth-of-type(5),.hospital-kpis article:nth-of-type(6){display:none}.hospital-kpis{grid-template-columns:repeat(5,minmax(120px,1fr))}@media(max-width:1250px){.hospital-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.hospital-kpis{grid-template-columns:1fr 1fr}}
.control-patient{border:1px solid var(--line);border-left:4px solid #35b985;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-align:left;color:var(--ink)}.control-patient.observation{border-left-color:#f5b83d}.control-patient.critical{border-left-color:#ed5e6d}.control-patient b,.control-patient small{display:block}.control-patient small{color:var(--muted);margin-top:3px}.control-actions{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.control-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.control-wide{grid-column:span 2}.vital-chart{height:160px;position:relative;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 38px,#edf1f4 39px)}.vital-chart svg{width:100%;height:100%}.vital-chart polyline{fill:none;stroke:var(--teal);stroke-width:2;vector-effect:non-scaling-stroke}.vital-chart span,.vital-chart small{position:absolute;left:4px;color:var(--muted);font-size:8px}.vital-chart span{top:4px}.vital-chart small{bottom:4px}.vital-table>div{display:grid;grid-template-columns:1.3fr repeat(4,.7fr) 1fr;gap:8px;padding:8px 0;border-top:1px solid var(--line);font-size:9px}.vital-table small{color:var(--muted)}.active-alerts{display:grid;gap:7px;margin-bottom:10px}.active-alerts strong{background:#ffeaed;color:#c64857;padding:9px;border-radius:7px;font-size:10px}.alert-rules{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.alert-rules span{background:#f3f6f8;border-radius:12px;padding:5px 8px;font-size:9px}.care-agenda>div{display:grid;grid-template-columns:100px 70px 1fr auto;align-items:center;gap:8px;padding:9px 0;border-top:1px solid var(--line);font-size:9px}.care-agenda>div.overdue{background:#fff8f9}.care-agenda>div.critical{box-shadow:inset 3px 0 #ed5e6d;padding-left:8px}.care-agenda b,.care-agenda small{display:block}.care-agenda button{border:1px solid var(--line);background:#fff;border-radius:5px;padding:5px;font-size:8px}.compact-list{display:grid;max-height:260px;overflow:auto}.compact-list>div,.compact-list>a{padding:9px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}.compact-list b,.compact-list small{display:block}.compact-list small{color:var(--muted);font-size:9px;margin-top:3px}.compact-list p{font-size:10px;margin:5px 0;color:#566177}.cost-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px}.cost-summary>div{background:#f7fafb;border-radius:8px;padding:11px}.cost-summary small,.cost-summary strong{display:block}.cost-summary small{font-size:8px;color:var(--muted)}.cost-summary strong{font:800 17px Manrope;margin-top:4px}@media(max-width:1100px){.control-grid{grid-template-columns:1fr 1fr}.control-wide{grid-column:1/-1}}@media(max-width:700px){.control-grid{grid-template-columns:1fr}.control-wide{grid-column:auto}.care-agenda>div{grid-template-columns:1fr 1fr}.vital-table>div{grid-template-columns:1fr 1fr}}
@media(max-width:1050px){.stats{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.agenda-list{grid-template-columns:1fr 1fr}.record-layout{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.sidebar.open:after{content:"";position:fixed;inset:0 0 0 238px;background:#17233c55}.menu{display:block}main{margin-left:0}.topbar{padding:0 15px}.profile>div:last-child,.icon-button{display:none}.search{width:auto;flex:1;margin-left:10px}.content{padding:17px}.stats{grid-template-columns:1fr 1fr;gap:10px}.dashboard-grid{display:block}.dashboard-grid>.panel{margin-bottom:12px}.agenda-list{grid-template-columns:1fr}.table-panel{overflow-x:auto}table{min-width:680px}.page-head{align-items:flex-start}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.settings-grid{grid-template-columns:1fr}}

/* Composición compacta de escritorio inspirada en sistemas de gestión clínica. */
.dashboard-caption{height:27px;display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;color:#8792a7;font-size:9px}.species-progress{height:8px;border-radius:3px;overflow:hidden;display:flex;margin:14px 0}.species-progress i{display:block;border-right:2px solid #fff}.species-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.species-cards div{display:grid;grid-template-columns:28px 1fr;grid-template-rows:1fr 1fr;align-items:center}.species-cards span{grid-row:1/3;width:22px;height:22px;color:#fff;border-radius:3px;display:grid;place-items:center}.species-cards b{font-size:9px}.species-cards small{font-size:8px;color:var(--muted)}.average-panel>strong{font:800 28px Manrope;color:#5269f5}.average-panel>span{margin-left:10px;font-size:8px}.average-line{height:5px;border-radius:5px;background:#d9e5f6;margin:20px 0 8px}.average-line i{display:block;height:100%;border-radius:5px;background:#5269f5}.average-legend{display:flex;justify-content:space-between;color:#8090a8}.species-panel,.average-panel{min-height:145px}
.hospitalization-panel,.average-panel{min-height:145px}.hospitalization-panel .panel-head a{color:var(--teal-dark);font-weight:700;text-decoration:none}.hospitalization-summary{display:flex;align-items:baseline;gap:9px}.hospitalization-summary strong{font:800 28px Manrope;color:var(--teal-dark)}.hospitalization-summary span{color:var(--muted)}.hospitalization-progress{height:8px;border-radius:5px;overflow:hidden;display:flex;background:#e9eef3;margin:13px 0}.hospitalization-progress i{height:100%}.hospitalization-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px}.hospitalization-counts div{display:flex;align-items:center;gap:7px}.hospitalization-counts i{width:9px;height:9px;border-radius:50%;flex:none}.hospitalization-counts .stable{background:#09b8aa}.hospitalization-counts .observation{background:#ffaf3f}.hospitalization-counts .critical{background:#f06479}.hospitalization-counts .waiting{background:#8b92a5}.hospitalization-counts b{margin-left:auto}
.breed-catalog{margin-bottom:16px}.breed-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.breed-groups article{border:1px solid var(--line);border-radius:8px;padding:15px;background:#fbfcfd}.breed-group-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}.breed-group-title>span{width:35px;height:35px;display:grid;place-items:center;background:var(--teal-soft);border-radius:8px;font-size:18px}.breed-group-title b,.breed-group-title small{display:block}.breed-group-title small{color:var(--muted);margin-top:2px}.breed-tags{display:flex;flex-wrap:wrap;gap:6px}.breed-tags span{padding:5px 8px;background:#fff;border:1px solid var(--line);border-radius:14px;font-size:10px}.settings-secondary{margin-top:0}.setting{display:flex;flex-direction:column;align-items:flex-start}.setting p{flex:1}.setting>.button{margin-top:10px}
.owner-search{position:relative}.owner-search>small{color:var(--muted);font-size:10px}.owner-search input.selected{border-color:var(--teal);background:#f2fbfb}.owner-results{position:absolute;z-index:10;left:0;right:0;top:64px;max-height:235px;overflow:auto;background:#fff;border:1px solid #dce2eb;border-radius:8px;box-shadow:0 12px 28px #22314d24;padding:5px}.owner-results button{width:100%;border:0;background:#fff;display:flex;align-items:center;gap:10px;text-align:left;padding:8px;border-radius:6px;color:var(--ink)}.owner-results button:hover{background:var(--teal-soft)}.owner-results button span:last-child{flex:1}.owner-results button b,.owner-results button small{display:block}.owner-results button small{color:var(--muted);margin-top:2px}.owner-results p{color:var(--muted);text-align:center;padding:12px;margin:0;font-size:11px}
.professional-list{display:grid;gap:7px;max-height:390px;overflow:auto}.professional-list article{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:10px;border-radius:7px}.professional-list article>div{flex:1}.professional-list b,.professional-list small{display:block}.professional-list small{color:var(--muted);margin-top:2px}.status-toggle{border:0;border-radius:14px;padding:5px 9px;background:#f2f3f6;color:#7b8496;font-size:9px}.status-toggle.active{background:#e6f8f1;color:#159b70}.weekday-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekday-picker label input{position:absolute;opacity:0}.weekday-picker span{display:block;text-align:center;padding:8px 3px;border:1px solid var(--line);border-radius:5px;font-size:10px;cursor:pointer}.weekday-picker input:checked+span{background:var(--teal);border-color:var(--teal);color:#fff}
.login-screen{position:fixed;inset:0;z-index:100;background:linear-gradient(135deg,#f0fafb,#eef2f8);display:grid;place-items:center;padding:20px}.login-screen:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,#0da7b820,transparent 30%),radial-gradient(circle at 85% 80%,#5269f519,transparent 30%)}.login-card{position:relative;width:min(390px,100%);background:#fff;border:1px solid var(--line);border-radius:13px;padding:34px;box-shadow:0 24px 70px #22314d1f}.login-logo{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#18c1b4,#078aa3);color:#fff;font:800 23px Manrope;margin-bottom:20px}.login-card h1{font:800 23px Manrope;margin:0 0 7px}.login-card>p{color:var(--muted);margin:0 0 24px}.login-card form{display:grid;gap:15px}.login-card input{border:1px solid #dce2eb;border-radius:6px;padding:11px;outline:0}.login-card input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0da7b817}.login-card .button{width:100%;margin-top:3px}.login-card>small{display:block;text-align:center;color:#a0a9b8;margin-top:22px}.login-error{min-height:16px!important;color:#d84c5d!important;margin:0!important;font-size:11px}.auth-mode .sidebar,.auth-mode .topbar{display:none}.auth-mode main{margin:0}
.admin-nav{display:none!important}.superadmin-mode #nav,.superadmin-mode .clinic-card{display:none}.superadmin-mode .admin-nav{display:block!important}.superadmin-mode main{margin-left:194px}.superadmin-mode .topbar{padding-left:24px}.superadmin-mode .topbar:before{content:'Vetty · Administración general';font-weight:700;font-size:12px}.superadmin-mode .search,.superadmin-mode .icon-button:first-of-type{display:none}.superadmin-mode .content{max-width:1450px;padding:24px 30px}.admin-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px}.admin-heading small{font-size:9px;letter-spacing:1.3px;color:var(--teal);font-weight:700}.admin-heading h1{font:800 25px Manrope;margin:4px 0}.admin-heading p{margin:0;color:var(--muted)}.admin-period{padding:8px 11px;background:#fff;border:1px solid var(--line);border-radius:6px;color:var(--muted)}.admin-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:14px}.admin-kpis article{background:#fff;border:1px solid var(--line);border-radius:7px;padding:17px;display:flex;gap:13px;min-height:112px}.kpi-icon{width:39px;height:39px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;font-size:17px}.kpi-icon.teal{background:#e6f8f7;color:#08a99e}.kpi-icon.blue{background:#edf0ff;color:#5269f5}.kpi-icon.orange{background:#fff3e2;color:#e39824}.kpi-icon.green{background:#e8f8ef;color:#20a774}.admin-kpis small{display:block;color:var(--muted);font-size:8px;font-weight:700;letter-spacing:.5px}.admin-kpis strong{display:block;font:800 21px Manrope;margin:6px 0 3px}.admin-kpis span,.admin-kpis em{font-size:8px;color:var(--muted);font-style:normal}.admin-kpis .trend{color:#1ba478;background:#e7f8f1;border-radius:10px;padding:2px 5px;margin-right:3px}.admin-kpis .trend.down{color:#d95362;background:#ffeaed}.admin-grid{display:grid;grid-template-columns:1.65fr .75fr;gap:13px}.admin-trend{min-height:285px}.admin-chart{height:215px;display:flex;align-items:flex-end;gap:14px;padding:25px 10px 27px;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 45px,#eef1f6 46px)}.admin-chart>div{height:100%;flex:1;display:flex;align-items:flex-end;justify-content:center;position:relative}.admin-chart>div>span{width:min(34px,65%);background:linear-gradient(#45c5bf,#0aa6a3);border-radius:4px 4px 0 0;min-height:4px}.admin-chart small{position:absolute;bottom:-20px;color:var(--muted);font-size:8px}.admin-chart b{position:absolute;bottom:calc(var(--height,0) + 4px);display:none}.operation-card{display:flex;flex-direction:column}.operation-stat{display:flex;align-items:center;gap:12px;padding:13px 2px;border-top:1px solid var(--line)}.operation-stat>span{width:34px;height:34px;display:grid;place-items:center;background:var(--teal-soft);border-radius:7px}.operation-stat strong,.operation-stat small{display:block}.operation-stat strong{font:700 17px Manrope}.operation-stat small{color:var(--muted);font-size:9px}.recent-clients{padding-bottom:8px}.recent-list>div{display:grid;grid-template-columns:32px 1fr auto 65px;align-items:center;gap:9px;padding:9px 0;border-top:1px solid var(--line)}.recent-list b,.recent-list small{display:block}.recent-list small{color:var(--muted);font-size:8px}.recent-list em{font-style:normal;color:var(--muted);font-size:9px}.recent-list time{text-align:right;color:var(--muted);font-size:8px}.invoice-summary>div:not(.panel-head){display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line)}.invoice-summary strong{min-width:80px;text-align:right;font-size:10px}
@media(max-width:1000px){.admin-kpis{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.superadmin-mode .content{padding:18px}}
.row-actions{display:flex;gap:5px}.arca-results{margin-top:18px;border-top:1px solid var(--line);padding-top:15px}.arca-run .panel-head{margin-bottom:5px}.arca-test{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-top:1px solid #eef1f4}.arca-test i{width:21px;height:21px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:700;flex:0 0 auto}.arca-test i.passed{background:#e6f8f1;color:#159b70}.arca-test i.failed{background:#ffeaed;color:#d84c5d}.arca-test i.blocked{background:#fff3df;color:#d78a16}.arca-test b,.arca-test small{display:block}.arca-test small{color:var(--muted);margin-top:2px;font-size:9px}
.modal.receipt-modal{width:min(1050px,calc(100vw - 40px))}.receipt-sheet{margin-top:20px;border:1px solid var(--line);border-radius:10px;overflow-x:auto;padding-bottom:14px}.receipt-sheet table{min-width:800px}.receipt-sheet th,.receipt-sheet td{padding:10px}.receipt-sheet .input{width:100%;min-width:115px}.receipt-sheet td:first-child{position:relative}.receipt-sheet td:nth-child(2) .input{min-width:240px}.receipt-product-results{top:48px;min-width:360px}.receipt-sheet>[data-receipt-add]{margin:14px 10px 0}.receipt-total{float:right;margin:23px 16px 0;font-size:15px}.receipt-remove{padding:8px 12px}.page-buttons{display:flex;gap:9px;flex-wrap:wrap}
.arca-status-hero{display:flex;align-items:center;gap:12px;padding:14px;border-radius:8px;background:#fff3df;color:#b97815}.arca-status-hero.passed{background:#e6f8f1;color:#11865f}.arca-status-hero.failed{background:#ffeaed;color:#c64555}.arca-status-hero>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#ffffff99;font-size:18px;font-weight:800}.arca-status-hero b,.arca-status-hero small{display:block}.arca-status-hero small{margin-top:3px}.arca-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.arca-status-grid>div{border:1px solid var(--line);border-radius:6px;padding:10px}.arca-status-grid small,.arca-status-grid b{display:block}.arca-status-grid small{color:var(--muted);margin-bottom:4px}
.page-buttons,.period-selector{display:flex;gap:7px}.finance-tabs{display:grid;gap:14px}.finance-title{padding:13px 16px;margin:0;border-bottom:1px solid var(--line)}.finance-title span{color:var(--muted)}.period-selector{margin-bottom:12px}.finance-kpis{grid-template-columns:repeat(3,1fr)}.finance-chart{height:285px;display:flex;align-items:flex-end;gap:10px;padding:30px 10px 32px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 54px,#eef1f6 55px)}.finance-chart>div{height:100%;flex:1;display:flex;align-items:flex-end;justify-content:center;position:relative}.finance-chart>div>span{width:min(36px,70%);background:linear-gradient(#8e8ad9,#aaa5e5);border-radius:3px 3px 0 0}.finance-chart small{position:absolute;bottom:-22px;font-size:8px;color:var(--muted);white-space:nowrap}.finance-chart b{display:none}
.calendar-panel{padding:0;overflow:hidden;margin-bottom:14px}.calendar-head{height:51px;display:flex;align-items:center;padding:0 14px;border-bottom:1px solid var(--line);gap:8px}.calendar-head h2{font:700 14px Manrope;margin:0;min-width:150px;text-align:center}.calendar-arrow{width:28px;height:28px;border:1px solid var(--line);background:#fff;border-radius:5px;color:var(--ink);font-size:20px}.traffic-legend{margin-left:auto;display:flex;gap:13px}.traffic-legend span{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:9px}.traffic-legend i,.calendar-day>i{width:8px;height:8px;border-radius:50%;display:block}.traffic-legend .green,.calendar-day.green>i{background:#32bd83}.traffic-legend .yellow,.calendar-day.yellow>i{background:#f5b83d}.traffic-legend .red,.calendar-day.red>i{background:#ed5e6d}.calendar-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays b{text-align:center;color:var(--muted);font-size:9px;padding:9px;border-right:1px solid var(--line)}.month-grid{border-top:1px solid var(--line)}.calendar-blank,.calendar-day{min-height:76px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.calendar-day{position:relative;text-align:left;padding:9px;color:var(--ink)}.calendar-day:hover{background:#f8fbfc}.calendar-day.selected{box-shadow:inset 0 0 0 2px var(--teal);background:#f0fbfb}.calendar-day.today>span{background:var(--teal);color:#fff;border-radius:50%}.calendar-day>span{width:22px;height:22px;display:grid;place-items:center;font-weight:700}.calendar-day>i{position:absolute;right:10px;top:11px;box-shadow:0 0 0 3px #f1f3f6}.calendar-day>small{display:block;color:var(--muted);font-size:8px;margin-top:8px}.calendar-day.red{background:#fffafb}.calendar-day.yellow{background:#fffdf8}.agenda-detail{margin-top:0}@media(max-width:760px){.traffic-legend{display:none}.calendar-day,.calendar-blank{min-height:58px}.calendar-day>small{display:none}.calendar-head h2{min-width:120px}.calendar-panel{overflow-x:auto}.calendar-weekdays,.month-grid{min-width:620px}}
@media(min-width:761px){
  body{font-size:12px;background:#f7f8fa;color:#35415a}
  .sidebar{inset:48px auto 0 0;width:194px;box-shadow:1px 0 4px #2738580d}
  .brand{position:fixed;z-index:30;left:0;top:0;width:194px;height:48px;padding:0 12px;gap:7px;background:#0da7b8;color:#fff;border:0}
  .brand-mark{width:auto;height:auto;border-radius:0;background:none;box-shadow:none;font:600 12px Manrope}
  .brand b{font:600 12px Manrope;white-space:nowrap}.brand small{display:none}
  .sidebar nav{padding:8px 7px}.sidebar nav p{font-size:8px;margin:12px 9px 4px;letter-spacing:.8px}
  .sidebar nav a{height:31px;padding:0 8px;gap:8px;border-radius:4px;margin:1px 0;font-size:10px}
  .sidebar nav a span{font-size:12px;width:15px}.sidebar nav i{font-size:8px;padding:1px 5px}
  .clinic-card{margin:7px;padding:8px;border-radius:5px;font-size:9px}.clinic-card small{font-size:8px}
  main{margin-left:194px}.topbar{height:48px;padding:0 14px;background:#0da7b8}
  .search{margin-left:auto;width:250px;height:30px;border:0;background:transparent;border-radius:4px;font-size:14px}
  .search input{font-size:10px}.top-actions{gap:1px}.icon-button{font-size:13px;width:27px;height:27px}
  .profile{margin-left:7px;padding-left:9px}.profile b{font-size:9px}.profile small{font-size:8px}.avatar{width:27px;height:27px;font-size:9px}
  .content{padding:14px;max-width:none}.page-head{margin-bottom:10px}.page-head h1{font-size:17px}.page-head p{font-size:10px;margin-top:2px}
  .button{border-radius:4px;padding:7px 10px;font-size:10px;box-shadow:none}
  .stats{gap:10px;margin-bottom:10px}.stat,.panel{border-radius:5px;box-shadow:0 2px 7px #2d3e5a08}
  .stat{padding:12px 13px;height:96px}.stat label{font-size:8px}.stat strong{font-size:20px;margin:8px 0 2px}.stat small{font-size:8px}.stat:after{width:62px;height:2px;right:12px;bottom:21px}
  .dashboard-grid{grid-template-columns:1.7fr .9fr;gap:10px}.panel{padding:13px}.panel-head{margin-bottom:10px}.panel-head h2{font-size:11px}.panel-head small{font-size:8px}
  .chart{height:210px;gap:7px;padding:18px 3px 22px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 39px,#eef1f6 40px)}
  .bar{border-radius:2px 2px 0 0}.bar span{font-size:7px;bottom:-16px}.donut-wrap{min-height:190px;gap:16px}.donut{width:112px}.donut:after{width:69px}.donut-center{font-size:17px}.donut-center small{font-size:7px}
  .legend-row{padding:7px 0;font-size:8px}.legend-row i{width:6px;height:6px}.agenda-panel{margin-top:0}.agenda-list{gap:7px}.agenda-item{padding:8px;border-radius:4px;font-size:9px}
  .table-tools{padding:10px}.input,.table-tools input,.table-tools select{border-radius:4px;padding:7px 8px;font-size:10px}th{padding:9px 12px;font-size:8px}td{padding:10px 12px;font-size:10px}
  .entity-icon{width:29px;height:29px;border-radius:5px}.badge{font-size:8px;padding:3px 6px}
}
.owner-record-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px}.owner-pets{padding:0;overflow:hidden;align-self:start}.owner-pets .panel-head{margin:0;padding:15px 17px;border-bottom:1px solid var(--line)}.owner-pet{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;padding:13px 15px;display:flex;align-items:center;gap:10px;text-align:left;color:var(--ink)}.owner-pet:hover{background:#f7fbfb}.owner-pet.active{background:var(--teal-soft);box-shadow:inset 3px 0 var(--teal)}.owner-pet b,.owner-pet small{display:block}.owner-pet small{color:var(--muted);margin-top:3px}.owner-record-content{display:grid;gap:16px;min-width:0}.owner-pet-summary{display:grid;grid-template-columns:auto minmax(130px,1fr) auto auto;align-items:center;gap:18px}.owner-pet-summary .pet-big{width:58px;height:58px;margin:0;border-radius:18px;font-size:26px}.owner-pet-summary h2,.owner-pet-summary p{margin:0}.owner-pet-summary p{color:var(--muted);margin-top:3px}.summary-facts{display:flex;gap:22px}.summary-facts span{min-width:75px}.summary-facts small,.summary-facts b,.selected-owner small,.selected-owner b{display:block}.summary-facts small,.selected-owner small{color:var(--muted);font-size:10px;margin-bottom:3px}.selected-owner{display:flex;align-items:center;gap:11px;border:1px solid #dce2eb;background:#f8fbfc;border-radius:9px;padding:10px 12px}.row-actions{flex-wrap:wrap}
.grooming-history{display:grid}.grooming-history>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:12px 0;border-top:1px solid var(--line)}.grooming-history>div:first-child{border-top:0}.grooming-history b,.grooming-history small{display:block}.grooming-history small{color:var(--muted);margin-top:3px}
.cage-groups{display:grid;gap:10px;max-height:430px;overflow:auto}.cage-groups>article{border:1px solid var(--line);border-radius:9px;padding:12px}.cage-groups .panel-head{margin-bottom:9px}.cage-groups h3{margin:0;font-size:13px}.cage-list{display:flex;flex-wrap:wrap;gap:6px}.cage-list>small{color:var(--muted)}
button[data-hospital-action="alert"],button[data-hospital-action="deposit"],button[data-hospital-action="transfer"],.cost-summary>div:nth-child(2){display:none}
.medical-record-modal{max-height:60vh;overflow:auto;margin-top:18px;padding-right:6px}
.brand{justify-content:center;padding:4px 12px;overflow:hidden}
.brand-logo{display:block;width:100%;height:100%;object-fit:contain}
.login-logo{width:150px;height:150px;margin:0 auto 22px;overflow:hidden;background:transparent;border:0;border-radius:0;box-shadow:none}
.login-logo img{display:block;width:100%;height:100%;object-fit:contain}
.logout-button{display:flex;align-items:center;gap:6px;border:1px solid #ffffff55;border-radius:6px;background:#ffffff18;color:#fff;padding:6px 10px;font-weight:700;font-size:11px}
.logout-button:hover{background:#ffffff2b;border-color:#ffffff88}
.logout-button span{font-size:15px;line-height:1}
.stock-summary{grid-template-columns:repeat(4,1fr)}
.stock-expiry-row{background:#fff7f8}
.stock-expiry-row:hover{background:#ffeff1}
.expiry-text{color:#d84c5d!important;font-weight:700}
body{font-size:16px}
@media(min-width:761px){
  .sidebar nav p{font-size:11px}
  .sidebar nav a{font-size:13px;height:38px}
  .sidebar nav a span{font-size:16px}
  .nav-section-toggle{font-size:12px}
  .clinic-card{font-size:12px}.clinic-card small{font-size:11px}
  .search input{font-size:13px}
  .profile b{font-size:12px}.profile small{font-size:11px}
  .page-head h1{font-size:23px}.page-head p{font-size:13px}
  .button{font-size:13px;padding:9px 13px}
  .stat label{font-size:11px}.stat strong{font-size:26px}.stat small{font-size:11px}
  .panel-head h2{font-size:15px}.panel-head small{font-size:12px}
  .input,.table-tools input,.table-tools select{font-size:13px}
  th{font-size:11px}td{font-size:13px}
  .badge{font-size:11px}
  .legend-row,.agenda-item{font-size:12px}
  .field label{font-size:13px}
}
@media(min-width:761px){
  .sidebar{inset:60px auto 0 0;width:225px}
  .brand{width:225px;height:60px;padding:5px 16px}
  main{margin-left:225px}
  .topbar{height:60px;padding:0 20px}
  .sidebar nav{padding:12px 10px}
  .sidebar nav a{padding:0 11px;gap:10px;margin:2px 0}
  .sidebar nav p{margin:14px 10px 6px}
  .nav-section-toggle{height:34px;padding:0 10px}
  .clinic-card{margin:10px;padding:10px}
  .content{padding:22px;max-width:none}
  .page-head{margin-bottom:17px;gap:18px}
  .page-head>div{min-width:0}.page-head p{line-height:1.45}
  .stats{gap:14px;margin-bottom:16px}
  .stat{height:112px;padding:16px 17px}
  .panel{padding:17px}
  .panel-head{margin-bottom:15px;gap:12px}
  .table-panel{padding:0;overflow-x:auto}
  .table-tools{padding:14px 16px;flex-wrap:wrap}
  th{padding:12px 15px;white-space:nowrap}
  td{padding:13px 15px;vertical-align:middle}
  .input,.table-tools input,.table-tools select{padding:9px 10px;min-height:38px}
  .form-grid{gap:16px}
  .field{gap:7px}.field input,.field select,.field textarea{padding:11px 12px}
  .modal{width:min(680px,calc(100vw - 40px));padding:28px}
  .row-actions,.page-buttons,.control-actions{gap:8px;flex-wrap:wrap}
  .stock-summary{gap:12px}
  .stock-summary article{min-height:88px}
  .hospital-kpis{gap:12px}
  .hospital-card,.control-grid>.panel{min-width:0}
  .sale-layout{gap:16px}
}
@media(max-width:1100px) and (min-width:761px){
  .stats,.stock-summary{grid-template-columns:repeat(2,1fr)}
  .dashboard-grid,.sale-layout{grid-template-columns:1fr}
  .hospital-kpis{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:1000px){.owner-record-layout{grid-template-columns:210px minmax(0,1fr)}.owner-pet-summary{grid-template-columns:auto 1fr}.summary-facts{grid-column:1/-1}.owner-pet-summary>.button{grid-column:1/-1;justify-self:start}}
@media(max-width:760px){.owner-record-layout{grid-template-columns:1fr}.owner-pets{display:flex;overflow-x:auto}.owner-pets .panel-head{display:none}.owner-pet{min-width:190px;border-right:1px solid var(--line)}.summary-facts{flex-wrap:wrap;gap:12px}.row-actions{min-width:230px}}
.access-picker{display:grid;gap:12px;width:100%}
.access-picker>label{margin-bottom:2px}
.access-picker fieldset{min-width:0;margin:0;border:1px solid var(--line);border-radius:8px;padding:12px 14px 14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:12px;row-gap:10px;align-items:center}
.access-picker legend{font-weight:700;margin-left:8px;padding:0 6px}
.access-picker label{display:inline-flex;align-items:center;gap:7px;min-width:0;min-height:22px;margin:0;white-space:nowrap;cursor:pointer}
.access-picker input{flex:none;margin:0;accent-color:var(--teal,#0c9da7)}
@media(max-width:600px){.access-picker fieldset{grid-template-columns:repeat(2,minmax(0,1fr))}}
.guard-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.guard-history{margin-top:18px}.guard-history .panel-head{margin-bottom:12px}.guard-stats+.table-panel td small,.guard-history td small{display:block;color:var(--muted);margin-top:3px}
.stock-disposal-history{margin-top:18px}.stock-disposal-entry{display:grid;grid-template-columns:minmax(170px,1fr) 2fr;gap:16px;padding:14px 0;border-top:1px solid var(--line)}.stock-disposal-entry b,.stock-disposal-entry small{display:block}.stock-disposal-entry small{color:var(--muted);margin-top:3px}.stock-disposal-entry p{margin:0 0 10px}.modal:has(#stockDisposalForm){width:min(1080px,calc(100vw - 40px))}.stock-disposal-line{display:grid;grid-template-columns:minmax(100px,1fr) minmax(170px,1.6fr) minmax(145px,1.3fr) minmax(95px,.7fr) auto;gap:10px;align-items:end;border:1px solid var(--line);border-radius:10px;padding:12px;margin:12px 0;position:relative}.stock-disposal-line:focus-within{z-index:3}.stock-disposal-line .field{min-width:0}.stock-disposal-line .input{width:100%}.stock-disposal-line .disposal-remove{white-space:nowrap}.disposal-supplier-field{position:relative}.disposal-results{position:absolute;z-index:5;top:100%;left:0;right:0;max-height:230px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 12px 25px #24304622}.disposal-results[hidden],.disposal-supplier-field[hidden]{display:none!important}.disposal-results button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:#fff;padding:9px 12px;text-align:left;color:var(--ink)}.disposal-results button:hover{background:var(--teal-soft)}.disposal-results button small{margin-left:auto;color:var(--muted)}.disposal-results p{padding:10px;margin:0;color:var(--muted)}
@media(max-width:700px){.stock-disposal-line{grid-template-columns:1fr 1fr}.stock-disposal-line .disposal-remove{justify-self:start}.stock-disposal-entry{grid-template-columns:1fr}}
.stock-minimum-edit{display:flex;align-items:center;gap:6px;min-width:146px}.stock-minimum-edit input{width:70px;min-width:0;padding:8px 6px;text-align:center}.stock-minimum-edit button{padding:8px 10px;white-space:nowrap}
.price-list-edit{display:flex;align-items:center;gap:8px;max-width:230px}.price-list-edit input{width:120px;min-width:0;text-align:right}.price-list-edit button{white-space:nowrap}
.price-list-tools{align-items:center}.price-list-tools label{white-space:nowrap;color:var(--muted);font-weight:700}.price-list-tools select{min-width:130px}@media(max-width:650px){.price-list-tools{flex-wrap:wrap}.price-list-tools input{flex-basis:100%}}
@media(max-width:760px){.guard-stats{grid-template-columns:1fr 1fr}.guard-stats .stat:last-child{grid-column:1/-1}}
