:root{--ink:#123f49;--teal:#0e5660;--paper:#fff8ef;--line:#dddcd2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}a{color:var(--teal)}input,select,textarea,button{font:inherit}button,.button{display:inline-block;padding:11px 20px;border:0;border-radius:9px;background:var(--teal);color:white;cursor:pointer;text-decoration:none;font-weight:700}button:hover,.button:hover{background:#123f49}button:focus-visible,a:focus-visible,input:focus,select:focus,textarea:focus{outline:3px solid #64c5bc;outline-offset:2px}.top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 4%;background:#fffdf9;border-bottom:1px solid var(--line);flex-wrap:wrap}.brand{display:flex;gap:12px;align-items:center;color:var(--ink);text-decoration:none;font-weight:800;letter-spacing:.06em}.brand img{width:60px;border-radius:50%}.brand small{display:block;font-size:12px;letter-spacing:.15em}.top nav{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.top nav a{font-size:14px;font-weight:700}.top nav form{margin:0}.quiet{padding:6px 12px}main{max-width:1300px;margin:auto;padding:32px 24px}h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.12}h1{font-size:42px}h2{font-size:29px}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:50px;align-items:center;margin:25px 0 70px}.hero h1{font-size:clamp(42px,6vw,78px);letter-spacing:-.04em;margin:20px 0}.hero img{width:100%;max-width:430px;border-radius:50%;justify-self:center;box-shadow:0 20px 60px #123f4924}.hero em{color:var(--teal)}.eyebrow{letter-spacing:.14em;font-size:13px;font-weight:800}.columns{display:grid;grid-template-columns:1fr 1.2fr;gap:35px;align-items:start;margin:30px 0}.card{background:#fffdf9;border:1px solid var(--line);border-radius:18px;padding:26px;margin-bottom:24px}.card h2:first-child{margin-top:0}.narrow{max-width:550px;margin:35px auto}.logo{width:120px;border-radius:50%}form{display:grid;gap:15px}label{display:grid;gap:6px;font-size:14px;font-weight:700}input,select,textarea{width:100%;min-width:0;background:#fff;border:1px solid #b9c5c2;border-radius:8px;padding:10px;color:var(--ink)}textarea{min-height:110px;resize:vertical}.large{min-height:260px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.check{display:flex;gap:10px;align-items:start;font-weight:400}.check input{width:18px;height:18px;flex-shrink:0}.inline{display:flex;gap:15px;flex-wrap:wrap;align-items:end;margin:18px 0}.inline label{min-width:150px;flex:1}.inline span{align-self:center}.notice,.error{padding:18px;border-radius:10px;margin:15px 0;white-space:pre-wrap}.notice{background:#dff2e8;border:1px solid #7eae94}.error{background:#ffe9e5;border:1px solid #c27161;color:#773322}.scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:top;min-width:100px}th{font-size:13px}td small{display:block;margin-top:5px;color:#52666c;white-space:pre-wrap;overflow-wrap:anywhere}td form{margin-top:10px;min-width:150px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0}.stats article{padding:22px;background:var(--ink);color:var(--paper);border-radius:16px}.stats b{display:block;font-size:26px;margin-top:8px}summary{cursor:pointer;font-weight:700;margin-bottom:14px}.foot{text-align:center;padding:35px;background:var(--ink);color:var(--paper);margin-top:40px}.trap{display:none}.print-controls{display:flex;justify-content:center;gap:20px;padding:20px;align-items:center}.document{position:relative;isolation:isolate;background:white;max-width:850px;margin:20px auto;padding:45px;min-height:1050px}.document-head{display:flex;gap:25px;align-items:center;border-bottom:3px solid var(--ink);padding-bottom:20px}.document-head img{width:130px;border-radius:50%}.document-head h1{font:800 30px Arial;margin:0}.document-head p{font-size:14px}.watermark{position:absolute;left:10%;top:37%;width:80%;opacity:.055;z-index:-1;pointer-events:none}.document-content{min-height:300px;overflow-wrap:anywhere;line-height:1.9}.signature{margin-top:55px;break-inside:avoid}.card-footer{width:100%;margin-top:45px;break-inside:avoid}.document p{overflow-wrap:anywhere}
@media(max-width:780px){.hero,.columns,.grid{grid-template-columns:1fr}.hero img{max-width:270px}.hero{gap:30px;margin-bottom:35px}.top nav{gap:10px}.top{padding:12px 20px}.stats{grid-template-columns:1fr}main{padding:20px 16px}.card{padding:18px}h1{font-size:34px}.document{padding:20px}.document-head img{width:80px}.document-head h1{font-size:24px}.print-controls{flex-wrap:wrap}}
@page{size:A4;margin:16mm}@media print{body{background:white;font-size:11pt}.print-controls{display:none}.document{margin:0;padding:0;min-height:0;max-width:none}.document-head{break-inside:avoid}.document-head img{width:90px}.document-content{min-height:180px}.card-footer{max-height:60mm;object-fit:contain}.watermark{position:fixed;top:40%;opacity:.055}a{color:inherit;text-decoration:none}}

.pet-card{border-left:5px solid var(--teal)}.pet-card h2{margin-bottom:8px}.top nav form{display:inline-flex}
.pet-photo{width:110px;height:110px;object-fit:cover;border-radius:18px;float:right;margin:0 0 12px 18px;border:1px solid var(--line)}.large-photo{width:150px;height:150px}.small{padding:6px 10px;font-size:13px;margin:3px}.pet-profile{overflow:auto}h3{font-family:Georgia,serif;font-size:22px;font-weight:400}

/* Panel administrativo 2026 */
.admin-shell{min-height:100vh;display:grid;grid-template-columns:270px minmax(0,1fr);background:#f5f7f5}.admin-sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:#103f48;color:#fff;padding:22px 16px}.admin-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:800;letter-spacing:.06em;padding:0 8px 20px;border-bottom:1px solid #ffffff24}.admin-brand img{width:54px;height:54px;object-fit:cover;border-radius:50%;background:#fff}.admin-brand small{display:block;font-size:11px;font-weight:600;letter-spacing:.08em;opacity:.75}.admin-menu{display:grid;gap:4px;margin-top:18px}.admin-menu a{display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:center;color:#e9f3f1;text-decoration:none;padding:10px 11px;border-radius:9px;font-size:14px;font-weight:700}.admin-menu a:hover,.admin-menu a:focus{background:#ffffff18;color:#fff}.admin-workspace{min-width:0}.admin-topbar{min-height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 28px;position:sticky;top:0;z-index:10}.admin-topbar small{display:block;color:#60777b}.admin-actions{display:flex;align-items:center;gap:16px}.admin-actions form{margin:0}.admin-main{max-width:1500px;margin:auto;padding:28px}.admin-main h1{margin-top:6px}.admin-main .stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.admin-main .stats article{box-shadow:0 6px 18px #123f4914}.admin-main .card{box-shadow:0 5px 18px #123f490a}.admin-main table{background:#fffdf9}.admin-main .columns{gap:24px}
@media(max-width:980px){.admin-shell{grid-template-columns:82px minmax(0,1fr)}.admin-sidebar{padding:16px 10px}.admin-brand span,.admin-menu span{display:none}.admin-brand{justify-content:center;padding:0 0 16px}.admin-menu a{grid-template-columns:1fr;text-align:center;font-size:18px}.admin-topbar{padding:12px 18px}.admin-main{padding:20px 14px}}
@media(max-width:640px){.admin-shell{display:block}.admin-sidebar{position:static;height:auto;padding:10px}.admin-brand{display:none}.admin-menu{display:flex;overflow-x:auto;margin:0;gap:6px}.admin-menu a{min-width:52px;padding:9px}.admin-topbar{position:static;align-items:flex-start}.admin-actions{gap:8px;flex-wrap:wrap}.admin-main{padding:16px 10px}}

/* Expediente clínico unificado - v2026.09.29 */
.pet-file-head{display:flex;gap:22px;align-items:center;background:#fffaf3;border:1px solid #ded8cd;border-radius:18px;padding:20px;margin-bottom:14px}.pet-file-head h1{margin:.1rem 0}.clinical-tabs{display:flex;gap:8px;overflow-x:auto;padding:8px 2px 14px;position:sticky;top:0;background:#f4f7f5;z-index:4}.clinical-tabs a{white-space:nowrap;text-decoration:none;background:#fff;border:1px solid #cbd7d3;border-radius:999px;padding:8px 12px;font-weight:700}.clinical-tabs a:hover{background:#0e5c64;color:#fff}.admin-main section[id]{scroll-margin-top:70px}hr{border:0;border-top:1px solid #ddd;margin:22px 0}@media(max-width:720px){.pet-file-head{align-items:flex-start}.clinical-tabs{position:static}}

.assist-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:4px 0 7px}.assist-row small{font-weight:400;color:#60777b}.assistant-open{padding:7px 11px;font-size:13px;background:#f0f7f5;color:var(--teal);border:1px solid #9cc7c1}.vet-assistant[hidden]{display:none}.vet-assistant{position:fixed;inset:0;background:#0b252ccc;z-index:1000;padding:22px;overflow:auto}.vet-assistant-card{max-width:920px;margin:auto;background:#fffdf9;border-radius:18px;padding:24px}.vet-assistant-head{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:14px}.vet-assistant-head b{font:700 25px Georgia,serif}.vet-assistant-head small{display:block;color:#60777b}.assistant-close{font-size:28px;padding:0 12px;background:transparent;color:var(--ink)}.assistant-warning{background:#fff3cd;border:1px solid #e0c46c;border-radius:10px;padding:12px}.assistant-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.vet-assistant fieldset{border:1px solid var(--line);border-radius:12px;padding:15px;margin:15px 0}.assistant-preview{background:#f4f7f5;border:1px solid #cad7d3;border-radius:12px;padding:14px;margin-top:14px}.assistant-preview pre{white-space:pre-wrap;font:14px/1.55 Arial}.assistant-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:15px}.medicine-status.ok{color:#176b42}.medicine-status.warn{color:#9a5b00}.modal-open{overflow:hidden}@media(max-width:700px){.assistant-grid{grid-template-columns:1fr}.vet-assistant{padding:8px}.vet-assistant-card{padding:16px}}
