@import"https://fonts.googleapis.com/css2?family=Fraunces:wght@600;700&family=Source+Sans+3:wght@400;500;600&display=swap";:root{color-scheme:light;font-family:"Source Sans 3",Segoe UI,system-ui,sans-serif;background:#f8faf7;color:#0f172a;line-height:1.6;--ink: #0f172a;--muted: #475569;--accent: #0f766e;--accent-dark: #0b5c56;--accent-soft: #ccfbf1;--sun: #f97316;--card: #ffffff;--border: #e2e8f0;--shadow: 0 18px 40px rgba(15, 23, 42, .12)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top left,rgba(15,118,110,.12),transparent 45%),radial-gradient(circle at 70% 20%,rgba(249,115,22,.12),transparent 40%),#f8faf7;color:var(--ink)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1120px,92%);margin:0 auto}.site-header{position:sticky;top:0;z-index:10;background:#f8faf7eb;border-bottom:1px solid rgba(226,232,240,.7);backdrop-filter:blur(10px)}.header-content{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 0}.brand{font-family:Fraunces,Times New Roman,serif;font-size:1.25rem;font-weight:700;letter-spacing:.01em}.nav{display:flex;flex-wrap:wrap;gap:.75rem;font-weight:600}.nav a{padding:.35rem .9rem;border-radius:999px;background:#0f766e1f;color:var(--accent-dark)}.nav .nav-cta{background:var(--accent);color:#fff}.hero{padding:4rem 0 3rem}.hero-grid{display:grid;gap:2.5rem;align-items:center;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.hero-copy h1{font-family:Fraunces,Times New Roman,serif;font-size:clamp(2.4rem,4vw,3.4rem);margin:0 0 1rem}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;margin:0 0 .75rem;color:var(--accent-dark);font-weight:600}.lead{font-size:1.1rem;color:var(--muted)}.cta-row{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.5rem 0 2rem}.cta{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.4rem;border-radius:12px;font-weight:600;border:2px solid transparent;transition:transform .2s ease,box-shadow .2s ease}.cta.primary{background:var(--accent);color:#fff;box-shadow:0 16px 30px #0f766e33}.cta.ghost{background:#fff;border-color:var(--accent);color:var(--accent-dark)}.cta:hover{transform:translateY(-1px)}.hero-highlights{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.highlight-card{background:#fff;border-radius:16px;padding:1rem;box-shadow:var(--shadow)}.hero-art{background:#fff;border-radius:24px;padding:1rem;border:1px solid var(--border);box-shadow:var(--shadow)}.section{padding:3.5rem 0}.section h2{font-family:Fraunces,Times New Roman,serif;font-size:clamp(1.8rem,2.6vw,2.4rem);margin:0 0 .8rem}.section-lead{color:var(--muted);max-width:640px}.section-tag{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:var(--sun);font-weight:600;margin:0 0 .6rem}.split{display:grid;gap:2rem;align-items:center;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.split.reverse{direction:rtl}.split.reverse>*{direction:ltr}.media-card{background:#fff;padding:1.2rem;border-radius:24px;border:1px solid var(--border);box-shadow:var(--shadow)}.checklist{margin:1.5rem 0 0;padding-left:1.1rem}.checklist li{margin-bottom:.6rem}.muted{background:#f1f5f3}.steps{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:2rem}.step-card{background:#fff;padding:1.5rem;border-radius:18px;border:1px solid var(--border);box-shadow:var(--shadow)}.step-card span{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-weight:700;margin-bottom:.8rem}.cta-panel{display:flex;flex-wrap:wrap;gap:2rem;align-items:center;justify-content:space-between;padding:2rem;border-radius:24px;background:linear-gradient(120deg,#0f766e,#14b8a6);color:#fff;box-shadow:var(--shadow)}.cta-panel h2{margin:0 0 .5rem}.cta-panel p{margin:0;color:#fffc}.cta-panel .cta-row{margin:0}.cta-panel .cta.primary{background:#fff;color:var(--accent-dark)}.cta-panel .cta.ghost{border-color:#fff;color:#fff;background:transparent}.card{background:#fff;border-radius:18px;padding:1.5rem;border:1px solid var(--border);box-shadow:var(--shadow)}.auth-split{display:grid;gap:2rem;align-items:start;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.auth-card{display:grid;gap:1.5rem}.auth-tabs{display:flex;flex-wrap:wrap;gap:.6rem}.auth-tab{border:1px solid var(--border);background:#f8fafc;padding:.5rem 1.1rem;border-radius:999px;font-weight:600;color:var(--muted);cursor:pointer}.auth-tab.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.auth-panel.is-hidden{display:none}.auth-form{display:grid;gap:.9rem}.auth-status{display:grid;gap:.8rem;border-top:1px solid var(--border);padding-top:1rem}.auth-message{margin:0;font-weight:600;color:var(--muted)}.auth-message[data-state=success]{color:var(--accent-dark)}.auth-message[data-state=error]{color:#b91c1c}.auth-user{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;padding:.8rem 1rem;border-radius:16px;border:1px solid var(--border);background:#f8fafc}.auth-user-title{margin:0;font-weight:600}.auth-user-meta{margin:0;color:var(--muted);font-size:.95rem}.list{display:grid;gap:.75rem;padding-left:1.2rem}form.list{padding-left:0}input,select,button,textarea{font:inherit}input,select,textarea{width:100%;padding:.6rem .75rem;border-radius:10px;border:1px solid var(--border);background:#fff}label{display:grid;gap:.4rem;font-weight:600}.portal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.vet-dashboard{height:100vh;min-height:100vh;display:grid;grid-template-columns:260px 1fr;gap:1.25rem;padding:1rem;background:#f3f3f3;overflow:hidden}.vet-dashboard,.vet-dashboard *{font-family:"Source Sans 3",Segoe UI,system-ui,sans-serif;font-weight:400!important}.immediate-portal .dash-nav a,.immediate-portal .dash-footer a,.immediate-portal .dash-topbar p,.immediate-portal .dash-section p,.immediate-portal .detail-note,.immediate-portal .text-button,.immediate-portal input,.immediate-portal select,.immediate-portal textarea,.immediate-portal button,.immediate-portal .immediate-queue-table th,.immediate-portal .immediate-queue-table td,.immediate-portal .immediate-request-id,.immediate-portal .immediate-state,.immediate-portal .immediate-actions button,.immediate-portal .immediate-relay-field,.immediate-portal .immediate-relay-field select{font-size:1rem;font-weight:400!important;letter-spacing:normal;text-transform:none}.immediate-portal .dash-topbar h1{font-size:1.5rem}.immediate-portal .dash-section h3,.immediate-portal .overview-title,.immediate-portal .overview-card h4{font-size:1rem;font-weight:400!important}.immediate-portal .dash-logo{font-size:1.9rem;font-weight:800!important}.dash-sidebar{background:#ececec;border-radius:1.5rem;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;min-height:0;overflow-y:auto}.dash-logo{font-size:1.9rem;font-weight:800;letter-spacing:-.03em}.dash-nav{display:grid;gap:.2rem;background:#f7f7f7;border:1px solid #e5e5e5;border-radius:1.25rem;padding:1rem}.dash-nav a{color:#111;text-decoration:none;padding:.65rem .75rem;border-radius:.6rem;font-weight:600}.dash-nav a.is-active{color:#ff6b57;background:#fff}.nav-divider{border:none;height:1px;background:#e5e7eb;margin:.6rem 0}.dash-footer{margin-top:auto;display:grid;gap:.2rem;background:#f7f7f7;border:1px solid #e5e5e5;border-radius:1.25rem;padding:1rem;color:#111}.dash-footer a{text-decoration:none;padding:.65rem .75rem;border-radius:.6rem;font-weight:600;color:inherit}.dash-appointments-card,.dash-requests-card{background:#f7f7f7;border:1px solid #e5e5e5;border-radius:1.25rem;padding:1rem;display:grid;gap:.55rem;min-height:320px;max-height:420px;overflow:auto;align-content:start}.dash-appointments-head h4{margin:0;font-size:1rem}.dash-appointments-list,.dash-requests-list{display:grid;gap:.4rem}.dash-request-item{position:relative;display:grid;gap:.2rem;padding:.55rem .65rem;border:1px solid #e2e8f0;border-radius:.7rem;background:#fff;text-decoration:none;color:inherit;width:100%;text-align:left;cursor:pointer}.dash-request-item:hover{border-color:#fdba74;background:#fff7ed}.dash-request-title{margin:0;font-size:.9rem;font-weight:700;color:#111827}.dash-request-meta{margin:0;font-size:.8rem;color:#4b5563}.dash-request-type{margin:0;font-size:.75rem;color:#64748b}.dash-request-empty{margin:0;font-size:.83rem;color:#64748b}.dash-owner-appointments-section{position:relative;display:grid;gap:.4rem}.dash-owner-appointments-section.is-today{padding-right:1rem}.dash-owner-appointments-section.is-today:after{content:"";position:absolute;top:.25rem;right:0;width:8px;height:8px;border-radius:999px;background:#dc2626}.dash-owner-appointments-section+.dash-owner-appointments-section{border-top:1px solid #e2e8f0;padding-top:.55rem;margin-top:.2rem}.dash-owner-appointments-section h5{margin:.2rem 0 0;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.dash-owner-appointment{position:relative;border:0;border-radius:0;background:transparent;padding:.1rem 0;display:grid;gap:.18rem}.dash-owner-appointment[role=button]{cursor:pointer}.dash-owner-appointment[role=button]:focus-visible{outline:2px solid #2563eb;outline-offset:3px}.dash-owner-appointment.is-today{padding-right:1rem}.dash-owner-appointment.is-today:after,.dash-owner-appointment.is-approved:after{content:"";position:absolute;top:.1rem;right:0;width:8px;height:8px;border-radius:999px;background:#dc2626}.dash-owner-appointment.is-approved{padding-right:1rem}.dash-owner-appointment.is-approved:after{background:#16a34a}.dash-owner-appointment p{margin:0}.dash-owner-appointment-head{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.dash-owner-appointment-pet{font-weight:700;color:#111827}.dash-owner-appointment-meta{font-size:.83rem;color:#4b5563}.dash-owner-appointment-id{font-size:.72rem;color:#64748b;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;overflow-wrap:anywhere}.dash-owner-appointment-type{font-size:.75rem;color:#64748b}.dash-owner-appointment-link{justify-self:start;font-size:.78rem;font-weight:700;color:#ea580c;text-decoration:none}.dash-owner-appointment-link:hover{text-decoration:underline}.dash-main{background:#ececec;border-radius:1.5rem;padding:1.1rem;display:grid;grid-template-rows:auto 1fr;gap:1rem;min-height:0;overflow:hidden}.dash-topbar{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:.75rem}.dash-topbar h1{margin:0;font-size:clamp(1.45rem,2.5vw,1.9rem);font-family:inherit}.dash-topbar p{margin:0;color:#6a6a6a}.dash-top-actions{display:flex;align-items:center;gap:.8rem}.icon-pill{width:34px;height:34px;border-radius:.65rem;border:1px solid #e2e2e2;background:#f8f8f8;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.icon-pill:hover{background:#fff;border-color:#d3d3d3}.calendar-nav-button{width:40px;height:40px;font-size:1.5rem;font-weight:300;color:#4f46e5;display:grid;place-items:center}.calendar-nav-button:hover{background:#eef2ff;border-color:#6366f1;color:#4338ca}.calendar-arrow{line-height:1;display:flex;align-items:center;justify-content:center}.calendar-arrow-icon{width:18px;height:18px;display:block}.avatar{width:40px;height:40px;border-radius:999px;background:linear-gradient(160deg,#ffc6a8,#ffd8c4);border:2px solid #ffffff;box-shadow:none}.dash-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(120deg,#4f46e5,#60a5fa);color:#fff;border-radius:18px;padding:1.6rem 2rem;box-shadow:0 18px 30px #3b82f640}.dash-banner h2{margin:0 0 .4rem;font-size:1.4rem}.dash-banner p{margin:0;color:#ffffffd9}.primary-button{border:none;border-radius:10px;padding:.6rem 1.2rem;background:#1e3a8a;color:#fff;font-weight:600}.dash-alert{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#ffedd5;border-radius:14px;padding:.8rem 1.2rem;color:#9a3412}.dash-alert p{margin:0;font-weight:600}.alert-dot{width:10px;height:10px;border-radius:999px;background:#f97316;display:inline-block;margin-right:.6rem}.accent-button{border:none;border-radius:.65rem;padding:.5rem 1rem;background:#ff6b57;color:#fff;font-weight:600}.dash-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:1.2rem}.dash-grid.dash-grid-full{grid-template-columns:minmax(0,1fr)}.dash-left{display:grid;gap:1.4rem;min-height:0;overflow-y:auto;padding-right:.3rem}.dash-section{background:#f8f8f8;border:1px solid #e8e8e8;border-radius:1.2rem;padding:1rem}.dash-section h3{margin:0;font-size:1.1rem}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.section-subtitle{margin:.3rem 0 0;color:#6b7280;font-size:.9rem}.text-button{border:none;background:none;color:#1a1a1a;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.opportunity-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.opportunity-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:1.2rem}.opportunity-label{margin:0;font-weight:600;color:#6b7280}.opportunity-stat{font-size:2rem;font-weight:700;margin:.4rem 0;color:#1a1a1a}.opportunity-meta{margin:0;color:#6b7280;font-size:.9rem}.appointment-table{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:.8rem}.appointment-table .table-row{grid-template-columns:1.4fr 1.6fr 1.2fr .9fr .7fr}.appointment-status{text-align:left;font-weight:600;color:#111827}.appointment-action{justify-self:end}.appointment-table .table-head span:last-child{justify-self:end;text-align:right}.table-row{display:grid;grid-template-columns:1.2fr 1.5fr 1fr .8fr .8fr .4fr;gap:.6rem;padding:.6rem .8rem;align-items:center;font-size:.9rem}.table-head{font-weight:600;color:#6b7280}.table-row+.table-row{border-top:1px solid #f3f4f6}.status-pill{background:#fee2e2;color:#b91c1c;padding:.2rem .6rem;border-radius:999px;font-size:.8rem;text-align:center}.status-pill.is-confirmed{background:#dcfce7;color:#15803d}.more-pill{width:30px;height:28px;border-radius:10px;background:#f3f4f6;text-align:center;line-height:28px;font-weight:700;color:#6b7280}.overview-grid{display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 1200px){.opportunity-grid,.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.overview-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:1rem}.overview-card h4{margin:.4rem 0;font-size:1.4rem}.overview-title{margin:0;font-size:.85rem;color:#6b7280;text-transform:uppercase;letter-spacing:.12em}.dash-right{display:grid;gap:1rem}.scheduler-card{background:#fff;border-radius:20px;padding:1.4rem;box-shadow:0 12px 24px #0f172a14;display:grid;gap:.8rem}.scheduler-illustration{height:140px;border-radius:16px;background:radial-gradient(circle at 20% 20%,#fcd34d,#fb923c)}.scheduler-label,.scheduler-date{margin:0;color:#6b7280}.scheduler-time{display:grid;gap:.2rem;font-weight:600}.records-grid{display:grid;gap:.9rem}@media (max-width: 1120px){.vet-dashboard{height:auto;min-height:100vh;grid-template-columns:1fr;overflow:visible}.dash-sidebar{order:2;max-height:none;overflow:visible}.dash-main{order:1;overflow:visible}}.record-card{background:#fff;border-radius:16px;padding:1rem 1.2rem;box-shadow:0 12px 24px #0f172a14;display:flex;align-items:center;justify-content:space-between;gap:1rem}.record-title{margin:0 0 .25rem;font-weight:600}.record-meta{margin:0;color:#6b7280}.patient-table{background:#fff;border-radius:18px;padding:.8rem;box-shadow:0 12px 24px #0f172a14;height:calc(100vh - 5rem);display:grid;grid-template-rows:auto auto 1fr}.records-stage{margin-top:1rem;display:grid;grid-template-columns:1fr}.professional-records-page .records-stage,.professional-records-page .records-stage *{font-weight:400!important}.records-stage>.patient-table,.records-stage>.patient-detail-card{grid-area:1 / 1}.patient-detail-card{background:#fff;border-radius:18px;padding:1.5rem;box-shadow:0 12px 24px #0f172a14;height:calc(100vh - 5rem);display:grid;gap:1rem;grid-template-rows:auto 1fr;overflow:hidden}.detail-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.detail-title{margin:0;font-size:1.2rem;font-weight:700}.detail-sub{margin:.2rem 0 0;color:#64748b}.detail-actions{display:flex;align-items:center;gap:.6rem}.detail-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:1rem;overflow:hidden}.detail-main,.detail-side{display:grid;gap:1rem;overflow-y:auto;padding-right:.4rem}.detail-side{grid-auto-rows:minmax(0,1fr)}.detail-card{border:1px solid #e2e8f0;border-radius:14px;padding:1rem;display:grid;gap:.8rem;background:#fff}.detail-card h4{margin:0;font-size:1rem;line-height:1}.detail-card-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;max-height:25px}.detail-card-head.is-stacked{align-items:flex-start;max-height:none}.detail-card-title{display:grid;gap:.35rem}.detail-pill-row{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.detail-add{width:28px;height:28px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;color:#0f172a;font-weight:700;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.detail-weight-row{display:grid;gap:.3rem;justify-items:start;text-align:left}.detail-vitals-row{display:contents}.detail-weight-actions{display:inline-flex;align-items:center;justify-content:flex-start;gap:.5rem}.detail-chip{background:#fef3c7;color:#92400e;border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.detail-fields{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.patient-page .detail-profile-fields{grid-template-columns:repeat(6,minmax(0,1fr))}.detail-fields .detail-weight-current{grid-column:1 / 2!important}.detail-fields .detail-blood-current{grid-column:2 / 3!important}.detail-fields span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#64748b;font-weight:700}.detail-fields p{margin:.2rem 0 0;font-weight:600;color:#0f172a}.detail-weight-chart{background:#f8fafc;border-radius:12px;padding:.8rem;display:grid;gap:.6rem;grid-template-rows:minmax(60px,1fr) auto;max-height:120px;overflow:hidden}.detail-weight-canvas{width:100%;height:60px;display:block}.detail-weight-chart svg{width:100%;height:auto}.detail-weight-chart polyline{fill:none;stroke:#f97316;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}.detail-weight-chart polygon{fill:#f973162e}.detail-chart-labels{display:grid;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:.5rem;text-align:center}.detail-chart-labels span{display:block;font-size:.7rem;color:#6b7280}.detail-chart-labels strong{display:block;font-size:.8rem;font-weight:700;color:#9a3412}.detail-chart-title{margin:.1rem 0 0;font-size:.85rem;font-weight:700;color:#0f172a}.detail-list{display:flex;flex-direction:column;gap:10px}.detail-message-card{min-height:260px}.detail-message-thread{border:1px solid #dbe3ef;border-radius:14px;background:radial-gradient(circle at 100% 0%,rgba(251,146,60,.08),transparent 36%),#f8fafc;min-height:200px;max-height:420px;overflow-y:auto;padding:.85rem;display:grid;gap:.5rem;align-content:start}.detail-message{max-width:min(82%,520px);border-radius:14px;padding:.55rem .72rem;border:1px solid #dde5f1;background:#fff;box-shadow:0 8px 20px #0f172a0d}.detail-message.is-mine{justify-self:end;background:#ffedd5;border-color:#fdba74;border-bottom-right-radius:8px}.detail-message.is-team{justify-self:start;border-bottom-left-radius:8px}.detail-message-meta{margin:0;font-size:.68rem;font-weight:600;letter-spacing:.01em;color:#64748b}.detail-message-body{margin:.24rem 0 0;font-size:.86rem;line-height:1.4;color:#0f172a;white-space:pre-wrap}.detail-message-form{display:grid;gap:.55rem;border:1px solid #dbe3ef;border-radius:14px;background:#fff;padding:.6rem}.detail-message-form textarea{width:100%;border-radius:12px;border:1px solid #dbe3ef;background:#f8fafc;padding:.62rem .75rem;font:inherit;min-height:84px;max-height:180px;resize:vertical}.detail-message-actions{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.detail-chat-modal-shell{display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr);gap:.95rem;min-height:560px;background:#f1f5f9;border-radius:14px;padding:.75rem}.detail-chat-list{border:1px solid #dbe3ef;border-radius:14px;background:#fff;overflow-y:auto;padding:.45rem;display:grid;gap:.35rem;align-content:start}.detail-chat-item{width:100%;border:1px solid #e2e8f0;border-radius:12px;background:#fff;text-align:left;padding:.6rem .65rem;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.detail-chat-item:hover{background:#f8fafc;border-color:#cbd5e1}.detail-chat-item.is-active{background:#fff7ed;border-color:#fdba74}.detail-chat-item-title{margin:0;font-size:.84rem;font-weight:600;color:#0f172a;display:inline-flex;align-items:center;gap:.4rem}.chat-list-indicator{box-shadow:none}.detail-chat-right{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:.75rem;min-height:0}@media (max-width: 900px){.detail-chat-modal-shell{grid-template-columns:1fr;min-height:0}.detail-chat-list{max-height:140px}}.detail-table{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.detail-table-head,.detail-table-row{display:grid;grid-template-columns:1.4fr 1.2fr .8fr 1.6fr .5fr .7fr;gap:.6rem;padding:.6rem .8rem;align-items:center;font-size:.88rem}.detail-doc-table .detail-table-head,.detail-doc-table .detail-table-row{grid-template-columns:minmax(0,1fr) auto}.detail-doc-table{display:flex;flex-direction:column;flex:1;min-height:0}.detail-doc-table .detail-table-body{flex:1;max-height:none}.detail-doc-table .detail-table-head span:last-child{text-align:right}.summary-table .detail-table-head,.summary-table .detail-table-row{grid-template-columns:minmax(140px,1fr) 140px minmax(0,2fr) auto}.diagnoses-table .detail-table-head,.diagnoses-table .detail-table-row{grid-template-columns:minmax(170px,1.5fr) minmax(140px,1.2fr) 130px minmax(120px,1fr) minmax(80px,.7fr) auto}.medications-table .detail-table-head,.medications-table .detail-table-row{grid-template-columns:minmax(150px,1.4fr) minmax(90px,.9fr) minmax(90px,.9fr) minmax(110px,1fr) minmax(90px,.8fr) auto}.summary-table .detail-table-head span:last-child,.summary-table .detail-table-row span:last-child,.diagnoses-table .detail-table-head span:last-child,.diagnoses-table .detail-table-row span:last-child,.medications-table .detail-table-head span:last-child,.medications-table .detail-table-row span:last-child{justify-self:end;text-align:right}.detail-row-actions{width:100%;display:inline-flex;justify-content:flex-end;gap:.4rem}.detail-icon-action{width:26px;height:26px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.detail-icon-action svg{width:14px;height:14px;fill:#334155}.detail-icon-action img{width:12px;height:12px}.detail-icon-action:hover{background:#f8fafc}.detail-icon-action.is-danger:hover{background:#fee2e2;border-color:#fecaca}.summary-snippet{color:#475569}.empty-state{margin:.85rem 0 0;color:#64748b;font-size:.9rem}.note-indicator{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:transparent;color:#c2410c;font-size:.85rem}.note-indicator img{width:14px;height:14px;display:block}.note-indicator.is-empty{background:#f8fafc;color:#94a3b8}.detail-table-head{font-weight:600;color:#64748b;background:#f8fafc}.detail-table-row span{font-size:.88rem;font-weight:600;color:#0f172a}.detail-doc-table .detail-table-row span{font-weight:400}.detail-table-body{max-height:220px;overflow-y:auto;background:#fff}.detail-table-row+.detail-table-row{border-top:1px solid #f1f5f9}.detail-item{border:1px solid #e5e7eb;border-radius:12px;padding:.75rem;display:grid;gap:.4rem}.detail-item-title{margin:0;font-weight:700}.detail-item-meta{margin:0;color:#64748b;font-size:.9rem}.detail-med-grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.detail-med-card{background:#fff;border-radius:12px;padding:.8rem;display:grid;gap:.6rem;border:1px solid #e2e8f0}.detail-med-head{display:flex;align-items:center;justify-content:space-between;font-weight:600}.detail-med-table{display:grid;gap:.6rem;max-height:180px;overflow-y:auto}.detail-med-row{display:grid;gap:.4rem;grid-template-columns:1.2fr .8fr .8fr;border-top:1px solid #e5e7eb;padding-top:.6rem}.detail-med-row:first-child{border-top:none;padding-top:0}.detail-pill{border-radius:999px;padding:.2rem .6rem;background:#dcfce7;color:#15803d;font-size:.75rem;font-weight:600}.detail-pill.muted{background:#e2e8f0;color:#475569}.detail-callout{border-radius:12px;padding:.8rem;background:#fff7ed;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem}.detail-callout-title{margin:0 0 .2rem;font-weight:700}.detail-callout-copy{margin:0;color:#64748b}.detail-tags{display:flex;gap:.5rem;flex-wrap:wrap}.detail-tag{border-radius:999px;padding:.2rem .6rem;background:#ccfbf1;color:#0f766e;font-size:.75rem;font-weight:600}.detail-docs{display:grid;gap:.6rem}.detail-doc{border:1px solid #e2e8f0;border-radius:12px;padding:.75rem;display:flex;align-items:center;justify-content:space-between;gap:.8rem}.detail-doc-actions{display:flex;align-items:center;gap:.5rem}.detail-doc-icon-button{width:30px;height:30px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;display:inline-flex;align-items:center;justify-content:center;color:#0f172a;transition:all .2s}.detail-doc-icon-button:hover{background:#f8fafc;border-color:#cbd5f5}.detail-doc-icon-button.is-disabled{opacity:.4;pointer-events:none}.detail-doc-icon-button.is-danger{color:#b91c1c}.detail-doc-icon{width:16px;height:16px;display:block}.detail-doc-link{color:#0f172a;text-decoration:none}.detail-doc-link:hover{text-decoration:underline;color:#2563eb}.detail-note,.detail-empty{color:#64748b;font-size:.85rem}[data-detail-imaging] .detail-empty,[data-detail-labs] .detail-empty,[data-detail-appointments] .detail-empty,[data-detail-summaries] .detail-empty,[data-detail-diagnoses] .detail-empty,[data-detail-medications] .detail-empty{padding-left:.8rem}.patient-table-body{overflow-y:auto;padding-right:.2rem}.patient-table-body .table-row+.table-row{border-top:1px solid #f3f4f6}.table-toolbar{padding:.4rem .4rem .8rem}.table-search{display:grid;gap:.35rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:#64748b}.table-search input{padding:.55rem .75rem;border-radius:10px;border:1px solid #e2e8f0;background:#fff;font-size:.9rem;color:#0f172a;width:min(360px,100%)}.patient-row{grid-template-columns:1.1fr 1.1fr 1.1fr .9fr 1fr 1.1fr .8fr .8fr}.patient-table-body .patient-row{cursor:pointer}.patient-table-body .patient-row:hover{background:#f8fafc}.patient-actions{display:inline-flex;gap:.4rem;flex-wrap:nowrap;white-space:nowrap}.patient-name-cell{display:inline-flex;align-items:center;gap:.4rem}.patient-list-indicator{box-shadow:none}.cell-stack{display:grid;gap:.15rem}.patient-name{font-weight:600}.patient-sub{color:#6b7280;font-size:.8rem}.medication-board{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.medication-card{background:#fff;border-radius:18px;padding:1rem 1.2rem;box-shadow:0 12px 24px #0f172a14}.medication-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.medication-head h4{margin:0;font-size:1rem}.medication-table{display:grid;gap:0}.med-row{display:grid;grid-template-columns:1.2fr .9fr 1fr 1fr 1.2fr;gap:.6rem;padding:.55rem .4rem;align-items:center;font-size:.88rem}.med-head{font-weight:600;color:#6b7280}.med-row+.med-row{border-top:1px solid #f1f5f9}.medication-features{margin-top:.9rem;background:#fff;border-radius:16px;padding:1rem 1.2rem;box-shadow:0 12px 24px #0f172a14;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.feature-label{margin:0 0 .2rem;text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;font-weight:700;color:#f97316}.feature-copy{margin:0;color:#6b7280;max-width:420px}.feature-tags{display:flex;flex-wrap:wrap;gap:.6rem}.feature-pill{background:var(--accent-soft);color:var(--accent-dark);padding:.3rem .8rem;border-radius:999px;font-size:.82rem;font-weight:600}.calendar-grid{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.calendar-card{background:#fff;border-radius:16px;padding:1rem;box-shadow:0 12px 24px #0f172a14;text-align:center}.calendar-card.is-active{border:2px solid #6366f1}.calendar-day{margin:0;color:#6b7280}.calendar-card h4{margin:.4rem 0;font-size:1.4rem}.calendar-meta{margin:0;color:#6b7280;font-size:.85rem}.calendar-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:1.6rem;align-items:stretch;min-height:0}.dash-main>.calendar-shell{height:100%;min-height:0}.calendar-shell:has(.calendar-panel:only-child){grid-template-columns:1fr}.calendar-panel{background:#fff;border-radius:20px;padding:.8rem 1.4rem 1.4rem;box-shadow:0 12px 24px #0f172a14;display:grid;grid-template-rows:auto minmax(0,1fr);gap:.6rem;position:relative;overflow:hidden;min-width:0;min-height:0;height:100%}.calendar-view{min-height:0;height:100%}.blank-panel{min-height:620px}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.4rem}.calendar-actions{display:flex;align-items:center;gap:.75rem}.calendar-book-button{white-space:nowrap}.calendar-toggle{display:inline-flex;gap:.25rem;padding:.2rem;border-radius:999px;background:#f3f4f6}.toggle-pill{border:none;background:transparent;color:#6b7280;font-weight:600;padding:.35rem .9rem;border-radius:999px;cursor:pointer}.toggle-pill.is-active{background:#111827;color:#fff}.calendar-panel[data-view=week] .calendar-view-month,.calendar-panel[data-view=month] .calendar-view-week{display:none}.calendar-header h3{margin:0 0 .2rem}.calendar-subtitle{margin:0;color:#6b7280;font-size:.9rem}.calendar-week-view{display:grid;grid-template-columns:80px minmax(0,1fr);gap:0;position:relative;overflow-x:auto;overflow-y:auto;height:100%;max-height:none;border-right:1px solid #e5e7eb;min-width:0;min-height:0;align-items:start;scrollbar-gutter:stable;align-content:start}.calendar-time-column{display:flex;flex-direction:column;border-right:1px solid #e5e7eb;position:relative;z-index:10;align-items:stretch;margin:0;padding:0}.time-header{height:60px;min-height:60px;max-height:60px;border-bottom:none;display:flex;align-items:center;justify-content:center;position:sticky;top:0;z-index:20;background:#fff;box-shadow:none;box-sizing:border-box}.time-slots{display:flex;flex-direction:column;margin:0;padding:0}.time-slot{height:60px;min-height:60px;max-height:60px;padding:.25rem .5rem 0;font-size:.75rem;color:#6b7280;text-align:right;display:flex;align-items:flex-start;justify-content:flex-end;box-sizing:border-box;margin:0}.calendar-days-container{display:flex;flex-direction:column;min-height:0;min-width:0;position:relative;overflow:hidden;width:100%;align-items:stretch}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;text-align:center;font-weight:600;color:#6b7280;font-size:.85rem;border-bottom:none;border-left:1px solid #e5e7eb;position:sticky;top:0;z-index:20;background:#fff;box-shadow:0 2px 4px #0000000d;min-width:0;width:100%;align-items:stretch;margin:0;padding:0}.calendar-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem;height:100%;max-height:none;overflow-y:auto;padding-right:.2rem}.weekday-header{padding:.75rem .5rem;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;gap:.25rem;height:60px;min-height:60px;max-height:60px;box-sizing:border-box;justify-content:center;min-width:0;overflow:hidden;width:100%;margin:0}.weekday-header:nth-child(7n){border-right:none}.weekday-header.is-today{background:#fff7ed;color:#f59e0b;font-weight:700}.weekday-header.is-closed{background:#f3f4f6;color:#9ca3af}.weekday-name{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.weekday-date{font-size:.9rem}.calendar-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:60px;gap:0;position:relative;border-left:1px solid #e5e7eb;min-width:0;width:100%;align-items:stretch;margin:0;padding:0}.week-time-cell{border-right:1px solid #e5e7eb;padding:.25rem;height:60px;min-height:60px;max-height:60px;position:relative;cursor:pointer;transition:background-color .15s;box-sizing:border-box;min-width:0;overflow:hidden;width:100%}.week-time-cell:nth-child(7n){border-right:none}.week-time-cell:hover{background:#f9fafb}.week-time-cell.is-closed{background:#e5e7eb}.week-time-cell.is-outside{background:#e5e7eb;cursor:not-allowed}.week-time-cell.is-booked{background:#f1f5f9;cursor:not-allowed}.week-time-cell.is-today{background:#fff7ed}.week-time-cell.has-appointment{background:#f8fafc}.week-appointment{background:var(--event-bg, #e0e7ff);border-left:3px solid var(--event-border, #6366f1);border-radius:4px;padding:.4rem .5rem;margin-bottom:.25rem;font-size:.75rem;cursor:pointer;max-height:calc(100% - .25rem);overflow:hidden;position:relative}.appointment-title{font-weight:600;color:#1e293b;margin-bottom:.15rem}.appointment-time{font-size:.7rem;color:#64748b}.appointment-secondary{font-size:.65rem;color:#475569;margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.appointment-email{font-size:.65rem;color:#94a3b8;margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.approval-indicator{display:inline-flex;align-items:center;justify-self:start;width:fit-content;max-width:max-content;border-radius:999px;border:1px solid transparent;padding:.08rem .36rem;margin-bottom:.2rem;font-size:.58rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.approval-indicator.pending{background:#fffbeb;border-color:#facc15;color:#92400e}.approval-indicator.approved{background:#ecfdf5;border-color:#86efac;color:#166534}.approval-indicator.rejected{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.calendar-cell{border:1px solid #eef2ff;border-radius:12px;background:#f8fafc;padding:.5rem;min-height:110px;text-align:left;display:grid;gap:.3rem;cursor:pointer;width:100%}.calendar-cell.is-other{background:#f1f5f9;color:#94a3b8}.calendar-cell.is-today{border-color:#f59e0b;background:#fff7ed}.calendar-cell.is-selected{border-color:#6366f1;background:#eef2ff}.calendar-cell.is-closed{background:#f3f4f6;color:#9ca3af}.day-number{font-weight:700;font-size:.95rem}.day-count{font-size:.7rem;font-weight:600;color:#4f46e5}.day-events{display:grid;gap:.35rem}.event-pill{background:var(--event-bg, #e0e7ff);border-left:3px solid var(--event-border, #6366f1);border-radius:8px;padding:.35rem .5rem;font-size:.72rem;text-align:left;position:relative}.event-owner{margin:0 0 .1rem;color:#334155;font-size:.64rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment-ics-dot{position:absolute;top:.3rem;right:.3rem;width:7px;height:7px;border-radius:999px;border:1px solid rgba(15,23,42,.18)}.appointment-ics-dot.is-pending{background:#ef4444}.appointment-ics-dot.is-downloaded{background:#22c55e}.event-title{margin:0 0 .15rem;font-weight:600;color:#1e293b}.event-time{margin:0;color:#64748b}.event-secondary{margin:0 0 .1rem;color:#475569;font-size:.66rem;font-weight:600}.week-appointment.approval-pending,.event-pill.approval-pending{background:#fff7ed;border-left-color:#f97316}.week-appointment.approval-approved,.event-pill.approval-approved{background:#dbeafe;border-left-color:#2563eb}.week-appointment.approval-rejected,.event-pill.approval-rejected{background:#fef2f2;border-left-color:#dc2626}.type-seizure-consult{--event-bg: #e8fbd0;--event-border: #84cc16}.type-general-neurology{--event-bg: #dbeafe;--event-border: #3b82f6}.type-follow-up{--event-bg: #ede9fe;--event-border: #8b5cf6}.type-video-consult{--event-bg: #d1fae5;--event-border: #10b981}.type-default{--event-bg: #f1f5f9;--event-border: #64748b}.day-more{font-size:.7rem;color:#6366f1;font-weight:600}.current-time-indicator{position:absolute;height:2px;background:#ef4444;z-index:10;pointer-events:none;top:0;left:0}.current-time-indicator:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:8px;height:8px;background:#ef4444;border-radius:50%}.current-time-label{position:absolute;left:12px;top:50%;transform:translateY(-50%);background:#ef4444;color:#fff;font-size:.65rem;font-weight:600;padding:.15rem .4rem;border-radius:4px;white-space:nowrap;z-index:11;pointer-events:none}.calendar-booking{display:grid;gap:1.4rem;align-content:start}.modal{position:fixed;inset:0;display:grid;place-items:center;z-index:40}.modal[hidden],.patient-detail-card[hidden],.patient-table[hidden]{display:none}.modal-backdrop{position:absolute;inset:0;background:#0f172a73}.modal-card{position:relative;z-index:1;width:min(520px,92vw);background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 20px 40px #0f172a33;display:grid;gap:1rem;max-height:90vh;overflow-y:auto}.modal-card.is-wide{width:min(75vw,980px)}.modal-card.is-tall{max-height:calc(90vh + 300px)}.modal-card.is-tall .modal-form textarea{min-height:540px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.modal-close{border:none;background:transparent;color:#111827;font-size:1.4rem;line-height:1;font-weight:700;cursor:pointer}.modal-form{display:grid;gap:.9rem}.form-grid{display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr))}.form-field{display:grid;gap:.4rem;font-weight:600;color:#374151}.form-field span{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#64748b}.form-field input,.form-field select{border:1px solid #e2e8f0;border-radius:10px;padding:.55rem .7rem;font-size:.95rem;color:#0f172a}.form-field.full{grid-column:1 / -1}.form-section h4{margin:0 0 .6rem;font-size:1rem}.modal-actions{display:flex;justify-content:space-between;gap:.8rem;align-items:center}.modal-actions-right{display:inline-flex;align-items:center;gap:.8rem}.modal-status{margin:0;font-weight:600;color:#6b7280}.modal-status[data-modal-video-link]{display:grid;gap:.45rem;padding:.75rem;border:1px solid #e2e8f0;border-radius:.7rem;background:#f8fafc;font-weight:500}.modal-video-detail{display:grid;gap:.16rem;min-width:0}.modal-video-detail strong{color:#334155;font-size:.78rem}.modal-video-detail span,.modal-video-detail a,.modal-video-empty{color:#475569;overflow-wrap:anywhere}.modal-status[data-state=success]{color:#15803d}.modal-status[data-state=error]{color:#b91c1c}.booking-card{background:#fff;border-radius:18px;padding:1.4rem;box-shadow:0 12px 24px #0f172a14;display:grid;gap:1rem}.booking-date{margin:0;color:#6b7280}.booking-status{margin:0;font-weight:600;color:#6b7280}.booking-status[data-state=success]{color:#15803d}.booking-status[data-state=error]{color:#b91c1c}.day-appointments{display:grid;gap:.8rem}.quick-card,.upload-card{background:#fff;border-radius:18px;padding:1.5rem;box-shadow:0 12px 24px #0f172a14;display:grid;gap:1.2rem}.quick-card h3,.upload-card h3{margin:0 0 .4rem}.quick-card p,.upload-card p{margin:0;color:#6b7280}.quick-form{display:grid;gap:.9rem}.quick-status{margin:0;font-size:.95rem;color:#6b7280}.quick-status[data-state=success]{color:#15803d}.quick-status[data-state=error]{color:#b91c1c}.quick-status[data-state=pending]{color:#0f172a}.quick-actions{display:flex;flex-wrap:wrap;gap:.8rem}.quick-subhead{margin-top:1.2rem}.upload-drop{border:2px dashed #c7d2fe;border-radius:16px;padding:2rem;display:grid;gap:1rem;justify-items:center;background:#eef2ff}.day-checkboxes{gap:.6rem}.day-option{display:flex;align-items:center;gap:0;font-weight:500;color:#111827;justify-content:flex-start}.day-option span{margin-left:5px}.data-list{margin-top:1rem;display:grid;gap:.75rem}.data-card{border:1px solid var(--border);border-radius:12px;padding:.85rem;background:#f8fafc}.data-title{margin:0 0 .25rem;font-weight:600}.data-meta{margin:0;font-size:.9rem;color:var(--muted)}.button-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}.small{padding:.35rem .75rem;border-radius:999px;border:1px solid var(--border);background:#fff;font-size:.8rem;font-weight:600;color:var(--accent-dark)}.small.message-trigger{display:inline-flex;align-items:center;gap:.45rem}.site-footer{padding:2.5rem 0;background:#0f172a;color:#e2e8f0}.footer-content{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}@media (max-width: 720px){.site-header{position:static}.nav{width:100%;justify-content:flex-start}.vet-dashboard{grid-template-columns:1fr;padding:.65rem}.dash-sidebar{min-height:auto;overflow:visible;max-height:none}.dash-main{overflow:visible}.dash-grid,.calendar-shell{grid-template-columns:1fr}.table-row,.med-row,.patient-row{grid-template-columns:1fr 1fr;gap:.4rem 1rem}.form-grid{grid-template-columns:1fr}.patient-table,.patient-detail-card{height:auto}.detail-header{flex-direction:column;align-items:flex-start}.detail-shell,.detail-med-row{grid-template-columns:1fr}.detail-doc{flex-direction:column;align-items:flex-start}.detail-table-head,.detail-table-row{grid-template-columns:1fr}}.patient-shell{height:100vh;min-height:100vh;display:grid;grid-template-columns:260px 1fr;gap:1.25rem;padding:1rem;background:#f3f3f3;overflow:hidden}.patient-page,.patient-page *,.patient-shell *{font-weight:400!important}.patient-side{background:#ececec;border-radius:1.5rem;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;min-height:0;overflow:hidden}.patient-brand{font-size:1.9rem;font-weight:800;letter-spacing:-.03em}.patient-pet-switcher{background:#f7f7f7;border:1px solid #e5e5e5;border-radius:1rem;padding:.85rem;display:grid;gap:.5rem}.patient-pet-switcher label{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#475569}.patient-pet-switcher-row{display:grid;grid-template-columns:1fr auto;gap:.5rem}.patient-pet-switcher select{min-height:2.3rem;border-radius:.7rem;border:1px solid #d6d6d6;background:#fff;padding:.35rem 2rem .35rem .6rem;font:inherit}.patient-pet-add{width:2.3rem;min-height:2.3rem;border:none;border-radius:.7rem;background:#f97316;color:#fff;font:inherit;font-size:1.2rem;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.patient-doctor-card,.patient-membership,.patient-nav,.patient-footer,.patient-signout-under-appointments,.patient-appointments-card{background:#f7f7f7;border:1px solid #e5e5e5;border-radius:1.25rem;padding:1rem}.patient-doctor-avatar{width:54px;height:54px;border-radius:999px;background:linear-gradient(135deg,#242424,#5c5c5c);color:#fff;display:grid;place-items:center;font-weight:700}.patient-doctor-rating{display:inline-block;margin-top:.6rem;font-size:.72rem;border-radius:999px;padding:.2rem .5rem;background:#fff;border:1px solid #ececec}.patient-doctor-card h3{margin:.8rem 0 .35rem;font-size:1.5rem}.patient-doctor-card p{margin:0;color:#616161}.patient-nav{display:grid;gap:.2rem}.patient-footer{margin-top:auto;display:grid;gap:.2rem}.patient-nav a,.patient-footer a,.patient-signout-under-appointments{color:#111;text-decoration:none;padding:.65rem .75rem;border-radius:.6rem;font-weight:600}.patient-nav a.message-trigger,.dash-nav a.message-trigger{display:flex;align-items:center;justify-content:space-between}.message-indicator{width:.48rem;height:.48rem;border-radius:999px;background:#ef4444;box-shadow:0 0 0 2px #fff;flex:0 0 auto}.patient-nav a.is-active{color:#ff6b57;background:#fff}.patient-appointments-card{display:grid;gap:.55rem;min-height:0;flex:1;align-content:flex-start;overflow:auto}.patient-owner-appointments-section{display:grid;gap:.4rem}.patient-owner-appointments-section+.patient-owner-appointments-section{border-top:1px solid #e2e8f0;padding-top:.55rem;margin-top:.2rem}.patient-owner-appointments-section h5{margin:.2rem 0 0;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.patient-appointments-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.patient-appointments-head h4{margin:0;font-size:1rem}.patient-appointments-add{width:2rem;min-height:2rem;border:none;border-radius:.7rem;background:#f97316;color:#fff;font:inherit;font-size:1.05rem;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.patient-owner-appointment{position:relative;border:0;border-radius:0;background:transparent;padding:.1rem 0;display:grid;gap:.18rem}.patient-owner-appointment.is-today{padding-right:1rem}.patient-owner-appointment.is-today:after,.patient-owner-appointment.is-approved:after{content:"";position:absolute;top:.1rem;right:0;width:8px;height:8px;border-radius:999px;background:#dc2626}.patient-owner-appointment.is-approved{padding-right:1rem}.patient-owner-appointment.is-approved:after{background:#16a34a}.patient-owner-appointment p{margin:0}.patient-owner-appointment-head{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.patient-owner-request-actions{display:inline-flex;align-items:center;gap:.35rem}.patient-owner-appointment-pet{font-weight:700;color:#111827}.patient-owner-appointment-meta{font-size:.83rem;color:#4b5563}.patient-owner-appointment-type{font-size:.75rem;color:#64748b}.patient-owner-appointment-link{justify-self:start;font-size:.78rem;font-weight:700;color:#ea580c;text-decoration:none}.patient-owner-appointment-link:hover{text-decoration:underline}.patient-owner-appointment-cancel{width:24px;height:24px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.patient-owner-appointment-cancel img{width:12px;height:12px}.patient-owner-appointment-cancel:hover{background:#fee2e2;border-color:#fecaca}.patient-membership{margin-top:auto;background:radial-gradient(circle at 85% 20%,#2d2d2d,#0f0f0f 65%);color:#fff}.patient-membership h4{margin:0 0 .35rem;font-size:1.5rem}.patient-membership p{margin:0 0 .75rem;color:#d7d7d7}.patient-membership button,.patient-identity button{border-radius:999px;border:1px solid #f0f0f0;background:#fff;color:#1c1c1c;padding:.45rem .9rem;font-weight:600}.patient-main{background:#ececec;border-radius:1.5rem;padding:1.1rem;display:grid;grid-template-rows:auto 1fr;gap:1rem;min-height:0;overflow:hidden}.patient-records{min-height:0;overflow:hidden}.patient-records .detail-shell{height:100%}.patient-topbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.patient-crumbs{color:#6a6a6a;font-weight:600}.patient-top-actions{display:flex;gap:.55rem}.patient-top-actions button{width:38px;height:38px;border-radius:.65rem;border:1px solid #e2e2e2;background:#f8f8f8;color:#1a1a1a}.summary-view-notes{white-space:pre-wrap;margin:0}.patient-hero-card,.patient-vitals,.patient-history{background:#f8f8f8;border:1px solid #e8e8e8;border-radius:1.2rem;padding:1rem}.patient-hero-card{display:grid;grid-template-columns:1.15fr 1.85fr;gap:1.1rem}.patient-identity{border-right:1px solid #e4e4e4;padding-right:1rem}.patient-avatar{width:100px;height:100px;border-radius:999px;background:linear-gradient(160deg,#ffc6a8,#ffd8c4);color:#1a1a1a;display:grid;place-items:center;font-size:1.4rem;font-weight:700}.patient-identity h2{margin:.95rem 0 .25rem;font-size:2.3rem}.patient-identity p{margin:0 0 .8rem;color:#5d5d5d}.patient-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.patient-metrics span{display:block;color:#7a7a7a;font-size:.85rem}.patient-metrics strong{display:block;margin-top:.3rem;font-size:1.35rem}.patient-vitals h3,.patient-history h3{margin:0 0 .7rem;font-size:1.85rem}.patient-vitals-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.patient-vitals-grid article{background:#fcfcfc;border:1px solid #ececec;border-radius:1rem;padding:.85rem}.patient-vitals-grid p{margin:0;color:#666}.patient-vitals-grid h4{margin:.35rem 0 .2rem;font-size:2rem}.patient-vitals-grid small{color:#18a068;font-weight:600}.patient-vitals-grid small.is-alert{color:#d65151}.patient-history-head{display:flex;justify-content:space-between;align-items:baseline}.patient-history-head p{margin:0;color:#777;font-weight:600}.patient-history-table-wrap{overflow-x:auto}.patient-history-table{width:100%;border-collapse:collapse;background:#fff;border-radius:.8rem;overflow:hidden}.patient-history-table th,.patient-history-table td{text-align:left;padding:.8rem;border-bottom:1px solid #efefef}.patient-history-table th{font-size:.85rem;color:#656565}.patient-history-table td{font-weight:600}.patient-history-table a{color:#1a1a1a}.patient-history-table .tag{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.8rem}.patient-history-table .tag.is-high{background:#ffe5e5;color:#c74b4b}.patient-history-table .tag.is-low{background:#e8faef;color:#18945f}.patient-history-table .tag.is-pending{background:#ffe9e5;color:#d75f49}.patient-history-table .tag.is-done{background:#e7f7eb;color:#1a9c64}@media (max-width: 1120px){.patient-shell{height:auto;min-height:100vh;grid-template-columns:1fr;overflow:visible}.patient-side{order:2;max-height:none;overflow:visible}.patient-main{order:1;overflow:visible}.patient-records{overflow:visible}.patient-records .detail-shell{height:auto}.patient-hero-card{grid-template-columns:1fr}.patient-identity{border-right:0;padding-right:0;border-bottom:1px solid #e4e4e4;padding-bottom:1rem}.patient-vitals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-page .detail-profile-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.patient-shell{padding:.65rem}.patient-brand{font-size:1.55rem}.patient-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-vitals-grid{grid-template-columns:1fr}.patient-identity h2{font-size:1.65rem}.patient-page .detail-profile-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
