:root{--font-heading: "Outfit", sans-serif;--font-body: "Plus Jakarta Sans", sans-serif;--transition-fast: .15s cubic-bezier(.16, 1, .3, 1);--transition-normal: .25s cubic-bezier(.16, 1, .3, 1);--transition-slow: .4s cubic-bezier(.16, 1, .3, 1);--radius-xs: 6px;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--radius-full: 9999px;--shadow-sm: 0 2px 8px -2px rgba(15, 23, 42, .05);--shadow-md: 0 12px 24px -6px rgba(15, 23, 42, .08);--shadow-lg: 0 20px 40px -10px rgba(15, 23, 42, .12);--shadow-glow: 0 0 20px rgba(16, 185, 129, .2);--sidebar-width: 280px;--header-height: 80px;--hue-primary: 161;--hue-success: 142;--hue-warning: 38;--hue-error: 350;--hue-blue: 217;--hue-purple: 262}[data-theme=light]{--bg-app: #f8fafc;--bg-sidebar: #ffffff;--bg-header: rgba(255, 255, 255, .75);--bg-card: #ffffff;--bg-card-soft: #f1f5f9;--bg-glass: rgba(255, 255, 255, .7);--bg-glass-hover: rgba(255, 255, 255, .95);--bg-modal: rgba(255, 255, 255, .85);--border-color: #e2e8f0;--border-color-soft: #f1f5f9;--border-glass: rgba(226, 232, 240, .6);--border-active: hsl(var(--hue-primary), 64%, 35%);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--text-white: #ffffff;--primary: hsl(var(--hue-primary), 72%, 36%);--primary-hover: hsl(var(--hue-primary), 72%, 28%);--primary-soft: hsla(var(--hue-primary), 72%, 36%, .08);--primary-soft-hover: hsla(var(--hue-primary), 72%, 36%, .15);--success: hsl(var(--hue-success), 72%, 38%);--success-soft: hsla(var(--hue-success), 72%, 38%, .08);--warning: hsl(var(--hue-warning), 92%, 45%);--warning-soft: hsla(var(--hue-warning), 92%, 45%, .08);--error: hsl(var(--hue-error), 84%, 55%);--error-soft: hsla(var(--hue-error), 84%, 55%, .08);--blue: hsl(var(--hue-blue), 84%, 54%);--blue-soft: hsla(var(--hue-blue), 84%, 54%, .08);--purple: hsl(var(--hue-purple), 72%, 56%);--purple-soft: hsla(var(--hue-purple), 72%, 56%, .08);--gradient-hero: linear-gradient(135deg, #0f172a 0%, #022c22 100%);--gradient-glow: linear-gradient(135deg, hsla(var(--hue-primary), 70%, 45%, .25) 0%, hsla(var(--hue-blue), 70%, 55%, .1) 100%);--gradient-primary: linear-gradient(135deg, hsl(var(--hue-primary), 72%, 36%) 0%, hsl(var(--hue-primary), 64%, 28%) 100%);--glass-blur: 16px;--sidebar-shadow: 1px 0 0 0 var(--border-color)}[data-theme=dark]{--bg-app: #070913;--bg-sidebar: #0b0e1e;--bg-header: rgba(11, 14, 30, .7);--bg-card: #11152d;--bg-card-soft: #171d3c;--bg-glass: rgba(17, 21, 45, .65);--bg-glass-hover: rgba(23, 29, 60, .85);--bg-modal: rgba(11, 14, 30, .9);--border-color: rgba(255, 255, 255, .08);--border-color-soft: rgba(255, 255, 255, .04);--border-glass: rgba(255, 255, 255, .06);--border-active: hsl(var(--hue-primary), 70%, 50%);--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #64748b;--text-white: #ffffff;--primary: #10b981;--primary-hover: #34d399;--primary-soft: rgba(16, 185, 129, .12);--primary-soft-hover: rgba(16, 185, 129, .22);--success: #10b981;--success-soft: rgba(16, 185, 129, .12);--warning: #f59e0b;--warning-soft: rgba(245, 158, 11, .12);--error: #f43f5e;--error-soft: rgba(244, 63, 94, .12);--blue: #3b82f6;--blue-soft: rgba(59, 130, 246, .12);--purple: #a855f7;--purple-soft: rgba(168, 85, 247, .12);--gradient-hero: linear-gradient(135deg, #11152d 0%, #03201a 100%);--gradient-glow: linear-gradient(135deg, rgba(16, 185, 129, .15) 0%, rgba(59, 130, 246, .05) 100%);--gradient-primary: linear-gradient(135deg, #10b981 0%, #059669 100%);--shadow-md: 0 12px 30px -6px rgba(0, 0, 0, .5);--shadow-lg: 0 24px 50px -12px rgba(0, 0, 0, .7);--glass-blur: 24px;--sidebar-shadow: 1px 0 0 0 rgba(255, 255, 255, .05)}*{margin:0;padding:0;box-sizing:border-box;outline:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--text-secondary);background-color:var(--bg-app);overflow:hidden;height:100vh;width:100vw;transition:background-color var(--transition-slow)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-primary);font-weight:700;line-height:1.25}input,select,textarea,button{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;background:none;border:none;transition:all var(--transition-normal)}a{color:inherit;text-decoration:none}ul{list-style:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.hidden{display:none!important}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:16px}.mt-4{margin-top:24px}.w-100{width:100%!important}.alert-text{color:var(--error)!important;font-weight:600!important}.app-container{display:flex;height:100vh;width:100vw;overflow:hidden}.bg-glass{background-color:var(--bg-glass);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-glass);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal),box-shadow var(--transition-normal),background-color var(--transition-slow),border-color var(--transition-slow)}.bg-glass:hover{background-color:var(--bg-glass-hover);box-shadow:var(--shadow-md)}.bg-glass-soft{background-color:var(--bg-card-soft);border:1px solid var(--border-color-soft);border-radius:var(--radius-md)}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;line-height:1}.badge-success{background-color:var(--success-soft);color:var(--success)}.badge-warning{background-color:var(--warning-soft);color:var(--warning)}.badge-error{background-color:var(--error-soft);color:var(--error)}.badge-blue{background-color:var(--blue-soft);color:var(--blue)}.badge-purple{background-color:var(--purple-soft);color:var(--purple)}.bg-primary-soft{background-color:var(--primary-soft);color:var(--primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-weight:600;font-size:14px;border-radius:var(--radius-sm);white-space:nowrap}.btn-primary{background:var(--gradient-primary);color:var(--text-white);box-shadow:0 4px 12px hsla(var(--hue-primary),70%,35%,.2)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px hsla(var(--hue-primary),70%,35%,.35)}.btn-secondary{background-color:var(--bg-card-soft);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--border-color)}.btn-primary-soft{background-color:var(--primary-soft);color:var(--primary)}.btn-primary-soft:hover{background-color:var(--primary-soft-hover)}.btn-sm{padding:6px 12px;font-size:12px;border-radius:var(--radius-xs)}.btn-text{color:var(--primary);font-weight:600;font-size:13px}.btn-text:hover{text-decoration:underline}.sidebar{width:var(--sidebar-width);background-color:var(--bg-sidebar);box-shadow:var(--sidebar-shadow);display:flex;flex-direction:column;justify-content:space-between;z-index:100;flex-shrink:0;height:100vh;transition:background-color var(--transition-slow),box-shadow var(--transition-slow)}.brand{padding:24px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border-color-soft)}.brand-logo{width:42px;height:42px;border-radius:var(--radius-sm);background:var(--gradient-primary);color:var(--text-white);display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 4px 10px hsla(var(--hue-primary),70%,35%,.25)}.brand-logo .logo-icon{display:none}.brand-logo .paw-logo{width:24px;height:24px}.brand-name h2{font-size:16px;font-weight:800;letter-spacing:-.3px}.brand-name span{font-size:11px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.8px}.sidebar-nav{flex-grow:1;padding:24px 16px;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius-sm);color:var(--text-secondary);font-weight:600;font-size:14px;margin-bottom:6px;cursor:pointer;transition:all var(--transition-normal);position:relative}.nav-item:hover,.nav-item.active{background-color:var(--primary-soft);color:var(--primary)}.nav-item.active:before{content:"";position:absolute;left:0;top:15%;height:70%;width:4px;background-color:var(--primary);border-radius:0 var(--radius-xs) var(--radius-xs) 0}.nav-icon{width:20px;height:20px}.sidebar-footer{padding:20px;border-top:1px solid var(--border-color-soft)}.theme-switcher{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background-color:var(--bg-card-soft);border-radius:var(--radius-sm);margin-bottom:16px}.theme-label{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px}.theme-toggle-btn{width:48px;height:24px;background-color:var(--border-color);border-radius:var(--radius-full);position:relative;padding:2px;transition:background-color var(--transition-normal)}.toggle-track{width:100%;height:100%;position:relative}.toggle-thumb{width:20px;height:20px;background-color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;position:absolute;left:0;transition:transform var(--transition-normal);box-shadow:0 2px 4px #0000001a}[data-theme=dark] .toggle-thumb{transform:translate(24px);background-color:#0c1020}[data-theme=dark] .theme-toggle-btn{background-color:var(--primary)}.icon-sun{display:inline}.icon-moon,[data-theme=dark] .icon-sun{display:none}[data-theme=dark] .icon-moon{display:inline}.user-profile{display:flex;align-items:center;gap:12px}.user-avatar{width:40px;height:40px;border-radius:50%;background-color:var(--primary-soft-hover);color:var(--primary);font-weight:700;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);box-shadow:inset 0 0 0 1px hsla(var(--hue-primary),70%,35%,.15)}.user-info h4{font-size:13.5px;font-weight:700}.user-info span{font-size:11px;color:var(--text-muted);font-weight:500}.main-content{flex-grow:1;display:flex;flex-direction:column;height:100vh;overflow:hidden}.top-header{height:var(--header-height);background-color:var(--bg-header);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--border-color-soft);display:flex;align-items:center;justify-content:space-between;padding:0 32px;flex-shrink:0;z-index:90;transition:background-color var(--transition-slow)}.header-search{position:relative;width:400px}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--text-muted);pointer-events:none}.header-search input{width:100%;height:42px;background-color:var(--bg-card-soft);border:1px solid var(--border-color-soft);border-radius:var(--radius-sm);padding:0 16px 0 44px;font-size:13.5px;transition:all var(--transition-normal)}.header-search input:focus{background-color:var(--bg-card);border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.search-results-dropdown{position:absolute;top:50px;left:0;width:100%;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:1000;max-height:350px;overflow-y:auto;padding:8px 0}.search-result-grp-title{padding:6px 16px;font-size:10.5px;font-weight:800;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px}.search-result-item{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;cursor:pointer;transition:background-color var(--transition-fast)}.search-result-item:hover{background-color:var(--primary-soft)}.search-result-item .title{font-weight:600;color:var(--text-primary);font-size:13px}.search-result-item .sub{font-size:11px;color:var(--text-muted)}.header-actions{display:flex;align-items:center;gap:16px}.header-btn{width:42px;height:42px;border-radius:var(--radius-sm);background-color:var(--bg-card-soft);border:1px solid var(--border-color-soft);display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;color:var(--text-secondary);transition:all var(--transition-normal)}.header-btn:hover{background-color:var(--border-color-soft);color:var(--text-primary)}.header-btn svg{width:20px;height:20px}.notif-badge{position:absolute;top:-4px;right:-4px;background-color:var(--error);color:#fff;font-size:9.5px;font-weight:800;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-app)}.notifications-dropdown{position:absolute;top:50px;right:0;width:360px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;overflow:hidden}.dropdown-header{padding:16px;border-bottom:1px solid var(--border-color-soft);display:flex;align-items:center;justify-content:space-between}.dropdown-header h3{font-size:14px}.mark-all-read{font-size:12px;color:var(--primary);font-weight:600}.notification-list{max-height:280px;overflow-y:auto}.notif-item{padding:14px 16px;display:flex;gap:12px;border-bottom:1px solid var(--border-color-soft);transition:background-color var(--transition-fast)}.notif-item:hover{background-color:var(--bg-card-soft)}.notif-item.unread{background-color:var(--primary-soft)}.notif-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:6px}.notif-indicator.urgent{background-color:var(--error)}.notif-indicator.lab{background-color:var(--blue)}.notif-indicator.update{background-color:var(--warning)}.notif-content p{font-size:12.5px;color:var(--text-secondary)}.notif-time{font-size:10.5px;color:var(--text-muted);display:block;margin-top:4px}.view-viewport{flex-grow:1;overflow-y:auto;padding:32px}.tab-view{display:none;animation:fadeIn var(--transition-slow)}.tab-view.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.welcome-widget{background:var(--gradient-hero);border-radius:var(--radius-lg);padding:32px 40px;color:var(--text-white);display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-lg);position:relative;overflow:hidden;margin-bottom:32px}.welcome-text h1{color:#fff;font-size:28px;font-weight:800;letter-spacing:-.5px;margin-bottom:6px}.welcome-text p{color:#ffffffb3;font-size:14.5px;max-width:580px;margin-bottom:24px}.welcome-text strong{color:var(--primary)}.welcome-stats{display:flex;gap:32px}.w-stat{display:flex;flex-direction:column}.w-stat .num{font-family:var(--font-heading);font-size:26px;font-weight:800;color:#fff;line-height:1.1}.w-stat .lbl{font-size:12px;color:#ffffff80;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.circular-glowing-graphic{width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,hsla(var(--hue-primary),70%,50%,.15) 0%,transparent 70%);position:relative;display:flex;align-items:center;justify-content:center}.g-paw{width:60px;height:60px;color:var(--primary);filter:drop-shadow(0 0 10px hsla(var(--hue-primary),70%,50%,.6));z-index:5;animation:float 4s ease-in-out infinite}.pulse-ring{position:absolute;border:1px dashed rgba(16,185,129,.3);border-radius:50%;animation:rotate 20s linear infinite}.ring-1{width:100px;height:100px}.ring-2{width:130px;height:130px;animation-duration:35s;animation-direction:reverse}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:32px}.metrics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}.dashboard-block{padding:24px}.block-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.b-title h3{font-size:16px}.b-title span{font-size:11.5px;color:var(--text-muted);font-weight:600}.metric-card{padding:20px;display:flex;align-items:flex-start;gap:16px}.metric-icon{width:44px;height:44px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.metric-icon svg{width:22px;height:22px}.metric-icon.emergency{background-color:var(--error-soft);color:var(--error)}.metric-icon.primary{background-color:var(--primary-soft);color:var(--primary)}.metric-icon.warning{background-color:var(--warning-soft);color:var(--warning)}.metric-info h3{font-size:12.5px;color:var(--text-muted);font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.metric-info .m-val{font-size:22px;font-weight:800;color:var(--text-primary);line-height:1.1;display:flex;align-items:center;gap:8px;margin-bottom:4px}.metric-info p{font-size:11.5px;color:var(--text-secondary)}.appointment-timeline-container{position:relative;padding-left:20px}.timeline-now-line{position:absolute;left:0;top:30px;bottom:0;width:2px;background:linear-gradient(180deg,var(--primary) 0%,rgba(16,185,129,.05) 100%)}.now-label{position:absolute;left:-20px;top:-15px;background-color:var(--primary);color:var(--text-white);font-size:9px;font-weight:800;padding:2px 5px;border-radius:var(--radius-xs);letter-spacing:.5px}.appointment-cards-list{display:flex;flex-direction:column;gap:16px}.timeline-card{display:flex;align-items:center;justify-content:space-between;padding:16px;border-left:4px solid var(--border-color)}.timeline-card.urgent-card{border-left-color:var(--error)}.timeline-card.moderate-card{border-left-color:var(--warning)}.timeline-card.routine-card{border-left-color:var(--primary)}.t-left{display:flex;align-items:center;gap:16px}.t-time{font-family:var(--font-heading);font-weight:700;font-size:14px;color:var(--text-primary);white-space:nowrap}.t-avatar{width:44px;height:44px;border-radius:50%;background-color:var(--primary-soft);color:var(--primary);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:14px}.t-info h4{font-size:14px;font-weight:700;margin-bottom:2px}.t-info p{font-size:11.5px;color:var(--text-muted)}.t-info p strong{color:var(--text-secondary)}.t-actions{display:flex;align-items:center;gap:12px}.quick-actions-panel .action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:16px}.action-btn{display:flex;flex-direction:column;align-items:center;padding:20px 10px;background-color:var(--bg-card-soft);border:1px solid var(--border-color-soft);border-radius:var(--radius-sm);gap:12px}.action-btn:hover{background-color:var(--primary-soft);border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.action-btn .a-icon{width:40px;height:40px;background-color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--primary);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal)}[data-theme=dark] .action-btn .a-icon{background-color:var(--bg-card)}.action-btn:hover .a-icon{transform:scale(1.1);background-color:var(--primary);color:var(--text-white)}.action-btn span{font-size:12.5px;font-weight:700;color:var(--text-primary)}.ward-chart-container{display:flex;justify-content:center;padding:16px 0}.radial-progress-widget{position:relative;width:140px;height:140px}.radial-svg{transform:rotate(-90deg)}.radial-bg{fill:none;stroke:var(--border-color-soft);stroke-width:8px}.radial-progress{fill:none;stroke:var(--primary);stroke-width:8px;stroke-linecap:round;transition:stroke-dashoffset var(--transition-slow)}.radial-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.radial-label .pct{font-family:var(--font-heading);font-size:24px;font-weight:800;color:var(--text-primary);display:block;line-height:1}.radial-label .txt{font-size:9.5px;color:var(--text-muted);font-weight:700;text-transform:uppercase;display:block;margin-top:2px}.ward-list{display:flex;flex-direction:column;gap:12px}.ward-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:var(--radius-sm);background-color:var(--bg-card-soft)}.ward-badge{padding:4px 8px;border-radius:var(--radius-xs);font-size:10px;font-weight:800}.ward-red{background-color:var(--error-soft);color:var(--error)}.ward-orange{background-color:var(--warning-soft);color:var(--warning)}.ward-blue{background-color:var(--blue-soft);color:var(--blue)}.ward-info{display:flex;flex-direction:column}.ward-info strong{font-size:12.5px;color:var(--text-primary)}.ward-info span{font-size:10.5px;color:var(--text-muted)}.view-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.v-title-sec h1{font-size:24px;font-weight:800}.v-title-sec p{font-size:13.5px;color:var(--text-muted)}.directory-toolbar{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;margin-bottom:24px}.directory-toolbar .search-box{width:350px}.directory-toolbar .search-box input{width:100%;height:38px;background-color:var(--bg-card-soft);border:1px solid var(--border-color-soft);border-radius:var(--radius-sm);padding:0 16px;font-size:12.5px}.filter-group{display:flex;gap:12px}.filter-group select{height:38px;background-color:var(--bg-card-soft);border:1px solid var(--border-color-soft);border-radius:var(--radius-sm);padding:0 16px;font-size:12.5px;font-weight:600;color:var(--text-secondary);cursor:pointer}.patients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.patient-card{padding:24px;display:flex;flex-direction:column;justify-content:space-between;min-height:250px}.patient-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.p-avatar-circle{width:52px;height:52px;border-radius:50%;background-color:var(--primary-soft-hover);color:var(--primary);font-family:var(--font-heading);font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 4px var(--bg-app)}.p-main-info{flex-grow:1;margin-left:14px}.p-main-info h3{font-size:15px;font-weight:800;margin-bottom:2px}.p-main-info span{font-size:11px;color:var(--text-muted);font-weight:600}.patient-card-specs{border-top:1px solid var(--border-color-soft);border-bottom:1px solid var(--border-color-soft);padding:12px 0;margin-bottom:16px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.p-spec{display:flex;flex-direction:column}.p-spec .lbl{font-size:9.5px;color:var(--text-muted);font-weight:700;text-transform:uppercase}.p-spec .val{font-size:12px;color:var(--text-primary);font-weight:600}.patient-card-footer{display:flex;align-items:center;justify-content:space-between}.owner-pill{display:flex;flex-direction:column}.owner-pill .lbl{font-size:8.5px;color:var(--text-muted);font-weight:600}.owner-pill .val{font-size:11.5px;font-weight:700;color:var(--text-secondary)}.appointments-split-layout{display:grid;grid-template-columns:1.1fr 1.9fr;gap:32px;align-items:start}.booking-form-container,.schedule-board-container{padding:24px}.date-navigator{display:flex;align-items:center;gap:8px}.nav-date-btn{background-color:var(--bg-card-soft);border:1px solid var(--border-color-soft);border-radius:var(--radius-xs);padding:4px 10px;font-size:12px;font-weight:700;color:var(--text-secondary)}.nav-date-btn:hover{background-color:var(--primary-soft);color:var(--primary);border-color:var(--primary)}.calendar-list{display:flex;flex-direction:column;gap:12px;max-height:520px;overflow-y:auto;padding-right:4px}.calendar-slot-card{display:flex;align-items:center;gap:20px;padding:14px 18px;border-radius:var(--radius-sm);background-color:var(--bg-card-soft);border:1px solid var(--border-color-soft);transition:all var(--transition-normal)}.calendar-slot-card:hover{border-color:var(--primary);transform:translate(4px);background-color:var(--bg-card)}.slot-time{font-family:var(--font-heading);font-weight:850;font-size:14.5px;color:var(--text-primary);width:65px;flex-shrink:0;display:flex;flex-direction:column;line-height:1}.slot-time .ampm{font-size:10px;font-weight:600;color:var(--text-muted)}.slot-divider{width:1px;height:35px;background-color:var(--border-color);flex-shrink:0}.slot-detail{flex-grow:1;display:flex;align-items:center;justify-content:space-between}.slot-pet-info h4{font-size:14px;font-weight:700;margin-bottom:2px}.slot-pet-info p{font-size:11.5px;color:var(--text-muted)}.slot-vet-info{text-align:right}.slot-vet-info span{font-size:11.5px;font-weight:700;color:var(--text-secondary);display:block}.slot-vet-info p{font-size:10.5px;color:var(--text-muted)}.premium-form{display:flex;flex-direction:column;gap:16px}.form-row{display:flex;gap:16px}.form-row.split-2>.form-group{width:50%}.form-row.split-3>.form-group{width:33.33%}.form-group{display:flex;flex-direction:column;gap:6px;flex-grow:1}.form-group label{font-size:11.5px;font-weight:750;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group select,.form-group textarea{height:40px;background-color:var(--bg-card-soft);border:1px solid var(--border-color-soft);border-radius:var(--radius-xs);padding:0 14px;font-size:13px;color:var(--text-primary);transition:all var(--transition-normal)}.form-group textarea{height:auto;padding:10px 14px;resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background-color:var(--bg-card);border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.required{color:var(--error)}.form-divider{font-family:var(--font-heading);font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--primary);padding-bottom:4px;border-bottom:1px dashed var(--border-color);margin:8px 0}.logs-split-layout{display:grid;grid-template-columns:1.4fr 1.6fr;gap:32px}.write-log-container,.historical-logs-container{padding:24px}.historical-logs-container .mini-search input{height:32px;font-size:11.5px}.soap-block{display:flex;flex-direction:column;gap:16px;margin-top:8px}.soap-field{display:flex;gap:16px;align-items:flex-start}.soap-letter{width:36px;height:36px;border-radius:50%;background-color:var(--primary);color:var(--text-white);font-family:var(--font-heading);font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:24px}.soap-field:nth-child(2) .soap-letter{background-color:var(--blue)}.soap-field:nth-child(3) .soap-letter{background-color:var(--warning)}.soap-field:nth-child(4) .soap-letter{background-color:var(--purple)}.logs-timeline{display:flex;flex-direction:column;gap:16px;max-height:520px;overflow-y:auto;padding-right:4px}.log-item-card{padding:16px;border:1px solid var(--border-color-soft);background-color:var(--bg-card-soft);border-radius:var(--radius-sm);transition:all var(--transition-normal)}.log-item-card:hover{border-color:var(--primary);background-color:var(--bg-card)}.log-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.log-p-info h4{font-size:13.5px;font-weight:700}.log-p-info span{font-size:10.5px;color:var(--text-muted)}.log-timestamp{font-size:11px;color:var(--text-muted);font-weight:600}.log-vitals-pills{display:flex;gap:8px;margin-bottom:8px}.v-pill{font-size:10px;font-weight:700;background-color:var(--border-color-soft);padding:2px 6px;border-radius:var(--radius-xs);color:var(--text-secondary)}.log-soap-snippet{font-size:12px;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.staff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px}.staff-card{padding:24px;text-align:center}.staff-pic{width:72px;height:72px;border-radius:50%;margin:0 auto 16px;background-color:var(--primary-soft-hover);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;font-family:var(--font-heading);box-shadow:0 0 0 4px var(--bg-app)}.staff-card h3{font-size:15px;margin-bottom:2px}.staff-title{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;display:block;margin-bottom:12px}.staff-specialty{font-size:12px;color:var(--text-secondary);background-color:var(--bg-card-soft);padding:4px 12px;border-radius:var(--radius-full);display:inline-block;margin-bottom:16px}.staff-status{border-top:1px solid var(--border-color-soft);padding-top:12px;font-size:12px;display:flex;align-items:center;justify-content:center;gap:6px}.status-indicator-dot{width:8px;height:8px;border-radius:50%}.status-indicator-dot.active{background-color:var(--success)}.status-indicator-dot.offline{background-color:var(--text-muted)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#07091366;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:10000;transition:opacity var(--transition-normal)}.modal-card{width:100%;max-width:550px;max-height:90vh;overflow-y:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.modal-card.wide-modal{max-width:1000px}.modal-header{padding:24px;border-bottom:1px solid var(--border-color-soft);display:flex;justify-content:space-between;align-items:center}.modal-header h3{font-size:18px;font-weight:800}.btn-close-modal{font-size:24px;line-height:1;color:var(--text-muted)}.btn-close-modal:hover{color:var(--text-primary)}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--border-color-soft);padding:16px 24px}.animate-in{animation:scaleUp var(--transition-slow)}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.patient-profile-layout{display:grid;grid-template-columns:280px 1fr;gap:24px;max-height:75vh;overflow:hidden}.patient-demographics-card{border-right:1px solid var(--border-color-soft);padding-right:24px;display:flex;flex-direction:column;gap:20px;overflow-y:auto}.patient-profile-avatar{width:80px;height:80px;border-radius:50%;background-color:var(--primary-soft-hover);color:var(--primary);font-family:var(--font-heading);font-size:28px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto}.demo-specs{display:flex;flex-direction:column;gap:12px}.d-spec-group{display:flex;flex-direction:column}.d-spec-group .lbl{font-size:9.5px;color:var(--text-muted);font-weight:750;text-transform:uppercase;letter-spacing:.5px}.d-spec-group .val{font-size:13px;color:var(--text-primary);font-weight:600}.owner-card{padding:16px}.owner-card h4{font-size:12.5px;margin-bottom:8px}.owner-specs{display:flex;flex-direction:column;gap:8px}.patient-record-viewport{display:flex;flex-direction:column;overflow:hidden}.record-tab-controls{display:flex;gap:16px;border-bottom:1px solid var(--border-color-soft);padding-bottom:12px}.rec-tab-btn{font-size:12.5px;font-weight:700;color:var(--text-muted);position:relative;padding-bottom:4px}.rec-tab-btn:hover{color:var(--text-primary)}.rec-tab-btn.active{color:var(--primary)}.rec-tab-btn.active:before{content:"";position:absolute;bottom:-13px;left:0;width:100%;height:3px;background-color:var(--primary);border-radius:var(--radius-full)}.record-tabs-container{flex-grow:1;overflow-y:auto;padding-top:20px}.record-tab-view{display:none;animation:fadeIn var(--transition-normal)}.record-tab-view.active{display:block}.record-section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.record-section-title h4{font-size:14px;font-weight:800}.patient-timeline-records{display:flex;flex-direction:column;gap:16px}.timeline-record-card{padding:16px;border-radius:var(--radius-sm);background-color:var(--bg-card-soft);border:1px solid var(--border-color-soft)}.tr-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.tr-header h5{font-size:13px;font-weight:700;color:var(--text-primary)}.tr-header span{font-size:11px;color:var(--text-muted)}.tr-vitals-inline{display:flex;gap:12px;margin-bottom:12px;font-size:11px;color:var(--text-secondary)}.tr-vitals-inline span strong{color:var(--text-primary)}.tr-soap-expandable{display:flex;flex-direction:column;gap:8px}.soap-row-block{font-size:12.5px;line-height:1.4}.soap-row-block .lbl{font-weight:850;color:var(--primary)}.soap-row-block:nth-child(2) .lbl{color:var(--blue)}.soap-row-block:nth-child(3) .lbl{color:var(--warning)}.soap-row-block:nth-child(4) .lbl{color:var(--purple)}.vitals-chart-card{padding:16px;margin-bottom:24px}.chart-header{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;color:var(--text-secondary);margin-bottom:12px}.chart-legends{display:flex;gap:12px}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.legend-dot.temp{background-color:var(--primary)}.legend-dot.hr{background-color:var(--blue)}.chart-canvas-wrapper{height:200px;width:100%}.table-container{overflow-x:auto;border:1px solid var(--border-color-soft);border-radius:var(--radius-sm)}table{width:100%;border-collapse:collapse;text-align:left;font-size:12.5px}th{background-color:var(--bg-card-soft);color:var(--text-secondary);font-weight:750;text-transform:uppercase;font-size:10px;letter-spacing:.5px;padding:12px 16px}td{padding:12px 16px;border-bottom:1px solid var(--border-color-soft);color:var(--text-primary)}tr:last-child td{border-bottom:none}.prescriptions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.prescription-card{padding:16px;border-radius:var(--radius-sm);background-color:var(--bg-card-soft);border:1px solid var(--border-color-soft)}.prescription-card h5{font-size:13.5px;font-weight:700;margin-bottom:2px}.prescription-card .dosage{font-size:11.5px;font-weight:700;color:var(--primary);display:block;margin-bottom:8px}.prescription-card .instructions{font-size:11.5px;color:var(--text-secondary);margin-bottom:12px}.prescription-card .meta{display:flex;justify-content:space-between;font-size:10px;color:var(--text-muted)}.btn-sub-tab{background:none;border:none;font-family:var(--font-body);font-size:12px;font-weight:700;color:var(--text-secondary);padding:6px 12px;cursor:pointer;border-bottom:2px solid transparent;transition:all var(--transition-fast)}.btn-sub-tab:hover{color:var(--primary)}.btn-sub-tab.active-sub{color:var(--primary);border-bottom-color:var(--primary)}.active-invoice-card{border-color:var(--primary)!important;background-color:var(--primary-soft)!important}.login-page-body{margin:0;padding:0;background:var(--gradient-hero);min-height:100vh;display:flex;align-items:center;justify-content:center;font-family:var(--font-body)}.login-page{width:100%;max-width:480px;padding:20px}.sandbox-stripe{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 20px;background:linear-gradient(90deg,hsl(var(--hue-warning),92%,45%),hsl(var(--hue-warning),88%,38%));color:#1a1a00;font-family:var(--font-heading);font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;border-radius:var(--radius-sm) var(--radius-sm) 0 0;text-align:center}.sandbox-stripe-dot{width:8px;height:8px;border-radius:50%;background:#1a1a00;flex-shrink:0}.login-card{background:var(--bg-card);border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:var(--shadow-lg);padding:40px 36px}.login-header{text-align:center;margin-bottom:32px}.login-logo{width:64px;height:64px;margin:0 auto 16px;background:var(--primary-soft);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--primary)}.login-logo .paw-logo{width:36px;height:36px}.login-header h1{font-family:var(--font-heading);font-size:28px;font-weight:800;color:var(--text-primary);margin:0 0 4px}.login-subtitle{font-size:14px;color:var(--text-muted);margin:0}.login-form{display:flex;flex-direction:column;gap:18px}.login-field{display:flex;flex-direction:column;gap:6px}.login-field label{font-family:var(--font-heading);font-size:13px;font-weight:600;color:var(--text-secondary)}.login-field input{padding:12px 16px;border:2px solid var(--border-color);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:15px;color:var(--text-primary);background:var(--bg-card-soft);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.login-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.login-error{background:var(--error-soft);color:var(--error);padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:500}.login-submit-btn{padding:14px;border:none;border-radius:var(--radius-sm);background:var(--gradient-primary);color:var(--text-white);font-family:var(--font-heading);font-size:15px;font-weight:700;cursor:pointer;transition:transform var(--transition-fast),opacity var(--transition-fast)}.login-submit-btn:hover:not(:disabled){transform:translateY(-1px)}.login-submit-btn:disabled{opacity:.6;cursor:not-allowed}.login-divider{text-align:center;margin:24px 0 16px;position:relative}.login-divider span{font-size:12px;color:var(--text-muted);background:var(--bg-card);padding:0 12px;position:relative;z-index:1}.login-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border-color)}.demo-accounts{display:flex;flex-direction:column;gap:10px}.demo-account-card{display:flex;align-items:center;gap:14px;padding:14px;background:var(--bg-card-soft);border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.demo-account-card:hover{border-color:var(--primary);background:var(--primary-soft)}.demo-avatar{font-size:28px;flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border-radius:var(--radius-full)}.demo-info{flex:1;min-width:0}.demo-name{font-family:var(--font-heading);font-size:14px;font-weight:700;color:var(--text-primary)}.demo-role{font-size:12px;font-weight:600;color:var(--primary);margin:2px 0}.demo-desc{font-size:11px;color:var(--text-muted);line-height:1.4}.demo-pick{font-family:var(--font-heading);font-size:12px;font-weight:700;color:var(--primary);padding:6px 12px;border:2px solid var(--primary);border-radius:var(--radius-full);flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast)}.demo-account-card:hover .demo-pick{background:var(--primary);color:var(--text-white)}.demo-error{color:var(--error);font-size:13px;text-align:center}.login-footer{margin-top:28px;text-align:center}.login-footer p{font-size:12px;color:var(--text-muted);margin:4px 0}.login-footer code{font-family:SF Mono,Monaco,monospace;font-size:12px;background:var(--bg-card-soft);color:var(--primary);padding:2px 8px;border-radius:4px}.login-disclaimer{font-size:11px!important;color:var(--text-muted);margin-top:8px!important}.sandbox-app-banner{display:flex;align-items:center;gap:8px;padding:6px 16px;background:hsla(var(--hue-warning),92%,45%,.12);border:1px solid hsla(var(--hue-warning),92%,45%,.3);border-radius:var(--radius-full);font-family:var(--font-heading);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:hsl(var(--hue-warning),85%,35%)}.sandbox-app-banner-dot{width:7px;height:7px;border-radius:50%;background:hsl(var(--hue-warning),92%,45%);animation:sandbox-pulse 2s ease-in-out infinite}@keyframes sandbox-pulse{0%,to{opacity:1}50%{opacity:.4}}.sandbox-user-chip{display:flex;align-items:center;gap:8px;padding:6px 14px;background:var(--bg-card-soft);border-radius:var(--radius-full);font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--text-secondary)}.sandbox-user-avatar{font-size:18px}.sandbox-logout-btn{padding:6px 14px;border:1px solid var(--border-color);border-radius:var(--radius-full);background:transparent;font-family:var(--font-heading);font-size:12px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.sandbox-logout-btn:hover{border-color:var(--error);color:var(--error)}
