body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--appointment-primary:#92a78c;--appointment-primary-light:#b4c7af;--appointment-primary-dark:#6a7b65;--appointment-secondary:#f7cd82;--appointment-secondary-light:#ffeeb0;--appointment-secondary-dark:#d5ae60;--appointment-accent:#f79e6b;--appointment-accent-light:#ffd0b0;--appointment-accent-dark:#d57a4a;--bg-primary:#f9f9f9;--bg-secondary:#92a78c0d;--bg-card:#fff;--bg-soft:#fafbfa;--text-muted:#00000061;--text-white:#fff;--shadow-soft:0 1px 2px #00000014;--shadow-medium:0 2px 4px #0000001a;--shadow-strong:0 4px 8px #0000001f;--elevation-1:0 2px 4px #0000001a;--elevation-2:0 4px 8px #0000001f;--primary-color:var(--appointment-primary);--primary-hover:var(--appointment-primary-dark);--primary-dark:var(--appointment-primary-dark);--accent-color:var(--appointment-accent);--accent-hover:var(--appointment-accent-dark);--success-color:#4caf50;--warning-color:#ff9800;--error-color:#f44336;--status-healthy:#4caf50;--status-treatment:#ff9800;--status-monitor:#2196f3;--font-weight-bold:600;--transition-function:ease;--beige-dark:var(--appointment-primary);--beige-dark-rgb:146,167,140;--beige-medium:var(--appointment-primary-light);--beige-medium-rgb:180,199,175;--beige-light:#92a78c1a;--beige-light-rgb:146,167,140;--brown-dark:var(--appointment-primary-dark);--brown-dark-rgb:106,123,101;--brown-text:var(--text-primary);--brown-text-rgb:0,0,0;--beige-dark-light:rgba(var(--beige-dark-rgb),0.1);--beige-dark-medium:rgba(var(--beige-dark-rgb),0.2);--beige-medium-light:rgba(var(--beige-medium-rgb),0.1);--beige-medium-medium:rgba(var(--beige-medium-rgb),0.2);--brown-dark-light:rgba(var(--brown-dark-rgb),0.1);--brown-dark-medium:rgba(var(--brown-dark-rgb),0.2);--primary-500:#8ca99a;--primary-600:#6f8f81;--primary-700:#5c7a6d;--accent-500:#86c8b5;--warning-500:#e9b86e;--danger-500:#e57f73;--bg-0:#e7f1f9;--bg-1:#f2f7fb;--surface:#fff;--text-900:#1f2b26;--text-600:#1f2b26a6;--text-400:#1f2b2673;--elev-1:0 8px 20px #445c5214;--elev-2:0 12px 30px #445c521a;--ring:0 0 0 3px #8ca99a2e;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--space-1:6px;--space-2:12px;--space-3:18px;--space-4:24px;--space-5:32px;--t:220ms cubic-bezier(.2,.6,.2,1)}#root,body,html{height:100%}body{background:radial-gradient(1200px 800px at 85% -100px,#87c4e652,#0000 60%),radial-gradient(900px 700px at -100px 50%,#8cc7ba47,#0000 55%),#e7f1f9;background:radial-gradient(1200px 800px at 85% -100px,#87c4e652,#0000 60%),radial-gradient(900px 700px at -100px 50%,#8cc7ba47,#0000 55%),var(--bg-0);color:#1f2b26;color:var(--text-900)}.ui-card{backdrop-filter:saturate(1.18) blur(16px);-webkit-backdrop-filter:saturate(1.18) blur(16px);background:linear-gradient(180deg,#fafdffe6,#f0f8fcd1);border:1px solid #5a8cb452;border-radius:20px;box-shadow:0 12px 28px #28465a24,0 2px 6px #28465a14;transition:transform .22s cubic-bezier(.2,.6,.2,1),box-shadow .22s cubic-bezier(.2,.6,.2,1),filter .22s cubic-bezier(.2,.6,.2,1);transition:transform var(--t),box-shadow var(--t),filter var(--t)}.ui-card--hover:hover{box-shadow:0 20px 46px #28465a38,0 6px 14px #28465a1f;filter:brightness(1.07);transform:translateY(-3px)}.ui-section-title{font-size:18px}.ui-section-title,.ui-stat-number{color:#5c7a6d;color:var(--primary-700);font-weight:700}.ui-stat-number{font-size:40px}.ui-input{background:linear-gradient(180deg,#ffffffdb,#ffffffc2);border:1px solid #8ca99a38;border-radius:12px;box-shadow:inset 0 1px 0 #fff9;height:44px;padding:0 18px;padding:0 var(--space-3)}.ui-button{background:linear-gradient(180deg,#8ca99a,#6f8f81);background:linear-gradient(180deg,var(--primary-500),var(--primary-600));border:1px solid #8ca99a3d;border-radius:12px;box-shadow:0 6px 14px #5c7a6d40;color:#fff;font-weight:600;height:44px;letter-spacing:.2px;padding:0 24px;padding:0 var(--space-4);transition:filter .22s cubic-bezier(.2,.6,.2,1),transform .22s cubic-bezier(.2,.6,.2,1),box-shadow .22s cubic-bezier(.2,.6,.2,1);transition:filter var(--t),transform var(--t),box-shadow var(--t)}.ui-button:hover{filter:brightness(1.03);transform:translateY(-1px)}.ui-button:active{box-shadow:0 4px 10px #5c7a6d33;transform:translateY(0)}.badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;gap:8px;padding:6px 10px}.badge--ok{background:#86c8b542;border:1px solid #86c8b57a;color:#1f5c4a}.badge--warning{background:#e9b86e42;border:1px solid #e9b86e80;color:#5f3f17}.badge--danger{background:#e57f7342;border:1px solid #e57f7380;color:#6a251f}.grid{grid-gap:24px;grid-gap:var(--space-4);display:grid;gap:24px;gap:var(--space-4)}.grid--dashboard{grid-template-columns:1.4fr 1fr 1fr}.grid--rows{grid-auto-rows:minmax(120px,auto)}.panel{padding:18px}.panel--tight{padding:14px}.mt-2{margin-top:12px;margin-top:var(--space-2)}.mt-3{margin-top:18px;margin-top:var(--space-3)}.mt-4{margin-top:24px;margin-top:var(--space-4)}.mb-2{margin-bottom:12px;margin-bottom:var(--space-2)}.mb-3{margin-bottom:18px;margin-bottom:var(--space-3)}.mb-4{margin-bottom:24px;margin-bottom:var(--space-4)}.px-3{padding-left:18px;padding-left:var(--space-3);padding-right:18px;padding-right:var(--space-3)}.py-3{padding-bottom:18px;padding-bottom:var(--space-3);padding-top:18px;padding-top:var(--space-3)}.gap-2{gap:12px;gap:var(--space-2)}.gap-3,.topbar{gap:18px;gap:var(--space-3)}.topbar{align-items:center;display:flex}.topbar__spacer{flex:1 1}*{scrollbar-color:#5c7a6d59 #0000;scrollbar-width:thin}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#5c7a6d59,#5c7a6d40);border-radius:999px}.card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.muted{color:#1f2b26a6;color:var(--text-600)}.table{border-collapse:initial;border-spacing:0 10px;font-size:14px;width:100%}.table th{color:#1f2b26a6;color:var(--text-600);font-weight:600;padding:0 10px;text-align:left}.table td{background:linear-gradient(180deg,#ffffffeb,#f4faffd6);border:1px solid #5a8cb447;border-radius:12px;padding:12px 10px}@media (max-width:1200px){.grid--dashboard{grid-template-columns:1fr 1fr}}@media (max-width:768px){.grid--dashboard{grid-template-columns:1fr}}.sidebar{backdrop-filter:blur(8px) saturate(1.05);-webkit-backdrop-filter:blur(8px) saturate(1.05);background:linear-gradient(180deg,#6f8f81f5,#5c7a6deb);border-radius:0 18px 18px 0;border-right:1px solid #ffffff14;box-shadow:4px 0 18px #28463c33;color:var(--text-on-primary);contain:layout style;display:flex;flex-direction:column;height:100vh;overflow:hidden;transition:width .3s cubic-bezier(.4,0,.2,1);will-change:width}.sidebar,.sidebar.collapsed{width:100%}.sidebar-hover-area{height:100%;width:auto}.logo-container{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-bottom:1px solid #ffffff1f;display:flex;height:60px;justify-content:space-between;padding:var(--spacing-2)}.logo-container h2{color:var(--text-on-primary);font-size:18px;font-weight:var(--font-weight-medium);letter-spacing:.4px;margin:0}.toggle-button{align-items:center;background:none;background:#ffffff0f;border:1px solid #ffffff24;border-radius:50%;color:#ffffffd9;cursor:pointer;display:flex;font-size:20px;height:36px;justify-content:center;padding:var(--spacing-1);transition:background-color var(--transition-speed) var(--transition-function);width:36px}.toggle-button:hover{background-color:#ffffff1a;color:var(--text-on-primary)}.sidebar .icon{display:inline-block;height:20px;margin-right:var(--spacing-3);position:relative;width:20px}.sidebar.collapsed .icon{margin-right:0}.icon-dashboard:before{border:2px solid;border-radius:2px;content:"";height:16px;left:2px;position:absolute;top:2px;width:16px}.icon-dashboard:after{background-color:currentColor;content:"";height:8px;left:6px;position:absolute;top:6px;width:8px}.icon-calendar:before{border:2px solid;border-radius:2px;content:"";height:14px;left:3px;position:absolute;top:3px;width:14px}.icon-calendar:after{background-color:currentColor;content:"";height:2px;left:6px;position:absolute;top:8px;width:8px}.icon-paw:before{left:8px}.icon-paw:after{left:6px}.icon-lab:before{height:10px;left:6px;top:3px}.icon-lab:after{background-color:currentColor;border-radius:50%;left:8px;top:2px}.icon-billing:before{border:2px solid;border-radius:2px;content:"";height:12px;left:2px;position:absolute;top:2px;width:16px}.icon-billing:after{background-color:currentColor;box-shadow:0 3px 0 currentColor,0 6px 0 currentColor;content:"";height:2px;left:5px;position:absolute;top:6px;width:10px}.icon-box:before{border:2px solid;border-radius:1px;content:"";height:12px;left:4px;position:absolute;top:4px;width:12px}.icon-chart:before{width:4px}.icon-chart:after{right:2px;width:4px}.icon-settings:before{border:2px solid;height:12px;width:12px}.icon-settings:after,.icon-settings:before{border-radius:50%;content:"";left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.icon-settings:after{background-color:currentColor;height:4px;width:4px}.icon-chevron-right{border-left:6px solid}.icon-chevron-left,.icon-chevron-right{background:#0000;border-bottom:4px solid #0000;border-top:4px solid #0000;height:0;margin-right:0;width:0}.icon-chevron-left{border-right:6px solid}.icon-user:before{border:2px solid;border-radius:50%;left:6px;top:2px;width:8px}.icon-user:after,.icon-user:before{content:"";height:8px;position:absolute}.icon-user:after{border:2px solid;border-bottom:none;border-radius:8px 8px 0 0;bottom:0;left:3px;width:14px}.icon-logout:before{border:2px solid;border-right:none;content:"";height:8px;left:2px;position:absolute;top:6px;width:12px}.icon-logout:after{border-bottom:2px solid #0000;border-left:6px solid;border-top:2px solid #0000;content:"";height:0;position:absolute;right:2px;top:8px;width:0}.menu-container{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:var(--spacing-2) var(--spacing-1);scroll-behavior:smooth}.menu-container::-webkit-scrollbar{width:8px}.menu-container::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:8px}.menu-container{scrollbar-color:#ffffff2e #0000;scrollbar-width:thin}.menu-item{align-items:center;border:1px solid #0000;border-radius:12px;color:#ffffffe0;display:flex;height:44px;margin:2px 4px;padding:0 var(--spacing-2);position:relative;text-decoration:none;transition:background-color .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;will-change:transform}.menu-item:hover{background-color:#ffffff1a;box-shadow:0 2px 8px #0000000f;color:var(--text-on-primary);transform:translateX(1px)}.menu-item.active{background-color:#ffffff26;border-color:#ffffff2e;box-shadow:0 8px 18px #0000001f;color:var(--text-on-primary)}.menu-item.active:before{background:#ffffffe6;border-radius:4px;bottom:8px;content:"";left:-2px;position:absolute;top:8px;width:4px}.menu-item .icon{color:#ffffffb3}.menu-item.active .icon,.menu-item:hover .icon{color:var(--text-on-primary)}.menu-item .text{font-size:14px;font-weight:var(--font-weight-medium);letter-spacing:.1px;opacity:1;transition:opacity .2s cubic-bezier(.4,0,.2,1);white-space:nowrap}.sidebar.collapsed .menu-item .text{opacity:0}.user-container{background:linear-gradient(180deg,#ffffff0f,#ffffff05);border-top:1px solid #ffffff1a;margin-top:auto;padding:var(--spacing-2)}.user-profile{align-items:center;display:flex;margin-bottom:var(--spacing-2)}.user-profile .icon{align-items:center;background-color:#ffffff2e;border:1px solid #ffffff2e;border-radius:50%;color:var(--text-on-primary);display:flex;font-size:18px;height:36px;justify-content:center;margin-right:var(--spacing-2);width:36px}.sidebar.collapsed .user-profile .icon{margin-right:0}.user-info{display:flex;flex-direction:column;opacity:1;transition:opacity .2s cubic-bezier(.4,0,.2,1)}.sidebar.collapsed .user-info{opacity:0}.user-name{color:var(--text-on-primary);font-size:14px;font-weight:var(--font-weight-medium);letter-spacing:.1px}.user-role{color:#ffffffb3;font-size:12px;letter-spacing:.4px}.logout{align-items:center;background:none;border:none;color:#fffc;cursor:pointer;display:flex;font-size:14px;font-weight:var(--font-weight-medium);letter-spacing:.1px;padding:var(--spacing-1) 0;text-align:left;text-decoration:none;transition:color var(--transition-speed) var(--transition-function);width:100%}.logout:hover{color:var(--text-on-primary)}.logout .icon{color:#ffffffb3;font-size:18px;margin-right:var(--spacing-2)}.logout:hover .icon{color:var(--text-on-primary)}.sidebar.collapsed .logout .icon{margin-right:0}.sidebar.collapsed .logout .text{opacity:0}.sidebar.collapsed .logout,.sidebar.collapsed .menu-item{position:relative}.sidebar.collapsed .logout:hover:after,.sidebar.collapsed .menu-item:hover:after{animation:tooltipFadeIn .2s ease forwards;background:var(--primary-dark);border-radius:6px;box-shadow:var(--elevation-3);color:var(--text-on-primary);content:attr(title);font-size:.85rem;left:65px;opacity:0;padding:8px 12px;position:absolute;top:50%;transform:translateY(-50%);white-space:nowrap;z-index:1002}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-50%) translateX(-10px)}to{opacity:1;transform:translateY(-50%) translateX(0)}}@media (max-width:768px){.sidebar{transition:width .2s cubic-bezier(.4,0,.2,1)}.sidebar,.sidebar.collapsed{width:56px}.menu-item{height:40px;margin:1px 2px}.menu-item:hover{transform:none}}:root{--primary-color:#92a78c;--primary-light:#b4c7af;--primary-dark:#6a7b65;--secondary-color:#f7cd82;--secondary-light:#ffeeb0;--secondary-dark:#d5ae60;--accent-color:#f79e6b;--accent-light:#ffd0b0;--accent-dark:#d57a4a;--surface-color:#fff;--background-color:#f9f9f9;--error-color:#b00020;--text-primary:#000000de;--text-secondary:#0009;--text-disabled:#00000061;--text-on-primary:#fff;--text-on-secondary:#000000de;--elevation-1:0 1px 2px #00000014;--elevation-2:0 2px 4px #0000001a;--elevation-3:0 4px 8px #0000001f;--elevation-4:0 6px 12px #00000024;--spacing-unit:8px;--spacing-1:8px;--spacing-2:16px;--spacing-3:24px;--spacing-4:32px;--spacing-5:40px;--font-family:"Roboto","Segoe UI",sans-serif;--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:700;--border-radius-sm:6px;--border-radius-md:8px;--border-radius-lg:12px;--border-radius-xl:16px;--transition-speed:0.2s;--transition-function:cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9f9f9;background-color:var(--background-color);color:#000000de;color:var(--text-primary);font-family:Roboto,Segoe UI,sans-serif;font-family:var(--font-family);line-height:1.5}.layout{display:flex;min-height:100vh}.sidebar-hover-area{box-shadow:0 1px 2px #00000014;box-shadow:var(--elevation-1);height:100vh;position:fixed;transition:width .3s cubic-bezier(.4,0,.2,1);width:60px;z-index:10}.layout:not(.sidebar-collapsed) .sidebar-hover-area{width:240px}.sidebar-hover-area:before{content:"";height:100%;left:0;position:absolute;top:0;width:12px;z-index:-1}.main-content{background-color:#f9f9f9;background-color:var(--background-color);display:flex;flex:1 1;flex-direction:column;margin-left:60px;min-height:100vh;padding:24px;padding:var(--spacing-3);transition:margin-left .3s cubic-bezier(.4,0,.2,1)}.layout:not(.sidebar-collapsed) .main-content{margin-left:240px}@media (max-width:768px){.main-content{margin-left:0;padding:72px 16px 16px;padding:calc(56px + var(--spacing-2)) var(--spacing-2) var(--spacing-2);transition:margin-left .2s cubic-bezier(.4,0,.2,1)}.layout:not(.sidebar-collapsed) .main-content{margin-left:0}.sidebar-hover-area{transition:width .2s cubic-bezier(.4,0,.2,1);width:56px}}.placeholder-page{align-items:center;background:#fff;background:var(--surface-color);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px #00000014;box-shadow:var(--elevation-1);display:flex;flex-direction:column;justify-content:center;margin:20px;min-height:80vh;padding:40px;text-align:center}.placeholder-page h1{color:#92a78c;color:var(--primary-color);font-size:2.5rem;font-weight:700;font-weight:var(--font-weight-bold);margin-bottom:16px}.placeholder-page p{color:#0009;color:var(--text-secondary);font-size:1.2rem;line-height:1.6;max-width:500px}@media (max-width:768px){.placeholder-page{margin:10px;min-height:60vh;padding:20px}.placeholder-page h1{font-size:2rem}.placeholder-page p{font-size:1rem}}.react-calendar{background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em;max-width:100%;width:350px}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{margin:.5em;width:50%}.react-calendar,.react-calendar *,.react-calendar :after,.react-calendar :before{box-sizing:border-box}.react-calendar button{border:0;margin:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{min-width:44px}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:focus,.react-calendar__navigation button:enabled:hover{background-color:#e6e6e6}.react-calendar__month-view__weekdays{font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{align-items:center;display:flex;font:inherit;font-size:.75em;font-weight:700;justify-content:center}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__century-view__decades__decade--neighboringCentury,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__month-view__days__day--neighboringMonth{color:#757575}.react-calendar__century-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__year-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{font:inherit;font-size:.833em;padding:10px 6.6667px}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__century-view__decades__decade--neighboringCentury:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__month-view__days__day--neighboringMonth:disabled{color:#cdcdcd}.react-calendar__tile:enabled:focus,.react-calendar__tile:enabled:hover{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:focus,.react-calendar__tile--now:enabled:hover{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:focus,.react-calendar__tile--hasActive:enabled:hover{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:focus,.react-calendar__tile--active:enabled:hover{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.calendar-widget{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:16px}.calendar-widget-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.calendar-widget-title{color:#333;font-size:16px;font-weight:600;margin:0}.calendar-widget-nav{display:flex;gap:8px}.calendar-nav-btn{align-items:center;background:none;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .2s ease;width:28px}.calendar-nav-btn:hover{background:#f5f5f5;border-color:#ccc}.calendar-widget-month{color:#555;font-size:14px;font-weight:500;margin-bottom:8px;text-align:center}.calendar-widget-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr)}.calendar-widget-day{align-items:center;aspect-ratio:1;border-radius:4px;cursor:pointer;display:flex;font-size:12px;justify-content:center;position:relative;transition:all .2s ease}.calendar-widget-day:hover{background:#f0f0f0}.calendar-widget-day.today{background:#92a78c;background:var(--primary-color,#92a78c);color:#fff;font-weight:600}.calendar-widget-day.selected{background:#f7cd82;background:var(--secondary-color,#f7cd82);color:#333;font-weight:600}.calendar-widget-day.has-events:after{background:#e74c3c;border-radius:50%;bottom:2px;content:"";height:4px;position:absolute;right:2px;width:4px}.calendar-widget-day.other-month{color:#ccc;pointer-events:none}.calendar-weekdays{margin-bottom:4px}.calendar-weekday{color:#666;font-size:11px;font-weight:600;padding:4px 0;text-align:center}.calendar-widget{min-height:720px}.calendar-widget .widget-content{display:flex;flex:1 1;flex-direction:column;min-height:600px}.day-details-inline{display:flex;flex:1 1;flex-direction:column;margin-top:12px}.compact-appointments{flex:1 1}.no-appointments.error{color:#d9534f;color:var(--danger-color,#d9534f)}.no-appointments.error p{color:inherit}.react-calendar__tile.has-appointment{position:relative}.react-calendar__tile.has-appointment:after{background:#4f46e5;background:var(--primary-color,#4f46e5);border-radius:50%;bottom:6px;content:"";height:6px;position:absolute;right:6px;width:6px}.dashboard{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:var(--spacing-1)}.dashboard-header{align-items:center;border-bottom:1px solid #0000000a;display:flex;justify-content:space-between;margin-bottom:var(--spacing-2);padding-bottom:var(--spacing-1)}.dashboard-header h1{color:var(--text-primary);font-size:20px;font-weight:var(--font-weight-medium);letter-spacing:0;margin:0}.icon{margin-right:8px}.icon-paw:before{border-radius:50% 50% 50% 50%/60% 60% 40% 40%;left:6px;top:2px;width:4px}.icon-paw:after,.icon-paw:before{background-color:currentColor;content:"";height:6px;position:absolute}.icon-paw:after{border-radius:50% 50% 50% 50%/40% 40% 60% 60%;bottom:2px;left:4px;width:8px}.icon-warning{background:#0000;border-bottom:12px solid;border-left:8px solid #0000;border-right:8px solid #0000;height:0;margin-right:8px;width:0}.icon-warning:before{bottom:-10px;color:#fff;content:"!";font-size:8px;font-weight:700;left:50%;position:absolute;transform:translateX(-50%)}.icon-bell:before{border-radius:50% 50% 50% 50%/60% 60% 40% 40%;height:10px;left:3px;top:2px;width:10px}.icon-bell:after,.icon-bell:before{background-color:currentColor;content:"";position:absolute}.icon-bell:after{bottom:2px;height:3px;left:7px;width:2px}.stats-container{grid-gap:var(--spacing-2);display:grid;gap:var(--spacing-2);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:var(--spacing-2)}.stat-card{border-radius:20px;text-align:center}.stat-card h3{color:var(--text-secondary);font-size:12px;font-weight:var(--font-weight-medium);letter-spacing:.1px;margin:0 0 var(--spacing-1)}.stat-value{color:var(--primary-color);font-size:24px;font-weight:var(--font-weight-regular);line-height:1.2}.widgets-container{grid-gap:var(--spacing-2);display:grid;gap:var(--spacing-2);grid-template-columns:1fr 1fr}.widgets-container.three-column{grid-template-columns:repeat(3,1fr)}.left-widgets,.right-widgets{display:flex;flex-direction:column;gap:var(--spacing-2)}.widget{border-radius:20px;display:flex;flex-direction:column;height:100%;overflow:hidden}.widget-header{background:#0000;border-bottom:1px solid #0000000f;padding:var(--spacing-1)}.widget-header h2{font-size:14px;letter-spacing:.15px}.widget-content{flex:1 1;overflow:auto;padding:var(--spacing-1)}.calendar-wrapper{grid-row:span 2}.hospitalized-patients-table{border-collapse:collapse;font-size:12px;width:100%}.hospitalized-patients-table td,.hospitalized-patients-table th{border-bottom:1px solid #0000000a;padding:4px 6px;text-align:left}.hospitalized-patients-table th{color:var(--text-secondary);font-size:11px;font-weight:var(--font-weight-medium);letter-spacing:.3px;text-transform:uppercase}.hospitalized-patients-table tr:last-child td{border-bottom:none}.hospitalized-patients-table tr:hover td{background-color:#00000005}.hospitalized-patients-table td{color:var(--text-primary);font-size:12px;letter-spacing:.2px}.status-critical,.status-improving,.status-observation,.status-recovering,.status-stable{border-radius:10px;display:inline-block;font-size:10px;font-weight:var(--font-weight-medium);padding:2px 6px}.status-stable{background-color:#e8f5e9;color:#2e7d32}.status-improving{background-color:#e3f2fd;color:#1565c0}.status-critical{background-color:#ffebee;color:#c62828}.status-observation{background-color:#fff8e1;color:#f57f17}.status-recovering{background-color:#e0f2f1;color:#00796b}.clickable-animal-name{border-bottom:1px solid #0000;color:var(--primary-color);cursor:pointer;font-weight:var(--font-weight-medium);text-decoration:none;transition:color var(--transition-speed) var(--transition-function)}.clickable-animal-name:hover{border-bottom-color:var(--primary-color);color:var(--primary-dark);text-decoration:none}.clickable-animal-name:active{color:var(--primary-dark)}.activity-list{list-style:none;margin:0;padding:0}.activity-list li{align-items:center;border-bottom:1px solid #0000000a;display:flex;font-size:12px;justify-content:space-between;padding:4px 6px;transition:background-color var(--transition-speed) var(--transition-function)}.activity-list li:hover{background-color:#00000005}.activity-list li:last-child{border-bottom:none}.activity-info{align-items:center;display:flex;gap:var(--spacing-1)}.activity-time{color:var(--text-secondary);font-size:10px;letter-spacing:.3px}.activity-name{color:var(--text-primary);font-weight:var(--font-weight-medium)}.activity-name,.activity-status{font-size:12px;letter-spacing:.2px}.activity-status{color:var(--primary-color)}.stock-table{border-collapse:collapse;font-size:12px;width:100%}.stock-table td,.stock-table th{border-bottom:1px solid #0000000a;padding:4px 6px;text-align:left}.stock-table th{color:var(--text-secondary);font-size:11px;font-weight:var(--font-weight-medium);letter-spacing:.3px;text-transform:uppercase}.stock-table tr.critical td:first-child{color:var(--error-color);font-weight:var(--font-weight-medium)}.stock-table tr.warning td:first-child{color:var(--accent-color);font-weight:var(--font-weight-medium)}.stock-table tr:last-child td{border-bottom:none}.stock-table tr:hover td{background-color:#00000005}.stock-table td{color:var(--text-primary);font-size:12px;letter-spacing:.2px}.lab-list{list-style:none;margin:0;padding:0}.lab-list li{align-items:center;border-bottom:1px solid #0000000a;display:flex;font-size:12px;justify-content:space-between;padding:4px 6px;transition:background-color var(--transition-speed) var(--transition-function)}.lab-list li:hover{background-color:#00000005}.lab-list li:last-child{border-bottom:none}.lab-info{display:flex;flex-direction:column}.lab-patient{color:var(--text-primary);font-size:12px;font-weight:var(--font-weight-medium);letter-spacing:.2px}.lab-test{color:var(--text-secondary);font-size:10px;letter-spacing:.3px}.lab-date{color:var(--primary-color);font-size:12px;font-weight:var(--font-weight-medium);letter-spacing:.2px}.notification-list{list-style:none;margin:0;padding:0}.notification{border-bottom:1px solid #0000000a;border-left:3px solid #0000;padding:4px 6px;transition:background-color var(--transition-speed) var(--transition-function)}.notification:last-child{border-bottom:none}.notification:hover{background-color:#00000005}.notification.priority-high{border-left-color:var(--error-color)}.notification.priority-medium{border-left-color:var(--accent-color)}.notification.priority-low{border-left-color:var(--primary-color)}.notification-title{color:var(--text-primary);font-size:12px;font-weight:var(--font-weight-medium);letter-spacing:.2px;margin-bottom:2px}.notification-details{color:var(--text-secondary);font-size:10px;letter-spacing:.3px}@media (max-width:1200px){.widgets-container.three-column{grid-template-columns:1fr 1fr}}@media (max-width:992px){.widgets-container,.widgets-container.three-column{grid-template-columns:1fr}}@media (max-width:768px){.stats-container{grid-template-columns:1fr}.dashboard-header{align-items:flex-start;flex-direction:column}.quick-actions{justify-content:space-between;margin-top:var(--spacing-1);width:100%}}.clickable-widget{cursor:pointer;transition:transform var(--transition-speed) var(--transition-function),box-shadow var(--transition-speed) var(--transition-function)}.clickable-widget:hover{box-shadow:var(--elevation-3);transform:translateY(-2px)}.clickable-widget:active{transform:translateY(-1px)}.widget-action{border-top:1px solid #0000000a;margin-top:var(--spacing-1);padding-top:var(--spacing-1);text-align:center}.action-text{color:var(--primary-color);font-size:12px;font-weight:var(--font-weight-medium);letter-spacing:.3px}.quick-appointment-modal__overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.quick-appointment-modal{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0003;max-width:560px;overflow:hidden;width:100%}.quick-appointment-modal__header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:16px 20px}.quick-appointment-modal__close{background:#0000;border:none;color:#666;cursor:pointer;font-size:22px;line-height:1}.quick-appointment-modal__form{padding:16px 20px 20px}.quick-appointment-modal__info{color:#555;font-size:14px;padding:12px 20px}.quick-appointment-modal__error{background:#ffe5e5;border:1px solid #ffb3b3;border-radius:8px;color:#a70000;font-size:14px;margin-top:8px;padding:10px 12px}.quick-appointment-modal__meta{color:#6b7280;display:flex;font-size:13px;gap:12px;margin:8px 0 4px}.quick-appointment-modal__row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.quick-appointment-modal__field{display:flex;flex-direction:column;gap:6px;margin-top:12px}.quick-appointment-modal__field label{color:#374151;font-weight:600}.quick-appointment-modal__field input,.quick-appointment-modal__field select,.quick-appointment-modal__field textarea{border:1px solid #e5e7eb;border-radius:8px;font-size:14px;outline:none;padding:10px 12px}.quick-appointment-modal__field input:focus,.quick-appointment-modal__field select:focus,.quick-appointment-modal__field textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.quick-appointment-modal__actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.quick-appointment-modal__button{border:1px solid #0000;border-radius:8px;cursor:pointer;font-weight:600;padding:10px 14px}.quick-appointment-modal__button--secondary{background:#f3f4f6;color:#374151}.quick-appointment-modal__button--secondary:hover{background:#e5e7eb}.quick-appointment-modal__button--primary{background:#2563eb;color:#fff}.quick-appointment-modal__button--primary:hover{background:#1d4ed8}@media (max-width:600px){.quick-appointment-modal{margin:0 12px}.quick-appointment-modal__row{grid-template-columns:1fr}}.animal-list-container{display:flex;min-height:80vh;width:100%}.filter-panel{display:flex;flex-direction:column;gap:var(--spacing-2);max-width:340px;min-height:90vh;min-width:240px;padding:var(--spacing-3);position:-webkit-sticky;position:sticky;top:0;width:300px}.filter-panel h2{align-items:center;color:var(--primary-color);display:flex;font-size:18px;font-weight:var(--font-weight-bold);gap:var(--spacing-1);margin-bottom:var(--spacing-2)}.filter-search{background:var(--surface-color);border-radius:var(--border-radius-sm)}.filter-search,.filter-section{margin-bottom:var(--spacing-2)}.filter-section h3{color:var(--text-primary);font-size:14px;font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-1);margin-top:var(--spacing-2)}.filter-options{background:#92a78c0d;border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-2);padding:var(--spacing-2);width:100%}.filter-options.scrollable{max-height:180px;min-height:96px;overflow-y:auto;padding-right:var(--spacing-1)}.filter-options.scrollable::-webkit-scrollbar{background:#92a78c1a;border-radius:8px;width:8px}.filter-options.scrollable::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:8px;min-height:24px}.filter-options.scrollable::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}.filter-checkbox-item{align-items:center;display:flex}.date-filter-inputs{background:#92a78c0d;border-radius:var(--border-radius-sm);display:flex;flex-direction:column;gap:var(--spacing-2);margin-bottom:var(--spacing-2);padding:var(--spacing-1);width:100%}.date-filter-inputs .MuiTextField-root{background:var(--surface-color);border-radius:var(--border-radius-sm)}.animal-list-main{flex:1 1;padding:var(--spacing-3)}.animal-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-2)}.animal-list-title{color:var(--primary-color);font-size:18px;font-weight:var(--font-weight-bold);margin:0}.sort-button{border-color:var(--primary-color)!important;color:var(--primary-color)!important}.sort-button:hover{background-color:#92a78c0a!important;border-color:var(--primary-dark)!important}.animal-table{background:#0000;border-radius:20px;overflow:auto;padding:0;width:100%}.animal-table-header{background-color:#92a78c0d;border-bottom:2px solid #92a78c1a;color:var(--text-primary);display:flex;font-size:14px;font-weight:var(--font-weight-medium);padding:var(--spacing-2)}.animal-table-row{align-items:center;border-bottom:1px solid #92a78c14;display:flex;padding:var(--spacing-2);transition:background-color var(--transition-speed) var(--transition-function)}.animal-table-row:hover{background-color:#92a78c0a}.animal-table-cell{display:flex;flex-direction:column}.animal-table-cell.id{color:var(--primary-color);flex:0.5 1;font-weight:var(--font-weight-medium)}.animal-table-cell.name{flex:1.5 1;font-weight:var(--font-weight-medium)}.animal-table-cell.owner,.animal-table-cell.species{flex:1.5 1}.animal-table-cell.date,.animal-table-cell.health{flex:1 1}.animal-table-cell.actions{display:flex;flex:1 1;flex-direction:row;gap:var(--spacing-1)}.species-info .species-name{font-size:14px;font-weight:var(--font-weight-medium)}.species-info .breed-name{color:var(--text-secondary);font-size:12px}.health-chip{border-radius:var(--border-radius-sm);font-size:12px;font-weight:var(--font-weight-medium);padding:4px 8px}.health-chip.good{background-color:#e0f7e9;color:#388e3c}.health-chip.treatment{background-color:#ffeaea;color:#d32f2f}.health-chip.monitor{background-color:#fff7e0;color:#fbc02d}.vaccine-chip{background-color:#e3f2fd;border-radius:var(--border-radius-sm);color:#1976d2;font-size:12px;font-weight:var(--font-weight-medium);padding:4px 8px}.action-icon-button{color:var(--primary-color)!important;padding:4px!important}.action-icon-button:hover{background-color:#92a78c0a!important}.sort-popover{min-width:200px;padding:var(--spacing-2)}.sort-popover h3{font-size:14px;font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-1)}.sort-options{display:flex;flex-direction:column;gap:var(--spacing-1)}.sort-option{font-size:14px!important;justify-content:flex-start!important;padding:var(--spacing-1)!important;text-transform:none!important}.sort-option.active{background-color:#92a78c0a!important;color:var(--primary-color)!important}@media (max-width:1200px){.animal-list-container{flex-direction:column}.filter-panel{border-bottom:1px solid #00000014;border-right:none;min-height:auto;position:static;width:100%}}@media (max-width:768px){.animal-list-main{padding:var(--spacing-1)}.animal-table-header,.animal-table-row{font-size:12px;padding:var(--spacing-1)}.animal-list-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-1)}.animal-table-cell.actions,.animal-table-cell.date:last-of-type{display:none}}.laboratory-tests-container{padding:20px}.test-result{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:8px 0}.test-result:last-child{border-bottom:none}.test-label{color:#333;font-weight:500;min-width:120px}.test-value{font-weight:600;margin-right:16px}.test-value.normal{color:#4caf50}.test-value.abnormal{color:#f44336}.test-value.pending{color:#ff9800}.test-reference{color:#666;font-size:.875rem}.test-status-chip{border-radius:12px;font-size:.75rem;padding:2px 8px}.test-status-chip.normal{background-color:#4caf501a;color:#4caf50}.test-status-chip.abnormal{background-color:#f443361a;color:#f44336}.test-status-chip.pending{background-color:#ff98001a;color:#ff9800}.accordion-content{max-height:400px;overflow-y:auto}.test-section{margin-bottom:24px}.test-section-title{border-bottom:2px solid #e3f2fd;color:#1976d2;font-size:1.1rem;font-weight:600;margin-bottom:16px;padding-bottom:8px}.urine-analysis-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:16px}.urine-section{background-color:#f5f5f5;border-radius:8px;padding:12px}.urine-section-title{color:#333;font-size:.875rem;font-weight:600;margin-bottom:8px;text-transform:uppercase}.animal-detail-page{background-color:var(--background-color);min-height:100vh}.animal-detail-page .MuiContainer-root{padding-bottom:var(--spacing-2);padding-top:var(--spacing-2)}.animal-detail-page .MuiPaper-root{border-radius:var(--border-radius-lg);box-shadow:var(--elevation-2)}.animal-detail-page .MuiGrid-container{margin-top:0}.animal-detail-page .MuiGrid-item{padding-top:var(--spacing-2)}.animal-detail-page .MuiAvatar-root{border:3px solid var(--primary-light)}.animal-detail-page .MuiTypography-h4{font-size:2rem;font-weight:var(--font-weight-bold);letter-spacing:-.5px}.animal-detail-page .MuiList-root{padding:0}.animal-detail-page .MuiListItemButton-root{margin-bottom:var(--spacing-1);transition:all var(--transition-speed) var(--transition-function)}.animal-detail-page .MuiListItemButton-root:hover{transform:translateX(2px)}.animal-detail-page .MuiListItemText-primary{font-size:14px;font-weight:var(--font-weight-medium)}.animal-detail-page .MuiAlert-root{border:none;border-radius:var(--border-radius-sm);box-shadow:var(--elevation-1)}.animal-detail-page .MuiAlert-message{font-size:14px;line-height:1.5}.animal-detail-page .MuiAlert-icon{font-size:20px}@media (max-width:768px){.animal-detail-page .MuiContainer-root{padding-left:var(--spacing-1);padding-right:var(--spacing-1)}.animal-detail-page .MuiTypography-h4{font-size:1.5rem}.animal-detail-page .MuiGrid-container{margin:0}.animal-detail-page .MuiGrid-item{padding:var(--spacing-1)}}.add-animal-dialog .MuiDialog-paper{border-radius:var(--border-radius-lg)!important;box-shadow:var(--elevation-3)!important}.add-animal-dialog .MuiDialogTitle-root{background-color:var(--primary-color)!important;color:var(--text-on-primary)!important;font-size:18px!important;font-weight:var(--font-weight-medium)!important;padding:var(--spacing-3) var(--spacing-3) var(--spacing-2)!important}.add-animal-dialog .MuiDialogContent-root{background-color:var(--surface-color)!important;padding:var(--spacing-3)!important}.add-animal-dialog .MuiDialogActions-root{background-color:var(--surface-color)!important;gap:var(--spacing-1)!important;padding:var(--spacing-2) var(--spacing-3) var(--spacing-3)!important}.add-animal-dialog .MuiTextField-root{margin-bottom:var(--spacing-2)!important}.add-animal-dialog .MuiTextField-root .MuiOutlinedInput-root{border-radius:var(--border-radius-sm)!important}.add-animal-dialog .MuiTextField-root .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline,.add-animal-dialog .MuiTextField-root .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:var(--primary-color)!important}.add-animal-dialog .MuiFormControl-root{margin-bottom:var(--spacing-2)!important}.add-animal-dialog .MuiButton-root,.add-animal-dialog .MuiSelect-root{border-radius:var(--border-radius-sm)!important}.add-animal-dialog .MuiButton-root{font-weight:var(--font-weight-medium)!important;padding:var(--spacing-1) var(--spacing-2)!important;text-transform:none!important}.add-animal-dialog .MuiButton-contained{background-color:var(--primary-color)!important;box-shadow:var(--elevation-1)!important;color:var(--text-on-primary)!important}.add-animal-dialog .MuiButton-contained:hover{background-color:var(--primary-dark)!important;box-shadow:var(--elevation-2)!important}.add-animal-dialog .MuiButton-text{color:var(--text-secondary)!important}.add-animal-dialog .MuiButton-text:hover{background-color:#0000000a!important}.dialog-form-container{display:flex;flex-direction:column;gap:var(--spacing-2);padding-top:var(--spacing-2)}.animal-system{background-color:var(--background-color);display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:var(--spacing-1)}.animal-system-container{display:flex;flex-direction:column;gap:var(--spacing-2);margin:0 auto;max-width:1400px;min-height:calc(100vh - 40px)}.animal-system-header{align-items:center;border-bottom:1px solid #0000000a;display:flex;justify-content:space-between;margin-bottom:var(--spacing-2);padding-bottom:var(--spacing-1)}.animal-system-title{color:var(--text-primary);font-size:20px;font-weight:var(--font-weight-medium);letter-spacing:0;margin:0}.animal-system-subtitle{color:var(--text-secondary);font-size:14px;font-weight:var(--font-weight-regular);margin:0}.content-section{background-color:var(--surface-color);border-radius:var(--border-radius-lg);box-shadow:var(--elevation-1);overflow:hidden;padding:0}@media (max-width:1024px){.animal-system-container{padding:var(--spacing-2)}.animal-system-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-1)}.animal-system-title{font-size:18px}}.calendar{background:var(--bg-card);border:none;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-medium);padding:var(--spacing-3);position:relative}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-3)}.date-selectors{align-items:center;display:flex;gap:var(--spacing-2)}.dropdown-container{position:relative}.dropdown-button{align-items:center;background:var(--primary-color);border:none;border-radius:var(--border-radius-sm);box-shadow:var(--shadow-soft);color:var(--text-white);cursor:pointer;display:flex;font-size:14px;font-weight:var(--font-weight-medium);gap:var(--spacing-1);justify-content:space-between;min-width:110px;padding:var(--spacing-2) var(--spacing-2);transition:all var(--transition-speed) var(--transition-function)}.dropdown-button:hover{background:var(--primary-hover);box-shadow:var(--shadow-medium)}.dropdown-button:focus{box-shadow:var(--shadow-medium),0 0 0 3px #92a78c33;outline:none}.dropdown-icon{color:var(--text-white);transition:transform var(--transition-speed) var(--transition-function)}.dropdown-icon.rotated{transform:rotate(180deg)}.dropdown-menu{background:var(--bg-card);border:1px solid #0000001a;border-radius:var(--border-radius-sm);box-shadow:var(--shadow-strong);left:0;margin-top:4px;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.month-dropdown{min-width:130px}.year-dropdown{min-width:90px}.dropdown-item{background:none;border:none;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:var(--font-weight-regular);padding:var(--spacing-2) var(--spacing-2);text-align:left;transition:all var(--transition-speed) var(--transition-function);width:100%}.dropdown-item:hover{background:#92a78c1a;color:var(--primary-color)}.dropdown-item.active{background:var(--primary-color);color:var(--text-white)}.dropdown-item.active:hover{background:var(--primary-hover)}.dropdown-overlay{bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.nav-button{align-items:center;background:var(--primary-color);border:none;border-radius:var(--border-radius-sm);box-shadow:var(--shadow-soft);color:var(--text-white);cursor:pointer;display:flex;font-size:18px;font-weight:700;height:40px;justify-content:center;transition:all var(--transition-speed) var(--transition-function);width:40px}.nav-button:hover{background:var(--primary-hover);box-shadow:var(--shadow-medium)}.calendar-actions{display:flex;justify-content:center;margin-bottom:var(--spacing-3)}.today-button{background:var(--accent-color);border:none;border-radius:var(--border-radius-sm);box-shadow:var(--shadow-soft);color:var(--text-white);cursor:pointer;font-size:14px;font-weight:var(--font-weight-medium);padding:var(--spacing-2) var(--spacing-3);transition:all var(--transition-speed) var(--transition-function)}.today-button:hover{background:var(--accent-hover);box-shadow:var(--shadow-medium)}.calendar-weekdays{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr);margin-bottom:var(--spacing-2)}.weekday{color:var(--text-secondary);font-size:12px;font-weight:var(--font-weight-bold);letter-spacing:.5px;padding:var(--spacing-1);text-align:center;text-transform:uppercase}.calendar-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr)}.calendar-day{align-items:center;aspect-ratio:1;background:var(--bg-primary);border-radius:var(--border-radius-sm);color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:var(--font-weight-medium);justify-content:center;position:relative;transition:all var(--transition-speed) var(--transition-function)}.calendar-day:not(.empty):hover{background:#92a78c1a;color:var(--primary-color)}.calendar-day.empty{background:#0000;cursor:default}.calendar-day.selected{background:var(--primary-color);color:var(--text-white);font-weight:var(--font-weight-bold)}.calendar-day.selected:hover{background:var(--primary-hover)}.calendar-day.today{background:#92a78c26;border:2px solid var(--primary-color);color:var(--primary-color);font-weight:var(--font-weight-bold)}.calendar-day.today.selected{background:var(--primary-color);border:none;color:var(--text-white)}.calendar-day.has-appointments:after{background:var(--accent-color);border-radius:50%;bottom:4px;content:"";height:6px;left:50%;position:absolute;transform:translateX(-50%);width:6px}.calendar-day.selected.has-appointments:after{background:var(--text-white)}.calendar-day.today.has-appointments:after{background:var(--primary-color)}.dropdown-menu::-webkit-scrollbar{width:6px}.dropdown-menu::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:3px}.dropdown-menu::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:3px}.dropdown-menu::-webkit-scrollbar-thumb:hover{background:var(--primary-hover)}@media (max-width:480px){.calendar{border-radius:var(--border-radius-sm);padding:var(--spacing-2)}.calendar-header{flex-direction:column;gap:var(--spacing-2)}.date-selectors{justify-content:center;width:100%}.dropdown-button{font-size:14px;min-width:90px;padding:var(--spacing-1) var(--spacing-2)}.nav-button{font-size:16px;height:32px;width:32px}.calendar-day{font-size:12px}}.calendar-widget{display:flex;flex-direction:column;height:420px;overflow:hidden;position:relative}.widget-content.with-horizontal-scroll{display:flex;flex:1 1;flex-direction:column;height:100%;overflow-x:hidden;overflow-y:hidden;padding-bottom:8px}.calendar-container{flex-shrink:0;height:180px;overflow:hidden}.react-calendar{background-color:var(--surface-color);border:none;font-family:var(--font-family);font-size:.8em;height:100%;line-height:.85em;width:100%}.react-calendar__navigation{height:24px;margin-bottom:1px}.react-calendar__navigation button{background:none;color:var(--text-primary);font-size:12px;font-weight:var(--font-weight-medium);min-width:24px}.react-calendar__navigation button:enabled:focus,.react-calendar__navigation button:enabled:hover{background-color:#00000005}.react-calendar__navigation button[disabled]{background-color:initial;color:var(--text-disabled)}.react-calendar__month-view__weekdays{color:var(--text-secondary);font-size:8px;font-weight:var(--font-weight-medium);letter-spacing:.2px;text-align:center;text-transform:uppercase}.react-calendar__month-view__weekdays__weekday{padding:2px}.react-calendar__month-view__weekdays__weekday abbr{text-decoration:none}.react-calendar__month-view__days__day{color:var(--text-primary);position:relative}.react-calendar__month-view__days__day--weekend{color:var(--accent-color)}.react-calendar__month-view__days__day--neighboringMonth{color:var(--text-disabled)}.react-calendar__tile{background:none;border-radius:var(--border-radius-sm);font-size:10px;line-height:11px;max-width:100%;padding:3px 1px;text-align:center}.react-calendar__tile:enabled:focus,.react-calendar__tile:enabled:hover{background-color:#00000005}.react-calendar__tile--now{background:var(--primary-light);color:var(--text-primary)}.react-calendar__tile--now:enabled:focus,.react-calendar__tile--now:enabled:hover{background:var(--primary-light);opacity:.9}.react-calendar__tile--active{background:var(--primary-color);color:var(--text-on-primary)}.react-calendar__tile--active:enabled:focus,.react-calendar__tile--active:enabled:hover{background:var(--primary-dark)}.has-appointment{font-weight:var(--font-weight-medium)}.appointment-indicator{bottom:0;left:50%;position:absolute;transform:translateX(-50%);width:14px}.appointment-count,.appointment-indicator{align-items:center;display:flex;height:10px;justify-content:center}.appointment-count{background-color:var(--secondary-color);border-radius:7px;color:var(--text-primary);font-size:7px;font-weight:var(--font-weight-medium);min-width:10px;padding:0 2px}.day-details-inline{-webkit-overflow-scrolling:touch;border-top:1px solid #00000014;height:200px;margin-bottom:4px;margin-top:6px;overflow-y:auto;padding-bottom:16px;padding-top:0;position:relative;scrollbar-color:#0003 #0000;scrollbar-width:thin}.day-details-inline::-webkit-scrollbar{height:6px;width:6px}.day-details-inline::-webkit-scrollbar-track{background:#0000}.day-details-inline::-webkit-scrollbar-thumb{background-color:#0003;border-radius:3px}.day-details-inline::-webkit-scrollbar-thumb:hover{background-color:#0000004d}.day-details-inline .day-details-header{align-items:center;background-color:var(--surface-color);box-shadow:0 2px 4px #0000000d;display:flex;justify-content:space-between;margin-bottom:8px;padding:8px 0;position:-webkit-sticky;position:sticky;top:0;z-index:10}.day-details-inline .day-details-header h3{color:var(--text-primary);font-size:14px;font-weight:var(--font-weight-medium);margin:0}.create-appointment-button{align-items:center;background-color:var(--primary-color);border:none;border-radius:50%;color:var(--text-on-primary);cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:background-color var(--transition-speed) var(--transition-function);width:28px;z-index:11}.create-appointment-button:hover{background-color:var(--primary-dark)}.day-details-inline .day-appointments h4{color:var(--text-secondary);font-size:12px;font-weight:var(--font-weight-medium);margin:0 0 8px}.day-details-inline .no-appointments{align-items:center;color:var(--text-secondary);display:flex;font-size:12px;height:auto;margin-bottom:12px;padding-top:8px}.day-details-inline .no-appointments p{margin:0}.day-details-inline .day-appointments{padding-top:8px}.compact-appointments{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;padding-right:4px}.compact-appointment-item{background-color:#00000005;border-left:3px solid var(--primary-color);border-radius:var(--border-radius-sm);display:flex;padding:6px}.appointment-time{color:var(--primary-color);font-size:12px;margin-right:8px;min-width:40px}.appointment-details{flex:1 1}.appointment-patient{color:var(--text-primary);font-size:12px;font-weight:var(--font-weight-medium);margin-bottom:2px}.appointment-reason{color:var(--text-secondary);font-size:11px}.appointment-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:100}.appointment-modal{background-color:#fff;border-radius:var(--border-radius-sm);box-shadow:var(--elevation-3);max-width:320px;overflow:hidden;width:90%}.modal-header{background-color:var(--primary-color);color:var(--text-on-primary);padding:12px 16px}.modal-header h4{font-size:14px;font-weight:var(--font-weight-medium);margin:0}.modal-close{font-size:20px;line-height:1;padding:0 4px}.modal-body{padding:16px}.selected-date{color:var(--text-secondary);font-size:13px;font-weight:var(--font-weight-medium);margin:0 0 12px;text-align:center}.add-appointment-form{display:flex;flex-direction:column;gap:10px}.form-row{display:flex;gap:8px}.add-appointment-form input{border:1px solid #0000001f;border-radius:var(--border-radius-sm);font-size:13px;outline:none;padding:8px 10px;transition:border-color var(--transition-speed) var(--transition-function);width:100%}.add-appointment-form input:focus{border-color:var(--primary-color)}.time-input{width:80px!important}.owner-input,.patient-input,.reason-input{flex:1 1}.form-actions{gap:8px;margin-top:8px}.cancel-button{background-color:initial;border:1px solid #0000001f;border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:var(--font-weight-medium);height:32px;padding:0 12px;transition:background-color var(--transition-speed) var(--transition-function)}.cancel-button:hover{background-color:#0000000d}.add-button{background-color:var(--primary-color);border:none;border-radius:var(--border-radius-sm);color:var(--text-on-primary);cursor:pointer;font-size:13px;font-weight:var(--font-weight-medium);height:32px;padding:0 16px;transition:background-color var(--transition-speed) var(--transition-function)}.add-button:hover{background-color:var(--primary-dark)}.appointment-list{background:var(--bg-card);border:none;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-medium);padding:var(--spacing-3)}.appointment-list-header{align-items:center;border-bottom:1px solid #0000000a;display:flex;justify-content:space-between;margin-bottom:var(--spacing-3);padding-bottom:var(--spacing-2)}.appointment-list-header h3{color:var(--text-primary);font-size:18px;font-weight:var(--font-weight-medium);letter-spacing:-.25px;margin:0}.add-appointment-btn{align-items:center;background:var(--primary-color);border:none;border-radius:var(--border-radius-sm);box-shadow:var(--shadow-soft);color:var(--text-white);cursor:pointer;display:flex;font-size:14px;font-weight:var(--font-weight-medium);gap:var(--spacing-1);letter-spacing:.3px;padding:var(--spacing-2) var(--spacing-3);text-transform:uppercase;transition:all var(--transition-speed) var(--transition-function)}.add-appointment-btn:hover{background:var(--primary-hover);box-shadow:var(--shadow-medium)}.no-appointments{align-items:center;background:var(--bg-primary);border-radius:var(--border-radius-sm);color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;min-height:200px;padding:var(--spacing-5) var(--spacing-3);text-align:center}.no-appointments p{font-size:16px;margin-bottom:var(--spacing-2);max-width:300px}.create-first-appointment{background:var(--primary-color);border:none;border-radius:var(--border-radius-sm);box-shadow:var(--shadow-soft);color:var(--text-white);cursor:pointer;font-size:14px;font-weight:var(--font-weight-medium);margin-top:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);transition:all var(--transition-speed) var(--transition-function)}.create-first-appointment:hover{background:var(--primary-hover);box-shadow:var(--shadow-medium)}.appointments-loading{align-items:center;background:var(--bg-primary);border-radius:var(--border-radius-sm);color:var(--text-secondary);display:flex;justify-content:center;min-height:200px;text-align:center}.appointments-loading--error{color:#d9534f;color:var(--danger-color,#d9534f)}.appointments-grid{grid-gap:var(--spacing-2);display:grid;gap:var(--spacing-2)}.appointment-card{background:var(--bg-primary);border:1px solid #0000000a;border-radius:var(--border-radius-sm);box-shadow:var(--shadow-soft);overflow:hidden;transition:box-shadow var(--transition-speed) var(--transition-function)}.appointment-card:hover{box-shadow:var(--shadow-medium)}.appointment-header{align-items:center;background:var(--primary-color);color:var(--text-white);display:flex;justify-content:space-between;padding:var(--spacing-2) var(--spacing-2)}.appointment-time{font-size:16px;font-weight:var(--font-weight-medium)}.appointment-actions{display:flex;gap:var(--spacing-1)}.delete-btn,.edit-btn{align-items:center;background:#ffffff1a;border:none;border-radius:var(--border-radius-sm);color:var(--text-white);cursor:pointer;display:flex;justify-content:center;padding:var(--spacing-1);transition:all var(--transition-speed) var(--transition-function)}.delete-btn:hover,.edit-btn:hover{background:#fff3}.appointment-content{padding:var(--spacing-2)}.patient-info h4{color:var(--text-primary);font-size:18px;font-weight:var(--font-weight-medium);letter-spacing:-.25px;margin-bottom:var(--spacing-2)}.patient-details{grid-gap:var(--spacing-1);display:grid;gap:var(--spacing-1)}.detail-item{color:var(--text-secondary);font-size:14px;line-height:1.4}.detail-item strong{color:var(--text-primary);font-weight:var(--font-weight-medium);margin-right:var(--spacing-1)}.appointment-description{border-top:1px solid #0000000a;color:var(--text-secondary);font-size:14px;line-height:1.5;margin-top:var(--spacing-2);padding-top:var(--spacing-2)}.appointment-description strong{color:var(--text-primary);font-weight:var(--font-weight-medium);margin-right:var(--spacing-1)}.delete-confirm-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.delete-confirm-modal{background:var(--bg-card);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-strong);max-width:400px;padding:var(--spacing-3);width:100%}.delete-confirm-header{align-items:center;display:flex;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.warning-icon{color:var(--warning-color)}.delete-confirm-header h3{color:var(--text-primary);font-size:20px;font-weight:var(--font-weight-medium);margin:0}.delete-confirm-content{margin-bottom:var(--spacing-3)}.delete-confirm-content p{color:var(--text-secondary);line-height:1.5;margin-bottom:var(--spacing-1)}.warning-text{color:var(--warning-color)!important;font-weight:var(--font-weight-medium)}.delete-confirm-actions{display:flex;gap:var(--spacing-2);justify-content:flex-end}.cancel-delete-btn{background:var(--bg-primary);border:1px solid #0000001a;border-radius:var(--border-radius-sm);color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:var(--font-weight-medium);padding:var(--spacing-2) var(--spacing-3);transition:all var(--transition-speed) var(--transition-function)}.cancel-delete-btn:hover{background:#0000000a}.confirm-delete-btn{background:var(--error-color);border:none;border-radius:var(--border-radius-sm);color:var(--text-white);cursor:pointer;font-size:14px;font-weight:var(--font-weight-medium);padding:var(--spacing-2) var(--spacing-3);transition:all var(--transition-speed) var(--transition-function)}.confirm-delete-btn:hover{background:#d32f2f}@media (max-width:768px){.appointment-list{padding:var(--spacing-2)}.appointment-list-header{align-items:stretch;flex-direction:column;gap:var(--spacing-2)}.add-appointment-btn{justify-content:center;width:100%}.appointment-card,.appointment-time{font-size:14px}.patient-info h4{font-size:16px}.detail-item{font-size:13px}}.appointment-form-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:var(--spacing-3);position:fixed;right:0;top:0;z-index:2000}.appointment-form{background:var(--bg-card);border:none;border-radius:var(--border-radius-xl);box-shadow:var(--shadow-strong);max-height:90vh;max-width:640px;overflow-y:auto;width:100%}.form-header{align-items:center;background:var(--primary-color);border-bottom:1px solid #0000000a;border-radius:var(--border-radius-xl) var(--border-radius-xl) 0 0;display:flex;justify-content:space-between;padding:var(--spacing-4) var(--spacing-4) var(--spacing-3);position:-webkit-sticky;position:sticky;top:0;z-index:10}.form-header h2{font-weight:var(--font-weight-bold);letter-spacing:-.5px;margin:0}.close-btn,.form-header h2{color:var(--text-white);font-size:24px}.close-btn{align-items:center;background:#ffffff1a;border:none;border-radius:50%;box-shadow:var(--shadow-soft);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all var(--transition-speed) var(--transition-function);width:40px}.close-btn:hover{background:#fff3;transform:scale(1.05)}.form-section{padding:0 var(--spacing-4) var(--spacing-4)}.form-section h3{border-bottom:2px solid #92a78c1a;font-size:16px;font-size:14px;letter-spacing:-.25px;margin:var(--spacing-3) 0 var(--spacing-2) 0;padding-bottom:var(--spacing-1);text-transform:uppercase}.date-display,.form-section h3{color:var(--primary-color);font-weight:var(--font-weight-bold)}.date-display{background:#92a78c1a;border:1px solid #92a78c33;border-radius:var(--border-radius-sm);box-shadow:var(--shadow-soft);font-size:16px;padding:var(--spacing-2) var(--spacing-3);text-align:center}.time-input-container{align-items:center;display:flex;position:relative}.time-icon{color:var(--primary-color);left:var(--spacing-2);position:absolute;z-index:1}.time-input{background:var(--bg-primary);border:1px solid #0000001a;border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:16px;font-weight:var(--font-weight-medium);padding:var(--spacing-2) var(--spacing-2) var(--spacing-2) calc(var(--spacing-4) + 8px);transition:all var(--transition-speed) var(--transition-function);width:100%}.time-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #92a78c1a;outline:none}.form-group{margin-bottom:var(--spacing-3)}.form-group label{color:var(--text-primary);font-size:14px;font-size:12px;font-weight:var(--font-weight-bold);letter-spacing:.25px;margin-bottom:var(--spacing-1);text-transform:uppercase}.form-input,.form-textarea{background:var(--bg-primary);border:1px solid #0000001a;border-radius:var(--border-radius-sm);color:var(--text-primary);font-family:inherit;font-size:16px;font-weight:var(--font-weight-regular);padding:var(--spacing-2);transition:all var(--transition-speed) var(--transition-function);width:100%}.form-input:focus,.form-textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #92a78c1a;outline:none}.form-textarea{line-height:1.5;min-height:100px;resize:vertical}.form-actions{background:var(--bg-card);border-radius:0 0 var(--border-radius-xl) var(--border-radius-xl);border-top:1px solid #0000000a;bottom:0;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);position:-webkit-sticky;position:sticky}.cancel-btn,.save-btn{border:none;border-radius:var(--border-radius-sm);box-shadow:var(--shadow-soft);cursor:pointer;font-size:14px;font-weight:var(--font-weight-bold);letter-spacing:.3px;min-width:120px;padding:var(--spacing-2) var(--spacing-4);text-transform:uppercase;transition:all var(--transition-speed) var(--transition-function)}.cancel-btn{background:var(--bg-primary);border:1px solid #0000001a;color:var(--text-primary)}.cancel-btn:hover{background:#0000000a;box-shadow:var(--shadow-medium)}.save-btn{background:var(--primary-color);color:var(--text-white)}.save-btn:hover{background:var(--primary-hover);box-shadow:var(--shadow-medium)}.form-input:invalid,.form-textarea:invalid{background:#f443360d;border-color:var(--error-color)}.form-input:invalid:focus,.form-textarea:invalid:focus{box-shadow:0 0 0 3px #f443361a}@media (max-width:768px){.appointment-form-overlay{padding:var(--spacing-2)}.appointment-form{border-radius:var(--border-radius-lg);max-width:100%}.form-header{border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;padding:var(--spacing-3) var(--spacing-3) var(--spacing-2)}.form-header h2{font-size:20px}.form-section{padding:0 var(--spacing-3) var(--spacing-3)}.form-actions{border-radius:0 0 var(--border-radius-lg) var(--border-radius-lg);flex-direction:column;padding:var(--spacing-3)}.cancel-btn,.save-btn{min-width:auto;width:100%}}.appointment-form::-webkit-scrollbar{width:8px}.appointment-form::-webkit-scrollbar-track{background:var(--bg-primary)}.appointment-form::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:4px}.appointment-form::-webkit-scrollbar-thumb:hover{background:var(--primary-hover)}.appointment-system{background:var(--bg-primary);min-height:100vh;padding:var(--spacing-2)}.appointment-system-container{display:flex;gap:var(--spacing-3);margin:0 auto;max-width:1400px}.calendar-section{flex:0 0 420px}.content-section{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-3)}.calendar-status{color:var(--text-secondary);font-size:14px;margin-top:var(--spacing-2)}.calendar-status.error{color:#d9534f;color:var(--danger-color,#d9534f)}.appointment-system-header{background:var(--bg-card);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-soft);margin-bottom:var(--spacing-4);padding:var(--spacing-3);text-align:center}.appointment-system-title{color:var(--primary-color);font-size:28px;font-weight:var(--font-weight-bold);letter-spacing:-.5px;margin-bottom:var(--spacing-1)}.appointment-system-subtitle{color:var(--text-secondary);font-size:16px;font-weight:var(--font-weight-medium);margin:0}@media (max-width:1024px){.appointment-system-container{flex-direction:column}.calendar-section{flex:none}.appointment-system{padding:var(--spacing-2)}.appointment-system-title{font-size:24px}}.lab-test-types{background:linear-gradient(135deg,#f8fafc,#e2e8f0);padding:24px}.lab-test-header{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:32px;padding:24px}.header-content h1{color:#1e293b;font-weight:700;margin:0 0 8px}.header-content p{color:#64748b;margin:0}.header-actions .btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s ease}.header-actions .btn-primary:hover{box-shadow:0 8px 25px #3b82f64d;transform:translateY(-2px)}.test-filters-modern{border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:24px;padding:24px}.filter-row{flex-direction:column;gap:20px}.search-container{position:relative}.modern-search{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;padding:16px 20px;transition:all .3s ease}.modern-search:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.category-filter-row{display:flex;flex-wrap:wrap;gap:12px}.category-chip{align-items:center;background:#f1f5f9;border:2px solid #0000;border-radius:24px;color:#475569;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:8px;padding:8px 16px;transition:all .3s ease}.category-chip:hover{background:#e2e8f0;transform:translateY(-1px)}.category-chip.active{background:#3b82f6;border-color:#1d4ed8;color:#fff}.category-count{background:#fff3;border-radius:12px;color:inherit;font-size:.8rem;font-weight:600;padding:2px 8px}.filter-controls{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.quick-filters{gap:8px}.quick-filter-chip{background:#fef3c7;border:1px solid #fcd34d;border-radius:20px;color:#92400e;cursor:pointer;font-size:.8rem;padding:6px 12px;transition:all .3s ease}.quick-filter-chip:hover{background:#fef08a}.quick-filter-chip.active{background:#f59e0b;color:#fff}.sort-select{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;padding:8px 12px;transition:all .3s ease}.sort-select:focus{border-color:#3b82f6;outline:none}.test-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));margin-top:24px}.test-card{background:#fff;border:2px solid #0000;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:24px;transition:all .3s ease}.test-card:hover{border-color:#3b82f6;box-shadow:0 8px 40px #0000001f;transform:translateY(-4px)}.test-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.test-icon{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:12px;color:#fff;display:flex;font-size:.9rem;font-weight:700;height:48px;justify-content:center;width:48px}.test-info h3{color:#1e293b;font-size:1.25rem;font-weight:700;margin:0 0 8px}.test-category{background:#f1f5f9;border-radius:16px;color:#475569;font-size:.8rem;font-weight:500;padding:4px 12px}.test-description{color:#64748b;font-size:.95rem;line-height:1.5;margin:16px 0}.test-details{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin:16px 0}.test-detail-item{display:flex;flex-direction:column;gap:4px}.test-detail-label{color:#64748b;font-size:.8rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.test-detail-value{color:#1e293b;font-size:.9rem;font-weight:600}.price-tag{color:#92a78c;font-weight:700}.duration-tag{color:#7c3aed;font-weight:600}.sample-type{color:#dc2626;font-weight:600}.normal-range{background:#f8fafc;border-left:3px solid #3b82f6;border-radius:8px;color:#64748b;font-size:.85rem;margin-top:12px;padding:8px 12px}.test-actions{display:flex;gap:12px;margin-top:20px}.btn-quick-order{background:linear-gradient(135deg,#b4c7af,#92a78c);border:none;border-radius:12px;color:#fff;cursor:pointer;flex:1 1;font-weight:600;padding:12px 20px;transition:all .3s ease}.btn-quick-order:hover{box-shadow:0 6px 20px #10b9814d;transform:translateY(-2px)}.btn-secondary{background:#fff;border:2px solid #e2e8f0;border-radius:12px;color:#475569;font-weight:600;padding:12px 20px;transition:all .3s ease}.btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1}.test-stats{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:24px;padding:20px}.stats-row{align-items:center;display:flex;justify-content:space-between}.stat-item{text-align:center}.stat-value{color:#3b82f6;font-size:2rem;margin:0}.stat-label{color:#64748b;font-size:.9rem;margin:4px 0 0}.no-results{color:#64748b;padding:60px 20px;text-align:center}.no-results h3{color:#475569;font-size:1.5rem;margin-bottom:16px}.no-results p{font-size:1rem;line-height:1.6}@media (max-width:768px){.test-grid{grid-template-columns:1fr}.lab-test-header{flex-direction:column;gap:16px;text-align:center}.filter-controls{align-items:stretch;flex-direction:column}.category-filter-row{justify-content:center}.test-details{grid-template-columns:1fr}.test-actions{flex-direction:column}}:root{--peach:#f79e6b;--honey:#f7cd82;--sage:#92a78c;--charcoal:#5b584f;--sand:#e0d5ad;--white:#fff;--light-gray:#f5f5f5;--border-color:#5b584f33;--shadow:#5b584f1a;--radius:6px;--radius-lg:8px;--transition:all 0.2s ease}[data-theme=dark]{--sand:#2a2a2a;--white:#1e1e1e;--light-gray:#333;--charcoal:#e0d5ad;--border-color:#e0d5ad33;--shadow:#0000004d}.lab-dashboard{color:#5b584f;color:var(--charcoal);display:flex;flex-direction:column;font-family:Inter,Segoe UI,sans-serif;font-size:13px;min-height:100vh}.lab-top-bar{grid-gap:.75rem;align-items:center;display:grid;gap:.75rem;grid-template-columns:200px 1fr 300px;padding:.75rem 1rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.clinic-selector select{background:#f5f5f5;background:var(--light-gray);border:1px solid #5b584f33;border:1px solid var(--border-color);border-radius:6px;border-radius:var(--radius);color:#5b584f;color:var(--charcoal);font-size:14px;min-width:180px;padding:.5rem .75rem}.patient-search{position:relative}.patient-search input{background:#f5f5f5;background:var(--light-gray);border:2px solid #5b584f33;border:2px solid var(--border-color);border-radius:8px;border-radius:var(--radius-lg);font-size:14px;padding:.75rem 1rem;transition:all .2s ease;transition:var(--transition);width:100%}.patient-search input:focus{border-color:#92a78c;border-color:var(--sage);box-shadow:0 0 0 3px #92a78c1a;outline:none}.search-results{background:#fff;background:var(--white);border:1px solid #5b584f33;border:1px solid var(--border-color);border-radius:6px;border-radius:var(--radius);box-shadow:0 4px 12px #5b584f1a;box-shadow:0 4px 12px var(--shadow);left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:50}.search-result-item{border-bottom:1px solid #5b584f33;border-bottom:1px solid var(--border-color);cursor:pointer;padding:.75rem 1rem;transition:all .2s ease;transition:var(--transition)}.search-result-item:hover{background:#f5f5f5;background:var(--light-gray)}.top-controls{gap:1rem;justify-content:flex-end}.fab-button,.top-controls{align-items:center;display:flex}.fab-button{background:#92a78c;background:var(--sage);border:none;border-radius:6px;border-radius:var(--radius);box-shadow:0 2px 6px #92a78c4d;color:#fff;cursor:pointer;font-size:12px;font-weight:600;gap:.4rem;padding:.5rem 1rem;transition:all .2s ease;transition:var(--transition)}.fab-button:hover{background:#7d8f77;box-shadow:0 4px 12px #92a78c66;transform:translateY(-1px)}.fab-button span{font-size:1.2rem;font-weight:300}.lab-main-grid{grid-gap:1px;background:#5b584f33;background:var(--border-color);display:grid;flex:1 1;gap:1px;grid-template-columns:280px 1fr 320px;transition:grid-template-columns .3s ease}.sidebar-expanded .lab-main-grid{grid-template-columns:220px 1fr 260px}.quick-order-panel,.result-viewer,.test-queue{max-height:calc(100vh - 60px);overflow-y:auto;padding:1rem}.quick-order-panel h2{color:#5b584f;color:var(--charcoal);font-size:1rem;font-weight:600;margin-bottom:1rem}.stat-toggle{margin-bottom:1rem}.switch{align-items:center;cursor:pointer;display:inline-flex;gap:.75rem;position:relative}.switch input{height:0;opacity:0;width:0}.slider{background-color:#5b584f33;background-color:var(--border-color);border-radius:24px;height:24px;position:relative;width:50px}.slider,.slider:before{transition:all .2s ease;transition:var(--transition)}.slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;position:absolute;width:18px}input:checked+.slider{background-color:#f79e6b;background-color:var(--peach)}input:checked+.slider:before{transform:translateX(26px)}.switch .label{font-weight:600}.quick-tests h3,.switch .label{color:#5b584f;color:var(--charcoal)}.quick-tests h3{font-size:1rem;margin-bottom:1rem}.test-button{background:#f5f5f5;background:var(--light-gray);border:1px solid #0000;border-radius:6px;border-radius:var(--radius);cursor:pointer;font-size:12px;line-height:1.3;margin-bottom:.5rem;padding:.6rem .8rem;text-align:left;transition:all .2s ease;transition:var(--transition);width:100%}.test-button:hover{background:#f7cd82;background:var(--honey);border-color:#f79e6b;border-color:var(--peach);transform:translateY(-1px)}.test-button:active{transform:translateY(0)}.queue-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.queue-header h2{color:#5b584f;color:var(--charcoal);font-size:1rem}.queue-stats{display:flex;gap:1rem}.stat-item{background:#f5f5f5;background:var(--light-gray);border-radius:6px;border-radius:var(--radius);font-size:12px;font-weight:500;padding:.5rem .75rem}.skeleton-loader{animation:shimmer 1.5s infinite}.skeleton-row{background:linear-gradient(90deg,#f5f5f5 25%,#5b584f33 50%,#f5f5f5 75%);background:linear-gradient(90deg,var(--light-gray) 25%,var(--border-color) 50%,var(--light-gray) 75%);background-size:200% 100%;border-radius:6px;border-radius:var(--radius);height:50px;margin-bottom:.5rem}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.queue-table{overflow-x:auto}table{background:#fff;background:var(--white);border-collapse:collapse;width:100%}td,th{border-bottom:1px solid #5b584f33;border-bottom:1px solid var(--border-color);font-size:11px;padding:.5rem .6rem;text-align:left}th{background:#fff;background:var(--white);color:#5b584f;color:var(--charcoal);font-weight:600;position:-webkit-sticky;position:sticky;top:0;z-index:10}tr{cursor:pointer;transition:all .2s ease;transition:var(--transition)}tr:hover{background:#f5f5f5;background:var(--light-gray)}tr.selected{background:#92a78c1a;border-left:3px solid #92a78c;border-left:3px solid var(--sage)}.status-badge{align-items:center;border:1px solid #0000;border-radius:4px;display:inline-flex;font-size:10px;font-weight:600;gap:.25rem;padding:.15rem .5rem}.status-pending{background:#f7cd8233;border-color:#f7cd82;border-color:var(--honey)}.status-pending,.status-working{color:#5b584f;color:var(--charcoal)}.status-working{background:#87ceeb33;border-color:#87ceeb}.status-completed{background:#92a78c33;border-color:#92a78c;border-color:var(--sage);color:#92a78c;color:var(--sage)}.status-critical{background:#f79e6b33;border-color:#f79e6b;border-color:var(--peach);color:#f79e6b;color:var(--peach)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.stat-badge{color:#f79e6b;color:var(--peach);font-size:11px;margin-left:.5rem}.action-button{background:#0000;border:1px solid #0000;border-radius:3px;font-size:10px;margin-right:.25rem;padding:.2rem .4rem;transition:all .2s ease;transition:var(--transition)}.btn-upload{border-color:#92a78c;border-color:var(--sage);color:#92a78c;color:var(--sage)}.btn-upload:hover{background:#92a78c1a}.btn-view{border-color:#5b584f;border-color:var(--charcoal);color:#5b584f;color:var(--charcoal)}.btn-view:hover{background:#5b584f1a}.bulk-select{border-top:1px solid #5b584f33;border-top:1px solid var(--border-color);margin-top:1rem;padding-top:1rem}.bulk-select summary{color:#5b584f;color:var(--charcoal);cursor:pointer;font-size:12px;font-weight:600;margin-bottom:.5rem}.bulk-options{padding:.5rem 0}.bulk-options label{cursor:pointer;display:block;font-size:11px;margin-bottom:.4rem}.bulk-options input{margin-right:.5rem}.lab-stats{border-top:1px solid #5b584f33;border-top:1px solid var(--border-color);margin-top:1.5rem;padding-top:1rem}.lab-stats h3{color:#5b584f;color:var(--charcoal);font-size:12px;font-weight:600;margin-bottom:.75rem}.stat-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr 1fr}.mini-stat{align-items:center;background:#f5f5f5;background:var(--light-gray);border-radius:6px;border-radius:var(--radius);display:flex;flex-direction:column;padding:.5rem;text-align:center}.stat-label{color:#5b584fb3;font-size:10px;margin-bottom:.25rem}.stat-value{color:#5b584f;color:var(--charcoal);font-size:16px;font-weight:700}.stat-value.critical{color:#f79e6b;color:var(--peach)}.result-viewer h2{color:#5b584f;color:var(--charcoal);font-size:1rem;margin-bottom:1rem}.empty-state{color:#5b584f99;padding:2rem 1rem;text-align:center}.empty-icon{font-size:2rem;margin-bottom:.5rem}.result-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.result-actions{display:flex;gap:.5rem}.btn-primary{background:#92a78c;background:var(--sage);border:none;border-radius:6px;border-radius:var(--radius);color:#fff;font-weight:500}.btn-primary,.btn-secondary{cursor:pointer;padding:.5rem 1rem;transition:all .2s ease;transition:var(--transition)}.btn-secondary{background:#f5f5f5;background:var(--light-gray);border:1px solid #5b584f33;border:1px solid var(--border-color);border-radius:6px;border-radius:var(--radius);color:#5b584f;color:var(--charcoal)}.btn-primary:hover,.btn-secondary:hover{box-shadow:0 2px 8px #5b584f1a;box-shadow:0 2px 8px var(--shadow);transform:translateY(-1px)}.file-drop-zone{border:2px dashed #5b584f33;border:2px dashed var(--border-color);border-radius:8px;border-radius:var(--radius-lg);margin-bottom:1.5rem;padding:2rem;text-align:center;transition:all .2s ease;transition:var(--transition)}.file-drop-zone.dragover{background:#92a78c0d;border-color:#92a78c;border-color:var(--sage)}.drop-icon{font-size:2rem;margin-bottom:1rem}.upload-progress{margin-top:1rem}.progress-bar{background:#f5f5f5;background:var(--light-gray);border-radius:4px;height:8px;margin-bottom:.5rem;overflow:hidden;width:100%}.progress-fill{background:#92a78c;background:var(--sage);height:100%;transition:width .3s ease}.modal{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{animation:modalSlideIn .3s ease-out;background:#fff;background:var(--white);border-radius:8px;border-radius:var(--radius-lg);box-shadow:0 8px 32px #0003;max-width:500px;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid #5b584f33;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem}.modal-close{background:none;border:none;color:#5b584f;color:var(--charcoal);cursor:pointer;font-size:1.5rem;padding:.25rem}.modal form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#5b584f;color:var(--charcoal);display:block;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select{border:1px solid #5b584f33;border:1px solid var(--border-color);border-radius:6px;border-radius:var(--radius);font-size:14px;padding:.75rem;transition:all .2s ease;transition:var(--transition);width:100%}.form-group input:focus,.form-group select:focus{border-color:#92a78c;border-color:var(--sage);box-shadow:0 0 0 3px #92a78c1a;outline:none}.checkbox-label{align-items:center;cursor:pointer;display:flex!important;gap:.5rem}.checkbox-label input{width:auto!important}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.result-display{background:#f5f5f5;background:var(--light-gray);border-radius:6px;border-radius:var(--radius);margin-bottom:1rem;min-height:200px;padding:.75rem}.mock-result-data h4{border-bottom:1px solid #5b584f33;border-bottom:1px solid var(--border-color);color:#5b584f;color:var(--charcoal);font-size:14px;font-weight:600;margin-bottom:.75rem;padding-bottom:.5rem}.result-metadata{margin-bottom:1rem}.meta-item{display:flex;font-size:11px;justify-content:space-between;margin-bottom:.4rem}.meta-label{color:#5b584fb3}.test-values{border-top:1px solid #5b584f33;border-top:1px solid var(--border-color);padding-top:.75rem}.value-row{grid-gap:.5rem;align-items:center;border-bottom:1px solid #5b584f1a;display:grid;font-size:11px;gap:.5rem;grid-template-columns:2fr 1fr 1fr 1fr;padding:.3rem 0}.value-row:last-child{border-bottom:none}.value-name{font-weight:500}.value-name,.value-result{color:#5b584f;color:var(--charcoal)}.value-result{font-weight:600;text-align:center}.value-range{color:#5b584f99}.value-range,.value-status{font-size:10px;text-align:center}.value-status{border-radius:3px;font-weight:600;padding:.15rem .4rem}.value-status.normal{background:#92a78c33;color:#92a78c;color:var(--sage)}.value-status.critical{background:#f79e6b33;color:#f79e6b;color:var(--peach)}.critical-alert{background:#f79e6b1a;border:1px solid #f79e6b;border:1px solid var(--peach);border-radius:6px;border-radius:var(--radius);color:#f79e6b;color:var(--peach);font-size:11px;font-weight:500;margin-top:.75rem;padding:.5rem}.no-result{color:#5b584f99;font-size:12px;padding:2rem 1rem;text-align:center}.trend-chart{border-top:1px solid #5b584f33;border-top:1px solid var(--border-color);margin-top:1rem;padding-top:1rem}.trend-chart h4{color:#5b584f;color:var(--charcoal);font-size:12px;font-weight:600;margin-bottom:.75rem}.trend-data{display:flex;flex-direction:column;gap:.5rem}.trend-item{align-items:center;background:#fff;background:var(--white);border:1px solid #5b584f1a;border-radius:6px;border-radius:var(--radius);display:flex;font-size:11px;justify-content:space-between;padding:.4rem .6rem}.trend-item.current{background:#92a78c0d;border-color:#92a78c;border-color:var(--sage)}.trend-date{color:#5b584fb3;font-weight:500}.trend-value{border-radius:3px;font-size:10px;font-weight:600;padding:.15rem .4rem}.trend-value.normal{background:#92a78c33;color:#92a78c;color:var(--sage)}.trend-value.critical{background:#f79e6b33;color:#f79e6b;color:var(--peach)}.snackbar{align-items:center;animation:slideInUp .3s ease-out;background:#5b584f;background:var(--charcoal);border-radius:8px;border-radius:var(--radius-lg);bottom:20px;box-shadow:0 4px 12px #0000004d;color:#fff;display:flex;gap:1rem;left:50%;padding:1rem 1.5rem;position:fixed;transform:translateX(-50%);z-index:1000}.snackbar.critical{background:#f79e6b;background:var(--peach)}@keyframes slideInUp{0%{transform:translateX(-50%) translateY(100px)}to{transform:translateX(-50%) translateY(0)}}.snackbar button{background:none;border:none;color:#fff;cursor:pointer;font-size:1.2rem;padding:.25rem}@media (max-width:768px){.lab-top-bar{gap:.75rem;grid-template-columns:1fr;padding:1rem}.lab-main-grid{gap:0;grid-template-columns:1fr}.quick-order-panel,.result-viewer,.test-queue{max-height:none;padding:1rem}.queue-header{align-items:flex-start;flex-direction:column;gap:1rem}.queue-stats{flex-wrap:wrap;gap:.5rem}table{font-size:12px}td,th{padding:.5rem}.modal-content{margin:10% auto;width:95%}}@media (max-width:480px){.fab-button{font-size:12px;padding:.5rem 1rem}.test-button{font-size:13px;padding:.75rem}.file-drop-zone{padding:1.5rem 1rem}.drop-icon{font-size:1.5rem}}.lab-test-types{background:#f5f5f5;background:var(--light-gray);min-height:100vh;padding:1.5rem}.lab-test-header{align-items:center;border-bottom:2px solid #5b584f33;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.header-content h1{color:#5b584f;color:var(--charcoal);font-size:2rem;margin-bottom:.5rem}.header-content p{color:#5b584fb3;font-size:1rem}.header-actions{display:flex;gap:1rem}.test-filters{align-items:center;display:flex;gap:2rem;margin-bottom:2rem}.search-filter{flex:1 1;max-width:400px}.search-input{background:#fff;background:var(--white);border:2px solid #5b584f33;border:2px solid var(--border-color);border-radius:8px;border-radius:var(--radius-lg);font-size:14px;padding:.75rem 1rem;transition:all .2s ease;transition:var(--transition);width:100%}.search-input:focus{border-color:#92a78c;border-color:var(--sage);box-shadow:0 0 0 3px #92a78c1a;outline:none}.category-filters{display:flex;flex-wrap:wrap;gap:.5rem}.filter-btn{background:#fff;background:var(--white);border:2px solid #5b584f33;border:2px solid var(--border-color);border-radius:6px;border-radius:var(--radius);color:#5b584f;color:var(--charcoal);cursor:pointer;font-size:12px;font-weight:500;padding:.5rem 1rem;transition:all .2s ease;transition:var(--transition)}.filter-btn:hover{background:#92a78c1a}.filter-btn.active,.filter-btn:hover{border-color:#92a78c;border-color:var(--sage)}.filter-btn.active{background:#92a78c;background:var(--sage);color:#fff}.test-filters-modern{background:#fff;background:var(--white);border-radius:6px;border-radius:var(--radius);box-shadow:0 2px 4px #5b584f1a;box-shadow:0 2px 4px var(--shadow);margin-bottom:2rem;padding:1rem}.filter-row{align-items:center;display:flex;gap:1rem}.search-container{flex:1 1}.modern-search{background:#f5f5f5;background:var(--light-gray);border:1px solid #5b584f33;border:1px solid var(--border-color);border-radius:6px;border-radius:var(--radius);font-size:12px;padding:.5rem .75rem;transition:all .2s ease;transition:var(--transition);width:100%}.modern-search:focus{border-color:#92a78c;border-color:var(--sage);outline:none}.modern-search:focus,.modern-select{background:#fff;background:var(--white)}.modern-select{border:1px solid #5b584f33;border:1px solid var(--border-color);border-radius:6px;border-radius:var(--radius);cursor:pointer;font-size:12px;min-width:150px;padding:.5rem .75rem}.quick-filters{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.filter-label{color:#5b584f;color:var(--charcoal);font-size:11px;font-weight:600;margin-right:.5rem}.quick-filter-btn{background:#fff;background:var(--white);border:1px solid #0000;border-radius:15px;cursor:pointer;font-size:10px;font-weight:500;padding:.3rem .6rem;transition:all .2s ease;transition:var(--transition)}.quick-filter-btn.green{border-color:#22c55e;color:#22c55e}.quick-filter-btn.green.active{background:#22c55e;color:#fff}.quick-filter-btn.orange{border-color:#f97316;color:#f97316}.quick-filter-btn.orange.active{background:#f97316;color:#fff}.quick-filter-btn.red{border-color:#ef4444;color:#ef4444}.quick-filter-btn.red.active{background:#ef4444;color:#fff}.clear-filters-btn{background:#5b584f;background:var(--charcoal);border:none;border-radius:15px;color:#fff;cursor:pointer;font-size:10px;font-weight:500;padding:.3rem .6rem;transition:all .2s ease;transition:var(--transition)}.clear-filters-btn:hover{background:#4a4742}.results-info{border-top:1px solid #5b584f33;border-top:1px solid var(--border-color);color:#5b584fb3;font-size:11px;margin-top:.75rem;padding-top:.75rem}.test-list-modern{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.test-item-modern{background:#fff;background:var(--white);border:1px solid #5b584f33;border:1px solid var(--border-color);border-radius:6px;border-radius:var(--radius);overflow:hidden;transition:all .2s ease;transition:var(--transition)}.test-item-modern:hover{border-color:#92a78c;border-color:var(--sage);box-shadow:0 2px 8px #5b584f1a;box-shadow:0 2px 8px var(--shadow)}.test-header-modern{align-items:center;background:#fff;background:var(--white);border-bottom:1px solid #5b584f33;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:.75rem 1rem}.test-title-group{align-items:center;display:flex;gap:.75rem}.test-badge{background:#92a78c;background:var(--sage);border-radius:3px;color:#fff;font-size:10px;font-weight:700;min-width:2.5rem;padding:.3rem .6rem;text-align:center}.test-info{display:flex;flex-direction:column}.test-title{color:#5b584f;color:var(--charcoal);font-size:14px;font-weight:600;margin:0}.test-cat{color:#5b584f99;font-size:11px;font-weight:500}.test-price{color:#f79e6b;color:var(--peach);font-size:16px;font-weight:700}.test-body-modern{padding:1rem}.test-desc{color:#5b584fcc;font-size:12px;line-height:1.4;margin-bottom:.75rem}.test-meta-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.meta-group{display:flex;flex-direction:column;gap:.25rem}.meta-group.full-width{grid-column:1/-1}.meta-label{color:#5b584f99;font-size:10px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.meta-value{color:#5b584f;color:var(--charcoal);font-size:11px;font-weight:600}.meta-value.small{font-size:10px;font-weight:500}.meta-value.quick{color:#22c55e}.meta-value.slow{color:#f97316}.meta-value.active{color:#92a78c;color:var(--sage)}.test-footer-modern{background:#f5f5f580;border-top:1px solid #5b584f33;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;padding:.5rem 1rem}.btn-order-modern{background:#f79e6b;background:var(--peach);border:none;border-radius:6px;border-radius:var(--radius);color:#fff;cursor:pointer;font-size:11px;font-weight:600;padding:.4rem 1rem;transition:all .2s ease;transition:var(--transition)}.btn-order-modern:hover,.btn-quick-order:hover{background:#e8885a;transform:translateY(-1px)}.test-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:2rem}.test-stats .stat-card{background:#fff;background:var(--white);border:1px solid #5b584f33;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-lg);box-shadow:0 2px 8px #5b584f1a;box-shadow:0 2px 8px var(--shadow);padding:1.5rem;text-align:center}.test-stats .stat-card h4{color:#5b584f;color:var(--charcoal);font-size:14px;font-weight:500;margin-bottom:.5rem}.stat-number{color:#92a78c;color:var(--sage);display:block;font-size:2rem;font-weight:700}@media (max-width:768px){.lab-test-types{padding:.75rem}.lab-test-header{align-items:flex-start;flex-direction:column;gap:1rem}.filter-row{flex-direction:column;gap:.75rem}.modern-select{min-width:100%}.quick-filters{align-items:flex-start;flex-direction:column;gap:.5rem}.filter-label{margin-bottom:.25rem}.test-header-modern{align-items:flex-start;flex-direction:column;gap:.5rem}.test-price{align-self:flex-end}.test-meta-grid,.test-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.filter-row{gap:.5rem}.quick-filters{gap:.25rem}.quick-filter-btn{font-size:9px;padding:.25rem .5rem}.test-header-modern{padding:.5rem .75rem}.test-body-modern{padding:.75rem}.test-footer-modern{padding:.4rem .75rem}.test-meta-grid,.test-stats{grid-template-columns:1fr}}.billing{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:var(--spacing-1)}.billing-header{align-items:center;border-bottom:1px solid #0000000a;display:flex;justify-content:space-between;margin-bottom:var(--spacing-2);padding-bottom:var(--spacing-1)}.billing-header h1{color:var(--text-primary);font-size:20px;font-weight:var(--font-weight-medium);letter-spacing:0;margin:0}.quick-actions{display:flex;gap:var(--spacing-1)}.action-button{align-items:center;background-color:var(--primary-color);border:none;border-radius:var(--border-radius-sm);box-shadow:var(--elevation-1);color:var(--text-on-primary);cursor:pointer;display:flex;font-size:12px;font-weight:var(--font-weight-medium);height:30px;letter-spacing:.3px;padding:0 var(--spacing-1);text-transform:uppercase;transition:background-color var(--transition-speed) var(--transition-function),box-shadow var(--transition-speed) var(--transition-function)}.action-button:hover{background-color:var(--primary-dark);box-shadow:var(--elevation-2)}.action-button .icon{margin-right:var(--spacing-1)}.icon{display:inline-block;height:16px;position:relative;width:16px}.icon-plus:after,.icon-plus:before{background-color:currentColor;content:"";position:absolute}.icon-plus:before{height:2px;left:0;top:50%;transform:translateY(-50%);width:100%}.icon-plus:after{height:100%;left:50%;top:0;transform:translateX(-50%);width:2px}.icon-hospital:before{border:2px solid;border-radius:2px;content:"";height:10px;left:3px;position:absolute;top:3px;width:10px}.icon-hospital:after{color:currentColor;content:"+";font-size:10px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.icon-card:before{border:2px solid;border-radius:2px;content:"";height:8px;left:2px;position:absolute;top:3px;width:12px}.icon-card:after{background-color:currentColor;content:"";height:1px;left:4px;position:absolute;top:8px;width:8px}.icon-chart:before{height:8px;left:2px}.icon-chart:after,.icon-chart:before{background-color:currentColor;bottom:2px;content:"";position:absolute;width:3px}.icon-chart:after{box-shadow:4px 0 0 currentColor,8px 0 0 currentColor;height:12px;left:6px}.icon-lab:before{border:2px solid;border-radius:0 0 4px 4px;border-top:none;content:"";height:12px;left:4px;position:absolute;top:2px;width:8px}.icon-lab:after{border:2px solid;border-bottom:none;border-radius:2px 2px 0 0;content:"";height:4px;left:6px;position:absolute;top:0;width:4px}.billing-tabs{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.tab-buttons{background:var(--surface-variant);border-bottom:1px solid #0000000a;display:flex}.tab-button{align-items:center;background:#0000;border:none;color:var(--text-secondary);cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:var(--font-weight-medium);justify-content:center;letter-spacing:.1px;padding:var(--spacing-1) var(--spacing-2);position:relative;transition:all var(--transition-speed) var(--transition-function)}.tab-button:hover{background-color:#0000000a;color:var(--text-primary)}.tab-button.active{background:#fff;box-shadow:0 2px 4px #0000001a;color:var(--primary-color)}.tab-button.active:after{background:var(--primary-color);bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.tab-button .icon{margin-right:var(--spacing-1)}.tab-content{flex:1 1;overflow-y:auto;padding:var(--spacing-2)}.loading-spinner{align-items:center;display:flex;justify-content:center;padding:var(--spacing-4)}.spinner{animation:spin 1s linear infinite;border-top:2px solid var(--surface-variant);border:2px solid var(--surface-variant);border-radius:50%;border-top-color:var(--primary-color);height:24px;width:24px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message{align-items:center;background:var(--error-surface);border-radius:var(--border-radius);color:var(--error-color);display:flex;justify-content:center;margin:var(--spacing-2);padding:var(--spacing-4)}.services-content{color:var(--text-secondary);padding:var(--spacing-4);text-align:center}.services-content h3{color:var(--text-primary);margin-bottom:var(--spacing-1)}.billing-widget{margin-bottom:var(--spacing-2);overflow:hidden}.widget-header{align-items:center;border-bottom:1px solid #0000000a;display:flex;justify-content:space-between;padding:var(--spacing-2)}.widget-header h2{align-items:center;color:var(--text-primary);display:flex;font-size:16px;font-weight:var(--font-weight-medium);margin:0}.widget-header h2 .icon{color:var(--primary-color);margin-right:var(--spacing-1)}.widget-content{padding:var(--spacing-2)}.billing-table{border-collapse:collapse;width:100%}.billing-table th{background:var(--surface-variant);color:var(--text-secondary);font-size:12px;font-weight:var(--font-weight-medium);letter-spacing:.5px;text-align:left;text-transform:uppercase}.billing-table td,.billing-table th{border-bottom:1px solid #0000000a;padding:var(--spacing-1) var(--spacing-2)}.billing-table td{color:var(--text-primary);font-size:14px}.billing-table tr:hover{background:var(--surface-hover)}.billing-table tr:last-child td{border-bottom:none}.status-badge{border-radius:12px;font-size:11px;font-weight:var(--font-weight-medium);letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.status-badge.draft{background:#0000000a;color:var(--text-secondary)}.status-badge.sent{background:#2196f31a;color:#1976d2}.status-badge.paid{background:#4caf501a;color:#388e3c}.status-badge.overdue{background:#f443361a;color:#d32f2f}.status-badge.cancelled{background:#0000000a;color:var(--text-secondary)}.billing-form{gap:var(--spacing-2)}.billing-form,.form-group{display:flex;flex-direction:column}.form-label{color:var(--text-secondary);font-size:12px;font-weight:var(--font-weight-medium);letter-spacing:.5px;margin-bottom:var(--spacing-half);text-transform:uppercase}.form-input,.form-select{border:1px solid #0000001f;border-radius:var(--border-radius-sm);font-size:14px;padding:var(--spacing-1);transition:border-color var(--transition-speed) var(--transition-function)}.form-input:focus,.form-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #92a78c33;outline:none}@media (max-width:768px){.billing{padding:var(--spacing-half)}.billing-header{align-items:stretch;flex-direction:column;gap:var(--spacing-1)}.quick-actions{justify-content:center}.tab-buttons{flex-direction:column}.tab-button{justify-content:flex-start;padding-left:var(--spacing-2)}.billing-table{font-size:12px}.billing-table td,.billing-table th{padding:var(--spacing-half) var(--spacing-1)}}.App{height:100vh;overflow:hidden;width:100%}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}