:root{--color-primary:#0e8a76;--color-primary-dark:#0a6558;--color-primary-light:#cdeee6;--color-bg:#f6f3eb;--color-surface:#fff;--color-surface-muted:#efebe0;--color-border:#ddd4c1;--color-text:#202e2b;--color-text-muted:#56675f;--color-text-soft:#7c8b83;--color-success:#178a53;--color-success-bg:#cdefd9;--color-info:#2957d6;--color-info-bg:#d7e2fb;--color-danger:#b8362f;--color-danger-bg:#f7d7d3;--color-warning:#a8690f;--color-warning-bg:#f5e2b8;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--shadow-sm:0 1px 2px #202e2b14;--shadow-md:0 8px 22px #202e2b1f;--font-body:"Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-body);color:var(--color-text)}*{box-sizing:border-box}body{background:var(--color-bg);min-height:100vh;margin:0}h1,h2,h3,h4{color:var(--color-text);margin:0 0 .5em;font-weight:800;line-height:1.2}h1{font-size:1.75rem}h2{font-size:1.4rem}h3{margin-bottom:.9em;font-size:1.1rem}p{color:var(--color-text-muted);margin:0 0 .75em;line-height:1.5}p:last-child{margin-bottom:0}a{color:var(--color-primary-dark);font-weight:700;text-decoration:none}a:hover{text-decoration:underline}ul{margin:0;padding:0;list-style:none}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.app-header .brand{font-family:var(--font-body);color:var(--color-primary-dark);align-items:center;gap:.5rem;font-size:1.25rem;font-weight:800;display:flex}.app-header .brand .paw{font-size:1.4rem}.clinic-logo{object-fit:contain;border-radius:var(--radius-sm);width:28px;height:28px}.app-header .identity{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:.9rem;font-size:.95rem;font-weight:700;display:flex;position:relative}.header-menu{position:relative}.menu-section-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-soft);margin-bottom:.5rem;font-size:.75rem;font-weight:800}.header-menu-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(320px,90vw);box-shadow:var(--shadow-md);z-index:20;padding:1rem;position:absolute;top:calc(100% + .5rem);right:0}.app-main{max-width:960px;margin:0 auto;padding:1.5rem 1.25rem 4rem}.stack{flex-direction:column;gap:1.25rem;display:flex}.dashboard-layout{grid-template-columns:200px 1fr;align-items:start;gap:1.5rem;display:grid}.catalog-sidebar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;gap:.35rem;padding:1rem;display:flex;position:sticky;top:1.5rem}.catalog-sidebar button{text-align:left;color:var(--color-text);background:0 0;border:1px solid #0000;align-self:stretch;align-items:center;gap:.5rem;padding:.55rem .7rem;font-size:.88rem;display:flex}.catalog-sidebar button:hover{background:var(--color-surface-muted)}.catalog-sidebar button.active{background:var(--color-primary-light);color:var(--color-primary-dark)}.panel-hint{color:var(--color-text-muted);margin-top:-.5rem;font-size:.85rem}.two-col{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:1.25rem;display:grid}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem}.card>h3:first-child,.card>h2:first-child{margin-top:0}.collapsible-section{padding:0;overflow:hidden}.collapsible-section-toggle{text-align:left;width:100%;color:var(--color-text);background:0 0;border:none;border-radius:0;align-items:center;gap:.6rem;padding:1.1rem 1.5rem;display:flex}.collapsible-section-toggle:hover{background:var(--color-surface-muted)}.collapsible-section-toggle h3{margin:0}.collapsible-section-body{border-top:1px solid var(--color-border);flex-direction:column;gap:1rem;padding:1.25rem 1.5rem 1.5rem;display:flex}form{flex-direction:column;gap:1rem;display:flex}.field{flex-direction:column;gap:.35rem;display:flex}form label{color:var(--color-text-muted);font-size:.85rem;font-weight:700}input,select,textarea{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);padding:.6rem .75rem;font-family:inherit;font-size:.95rem}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}input[type=file]{padding:.4rem;font-size:.85rem}.form-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem;margin-bottom:1em;display:grid}.combobox{position:relative}.combobox input{width:100%}.combobox-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);max-height:220px;box-shadow:var(--shadow-md);z-index:20;flex-direction:column;gap:.15rem;padding:.35rem;display:flex;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow-y:auto}.combobox-option,.combobox-create{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--color-text);cursor:pointer;background:0 0;border:none;padding:.45rem .6rem;font-size:.9rem;display:block}.combobox-option:hover,.combobox-create:hover{background:var(--color-surface-muted)}.combobox-create{color:var(--color-primary);font-weight:700}.combobox-empty{color:var(--color-text-muted);margin:0;padding:.45rem .6rem;font-size:.85rem}.form-actions{gap:.6rem;display:flex}button{border-radius:var(--radius-sm);cursor:pointer;background:var(--color-primary);color:#fff;border:1px solid #0000;align-self:flex-start;padding:.6rem 1.1rem;font-family:inherit;font-size:.9rem;font-weight:700;transition:background-color .15s,opacity .15s}button:hover{background:var(--color-primary-dark)}button:disabled{opacity:.6;cursor:not-allowed}button.secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}button.secondary:hover{background:var(--color-surface-muted)}button.danger{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger-bg)}button.danger:hover{background:#f0bcb6}button.link{color:var(--color-primary-dark);background:0 0;align-self:auto;padding:0}button.link:hover{background:0 0;text-decoration:underline}.tile-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;display:grid}.tile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1.5rem 1rem;font-size:.95rem;font-weight:800;transition:border-color .15s,transform .1s,box-shadow .15s;display:flex}.tile:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.tile.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.tile .tile-icon{font-size:1.8rem}.period-toggle,.toggle-group{background:var(--color-surface-muted);border-radius:var(--radius-sm);flex-wrap:wrap;gap:.2rem;padding:.2rem;display:inline-flex}.period-toggle button,.toggle-group button{color:var(--color-text-muted);background:0 0;padding:.4rem .9rem;font-size:.85rem}.period-toggle button:hover,.toggle-group button:hover{background:var(--color-surface)}.period-toggle button.active,.toggle-group button.active{background:var(--color-primary);color:#fff}.stats-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;display:grid}.stat-card{background:var(--color-primary-light);border-radius:var(--radius-md);padding:1.1rem 1.25rem}.stat-card .stat-value{color:var(--color-primary-dark);font-size:2rem;font-weight:800;line-height:1;display:block}.stat-card .stat-label{color:var(--color-text-muted);margin-top:.35rem;font-size:.85rem;font-weight:700;display:block}.avatar{object-fit:cover;background:var(--color-primary-light);border-radius:50%;flex-shrink:0}.avatar-fallback{justify-content:center;align-items:center;line-height:1;display:inline-flex}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem;display:flex}.section-header h3{margin-bottom:0}.search-field{flex:240px;min-width:220px;max-width:320px}.entry-list{flex-direction:column;gap:.6rem;display:flex}.entry-row{background:var(--color-surface-muted);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.entry-row .entry-end{align-items:center;gap:.5rem;margin-left:auto;display:flex}.entry-row-link{width:100%;color:var(--color-text);font-weight:400;transition:background-color .15s}.entry-row-link:hover{background:var(--color-primary-light);text-decoration:none}.pet-header{align-items:center;gap:1rem;display:flex}.pet-header h2{margin-bottom:.15rem}.pet-header p{margin-bottom:0}.entry-row .entry-main{flex-direction:column;gap:.2rem;display:flex}.entry-row .entry-title{color:var(--color-text);font-weight:800}.entry-row .entry-meta{color:var(--color-text-soft);font-size:.85rem}.attachment-chip-list{flex-wrap:wrap;gap:.4rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.attachment-chip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;align-items:center;gap:.3rem;max-width:100%;padding:.25rem .5rem .25rem .6rem;font-size:.8rem;display:flex}.attachment-chip .entry-title{white-space:nowrap;text-overflow:ellipsis;max-width:14rem;font-weight:400;overflow:hidden}.attachment-chip button.danger{padding:.1rem .5rem;font-size:.7rem}.record-note{color:var(--color-text-soft);margin:.3rem 0 0;font-size:.85rem}.record-note-internal{background:var(--color-warning-bg);color:var(--color-warning);border-radius:6px;padding:.4rem .6rem}.danger-zone-row{border:1px solid var(--color-danger-bg);gap:1rem;padding:1rem 1.25rem}.entry-row .danger-zone-confirm{flex-wrap:wrap;flex-basis:100%;align-self:stretch;gap:.75rem;margin-left:0}.danger-zone-confirm input{flex:12rem;min-width:0}.danger-zone-row [role=alert]{color:var(--color-danger);flex-basis:100%;margin:0}.entry-row-collapsible{flex-direction:column;align-items:stretch}.entry-row-toggle{text-align:left;width:100%;color:inherit;background:0 0;border:none;border-radius:0;align-self:stretch;align-items:center;gap:.6rem;padding:0;display:flex}.entry-row-toggle:hover{background:0 0}.entry-row-details{border-top:1px solid var(--color-border);flex-direction:column;align-items:flex-start;gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:flex}.entry-row .entry-actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}.entry-row .entry-actions button{padding:.4rem .75rem;font-size:.8rem}.badge{border-radius:999px;align-items:center;padding:.25rem .65rem;font-size:.75rem;font-weight:800;display:inline-flex}.badge-scheduled{background:var(--color-info-bg);color:var(--color-info)}.badge-completed{background:var(--color-success-bg);color:var(--color-success)}.badge-cancelled{background:var(--color-danger-bg);color:var(--color-danger)}.badge-specialist{background:var(--color-primary-light);color:var(--color-primary-dark)}.badge-general{background:var(--color-surface-muted);color:var(--color-text-muted)}.badge-risk-none{background:var(--color-success-bg);color:var(--color-success)}.badge-risk-low_risk{background:var(--color-warning-bg);color:var(--color-warning)}.badge-risk-monitoring{background:var(--color-info-bg);color:var(--color-info)}.badge-risk-critical{background:var(--color-danger-bg);color:var(--color-danger)}.badge-admitted{background:var(--color-warning-bg);color:var(--color-warning)}.badge-discharged{background:var(--color-surface-muted);color:var(--color-text-muted)}.tabs{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:.35rem;margin-bottom:1.25rem;display:flex}.tabs button{color:var(--color-text-muted);border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.6rem 1rem}.tabs button:hover{background:var(--color-surface-muted)}.tabs button.active{color:var(--color-primary-dark);border-bottom-color:var(--color-primary)}.empty-state{color:var(--color-text-soft);padding:.75rem 0;font-style:italic}[role=alert]{background:var(--color-danger-bg);color:var(--color-danger);border-radius:var(--radius-sm);margin:0;padding:.6rem .9rem;font-size:.9rem;font-weight:700}.auth-shell{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:380px;box-shadow:var(--shadow-md);text-align:center;padding:2.25rem 2rem}.auth-card .brand{color:var(--color-primary-dark);justify-content:center;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.auth-card .brand .paw{font-size:1.8rem}.auth-card form{text-align:left;margin-top:1.5rem}.auth-card button[type=submit]{align-self:stretch;margin-top:.5rem}@media (width<=640px){.app-header{flex-direction:column;align-items:flex-start;gap:.5rem}.entry-row{flex-direction:column;align-items:flex-start}.dashboard-layout{grid-template-columns:1fr}.catalog-sidebar{flex-flow:wrap;position:static}.catalog-sidebar button{flex:auto;justify-content:center}}.tour-overlay{z-index:100;background:#202e2b73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.tour-modal{text-align:center;width:100%;max-width:420px}.tour-icon{margin-bottom:.75rem;font-size:2.5rem;line-height:1}.tour-dots{justify-content:center;gap:.4rem;margin:1rem 0;display:flex}.tour-dots span{background:var(--color-border);border-radius:50%;width:7px;height:7px}.tour-dots span.active{background:var(--color-primary)}.support-modal{width:100%;max-width:520px;max-height:calc(100vh - 2rem);overflow-y:auto}.support-modal .support-hint{margin:0}.support-modal textarea{resize:vertical;min-height:8rem}.support-modal .form-actions{justify-content:flex-end}.tour-actions{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.tour-actions-right{gap:.6rem;display:flex}.tour-settings label{color:var(--color-text);align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.9rem;font-weight:600;display:flex}
