@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes pawBounce{0%,to{transform:rotate(0)translateY(0)}25%{transform:rotate(-15deg)translateY(-10px)}75%{transform:rotate(15deg)translateY(-10px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes glow{0%,to{box-shadow:0 0 5px #4caf504d}50%{box-shadow:0 0 20px #4caf5099}}@keyframes fadeOut{to{opacity:0}}@keyframes popIn{to{opacity:1;transform:scale(1)}}@keyframes ripple-animation{to{opacity:0;transform:scale(4)}}.container{max-width:100%;height:100vh;display:flex}.left-section{background:#fbfdfb;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px;animation:.8s ease-out slideInLeft;display:flex;position:relative;overflow:hidden}.left-section:before{content:"";z-index:0;background:linear-gradient(135deg,#eaf6ec 0%,#d3ebd7 100%);border-radius:62% 38% 35% 65%/58% 32% 68% 42%;width:78%;height:68%;position:absolute;bottom:4%;left:50%;transform:translate(-50%)}.paw-print{opacity:.15;color:#4caf50;font-size:64px;animation:4s ease-in-out infinite pawBounce;position:absolute}.paw-1{animation-delay:0s;top:8%;left:6%;transform:rotate(-20deg)}.paw-2{animation-delay:.5s;top:72%;right:6%;transform:rotate(30deg)}.paw-3{animation-delay:1s;bottom:8%;left:8%;transform:rotate(-45deg)}.left-content{z-index:2;text-align:center;animation:.8s ease-out .2s backwards slideInUp}.logo{color:#2d5f4f;justify-content:center;align-items:center;gap:10px;margin-bottom:28px;font-size:24px;font-weight:700;animation:.8s ease-out .3s backwards slideInUp;display:flex}.logo-img{width:auto;height:42px;display:inline-block}.pet-image{justify-content:center;align-items:center;width:clamp(260px,46vh,420px);height:clamp(260px,46vh,420px);margin:16px auto 0;transition:transform .5s;animation:.8s ease-out .4s backwards slideInUp;display:flex}.pet-image:hover{transform:scale(1.05)}.pet-image img{object-fit:contain;max-width:100%;max-height:100%}.tagline{color:#3d7a5d;margin-bottom:12px;font-size:18px;font-weight:500;line-height:1.6;transition:color .3s;animation:.8s ease-out .5s backwards slideInUp}.tagline:hover{color:#2d5f4f;transform:scale(1.02)}.tagline-highlight{color:#2d7a4d;font-weight:700;display:inline-block;position:relative}.tagline-highlight:after{content:"";background:#4caf50;border-radius:3px;width:100%;height:3px;position:absolute;bottom:-4px;left:0}.right-section{background:#fbfdfb;flex:1;justify-content:center;align-items:center;padding:40px;animation:.8s ease-out slideInRight;display:flex}.login-card{background:#fff;border-radius:20px;width:100%;max-width:400px;padding:40px;animation:.8s ease-out .2s backwards slideInUp;box-shadow:0 2px 8px #14281e0d,0 12px 32px #14281e14}.welcome-text{margin-bottom:30px}.welcome-text h1{color:#1a1a1a;margin-bottom:8px;font-size:28px;font-weight:700;animation:.6s ease-out .3s backwards slideInRight}.welcome-text p{color:#666;font-size:14px;animation:.6s ease-out .4s backwards slideInRight}.login-card .form-group{margin-bottom:20px;animation:.6s ease-out backwards slideInUp}.login-card .form-group:first-child{animation-delay:.5s}.login-card .form-group:nth-child(2){animation-delay:.6s}.login-card .form-label{color:#333;margin-bottom:8px;font-size:14px;font-weight:500;transition:color .3s;display:block}.login-card .input-wrapper{align-items:center;display:flex;position:relative}.login-card .form-input{background:#fafafa;border:1px solid #858f8a;border-radius:10px;width:100%;padding:13px 15px 13px 42px;font-size:14px;transition:border-color .3s,background-color .3s,box-shadow .3s}.login-card .form-input:focus{background:#fff;border-color:#2d7a4d;outline:none;animation:1s ease-in-out infinite glow;box-shadow:0 0 0 3px #4caf501a}.login-card .form-input::placeholder{color:#5f6763;transition:color .3s}.login-card .input-icon{color:#888;opacity:.7;pointer-events:none;transition:color .3s,opacity .3s;display:inline-flex;position:absolute;left:14px}.login-card .input-icon svg{width:17px;height:17px}.login-card .input-wrapper:focus-within .input-icon{color:#2d7a4d;opacity:1;transform:scale(1.1)}.login-card .password-input-wrapper .form-input{padding-right:42px}.password-input-wrapper .form-input::-ms-reveal{display:none}.password-input-wrapper .form-input::-ms-clear{display:none}.password-input-wrapper .form-input::-webkit-credentials-auto-fill-button{display:none!important}.password-input-wrapper .form-input::-webkit-strong-password-auto-fill-button{display:none!important}.toggle-password{cursor:pointer;color:#2d7a4d;background:0 0;border:none;justify-content:center;align-items:center;padding:5px;transition:color .3s,opacity .3s,transform .3s;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.toggle-password svg{width:18px;height:18px}.toggle-password .icon-eye-off,.toggle-password.is-visible .icon-eye{display:none}.toggle-password.is-visible .icon-eye-off{display:block}.toggle-password:hover{color:#2d7a4d;transform:translateY(-50%)scale(1.15)}.login-card .form-input.plain{padding-left:15px}.right-section{align-items:flex-start;overflow-y:auto}.login-card{margin:auto 0}#signUpForm .form-group{margin-bottom:14px}.login-card .select-field{position:relative}.login-card .select-field select.form-input{appearance:none;cursor:pointer;padding-right:36px}.login-card .select-field svg{color:#646c68;pointer-events:none;width:16px;height:16px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.login-card .field-error{color:#c62828;margin:6px 0 0;font-size:12.5px}.login-card .password-rules{color:#646c68;flex-wrap:wrap;gap:4px 14px;margin:8px 0 0;padding:0;font-size:12.5px;list-style:none;display:flex}.login-card .password-rules li:before{content:"○";margin-right:5px}.login-card .password-rules li.met{color:#17693a}.login-card .password-rules li.met:before{content:"✓"}.login-card .password-rules li.rule-note:before{content:none}.login-card .password-rules li.rule-note{flex-basis:100%}.login-card .form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.auth-switch{text-align:center;color:#666;margin-top:18px;font-size:13.5px}.auth-switch button{font:inherit;color:#2d7a4d;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.auth-switch button:hover{text-decoration:underline}@media (width<=480px){.login-card .form-row{grid-template-columns:1fr;row-gap:0}}.form-input.error{background:#fff5f5;border-color:#c92a2a}#email.error{border-bottom:3px solid #ff6b6b}.form-input.error:focus{box-shadow:0 0 0 3px #ff6b6b1a}.form-input.success{background:#f1fdf4;border-color:#2d7a4d}.form-input.success:focus{box-shadow:0 0 0 3px #51cf661a}.login-alert{color:#c92a2a;background:#fff5f5;border:2px solid #ff6b6b;border-radius:6px;margin-bottom:20px;padding:13px 16px;font-size:13.5px;font-weight:500;line-height:1.5;animation:.4s ease-out slideInDown}.form-actions{justify-content:space-between;align-items:center;margin-bottom:20px;font-size:14px;animation:.6s ease-out .7s backwards slideInUp;display:flex}.checkbox-group{align-items:center;gap:8px;transition:transform .3s;display:flex}.checkbox-group:hover{transform:translate(5px)}.checkbox-group input[type=checkbox]{accent-color:#2d7a4d;cursor:pointer;width:18px;height:18px;transition:transform .2s}.checkbox-group input[type=checkbox]:checked{animation:.3s pulse}.checkbox-group label{cursor:pointer;color:#333;-webkit-user-select:none;user-select:none}.forgot-password{color:#2d7a4d;font-weight:500;text-decoration:none;transition:color .3s;position:relative}.forgot-password:after{content:"";background:#4caf50;width:0;height:2px;transition:width .3s;position:absolute;bottom:-2px;left:0}.forgot-password:hover{color:#1e5a3a}.forgot-password:hover:after{width:100%}button.forgot-password{font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.login-note{color:#2d5f4f;background:#f1f8f3;border:1px solid #cfe6d6;border-radius:8px;margin:-8px 0 16px;padding:12px 14px;font-size:13px;line-height:1.5}.recaptcha{min-height:78px;margin:4px 0 16px}.login-btn{color:#fff;cursor:pointer;background:#2d7a4d;border:none;border-radius:30px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px;font-size:16px;font-weight:600;transition:background-color .3s,transform .3s,box-shadow .3s,opacity .3s;animation:.6s ease-out .8s backwards slideInUp;display:flex;position:relative;overflow:hidden}.login-btn:hover{background:#1e5a3a;transform:translateY(-3px);box-shadow:0 8px 20px #2d7a4d66}.login-btn:active{transform:translateY(-1px)}.login-btn:disabled{cursor:not-allowed;background:#999;transform:none}.login-btn:before{content:"";background:#ffffff1a;width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.login-btn:hover:before{left:100%}.paw-icon{align-items:center;line-height:1;display:inline-flex}.paw-icon svg{width:18px;height:18px}.login-btn:hover .paw-icon{animation:.6s ease-out spin}.btn-text{transition:opacity .3s,transform .3s;display:inline-block}.login-btn.loading{pointer-events:none}.login-btn.loading .paw-icon{animation:1s linear infinite spin!important}.login-btn.loading .btn-text{opacity:0;position:absolute}.ripple{pointer-events:none;background:#ffffff80;border-radius:50%;animation:.6s ease-out ripple-animation;position:absolute;transform:scale(0)}.footer-text{text-align:center;color:#646c68;margin-top:20px;font-size:12px;transition:color .3s;animation:.6s ease-out .9s backwards slideInUp}.footer-text:hover{color:#2d7a4d}.footer-icon{vertical-align:middle;margin-right:4px;transition:transform .3s;display:inline-flex}.footer-icon svg{width:13px;height:13px}.footer-text:hover .footer-icon{transform:scale(1.3)}.success-overlay{z-index:1000;opacity:0;background:#141e1980;justify-content:center;align-items:center;padding:20px;animation:.25s ease-out forwards fadeIn;display:flex;position:fixed;inset:0}.success-overlay.closing{animation:.3s ease-in forwards fadeOut}.success-popup{text-align:center;opacity:0;background:#fff;border-radius:16px;width:100%;max-width:360px;padding:36px 32px;animation:.35s ease-out 50ms forwards popIn;transform:scale(.9);box-shadow:0 24px 60px #0000004d}.success-popup-icon{color:#2d7a4d;background:#f1fdf4;border:2px solid #51cf66;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 18px;display:flex}.success-popup-icon svg{width:28px;height:28px}.success-popup h3{color:#2d7a4d;margin-bottom:10px;font-size:19px;font-weight:700}.success-popup p{color:#555;font-size:14px;line-height:1.6}.success-popup .remember-note{color:#2d7a4d;margin-top:6px;font-weight:500}@media (width<=768px){.container{flex-direction:column;height:auto;min-height:100vh}.left-section{min-height:40vh;padding:20px;animation:.8s ease-out slideInUp}.pet-image{width:260px;height:260px}.tagline{font-size:16px}.right-section{min-height:60vh;padding:30px 20px;animation:.8s ease-out slideInDown}.login-card{max-width:100%}.paw-print{font-size:60px}}@media (width<=480px){.login-card{padding:28px 20px}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#4caf50;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#2d7a4d}@media (width<=359px){.recaptcha>div{transform-origin:0 0;transform:scale(.86)}}body{color:#1a1a1a;background:#f4f6f5;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}a{color:inherit;text-decoration:none}.dashboard-container{min-height:100vh;display:flex}.sidebar{background:#fff;border-right:1px solid #ececec;flex-direction:column;flex-shrink:0;width:250px;height:100vh;padding:24px 16px;animation:.5s ease-out slideInLeft;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-logo{align-items:center;margin-bottom:28px;padding:0 8px;animation:.6s ease-out .1s backwards fadeIn;display:flex}.sidebar-logo-img{height:30px}.sidebar-logo-icon{height:40px;display:none}.sidebar-nav{flex-direction:column;flex:1;gap:24px;display:flex}.nav-section{flex-direction:column;gap:4px;display:flex}.nav-label{color:#646c68;margin-bottom:6px;padding:0 12px;font-size:12px;font-weight:600}.nav-item{color:#3a3f3d;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;transition:background .2s,color .2s,transform .2s;animation:.4s ease-out backwards slideInLeft;display:flex}.nav-item svg{flex-shrink:0;width:18px;height:18px;transition:transform .2s}.nav-item:hover{background:#f0f4f1;transform:translate(3px)}.nav-item:hover svg{transform:scale(1.1)}.nav-item:active{transform:translate(3px)scale(.97)}.nav-item.active{color:#fff;background:#2d7a4d}.nav-item.active:hover{transform:none}.logout-link{color:#c62828;border-radius:10px;align-items:center;gap:10px;margin-top:16px;padding:10px 12px;font-size:14px;font-weight:500;transition:background .2s,transform .2s;display:flex}.logout-link svg{width:18px;height:18px}.logout-link:hover{background:#fdecea;transform:translate(3px)}.main-area{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{z-index:5;background:#fff;border-bottom:1px solid #ececec;justify-content:flex-end;align-items:center;height:64px;padding:0 32px;display:flex;position:sticky;top:0}.hamburger-btn{color:#3a3f3d;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;transition:background .2s;display:none}.hamburger-btn svg{width:22px;height:22px}.hamburger-btn:hover{background:#f0f4f1}.topbar-spacer{flex:1}.topbar-actions{align-items:center;gap:12px;display:flex}.icon-btn{color:#5a635f;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;transition:background .2s;display:flex;position:relative}.icon-btn svg{width:20px;height:20px}.icon-btn:hover{background:#f0f4f1}.notif-dot{background:#e53935;border:1.5px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:8px;right:9px}.avatar{color:#fff;cursor:pointer;background:#2d7a4d;border:none;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-family:inherit;font-size:13px;font-weight:700;transition:transform .2s;display:flex;overflow:hidden}.avatar:hover{transform:scale(1.08)}.avatar-photo-img{object-fit:cover;width:100%;height:100%;display:block}.popover-wrapper{position:relative}.popover{opacity:0;pointer-events:none;z-index:30;background:#fff;border-radius:14px;padding:16px;transition:opacity .18s,transform .18s;position:absolute;top:calc(100% + 12px);right:0;transform:translateY(-8px);box-shadow:0 4px 12px #14281e0f,0 16px 36px #14281e1f}.popover.show{opacity:1;pointer-events:auto;transform:translateY(0)}.popover-title{color:#444;margin-bottom:10px;font-size:13px;font-weight:600}.notif-popover{width:300px}.about-text{color:#45514a;text-align:left;margin-bottom:14px;font-size:14.5px;line-height:1.75}.about-text:last-child{margin-bottom:0}.about-modal-overlay{opacity:0;pointer-events:none;visibility:hidden;overscroll-behavior:contain;z-index:100;background:#141e1973;justify-content:center;align-items:center;padding:20px;transition:opacity .2s,visibility 0s linear .2s;display:flex;position:fixed;inset:0}.about-modal-overlay.show{opacity:1;pointer-events:auto;visibility:visible;transition-delay:0s}.about-modal{background:#fff;border-radius:20px;width:100%;max-width:520px;max-height:85vh;padding:36px 36px 32px;transition:transform .2s;position:relative;overflow-y:auto;transform:translateY(16px)scale(.97);box-shadow:0 24px 60px #0000004d}.about-modal-overlay.show .about-modal{transform:translateY(0)scale(1)}.about-modal-close{color:#5f6763;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s;display:flex;position:absolute;top:14px;right:14px}.about-modal-close svg{width:16px;height:16px}.about-modal-close:hover{background:#f0f4f1}.about-modal-logos{justify-content:center;align-items:center;gap:24px;margin-bottom:24px;display:flex}.about-modal-logo{object-fit:contain;width:auto;height:60px}.about-modal-title{color:#163a26;margin-bottom:10px;font-size:17px;font-weight:700}.about-modal-title.about-subtitle{border-top:1px solid #ececec;margin-top:22px;padding-top:20px}.about-list{color:#45514a;margin:0 0 14px;padding-left:20px;font-size:14.5px;line-height:1.75}.about-list li{margin-bottom:6px}.notif-popover .empty-state{padding:24px 4px 4px}.notif-list{flex-direction:column;gap:4px;max-height:320px;display:flex;overflow-y:auto}.notif-item{background:#eef7f0;border-radius:8px;width:100%;transition:background .15s;display:block}.notif-item:hover{background:#e4f0e7}.notif-item.is-seen{background:0 0}.notif-item.is-seen:hover{background:#f0f4f1}.notif-item-body{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:10px 8px;display:block}.notif-item-title{color:#17693a;margin-bottom:2px;font-size:13px;font-weight:700}.notif-item.is-seen .notif-item-title{color:#45514a;font-weight:600}.notif-item-sub{color:#5f6763;font-size:12px}.notif-item-request{background:#f4f6f5;padding:10px 10px 8px}.notif-item-request .notif-item-title{color:#1a1a1a}.notif-item-actions{gap:8px;margin-top:8px;display:flex}.notif-action-btn{color:#45514a;cursor:pointer;background:#fff;border:1px solid #dfe3e1;border-radius:6px;flex:1;padding:6px 10px;font-family:inherit;font-size:12px;font-weight:600;transition:background .15s}.notif-action-btn:hover{background:#f0f4f1}.notif-action-btn.approve{color:#fff;background:#163a26;border-color:#163a26}.notif-action-btn.approve:hover{background:#0f2a1a}.notif-action-btn.deny:hover{color:#c62828;background:#fdecea;border-color:#f3c6c4}.profile-popover{width:240px}.profile-info{cursor:pointer;border-bottom:1px solid #ececec;border-radius:10px;align-items:center;gap:12px;margin:-6px -6px 12px;padding:6px 6px 14px;transition:background .2s;display:flex}.profile-info:hover{background:#f0f4f1}.profile-avatar{color:#fff;background:#2d7a4d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:14px;font-weight:700;display:flex;overflow:hidden}.profile-name{color:#1a1a1a;font-size:14px;font-weight:600}.profile-role{color:#5f6763;margin-top:2px;font-size:12px}.popover-logout{color:#c62828;border-radius:10px;align-items:center;gap:10px;padding:9px 10px;font-size:13px;font-weight:500;transition:background .2s;display:flex}.popover-logout svg{width:16px;height:16px}.popover-logout:hover{background:#fdecea}.content{padding:32px}.dashboard-filters{flex-wrap:wrap;gap:10px 20px;display:flex}.branch-filter{color:#444;align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.select-wrapper{align-items:center;display:flex;position:relative}.select-wrapper select{appearance:none;color:#1a1a1a;cursor:pointer;background:#fff;border:1px solid #858f8a;border-radius:8px;padding:8px 34px 8px 14px;font-family:inherit;font-size:14px}.select-wrapper select:focus{border-color:#2d7a4d;outline:none}.select-chevron{color:#777;pointer-events:none;width:15px;height:15px;position:absolute;right:10px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:24px;display:grid}.stat-card{background:#fff;border:1px solid #ececec;border-top:3px solid #4caf50;border-radius:12px;padding:18px 20px;transition:transform .25s,box-shadow .25s}.stat-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px #14281e14}.stat-card.alert{border-color:#e53935 #f3c6c4 #f3c6c4}.stat-card.follow-up-active{border-color:#b8720a #f4dcae #f4dcae}.stat-label{color:#5f6763;margin-bottom:8px;font-size:13px}.stat-value{margin-bottom:8px;font-size:26px;font-weight:700}.stat-change{font-size:13px;font-weight:500}.stat-change.positive{color:#2d7a4d}.stat-change.negative{color:#c62828}.stat-change.muted{color:#646c68}.charts-grid{grid-template-columns:1.4fr 1fr;gap:20px;margin-bottom:24px;display:grid}.chart-card,.table-card{background:#fff;border:1px solid #ececec;border-radius:12px;padding:22px}.chart-card{animation:.6s ease-out .15s backwards slideInUp}.chart-card h2,.table-card h2{margin-bottom:20px;font-size:16px;font-weight:600}.analytics-grid{grid-template-columns:2.2fr 1fr;gap:20px;margin-bottom:24px;display:grid}.chart-card-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.chart-card-header h2{margin-bottom:0}.kpi-list{flex-direction:column;gap:22px;display:flex}.kpi-label{color:#5f6763;margin-bottom:6px;font-size:13px}.kpi-value{color:#1a1a1a;font-size:22px;font-weight:700}.kpi-value.muted{color:#646c68;font-size:15px;font-weight:500}@media (width<=1024px){.analytics-grid{grid-template-columns:1fr}}.bar{background:#a8dab5;border-radius:6px 6px 0 0;width:100%;max-width:44px;transition:height .7s cubic-bezier(.22,1,.36,1),opacity .2s,transform .2s}.bar.highlight{background:#1f8a4c}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}thead th{text-align:left;color:#646c68;white-space:nowrap;border-bottom:1px solid #ececec;padding:10px 12px;font-weight:500}tbody td{white-space:nowrap;border-bottom:1px solid #f2f2f2;padding:14px 12px}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .2s}tbody tr:hover{background:#fafbfa}.status-pill{border-radius:20px;padding:5px 12px;font-size:12px;font-weight:600;transition:transform .2s;display:inline-block}tbody tr:hover .status-pill{transform:scale(1.05)}.empty-state{color:#646c68;text-align:center;width:100%;padding:20px;font-size:13px;font-style:italic}.chat-toggle[aria-expanded=true]{color:#17693a;background:#e4f6e8}.chat-panel{opacity:0;transform-origin:100% 0;pointer-events:none;visibility:hidden;z-index:39;background:#fff;border-radius:18px;flex-direction:column;width:360px;max-width:calc(100vw - 32px);height:min(560px,100vh - 96px);transition:opacity .2s,transform .2s,visibility 0s linear .2s;display:flex;position:fixed;top:72px;right:24px;overflow:hidden;transform:translateY(-8px)scale(.98);box-shadow:0 4px 12px #14281e14,0 20px 48px #14281e2e}.chat-panel.show{opacity:1;pointer-events:auto;visibility:visible;transition-delay:0s;transform:translateY(0)scale(1)}.chat-panel-header{color:#fff;background:#163a26;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.chat-bot-identity{align-items:center;gap:12px;display:flex}.chat-bot-logo{color:#163a26;background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.chat-bot-logo svg{width:20px;height:20px}.chat-bot-name{margin:0;font-size:14px;font-weight:700;line-height:1.3}.chat-bot-subtitle{color:#a9d3bb;font-size:12px;line-height:1.3}.chat-panel-close{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;transition:background .2s;display:flex}.chat-panel-close svg{width:16px;height:16px}.chat-panel-close:hover{background:#ffffff26}.chat-panel-body{background:#f4f6f5;flex-direction:column;flex:1;gap:10px;padding:18px;display:flex;overflow-y:auto}.chat-bubble{overflow-wrap:break-word;word-break:break-word;white-space:pre-wrap;border-radius:14px;min-width:0;max-width:82%;padding:10px 14px;font-size:13px;line-height:1.5}.chat-bubble.bot{color:#1a1a1a;white-space:normal;background:#fff;border:1px solid #ececec;border-bottom-left-radius:4px;align-self:flex-start}.chat-bubble p{margin:0 0 6px}.chat-bubble ul{margin:0 0 6px;padding-left:18px}.chat-bubble li+li{margin-top:3px}.chat-bubble>:last-child{margin-bottom:0}.chat-bubble.error{color:#c62828;background:#fdecea;border:1px solid #f3cfca;align-self:flex-start}.chat-typing{color:#646c68}.chat-starters{flex-wrap:wrap;gap:6px;display:flex}.chat-starter{color:#2d7a4d;font:inherit;cursor:pointer;background:#fff;border:1px solid #cfe6d6;border-radius:999px;padding:7px 12px;font-size:12.5px;transition:background-color .2s,border-color .2s}.chat-starter:hover{background:#e4f6e8;border-color:#2d7a4d}.chat-note{color:#646c68;text-align:center;margin:0;padding:0 14px 10px;font-size:11.5px}.chat-bubble.user{color:#fff;background:#163a26;border-bottom-right-radius:4px;align-self:flex-end}.chat-panel-input{border-top:1px solid #ececec;flex-shrink:0;align-items:center;gap:8px;padding:14px;display:flex}.chat-panel-input input{background:#fafafa;border:1px solid #858f8a;border-radius:20px;flex:1;padding:10px 16px;font-family:inherit;font-size:13px;transition:border-color .2s,background .2s}.chat-panel-input input:focus{background:#fff;border-color:#163a26;outline:none}.chat-send-btn{color:#fff;cursor:pointer;background:#163a26;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .2s,transform .2s;display:flex}.chat-send-btn svg{width:16px;height:16px}.chat-send-btn:disabled{cursor:default;background:#9fb3a7;transform:none}.chat-send-btn:hover:not(:disabled){background:#0f2a1a;transform:scale(1.06)}@media (width<=480px){.chat-panel{width:auto;height:calc(100vh - 84px);left:12px;right:12px}}.toast{color:#fff;opacity:0;pointer-events:none;z-index:300;white-space:nowrap;text-overflow:ellipsis;background:#1a1a1a;border-radius:30px;align-items:center;gap:14px;max-width:90vw;padding:12px 20px;font-size:13px;font-weight:500;transition:opacity .25s,transform .25s;display:flex;position:fixed;bottom:96px;left:50%;overflow:hidden;transform:translate(-50%)translateY(12px);box-shadow:0 8px 20px #0003}.toast.show{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.toast-action{color:#8fd3a5;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-family:inherit;font-size:13px;font-weight:700}.toast-action:hover{color:#b3e6c2}.sidebar-overlay{opacity:0;pointer-events:none;z-index:15;background:#0006;transition:opacity .25s;position:fixed;inset:0}.sidebar-overlay.show{opacity:1;pointer-events:auto}@media (width<=1024px){.charts-grid{grid-template-columns:1fr}}@media (width<=768px){.hamburger-btn{display:flex}.sidebar{z-index:20;width:260px;max-width:80vw;height:100vh;transition:transform .3s;animation:none;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:0 0 32px #0000002e}.sidebar.open{transform:translate(0)}.content{padding:20px}.stats-grid{grid-template-columns:1fr 1fr}}@media (width<=480px){.stats-grid{grid-template-columns:1fr}}@media (hover:hover) and (pointer:fine) and (width>=769px){.sidebar{width:84px;transition:width .25s;overflow-x:hidden}.sidebar:hover,.sidebar.pinned{width:240px}.sidebar .sidebar-pin{display:grid}.sidebar:not(:hover):not(.pinned) .sidebar-pin{display:none}.nav-item,.logout-link{gap:0}.nav-item span,.logout-link span{opacity:1;white-space:nowrap;max-width:160px;margin-left:10px;transition:max-width .2s,margin-left .2s,opacity .15s;display:inline-block;overflow:hidden}.nav-label{white-space:nowrap;opacity:1;max-height:20px;transition:max-height .2s,opacity .15s,margin .2s;overflow:hidden}.sidebar:not(:hover):not(.pinned) .nav-item span,.sidebar:not(:hover):not(.pinned) .logout-link span{opacity:0;max-width:0;margin-left:0}.sidebar:not(:hover):not(.pinned) .nav-label{opacity:0;max-height:0;margin-bottom:0}.sidebar:not(:hover):not(.pinned) .logo-expanded{display:none}.sidebar:not(:hover):not(.pinned) .logo-collapsed{display:block}}.sidebar-pin{color:#646c68;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;width:30px;height:30px;margin-left:auto;transition:background .2s,color .2s;display:none}.sidebar-pin svg{width:16px;height:16px;transition:transform .2s;transform:rotate(45deg)}.sidebar-pin:hover{color:#2d7a4d;background:#f0f4f1}.sidebar-pin[aria-pressed=true]{color:#2d7a4d;background:#e8f3ec;border-color:#cfe6d6}.sidebar-pin[aria-pressed=true] svg{transform:none}.chart-legend{color:#4a524e;flex-wrap:wrap;gap:14px;margin-top:10px;font-size:12.5px;display:flex}.chart-legend-item{align-items:center;gap:6px;display:inline-flex}.chart-legend-item i{border-radius:3px;width:10px;height:10px;display:inline-block}.chart-box{width:100%;position:relative}.chart-donut{flex-shrink:0;position:relative}.donut-row{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.donut-list{flex-direction:column;gap:10px;font-size:13.5px;list-style:none;display:flex}.donut-list li{align-items:center;gap:8px;display:flex}.donut-list i{border-radius:3px;width:10px;height:10px;display:inline-block}.donut-list b{margin-left:auto;padding-left:16px}.as-of{color:#5f6763;margin:-6px 0 18px;font-size:12.5px}.load-error{color:#b3392f;background:#fff4f2;border:1px solid #f3cfca;border-radius:10px;margin-bottom:16px;padding:12px 14px;font-size:13.5px}.trend-up{color:#2d7a4d;font-weight:600}.trend-down{color:#c0392b;font-weight:600}.pill{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.pill-fast{color:#1f6b41;background:#e4f4ea}.pill-moderate{color:#4a524e;background:#eef1ef}.pill-slow{color:#b3392f;background:#fdeceb}.skeleton{background:linear-gradient(90deg,#eef1ef 25%,#f7f9f8 50%,#eef1ef 75%) 0 0/200% 100%;border-radius:8px;min-height:20px;animation:1.2s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.month-cells{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:0;display:grid}.month-cell{text-align:center;border-right:1px solid #ececec;padding:14px 12px}.month-cell:last-child{border-right:none}.month-cell-label{color:#5f6763;margin-bottom:4px;font-size:12px}.month-cell-value{font-size:18px;font-weight:700}.month-cell.is-forecast{background:#f4f1fd}.month-cell.is-forecast .month-cell-value{color:#6a48c9}.accuracy-note{color:#5f6763;margin-top:10px;font-size:12.5px;line-height:1.5}.stat-sub{color:#5f6763;margin-top:4px;font-size:12px}.live-badge{color:#1f6b41;letter-spacing:.02em;background:#e4f4ea;border-radius:999px;align-items:center;gap:6px;margin-right:8px;padding:2px 9px;font-size:11.5px;font-weight:700;display:inline-flex}.live-badge i{background:#2d7a4d;border-radius:50%;width:7px;height:7px;animation:1.6s ease-in-out infinite livePulse}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}.live-grid{grid-template-columns:1fr 1.6fr;align-items:start;gap:20px;margin-bottom:24px;display:grid}.live-grid>*{min-width:0}.live-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.live-head h2{margin:0}.live-stats{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.live-stats .stat-value{font-size:22px}@media (width<=1024px){.live-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.live-badge i{animation:none}}.load-warn{color:#8a5300;background:#fdf1e0;border:1px solid #f4dcae;border-radius:10px;margin-bottom:16px;padding:12px 14px;font-size:13.5px}.link-btn{color:#2d7a4d;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.stat-card-link{color:inherit;cursor:pointer;text-decoration:none;display:block}.stat-card-link:hover .stat-label{color:#17693a}.stat-card-link:focus-visible{outline-offset:2px;outline:2px solid #17693a}.stat-card-btn{font:inherit;text-align:left;color:inherit;cursor:pointer;width:100%}.stat-card-btn>span{display:block}.stat-card-btn:disabled{cursor:default}.stat-card-btn.selected{border-color:#17693a;box-shadow:0 0 0 2px #17693a40}.stat-card-btn.alert.selected{border-color:#e53935;box-shadow:0 0 0 2px #e5393533}.stat-card-btn:focus-visible{outline-offset:2px;outline:2px solid #17693a}.stat-card-btn:disabled:hover{box-shadow:none;transform:none}.split{align-items:stretch;gap:20px;margin-bottom:20px;display:grid}.split-wide{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}.split-even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.split>.chart-card,.split>.table-card,.stack>.chart-card,.stack>.table-card{flex-direction:column;margin:0;display:flex}.split .table-scroll{flex:1}.stack{flex-direction:column;gap:20px;min-width:0;display:flex}.stack>*{flex:1}@media (width<=1100px){.split-wide,.split-even{grid-template-columns:minmax(0,1fr)}}.card-head{margin-bottom:16px}.card-head h2{margin-bottom:2px}.card-head-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.chart-card .card-head h2,.table-card .card-head h2{margin-bottom:2px}.card-note{color:#646c68;font-size:12.5px;line-height:1.45}.card-head-row+.live-stats,.live-stats+.card-note{margin-top:4px}.live-stats+.card-note{border-top:1px solid #f0f2f1;margin-top:14px;padding-top:12px}.data-table td,.data-table th{padding:11px 12px}.data-table .num{text-align:right;white-space:nowrap}.data-table tbody tr:last-child td{border-bottom:none}.cell-sub{color:#646c68;margin-top:2px;font-size:12px;display:block}.stat-value,.kpi-value,.data-table td,.donut-list b,.live-stats .stat-value{font-variant-numeric:tabular-nums}.donut-row{flex-wrap:nowrap}.donut-list{flex:1;gap:14px;min-width:0}.donut-list li{align-items:flex-start}.donut-list li i{flex-shrink:0;margin-top:4px}.donut-list span{flex-direction:column;min-width:0;display:flex}.donut-list small{color:#646c68;font-size:12px}.highlights{background:#fff;border:1px solid #ececec;border-radius:12px;margin-bottom:20px;padding:18px 22px}.highlights h2{margin-bottom:12px;font-size:15px;font-weight:600}.highlights ul{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 24px;list-style:none;display:grid}.highlights li{color:#45514a;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.5;display:flex}.highlights li b{color:#1a1a1a;font-variant-numeric:tabular-nums;font-weight:700}.highlights li a{color:#2d7a4d;margin-left:2px;font-weight:600}.highlights svg{border-radius:8px;flex-shrink:0;width:26px;height:26px;padding:5px}.highlights .hl-up svg{color:#17693a;background:#e4f6e8}.highlights .hl-down svg{color:#c62828;background:#fdecea}.highlights .hl-warn svg{color:#8a5300;background:#fdf1e0}.highlights .hl-info svg{color:#45514a;background:#eef1ef}.content ::selection{color:#0f2a1a;background:#cdebd6}.section-card{margin-bottom:20px}.section-head{margin:12px 0 14px}.section-head .section-title{margin-bottom:2px}.split .table-scroll>.data-table{height:100%}.split .data-table thead tr{height:1px}.data-table .rank{color:#646c68;font-variant-numeric:tabular-nums;width:32px;padding-right:0}.data-table td.num .cell-sub{color:#646c68;font-weight:400}.date-chips{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.date-chip{background:#f6f8f7;border:1px solid #e3e8e5;border-radius:8px;align-items:baseline;gap:6px;padding:5px 10px;font-size:12.5px;display:flex}.date-chip dt{color:#646c68}.date-chip dd{color:#1a1a1a;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.date-chip-now{background:#eef7f1;border-color:#cfe6d6}.date-chip-now dd{color:#17693a}.chart-insight{background:#f3f7f4;border:1px solid #e1ebe4;border-radius:8px;margin-top:14px;padding:12px 14px}.chart-insight-title{color:#17693a;margin:0 0 6px;font-size:12px;font-weight:700}.chart-insight ul{color:#3a3f3d;flex-direction:column;gap:4px;margin:0;padding-left:16px;font-size:13px;display:flex}.chart-insight b{color:#1a1a1a;font-variant-numeric:tabular-nums}.content-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.content-header h1{font-size:22px;font-weight:700}.employee-datetime{text-align:right}.employee-datetime p:first-child{color:#1a1a1a;font-size:15px;font-weight:700}.employee-datetime p:last-child{color:#5f6763;font-size:13px}.scope-banner{background:#eef7f0;border:1px solid #cfe9d5;border-radius:10px;margin-bottom:20px;padding:12px 16px}.scope-banner p{color:#1f5233;font-size:13px;line-height:1.5}.stat-card.accent-warn{border-top-color:#b8720a}.stat-card .stat-change{color:#8a5300;margin-top:4px;font-size:12px;font-weight:600}.stat-card.alert .stat-change{color:#c62828}.table-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.table-card-header h2{font-size:16px;font-weight:700}.header-filters{align-items:center;gap:12px;display:flex}.dashboard-greeting{color:#5f6763;margin-bottom:20px;font-size:14px}.chart-total{color:#163a26;font-size:15px;font-weight:700}.line-chart{width:100%;height:220px;position:relative}.line-chart-empty{color:#646c68;place-items:center;margin:0;font-size:13.5px;display:grid;position:absolute;inset:0 0 28px}.line-chart-svg{width:100%;height:100%;display:block}.line-chart-area{fill:#4caf501a;stroke:none}.line-chart-path{fill:none;stroke:#4caf50;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.line-chart-dot{fill:#4caf50;stroke:#fff;stroke-width:2px}.line-chart-dot.is-empty{fill:#cfd6d3}.line-chart-gridline{stroke:#ececec;stroke-width:1px}.line-chart-value{fill:#163a26;font-size:11px;font-weight:700}.line-chart-day-label{fill:#9aa5a0;font-size:11px}.clinic-status-card{border-left:4px solid #4caf50;align-items:center;gap:14px;margin-bottom:16px;display:flex}.clinic-status-card.is-closed{border-left-color:#e53935}.clinic-status-dot{background:#4caf50;border-radius:50%;flex-shrink:0;width:12px;height:12px}.clinic-status-card.is-closed .clinic-status-dot{background:#e53935}.clinic-status-label{color:#1a1a1a;font-size:15px;font-weight:700}.clinic-status-sub{color:#5f6763;margin-top:2px;font-size:13px}*{box-sizing:border-box;margin:0;padding:0}body{background:#f0f4f1;height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;animation:.8s ease-in fadeIn}#root{height:100%}:where(a,button,input,select,textarea,summary,[role=button],[tabindex]):focus-visible{outline-offset:2px;outline:2px solid #2d7a4d}.sidebar :focus-visible,.home-page.dark :focus-visible{outline-color:#a5e0b8}:where(a,button,input,select,textarea,label,summary,[role=button]){touch-action:manipulation}#main-content:focus{outline:none}.skip-link{z-index:1000;color:#fff;background:#163a26;border-radius:8px;padding:10px 16px;font-weight:600;text-decoration:none;position:absolute;top:-56px;left:8px}.skip-link:focus{top:8px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.optional{color:#646c68;font-weight:400}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
