:root{--primary: #247a5b;--primary-hover: #1e6648;--secondary: #153a4d;--bg-main: #f3f6f4;--bg-panel: #ffffff;--text-main: #18202a;--text-muted: #637179;--border-color: #dce5e2;--error: #8a3b34;--shadow-sm: 0 2px 4px rgba(0,0,0,.05);--shadow-md: 0 4px 12px rgba(0,0,0,.08);color:var(--text-main);background:var(--bg-main);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}.app-shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.login-shell{align-items:center;display:grid;min-height:100vh;padding:24px;place-items:center}.login-panel,.login-card{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:8px;display:grid;gap:14px;max-width:420px;padding:26px;width:100%}.login-brand{align-items:center;color:var(--secondary);display:grid;gap:14px;justify-items:center;margin-bottom:10px;text-align:center}.login-logo{aspect-ratio:1;background:#fff;border:3px solid #fff;border-radius:50%;box-shadow:0 6px 16px #122c3a21;display:block;filter:saturate(.9) contrast(.96);flex:0 0 auto;max-width:118px;object-fit:contain;width:clamp(86px,22vw,118px)}.login-logo+.login-logo{margin-left:-12px}.login-logo-pair{align-items:center;background:linear-gradient(180deg,#ffffffe0,#f5faf7f0),color-mix(in srgb,var(--primary) 8%,#fff);border:1px solid color-mix(in srgb,var(--primary) 16%,var(--border-color));border-radius:999px;box-shadow:inset 0 1px #ffffffd9,0 12px 28px #122c3a14;display:flex;gap:0;justify-content:center;padding:8px 12px;width:fit-content}.login-brand strong{color:var(--secondary);display:block;font-size:22px;letter-spacing:0;line-height:1.15}.login-brand span{color:var(--muted);display:block;font-size:14px;margin-top:4px}.login-panel h1,.login-card h1{font-size:24px}.login-panel p,.login-card p{color:#637179}.login-panel label,.login-card label{color:#4c5d65;display:grid;font-size:13px;gap:6px}.login-panel input,.login-card input{border:1px solid #cdd9d6;border-radius:8px;min-height:40px;outline:none;padding:0 10px}.login-panel input:focus,.login-card input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #247a5b1f}.login-error{background:#fff2f0;border:1px solid #f0c7c0;border-radius:8px;color:#9a3127;padding:10px 12px}.password-recovery-panel{border-top:1px solid var(--border-color);display:grid;gap:12px;padding-top:12px}.sidebar{background:var(--secondary);color:#fff;padding:24px 18px}.brand{display:flex;gap:12px;align-items:center;margin-bottom:32px}.brand strong,.brand span{display:block}.brand span{color:#a7ccd3;font-size:14px}nav{display:grid;gap:8px}nav button,nav a{align-items:center;background:transparent;border:0;border-radius:8px;color:#d8e7ea;cursor:pointer;display:flex;gap:10px;padding:11px 12px;text-decoration:none;text-align:left}nav button.active,nav a.active,nav button:hover,nav a:hover{background:#24586e;color:#fff}.workspace,.main-area{padding:26px}.topbar{align-items:center;display:flex;justify-content:space-between;gap:18px;margin-bottom:22px}h1,h2,p{margin:0}h1{font-size:28px}.topbar p{color:#5c6b73;margin-top:6px}.primary{background:var(--primary);border:0;border-radius:8px;color:#fff;cursor:pointer;min-height:42px;padding:0 16px;transition:background .2s}.primary:disabled{cursor:wait;opacity:.7}.primary:hover:not(:disabled){background:var(--primary-hover)}.secondary{background:#fff;border:1px solid #cdd9d6;border-radius:8px;color:#153a4d;cursor:pointer;min-height:42px;padding:0 14px}.secondary:hover{border-color:var(--primary);color:var(--primary)}.restore-button{align-items:center;background:#fff;border:1px solid #cdd9d6;border-radius:8px;color:#153a4d;cursor:pointer;display:inline-flex;min-height:42px;padding:0 14px}.restore-button:hover{border-color:var(--primary);color:var(--primary)}.restore-button input{display:none}.secondary.compact{min-height:34px;padding:0 10px}.secondary.danger{border-color:#d7b8b3;color:#8a3b34}.secondary.danger:hover{background:#fff2f0;border-color:#8a3b34}.topbar-actions{align-items:center;display:flex;gap:12px}.api-status{border-radius:999px;font-size:13px;padding:6px 10px}.session-pill{background:#edf3f1;border-radius:999px;color:#153a4d;font-size:13px;padding:6px 10px;white-space:nowrap}.api-status.conectado{background:#e5f3ec;color:var(--primary)}.api-status.conectando,.api-status.sin-conexion{background:#fff2d7;color:#8a5a00}.metrics{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:24px}.notice{background:#eef7f2;border:1px solid #cce2d8;border-radius:8px;display:flex;justify-content:space-between;color:#1f6048;padding:11px 14px;position:fixed;top:20px;right:20px;z-index:1000;box-shadow:0 4px 8px #0000001a;width:100%;max-width:320px;align-items:center;animation:fadeOut 4s forwards;opacity:1;pointer-events:auto}.notice--success{background:#eef7f2;border-color:#cce2d8;color:#1f6048}.notice--error{background:#fff2f0;border-color:#f0c7c0;color:#9a3127}.close-toast{background:none;border:none;color:inherit;cursor:pointer;display:flex;padding:0;opacity:.6;margin-left:12px}.close-toast:hover{opacity:1}.workspace{padding:26px;animation:fadeIn .3s ease-out}.workspace--map{display:flex;flex-direction:column;height:100vh;overflow:hidden;padding:18px 18px 0}.workspace--map .topbar{flex:0 0 auto;margin-bottom:14px}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}80%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.vencimiento-alerta{background-color:#fff9db!important;color:#856404;font-weight:600;border-radius:4px}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.shake{animation:shake .4s ease-in-out;background-color:#8a3b34!important;transition:background-color .3s ease}.pass-strength-container{background:#e4ece9;height:4px;border-radius:2px;overflow:hidden;margin-top:4px}.pass-strength-bar{height:100%;transition:width .3s ease,background .3s ease}.pass-strength-bar--very-short{background:linear-gradient(90deg,#f0c7c0,#8a3b34)}.pass-strength-bar--weak{background:linear-gradient(90deg,#ffcc80,#e67e22)}.pass-strength-bar--medium{background:linear-gradient(90deg,#fff59d,#f1c40f)}.pass-strength-bar--strong{background:linear-gradient(90deg,#a5d6a7,#247a5b)}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{padding-right:40px!important}.password-toggle{background:none;border:none;color:#637179;cursor:pointer;position:absolute;right:10px;display:flex;align-items:center;padding:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#637179}.empty-state p{margin-top:10px}.panel-tabs{display:flex;gap:4px;background:#f0f6f3;padding:4px;border-radius:8px;margin-bottom:16px}.panel-tabs button{flex:1;background:transparent;border:0;padding:8px;font-size:13px;border-radius:6px;cursor:pointer;color:#637179;transition:all .2s}.panel-tabs button.active{background:#fff;color:#153a4d;box-shadow:0 2px 4px #0000000d;font-weight:600}.timeline-container{display:flex;flex-direction:column;gap:16px;padding-left:12px;border-left:2px solid #e4ece9;margin-left:8px}.timeline-item{position:relative}.timeline-dot{position:absolute;left:-18px;top:4px;width:12px;height:12px;background:#247a5b;border:2px solid var(--bg-panel);border-radius:50%}.timeline-content p{font-size:13px;margin:4px 0}.timeline-header{display:flex;justify-content:space-between;font-size:12px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#153a4d99;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.modal-content{width:100%;max-width:600px;max-height:80vh;overflow-y:auto}.data-preview pre{background:#f7faf8;padding:14px;border-radius:8px;font-size:12px;overflow-x:auto;border:1px solid #dce5e2;color:#153a4d}.draft-preview{display:grid;gap:10px}.draft-preview div{background:#f7faf8;border:1px solid #dce5e2;border-radius:8px;display:grid;gap:4px;padding:12px}.draft-preview span{color:#637179;font-size:12px}.draft-preview strong{color:#153a4d;font-size:14px;overflow-wrap:anywhere}.session-password-panel{align-items:end;background:#fff;border:1px solid #dce5e2;border-radius:8px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(160px,1fr)) auto auto;margin-bottom:16px;padding:14px}.session-password-panel label{color:#4c5d65;display:grid;font-size:13px;gap:6px}.session-password-panel input{border:1px solid #cdd9d6;border-radius:8px;min-height:38px;padding:0 10px}.metric,.panel{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm)}.metric{display:flex;flex-direction:column;gap:4px;min-height:112px;padding:20px;transition:transform .2s,box-shadow .2s}.metric:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.metric svg{color:var(--primary);margin-bottom:4px}.metric span{color:var(--text-muted);font-size:14px}.metric strong{color:var(--secondary);font-size:28px;line-height:1}.dashboard-grid{display:grid;gap:18px;grid-template-columns:repeat(4,minmax(220px,1fr));margin-bottom:18px}.dashboard-panel{align-content:start;display:grid}.status-list,.operation-list,.alert-list{display:grid;gap:8px}.status-list div,.operation-list button,.alert-list button{align-items:center;background:#f7faf8;border:1px solid #e4ece9;border-radius:8px;color:#153a4d;display:flex;gap:10px;justify-content:space-between;min-height:42px;padding:9px 10px;text-align:left}.operation-list button,.alert-list button{cursor:pointer}.operation-list button{align-items:flex-start;flex-direction:column}.operation-list small,.alert-list span{color:#637179}.alert-list strong{font-size:22px}.quick-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.content-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}.content-grid--split{grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr)}.content-grid--full{grid-template-columns:minmax(0,1fr)}.admin-grid{display:grid;gap:18px;grid-template-columns:minmax(280px,.45fr) minmax(0,1fr)}.agenda-page{display:grid;gap:18px}.consultation-layout{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(320px,.42fr)}.consultation-manager{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(320px,.36fr)}.consultation-form .panel-header p{color:#637179;font-size:13px;margin-top:4px}.consultation-results{border:1px solid #dce5e2;border-radius:8px;display:grid;margin-top:10px;max-height:260px;overflow:auto}.consultation-results button{background:#fff;border:0;border-bottom:1px solid #edf2f1;color:#334852;cursor:pointer;display:grid;gap:3px;padding:10px 12px;text-align:left}.consultation-results button:hover{background:#f5faf8}.consultation-results button:last-child{border-bottom:0}.consultation-results span,.consultation-history-list span{color:#637179;font-size:12px}.consultation-patient-card{background:#f7fbf9;border:1px solid #dce5e2;border-radius:8px;margin-top:12px;padding:12px}.consultation-manager .wide-field{grid-column:1 / -1}.consultation-history{position:sticky;top:82px}.consultation-history-list{display:grid;gap:10px}.consultation-history-list article{border:1px solid #dce5e2;border-radius:8px;display:grid;gap:5px;padding:10px}.consultation-history-list p{color:#4c5d65;font-size:13px;margin:0}.consultation-section-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.consultation-section-header h3{margin:0}.consultation-empty-note{margin:8px 0 0;text-align:left}.consultation-materials{display:grid;gap:10px;margin-top:10px}.consultation-material-row{align-items:end;border:1px solid #dce5e2;border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(160px,1.1fr) 92px minmax(180px,1fr) auto 38px;padding:10px}.consultation-material-row label{color:#4c5d65;display:grid;font-size:13px;gap:6px}.consultation-material-row input,.consultation-material-row select{border:1px solid #cdd9d6;border-radius:8px;color:#153a4d;min-height:38px;padding:8px 10px}.consultation-material-stock{align-items:center;color:#637179;display:flex;font-size:12px;gap:5px;min-height:38px;white-space:nowrap}.consultation-history-list pre{background:#f7fbf9;border:1px solid #edf2f1;border-radius:8px;color:#4c5d65;font-family:inherit;font-size:12px;margin:0;max-height:220px;overflow:auto;padding:10px;white-space:pre-wrap}.adoption-layout{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(320px,.42fr) minmax(0,1fr)}.adoption-workspace{display:grid;gap:14px}.adoption-form,.adoption-list{align-self:start}.adoption-form-wide{max-width:1120px;width:100%}.adoption-tabs{margin-bottom:0;max-width:520px}.adoption-selected{background:#f7faf8;border:1px solid #dce5e2;border-radius:8px;display:grid;gap:4px;margin-bottom:14px;padding:12px}.adoption-selected span,.adoption-selected small{color:#637179;font-size:12px}.adoption-selected strong{color:#153a4d;overflow-wrap:anywhere}.adoption-toggle{display:inline-flex!important;margin-bottom:12px;width:fit-content}.adoption-list-filters{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.adoption-list-filters .adoption-toggle{margin-bottom:0}.adoption-list-filters select{background:#fff;border:1px solid #cdd9d6;border-radius:8px;color:#153a4d;min-height:36px;min-width:190px;padding:0 9px}.adoption-map{margin-bottom:14px}.adoption-map .location-picker__map{height:460px}.date-quick-button{justify-self:start;min-height:32px}.signer-panel{background:#fbfdfc;border:1px solid #dce5e2;border-radius:8px;display:grid;gap:10px;margin:12px 0;padding:12px}.signer-panel .panel-header{margin-bottom:0}.signer-panel h2{font-size:15px}.consultation-panel,.consultation-side{align-self:start}.consultation-section{border-top:1px solid #e4ece9;display:grid;gap:12px;margin-top:16px;padding-top:16px}.consultation-section:first-of-type{border-top:0;margin-top:0;padding-top:0}.consultation-section h3{color:#153a4d;font-size:15px;margin:0}.consultation-calendar{display:grid;gap:14px}.consultation-calendar .panel-header p{color:#637179;font-size:13px;margin:4px 0 0}.calendar-month-label{color:#153a4d;min-width:150px;text-align:center;text-transform:capitalize}.calendar-summary{display:flex;flex-wrap:wrap;gap:8px}.calendar-summary span{align-items:center;background:#edf3f1;border:1px solid #dce5e2;border-radius:8px;color:#153a4d;display:inline-flex;font-size:13px;gap:6px;padding:7px 10px}.calendar-quick-form{align-items:end;background:#f7faf8;border:1px solid #dce5e2;border-radius:8px;display:grid;gap:10px;grid-template-columns:repeat(5,minmax(130px,1fr));padding:12px}.calendar-quick-form label{color:#4c5d65;display:grid;font-size:12px;gap:5px}.calendar-quick-form input,.calendar-quick-form select{background:#fff;border:1px solid #cdd9d6;border-radius:8px;color:#153a4d;min-height:38px;padding:0 10px}.calendar-quick-actions{display:flex;gap:8px}.calendar-grid{display:grid;gap:1px;grid-template-columns:repeat(7,minmax(110px,1fr));overflow-x:auto}.calendar-weekday{background:#edf3f1;color:#4c5d65;font-size:12px;font-weight:700;padding:8px;text-align:center}.calendar-day{background:#fff;border:1px solid #e4ece9;display:grid;gap:6px;min-height:126px;padding:8px}.calendar-day--clickable{cursor:pointer}.calendar-day--clickable:hover{background:#f5faf8;border-color:#b9d7cb}.calendar-day--clickable:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.calendar-day--muted{background:#f7faf8;color:#9aa7ad}.calendar-day--today{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.calendar-day-number{align-items:center;color:#153a4d;display:flex;font-size:13px;font-weight:700;justify-content:space-between}.calendar-day-number small{color:#637179;font-size:10px;font-weight:600}.calendar-events{display:grid;gap:5px}.calendar-event{border-radius:6px;display:grid;font-size:11px;gap:3px;line-height:1.2;padding:6px}.calendar-event span,.calendar-event small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event small{align-items:center;color:#637179;display:inline-flex;gap:3px}.calendar-event--consulta{background:#eef7f2;border:1px solid #cce2d8;color:#1f6048}.calendar-event--operativo{background:#fff8e8;border:1px solid #ead6a6;color:#7a5200}.calendar-more,.calendar-empty{color:#637179;font-size:12px}.patient-mode{background:#f0f6f3;border:1px solid #dce5e2;border-radius:8px;display:grid;gap:4px;grid-template-columns:1fr 1fr;padding:4px}.patient-mode button{background:transparent;border:0;border-radius:6px;color:#637179;cursor:pointer;min-height:38px}.patient-mode button.active{background:#fff;box-shadow:0 2px 4px #0000000d;color:#153a4d;font-weight:700}.patient-picker,.patient-results,.patient-selected{display:grid;gap:10px}.patient-results{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.patient-results button{background:#fff;border:1px solid #dce5e2;border-radius:8px;color:#153a4d;cursor:pointer;display:grid;gap:4px;min-height:92px;padding:11px;text-align:left}.patient-results button.selected,.patient-results button:hover{border-color:#247a5b;box-shadow:0 0 0 3px #247a5b1f}.patient-results span,.patient-results small,.patient-selected span,.patient-selected small{color:#637179;font-size:12px}.patient-selected{background:#f7faf8;border:1px solid #dce5e2;border-radius:8px;padding:12px}.patient-selected strong{color:#153a4d}.prescription-section{background:#fbfdfc;border:1px solid #dce5e2;border-radius:8px;padding:14px}.prescription-box{border-left:4px solid #247a5b;display:grid;gap:12px;padding-left:12px}.admin-form{align-self:start}.inline-admin-form{align-items:end;background:#f7faf8;border:1px solid #dce5e2;border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(220px,1fr) auto auto;margin-bottom:14px;padding:12px}.inline-admin-form label{color:#4c5d65;display:grid;font-size:13px;gap:6px}.inline-admin-form input{border:1px solid #cdd9d6;border-radius:8px;min-height:38px;padding:0 10px}.reports-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(220px,1fr))}.inventory-workspace{display:grid;gap:18px}.inventory-summary{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(220px,1fr))}.inventory-overview{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(150px,1fr));margin-bottom:14px}.inventory-overview article{align-items:center;background:#fff;border:1px solid #dce5e2;border-radius:8px;display:grid;gap:4px 10px;grid-template-columns:34px minmax(0,1fr);padding:12px}.inventory-overview svg{color:#247a5b;grid-row:span 2}.inventory-overview span{color:#637179;font-size:12px}.inventory-overview strong{color:#153a4d;font-size:24px;line-height:1}.inventory-overview .is-warning{background:#fffbf2;border-color:#ead99a}.inventory-overview .is-warning svg,.inventory-overview .is-warning strong{color:#a85f00}.inventory-overview .is-danger{background:#fff7f6;border-color:#f0c7c0}.inventory-overview .is-danger svg,.inventory-overview .is-danger strong{color:#8a3b34}.inventory-import-help{align-items:center;background:#f7fbf9;border:1px solid #dce5e2;border-radius:8px;color:#4c5d65;display:flex;gap:10px;justify-content:space-between;margin-bottom:14px;padding:10px 12px}.inventory-import-help strong{color:#153a4d;font-size:13px;white-space:nowrap}.inventory-import-help span{font-size:12px;text-align:right}.inventory-quick-form{align-items:end;background:#f7faf8;border:1px solid #dce5e2;border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(190px,1.15fr) minmax(150px,1fr) minmax(250px,1.25fr) minmax(100px,.6fr) minmax(132px,.65fr) minmax(170px,1fr) minmax(92px,.55fr) auto;margin-bottom:16px;padding:12px}.inventory-quick-title{align-items:center;color:#153a4d;display:flex;gap:10px;min-width:0}.inventory-quick-title strong,.inventory-quick-title small{display:block}.inventory-quick-title small{color:#637179;font-size:12px;margin-top:3px}.inventory-quick-form label,.inventory-action-field{color:#4c5d65;display:grid;font-size:12px;gap:5px}.inventory-action-toggle{background:#edf3f1;border:1px solid #dce5e2;border-radius:8px;display:grid;gap:4px;grid-template-columns:repeat(3,minmax(0,1fr));min-height:38px;padding:3px}.inventory-action-toggle button{align-items:center;background:transparent;border:0;border-radius:6px;color:#4c5d65;cursor:pointer;display:inline-flex;font-size:12px;gap:5px;justify-content:center;min-width:0;padding:0 7px;white-space:nowrap}.inventory-action-toggle button.active{background:#fff;box-shadow:0 1px 3px #153a4d1f;color:#153a4d;font-weight:700}.inventory-quantity-presets{align-items:end;display:flex;gap:5px;min-height:38px}.inventory-quantity-presets button{background:#fff;border:1px solid #cdd9d6;border-radius:8px;color:#153a4d;cursor:pointer;min-height:32px;min-width:38px;padding:0 8px}.inventory-quantity-presets button:hover{border-color:#247a5b;color:#247a5b}.inventory-quick-form input,.inventory-quick-form select{background:#fff;border:1px solid #cdd9d6;border-radius:8px;color:#153a4d;min-height:38px;min-width:0;padding:0 10px}.inventory-quick-form .submit-button{margin-top:0}.inventory-result{align-items:center;background:#fff;border:1px solid #cdd9d6;border-radius:8px;display:flex;gap:8px;justify-content:space-between;min-height:38px;padding:0 10px}.inventory-result span{color:#637179;font-size:12px}.inventory-result strong{color:#153a4d;font-size:18px}.inventory-result.is-danger{background:#fff2f0;border-color:#f0c7c0}.inventory-result.is-danger strong{color:#8a3b34}.inventory-impact-panel{align-items:center;background:#fff;border:1px solid #dce5e2;border-radius:8px;display:grid;gap:12px;grid-column:1 / -1;grid-template-columns:minmax(260px,.8fr) minmax(0,1fr);padding:12px}.inventory-impact-flow{align-items:center;display:grid;gap:10px;grid-template-columns:1fr auto 1fr}.inventory-impact-flow>span{background:#f7faf8;border:1px solid #e4ece9;border-radius:8px;display:grid;gap:4px;min-height:78px;padding:10px}.inventory-impact-flow>svg{color:#637179}.inventory-impact-flow span{color:#637179;font-size:12px}.inventory-impact-flow strong{color:#153a4d;font-size:24px;line-height:1}.inventory-impact-copy{display:grid;gap:4px}.inventory-impact-copy strong{color:#153a4d}.inventory-impact-copy small{color:#637179}.inventory-pill{border-radius:999px;display:inline-flex;font-size:12px;font-style:normal;font-weight:700;justify-self:start;padding:4px 8px}.inventory-pill--ok{background:#e5f3ec;color:#247a5b}.inventory-pill--warning{background:#fff2d7;color:#8a5a00}.inventory-pill--danger{background:#fff2f0;color:#8a3b34}.inventory-attention{align-items:start;background:#fff;border:1px solid #dce5e2;border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(190px,.28fr) minmax(0,1fr);margin-bottom:16px;padding:12px}.inventory-attention>div:first-child{display:grid;gap:4px}.inventory-attention strong{color:#153a4d}.inventory-attention span,.inventory-attention small{color:#637179;font-size:12px}.inventory-attention-list{display:flex;flex-wrap:wrap;gap:8px}.inventory-attention-item,.inventory-attention-ok{align-items:center;border-radius:8px;display:inline-flex;gap:7px;min-height:34px;padding:7px 10px}.inventory-attention-item{background:#fff;border:1px solid #dce5e2;color:#153a4d;cursor:pointer}.inventory-attention-item small{border-left:1px solid currentColor;padding-left:7px}.inventory-attention-item--danger{background:#fff7f6;border-color:#f0c7c0;color:#8a3b34}.inventory-attention-item--warning{background:#fffbf2;border-color:#ead99a;color:#a85f00}.inventory-attention-ok{background:#eef7f2;border:1px solid #cce2d8;color:#247a5b!important}.inventory-card{background:#f7faf8;border:1px solid #dce5e2;border-left:4px solid #247a5b;border-radius:8px;display:grid;gap:8px;min-width:0;padding:14px}.inventory-card--alert{border-left-color:#8a3b34}.inventory-card__title{align-items:center;color:#153a4d;display:flex;gap:8px;min-height:40px}.inventory-card strong{color:#153a4d;font-size:30px;line-height:1}.inventory-stock-line{align-items:end;display:flex;gap:8px;justify-content:space-between}.inventory-stock-line span{color:#637179;font-size:12px;padding-bottom:3px}.inventory-level{background:#edf3f1;border-radius:999px;height:8px;overflow:hidden}.inventory-level i{background:#247a5b;border-radius:inherit;display:block;height:100%}.inventory-card--alert .inventory-level i{background:#8a3b34}.inventory-card small{align-items:center;color:#637179;display:flex;gap:5px}.inventory-last-move{border-top:1px solid #e4ece9;padding-top:8px}.inventory-expiry--ok{color:#247a5b!important}.inventory-expiry--warning{color:#a85f00!important}.inventory-expiry--danger{color:#8a3b34!important;font-weight:700}.inventory-alert,.inventory-warning{align-items:center;display:inline-flex;font-size:12px;font-weight:700;gap:5px}.inventory-alert{color:#8a3b34}.inventory-warning{color:#a85f00}.inventory-chart{display:grid;gap:9px;min-height:180px}.inventory-bar{align-items:center;display:grid;gap:10px;grid-template-columns:54px minmax(120px,1fr) 44px}.inventory-bar span,.inventory-bar strong{color:#637179;font-size:12px}.inventory-bar div{background:#edf3f1;border-radius:999px;height:10px;overflow:hidden}.inventory-bar i{background:#247a5b;border-radius:inherit;display:block;height:100%}.inventory-positive{color:#247a5b;font-weight:700}.inventory-negative{color:#8a3b34;font-weight:700}.inventory-table small{color:#637179;display:block;margin-top:3px}.inventory-history-filters{background:#edf3f1;border:1px solid #dce5e2;border-radius:8px;display:inline-flex;gap:3px;min-height:34px;padding:3px}.inventory-history-filters button{background:transparent;border:0;border-radius:6px;color:#4c5d65;cursor:pointer;font-size:12px;padding:0 9px;white-space:nowrap}.inventory-history-filters button.active{background:#fff;box-shadow:0 1px 3px #153a4d1f;color:#153a4d;font-weight:700}.stock-preview{background:#f0f6f3;border:1px solid #cce2d8;border-radius:8px;display:flex;justify-content:space-between;padding:10px 12px}.stock-preview span{color:#637179}.report-action{align-content:space-between;display:grid;gap:18px;min-height:170px}.report-action p{color:#637179;font-size:14px;margin-top:8px}.report-buttons{display:flex;flex-wrap:wrap;gap:10px}.reports-wide{grid-column:1 / -1}.side-stack{display:grid;gap:18px;min-width:0}.panel{min-width:0;padding:18px}.panel-header{align-items:center;display:flex;gap:14px;justify-content:space-between;margin-bottom:16px}.panel-actions{align-items:center;display:flex;gap:8px}h2{font-size:18px}.search{align-items:center;border:1px solid #cdd9d6;border-radius:8px;display:flex;gap:8px;min-height:38px;padding:0 10px}.search input{border:0;min-width:210px;outline:none}.filter-bar{display:grid;gap:10px;grid-template-columns:repeat(5,minmax(120px,1fr)) auto;margin-bottom:10px}.report-filter-bar{grid-template-columns:repeat(3,minmax(150px,1fr))}.audit-filter-bar{grid-template-columns:repeat(4,minmax(150px,1fr)) auto}.filter-bar input,.filter-bar select{background:#fff;border:1px solid #cdd9d6;border-radius:8px;color:#153a4d;min-height:36px;min-width:0;padding:0 9px}.filter-check{background:#fff;border:1px solid #cdd9d6;border-radius:8px;color:#153a4d;padding:0 10px}.result-summary{align-items:center;color:#637179;display:flex;font-size:13px;gap:10px;justify-content:space-between;margin-bottom:8px}.result-summary span{background:#edf3f1;border-radius:999px;color:#153a4d;padding:5px 8px}.pagination-footer{border-top:1px solid var(--border-color);margin-bottom:0;margin-top:16px;padding-top:16px}.pagination-meta{gap:15px}.pagination-size{align-items:center;color:var(--text-muted);display:flex;font-size:13px;gap:8px}.pagination-size select{border:1px solid var(--border-color);border-radius:4px;height:30px;padding:0 5px}.pagination-summary{margin:0}.pagination-summary span{margin-left:10px}.icon-button{align-items:center;background:#edf3f1;border:1px solid #d7e2df;border-radius:8px;color:#2f414b;cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.animal-form{align-self:start}.animal-location-field{color:#4c5d65;display:grid;font-size:13px;gap:8px;margin-top:14px}.animal-location-field>span{font-weight:600}.edit-animal-form{background:#f7faf8;border:1px solid #dce5e2;border-radius:8px;margin-bottom:14px;padding:12px}.form-grid{display:grid;gap:12px;grid-template-columns:1fr 1fr}.form-grid label{color:#4c5d65;display:grid;font-size:13px;gap:6px}.checkbox-field{align-items:center;display:flex!important;gap:8px;min-height:38px}.checkbox-field input{height:16px;width:16px}.date-quick-field{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.date-quick-field .secondary.compact{align-items:center;display:inline-flex;gap:6px;min-height:38px;white-space:nowrap}.form-grid input,.form-grid select,.form-grid textarea,.wide-field input,.wide-field textarea,.quick-actions input,.quick-actions select,.quick-actions textarea{background:#fff;border:1px solid #cdd9d6;border-radius:8px;color:#18202a;min-height:38px;min-width:0;outline:none;padding:0 10px;width:100%}textarea{line-height:1.45;min-height:86px;padding-bottom:9px!important;padding-top:9px!important;resize:vertical}.checkbox-field input{min-height:auto;padding:0;width:16px}.chip-create-panel{background:#f7faf8;border:1px solid #dce5e2;border-radius:8px;display:grid;gap:10px;margin-top:12px;padding:12px}.chip-create-panel label:not(.checkbox-field){color:#4c5d65;display:grid;font-size:13px;gap:6px}.chip-create-panel input[type=text],.chip-create-panel input:not([type]){background:#fff;border:1px solid #cdd9d6;border-radius:8px;color:#18202a;min-height:38px;outline:none;padding:0 10px}.field-error input,.field-error select{border-color:#8a3b34!important;box-shadow:0 0 0 3px #8a3b341f}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.wide-field input:focus,.wide-field textarea:focus,.quick-actions input:focus,.quick-actions select:focus,.quick-actions textarea:focus,.search:focus-within{border-color:#247a5b;box-shadow:0 0 0 3px #247a5b1f}.field-map{border:1px solid #dce5e2;border-radius:8px;display:grid;gap:10px;margin-top:12px;padding:10px}.field-map__header{align-items:center;display:flex;gap:10px;justify-content:space-between}.field-map__header strong{color:#153a4d;font-size:13px}.field-map__header span{color:#637179;font-size:12px}.location-picker{display:grid;gap:10px}.location-picker__map{border:1px solid #cdd9d6;border-radius:8px;height:260px;overflow:hidden;width:100%}.location-picker__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.submit-button{align-items:center;display:inline-flex;gap:8px;justify-content:center;margin-top:14px;width:100%}.clinical-panel .panel-header{align-items:start}.clinical-panel p{color:#637179;font-size:13px;margin-top:4px}.wide-field{color:#4c5d65;display:grid;font-size:13px;gap:6px;margin-bottom:14px}.animal-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.animal-summary span{background:#f0f6f3;border:1px solid #dce5e2;border-radius:999px;color:#334852;font-size:12px;padding:5px 8px}.ficha-summary-panel{background:#f7faf8;border:1px solid #dce5e2;border-radius:8px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:14px;padding:12px}.ficha-summary-panel div{display:grid;gap:4px;min-width:0}.ficha-summary-panel span{color:#637179;font-size:12px}.ficha-summary-panel strong{color:#153a4d;font-size:13px;overflow-wrap:anywhere}.ficha-summary-panel__wide{grid-column:1 / -1}.mono-value{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.missing-value{color:#8a3b34!important}.operativo-enroll{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto;margin-bottom:14px}.operativo-enroll select,.operativo-enroll button,td select{border:1px solid #cdd9d6;border-radius:8px;color:#153a4d;min-height:36px;padding:0 10px}.operativo-enroll button{background:#edf3f1;cursor:pointer}.operativo-enroll button:disabled{cursor:not-allowed;opacity:.55}.subtle-line{color:#637179;display:block;font-size:12px;margin-top:4px}.inscribed-list,.table-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.table-actions{margin-top:0}.inscribed-list button{align-items:center;background:#edf3f1;border:1px solid #d7e2df;border-radius:999px;color:#153a4d;cursor:pointer;display:inline-flex;gap:6px;min-height:28px;padding:0 9px}.inscribed-list button:disabled{cursor:default;opacity:.7}.inscribed-list small{color:#637179}.photo-panel{border:1px solid #dce5e2;border-radius:8px;display:grid;gap:10px;margin-bottom:14px;padding:10px}.photo-panel img,.photo-empty{aspect-ratio:4 / 3;border-radius:8px;width:100%}.photo-panel img{display:block;object-fit:cover}.photo-empty{align-items:center;background:#f0f6f3;color:#637179;display:grid;font-size:13px;justify-items:center}.photo-upload{align-items:center;background:#edf3f1;border:1px solid #cdd9d6;border-radius:8px;color:#153a4d;cursor:pointer;display:flex;font-size:13px;justify-content:center;min-height:36px}.photo-upload input{display:none}.quick-actions{display:grid;gap:12px}.readonly-note{background:#f7faf8;border:1px solid #dce5e2;border-radius:8px;color:#637179;font-size:13px;margin-top:12px;padding:12px}.inline-fields{display:grid;gap:8px;grid-template-columns:1fr 1fr}.quick-actions fieldset{border:1px solid #dce5e2;border-radius:8px;display:grid;gap:8px;margin:0;padding:12px}.quick-actions fieldset.highlight-fieldset{background:#fffdf3;border-color:#ead99a}.quick-actions legend{color:#153a4d;font-size:13px;font-weight:700;padding:0 5px}.quick-actions button{background:#edf3f1;border:1px solid #cdd9d6;border-radius:8px;color:#153a4d;cursor:pointer;min-height:36px}.quick-actions button:disabled{cursor:not-allowed;opacity:.55}.history-block{border-top:1px solid #e4ece9;margin-top:16px;padding-top:14px}.history-block h3{font-size:15px;margin:0 0 10px}.history-grid{display:grid;gap:10px;grid-template-columns:1fr 1fr}.history-grid section{background:#f7faf8;border:1px solid #e4ece9;border-radius:8px;display:grid;gap:5px;min-width:0;padding:10px}.history-grid strong{color:#153a4d;font-size:12px}.history-grid span{color:#637179;font-size:12px;overflow-wrap:anywhere}table{border-collapse:collapse;width:100%}tbody tr{cursor:pointer}tbody tr:hover,.selected-row{background:#f0f6f3}.agenda-row-today{background:#fffdf2;border-left:3px solid var(--primary)}.agenda-row-today td:first-child{color:var(--primary);font-weight:700}.expired-vaccine-row{background-color:#fff7f6!important;border-left:3px solid var(--error)}.expired-vaccine-row:hover{background-color:#fbe9e7!important}.soon-expired-vaccine-row{background-color:#fffbf2!important;border-left:3px solid #a85f00}.soon-expired-vaccine-row:hover{background-color:#fff3e0!important}th,td{border-bottom:1px solid #e4ece9;padding:13px 10px;text-align:left}.empty{color:#637179;text-align:center}th{color:#5c6b73;font-size:13px}.status{background:#e5f3ec;border-radius:999px;color:#247a5b;display:inline-block;font-size:13px;padding:5px 9px}.status.inactive{background:#f5eeee;color:#8a3b34}.chip-pill{background:#eef7f2;border:1px solid #cce2d8;border-radius:999px;color:#1f6048;display:inline-block;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;max-width:180px;overflow:hidden;padding:5px 9px;text-overflow:ellipsis;white-space:nowrap}.chip-pill--missing{background:#fff2f0;border-color:#f0c7c0;color:#8a3b34;font-family:inherit}.leaflet-map{border:1px solid #cdd9d6;border-radius:8px;min-height:340px;overflow:hidden;width:100%}.map-page{display:flex;flex:1 1 auto;margin:0 -18px;min-height:0}.map-view{align-items:stretch;display:flex;flex:1 1 auto;gap:18px;min-height:0;min-width:0;position:relative}.map-view__canvas{flex:1 1 auto;min-height:0;min-width:0;position:relative}.map-page .map-view,.map-page .map-view__canvas,.map-page .leaflet-map{height:100%}.map-page .leaflet-map{border-left:0;border-radius:0;border-right:0;border-bottom:0;min-height:0}.map-empty{color:#637179;font-size:13px;margin-top:10px}@keyframes marker-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{padding:16px}nav{grid-template-columns:repeat(3,minmax(0,1fr))}nav button,nav a{justify-content:center}nav button,nav a{font-size:0}.metrics,.dashboard-grid,.content-grid,.admin-grid,.consultation-layout,.consultation-manager,.adoption-layout,.reports-grid,.inventory-overview,.inventory-summary,.filter-bar{grid-template-columns:1fr 1fr}.side-stack{grid-column:span 2}.content-grid,.content-grid--full,.content-grid--split{grid-template-columns:1fr}.content-grid .side-stack{grid-column:auto}.calendar-quick-form,.inventory-quick-form{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-attention,.inventory-impact-panel{grid-template-columns:1fr}.inventory-import-help{align-items:flex-start;flex-direction:column}.inventory-import-help span{text-align:left}.inventory-quick-title{grid-column:1 / -1}}@media(max-width:680px){.workspace{padding:18px}.topbar,.panel-header,.topbar-actions{align-items:stretch;flex-direction:column}.session-password-panel{align-items:stretch;grid-template-columns:1fr}.metrics,.dashboard-grid,.content-grid,.admin-grid,.consultation-layout,.consultation-manager,.adoption-layout,.reports-grid,.inventory-overview,.inventory-summary{grid-template-columns:1fr}.side-stack{grid-column:auto}.consultation-history{position:static}.consultation-material-row,.form-grid,.date-quick-field,.history-grid{grid-template-columns:1fr}.search input{min-width:0;width:100%}.filter-bar{grid-template-columns:1fr}.inline-admin-form{align-items:stretch;grid-template-columns:1fr}.calendar-quick-form,.inventory-quick-form{grid-template-columns:1fr}.inventory-history-filters,.inventory-quantity-presets{flex-wrap:wrap}.inventory-impact-flow{grid-template-columns:1fr}.inventory-impact-flow>svg{justify-self:center;transform:rotate(90deg)}.inventory-history-filters button,.inventory-quantity-presets button{flex:1 1 auto}.calendar-quick-actions{align-items:stretch;flex-direction:column}.result-summary{align-items:flex-start;flex-direction:column}.pagination-meta{align-items:stretch;flex-direction:column}.pagination-summary span{margin-left:0}}
