@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap";
:root{--deep-teal:#123f3c;--warm-ivory:#f7f4ed;--antique-gold:#b18a45;--ink:#1c2524;--soft-cream:#efe7d8;--primary:var(--deep-teal);--primary-hover:#0c2b29;--primary-light:#123f3c14;--success:#10b981;--success-hover:#059669;--warning:var(--antique-gold);--error:#ef4444;--error-light:#ef444414;--background:var(--warm-ivory);--foreground:var(--ink);--card-bg:#fff;--card-border:var(--soft-cream);--input-bg:#fff;--input-border:#1c252433;--text-muted:#1c252499;--text-inverse:var(--warm-ivory);--shadow-sm:0 1px 2px 0 #123f3c0d;--shadow-md:0 4px 6px -1px #123f3c1a, 0 2px 4px -2px #123f3c1a;--shadow-lg:0 10px 15px -3px #123f3c1a, 0 4px 6px -4px #123f3c1a;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--glass-bg:#f7f4edb3;--glass-border:#123f3c0f}@media (prefers-color-scheme:dark){:root{--primary:var(--antique-gold);--primary-hover:#9c783c;--primary-light:#b18a451a;--background:var(--ink);--foreground:var(--warm-ivory);--card-bg:#151c1b;--card-border:#efe7d814;--input-bg:#212b2a;--input-border:#efe7d826;--text-muted:#f7f4ed99;--text-inverse:var(--ink);--shadow-sm:0 1px 2px 0 #0006;--shadow-md:0 4px 6px -1px #0000004d, 0 2px 4px -2px #0000004d;--shadow-lg:0 10px 15px -3px #0006, 0 4px 6px -4px #0006;--glass-bg:#1c2524b3;--glass-border:#efe7d80d}}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--background);min-height:100%;color:var(--foreground);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,sans-serif}h1,h2,h3,h4,h5,h6{color:var(--foreground);font-family:Outfit,sans-serif;font-weight:700;line-height:1.25}.app-container{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.navbar{z-index:100;background-color:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--glass-border);box-shadow:var(--shadow-sm);padding:1rem 1.5rem;position:sticky;top:0}.navbar-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;display:flex}.logo{color:var(--primary);align-items:center;gap:.5rem;font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:800;text-decoration:none;display:flex}.logo span{color:var(--foreground)}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{background-color:var(--primary);color:var(--text-inverse);box-shadow:var(--shadow-sm)}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{border:1px solid var(--input-border);color:var(--foreground);background-color:#0000}.btn-secondary:hover{background-color:var(--input-bg);border-color:var(--foreground)}.btn-danger{background-color:var(--error);color:var(--text-inverse)}.btn-danger:hover{background-color:#dc2626}.form-group{flex-direction:column;gap:.5rem;margin-bottom:1.25rem;display:flex}.form-label{color:var(--foreground);font-size:.875rem;font-weight:600}.form-control{border-radius:var(--radius-sm);border:1px solid var(--input-border);background-color:var(--input-bg);color:var(--foreground);width:100%;padding:.75rem 1rem;font-family:Inter,sans-serif;font-size:.95rem;transition:all .15s ease-in-out}.form-control:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f46e526}.card-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-top:2rem;display:grid}.card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:1rem;padding:1.75rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-light);transform:translateY(-4px)}.card-title{color:var(--foreground);font-size:1.25rem;font-weight:700}.card-description{color:var(--text-muted);font-size:.95rem;line-height:1.5}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;align-items:center;width:fit-content;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{color:var(--success);background-color:#10b9811a}.badge-warning{color:var(--warning);background-color:#f59e0b1a}.badge-error{color:var(--error);background-color:#ef44441a}.hero{text-align:center;flex-direction:column;gap:1.5rem;max-width:800px;margin:0 auto;padding:4rem 1.5rem 3rem;display:flex}.hero-title{letter-spacing:-.025em;background:linear-gradient(135deg, var(--foreground) 30%, var(--primary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:800}@media (max-width:640px){.hero-title{font-size:2.25rem}}.hero-subtitle{color:var(--text-muted);font-size:1.15rem;line-height:1.6}.footer{border-top:1px solid var(--card-border);text-align:center;color:var(--text-muted);padding:2rem 1.5rem;font-size:.875rem}.alert{border-radius:var(--radius-md);border:1px solid #0000;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.25rem;font-size:.95rem;display:flex}.alert-success{color:var(--success);background-color:#10b9810d;border-color:#10b98133}.alert-error{background-color:var(--error-light);color:var(--error);border-color:#ef444426}.login-page{background-color:var(--background);width:100vw;height:100vh;font-family:Inter,system-ui,sans-serif;display:flex;overflow:hidden}.login-left{border-radius:24px;flex-direction:column;flex:1.1;margin:1.25rem;display:flex;position:relative;overflow:hidden}.login-image{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.login-grid-overlay{pointer-events:none;z-index:1;background-image:linear-gradient(90deg,#ffffff26 1px,#0000 1px),linear-gradient(#ffffff26 1px,#0000 1px);background-size:80px 80px;position:absolute;inset:0}.login-overlay{z-index:2;background:linear-gradient(#123f3c1a 0%,#123f3c4d 50%,#123f3ccc 100%);position:absolute;inset:0}.login-left-content{color:#fff;z-index:3;position:absolute;bottom:4rem;left:3rem;right:3rem}.login-left-title{color:#fff;margin-bottom:1rem;font-family:Outfit,sans-serif;font-size:2.75rem;font-weight:800;line-height:1.15}.login-left-desc{color:#ffffffd9;max-width:440px;font-family:Inter,sans-serif;font-size:1rem;font-weight:400;line-height:1.5}.login-right{box-sizing:border-box;flex-direction:column;flex:1;justify-content:space-between;padding:4vh 4vw;display:flex;overflow-y:auto}.login-form-container{width:100%;max-width:420px;margin:auto}.login-logo-wrapper{text-align:left;margin-bottom:4vh}.login-logo{width:auto;height:48px;display:block}.login-header{margin-bottom:2.5vh}.login-title{color:var(--foreground);letter-spacing:-.02em;margin-bottom:1vh;font-family:Outfit,sans-serif;font-size:2rem;font-weight:700}.login-subtitle{color:var(--text-muted);font-family:Inter,sans-serif;font-size:.95rem;line-height:1.5}.login-form .form-group{margin-bottom:2.25vh}.login-form .form-label{color:var(--foreground);margin-bottom:.5rem;font-size:.875rem;font-weight:600}.login-form .form-control{color:var(--foreground);background-color:#faf8f5;border:1px solid #1c25241a;border-radius:8px;padding:.875rem 1.25rem;font-size:.95rem;transition:all .2s}.login-form .form-control::placeholder{color:#1c252459;font-size:.9rem}.login-form .form-control:focus{border-color:var(--primary);background-color:#fff;box-shadow:0 0 0 3px #123f3c14}.password-input-wrapper{position:relative}.password-toggle-btn{cursor:pointer;color:#1c252499;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:1.25rem;transform:translateY(-50%)}.password-toggle-btn:hover{color:var(--primary)}.login-form-row{justify-content:space-between;align-items:center;margin-top:1vh;margin-bottom:2.5vh;font-size:.875rem;display:flex}.remember-me-label{cursor:pointer;color:var(--foreground);-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;font-weight:500;display:flex}.remember-me-checkbox{appearance:none;cursor:pointer;background-color:#faf8f5;border:1px solid #1c252440;border-radius:4px;outline:none;place-content:center;width:18px;height:18px;transition:all .15s;display:inline-grid}.remember-me-checkbox:checked{background-color:var(--primary);border-color:var(--primary)}.remember-me-checkbox:checked:before{content:"";clip-path:polygon(14% 44%,0 58%,30% 88%,100% 20%,86% 8%,30% 64%);background-color:#fff;width:10px;height:10px}.forgot-password-link{color:var(--foreground);font-weight:600;text-decoration:none}.forgot-password-link:hover{color:var(--primary)}.btn-login{background-color:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:1.4vh 1rem;font-size:1rem;font-weight:600;transition:all .2s}.btn-login:hover{background-color:var(--primary-hover)}.login-signup-text{text-align:center;color:var(--text-muted);margin-top:2vh;font-size:.9rem}.login-signup-link{color:var(--primary);margin-left:4px;font-weight:700;text-decoration:none}.login-signup-link:hover{text-decoration:underline}@media (max-width:1024px){.login-left-title{font-size:2.25rem}}@media (max-width:900px){.login-left{display:none}.login-right{padding:1.5rem 2rem}.login-logo-wrapper{margin-bottom:2.25rem}.login-logo{height:38px}.login-header{margin-bottom:1.5rem}.login-title{margin-bottom:.5rem;font-size:1.6rem}.login-subtitle{font-size:.85rem}.login-form .form-group{margin-bottom:1.15rem}.login-form .form-control{padding:.75rem 1rem;font-size:.9rem}.login-form-row{margin-top:.75rem;margin-bottom:1.5rem;font-size:.8rem}.btn-login{padding:.85rem;font-size:.95rem}.login-signup-text{margin-top:1.25rem;font-size:.85rem}.back-button{margin-bottom:1.5rem}.otp-container{margin-top:1.25rem;margin-bottom:1.75rem}}.back-button{color:var(--foreground);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;margin-bottom:3vh;font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;text-decoration:none;transition:color .15s;display:inline-flex}.back-button:hover{color:var(--primary)}.back-button svg{width:18px;height:18px}.otp-container{justify-content:space-between;gap:.75rem;margin-top:2vh;margin-bottom:3vh;display:flex}.otp-input{text-align:center;width:56px;height:56px;color:var(--foreground);background-color:#faf8f5;border:1.5px solid #1c252426;border-radius:8px;outline:none;font-size:1.6rem;font-weight:700;transition:all .2s}.otp-input:focus{border-color:var(--primary);background-color:#fff;box-shadow:0 0 0 3px #123f3c14}@media (max-width:440px){.otp-input{width:44px;height:44px;font-size:1.3rem}.otp-container{gap:.5rem}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;box-sizing:border-box;background-color:#1c252466;justify-content:center;align-items:center;padding:1.5rem;animation:.2s ease-out forwards modalFadeIn;display:flex;position:fixed;inset:0}.modal-container{width:100%;max-width:440px;box-shadow:var(--shadow-lg);border:1px solid var(--card-border);box-sizing:border-box;background-color:#fff;border-radius:16px;padding:3rem 2.5rem;animation:.3s cubic-bezier(.34,1.56,.64,1) forwards modalSlideUp;position:relative}.modal-close-btn{color:#1c252459;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;font-size:1.5rem;line-height:1;transition:all .15s;display:flex;position:absolute;top:1.5rem;right:1.5rem}.modal-close-btn:hover{background-color:var(--background);color:var(--foreground)}.modal-icon-wrapper{background-color:var(--primary-light);width:64px;height:64px;color:var(--primary);border-radius:16px;justify-content:center;align-items:center;margin:0 auto 1.75rem;display:flex}.modal-icon-wrapper svg{width:32px;height:32px}.modal-title{color:var(--foreground);text-align:center;letter-spacing:-.01em;margin-bottom:.75rem;font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:700}.modal-subtitle{color:var(--text-muted);text-align:center;margin-bottom:2rem;font-family:Inter,sans-serif;font-size:.95rem;line-height:1.5}.modal-subtitle strong{color:var(--foreground);font-weight:600}.modal-actions{gap:1rem;width:100%;display:flex}.modal-btn{cursor:pointer;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;padding:.875rem;font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.modal-btn-primary{background-color:var(--primary);color:#fff}.modal-btn-primary:hover{background-color:var(--primary-hover)}.modal-btn-secondary{color:var(--foreground);background-color:#faf8f5;border:1px solid #1c25241a}.modal-btn-secondary:hover{background-color:var(--soft-cream);border-color:#1c252433}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.admin-layout{background-color:var(--background);width:100vw;height:100vh;font-family:Inter,sans-serif;display:flex;overflow:hidden}.admin-sidebar{color:#fff;box-sizing:border-box;background-color:#123f3c;border-right:1px solid #ffffff0d;flex-direction:column;flex-shrink:0;justify-content:space-between;width:280px;padding:2.25rem 1.75rem;display:flex}.admin-brand{color:#fff;align-items:center;gap:.75rem;margin-bottom:3.5rem;font-family:Outfit,sans-serif;font-size:1.35rem;font-weight:800;text-decoration:none;display:flex}.admin-brand span{color:#efe7d8}.admin-menu{flex-direction:column;gap:.5rem;margin-bottom:auto;list-style:none;display:flex}.admin-menu-item{color:#ffffffbf;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:.875rem;width:100%;padding:.875rem 1.25rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.admin-menu-item:hover,.admin-menu-item.active{color:#123f3c;background-color:#efe7d8}.admin-menu-item svg{width:20px;height:20px}.admin-logout-btn{color:#f1f5f9;cursor:pointer;background-color:#ef444426;border:1px solid #ef444433;border-radius:8px;align-items:center;gap:.875rem;width:100%;padding:.875rem 1.25rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.admin-logout-btn:hover{color:#fff;background-color:#ef4444;border-color:#ef4444}.admin-content{box-sizing:border-box;flex-direction:column;flex:1;display:flex;overflow:hidden}.admin-header{border-bottom:1px solid var(--card-border);box-sizing:border-box;background-color:#fff;flex-shrink:0;justify-content:space-between;align-items:center;height:80px;padding:0 2.5rem;display:flex}.admin-header-title{color:var(--foreground);font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:700}.admin-profile{align-items:center;gap:.875rem;display:flex}.admin-profile-info{flex-direction:column;align-items:flex-end;display:flex}.admin-profile-name{color:var(--foreground);font-size:.95rem;font-weight:600}.admin-profile-role{color:var(--text-muted);font-size:.75rem;font-weight:500}.admin-avatar{background-color:var(--primary-light);width:44px;height:44px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:700;display:flex}.admin-main{box-sizing:border-box;background-color:var(--background);flex-direction:column;flex:1;gap:2.25rem;padding:2.5rem;display:flex;overflow-y:auto}.admin-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;display:grid}.admin-metric-card{border:1px solid var(--card-border);box-shadow:var(--shadow-sm);background-color:#fff;border-radius:16px;align-items:center;gap:1.25rem;padding:1.75rem;display:flex}.admin-metric-icon{background-color:var(--primary-light);width:52px;height:52px;color:var(--primary);border-radius:12px;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.admin-metric-icon svg{width:24px;height:24px}.admin-metric-details{flex-direction:column;gap:.25rem;display:flex}.admin-metric-val{color:var(--foreground);font-family:Outfit,sans-serif;font-size:1.75rem;font-weight:700}.admin-metric-lbl{color:var(--text-muted);font-size:.85rem;font-weight:600}.admin-table-container{border:1px solid var(--card-border);box-shadow:var(--shadow-sm);background-color:#fff;border-radius:16px;flex-direction:column;flex:1;gap:1.5rem;padding:2rem;display:flex}.admin-table-header{justify-content:space-between;align-items:center;display:flex}.admin-table-title{color:var(--foreground);font-family:Outfit,sans-serif;font-size:1.25rem;font-weight:700}.admin-table-wrapper{border-radius:8px;overflow-x:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%;font-size:.95rem}.admin-table th{border-bottom:2px solid var(--card-border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:1rem 1.25rem;font-size:.85rem;font-weight:600}.admin-table td{border-bottom:1px solid var(--card-border);color:var(--foreground);vertical-align:middle;padding:1.15rem 1.25rem}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background-color:#1c252403}.dashboard-layout{background-color:#faf8f5;width:100vw;height:100vh;font-family:Inter,system-ui,sans-serif;display:flex;overflow:hidden}.dashboard-sidebar{box-sizing:border-box;z-index:1001;background-color:#fdfcf7;border-right:1px solid #efe7d8;flex-direction:column;flex-shrink:0;justify-content:space-between;width:260px;padding:2vh 1.25rem;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex}.sidebar-logo-container{margin-bottom:2vh;padding:1.25rem .5rem}.sidebar-brand-img{object-fit:contain;width:auto;max-width:100%;height:44px;display:block}.sidebar-nav-section{flex-direction:column;flex:1;display:flex}.sidebar-nav-title{color:#1c252466;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.5vh;padding:0 1rem;font-size:.75rem;font-weight:700}.sidebar-nav-list{flex-direction:column;gap:.5vh;margin:0;padding:0;list-style:none;display:flex}.sidebar-nav-list li{margin:0;padding:0;list-style:none}.sidebar-nav-btn{appearance:none;color:#1c2524a6;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;outline:none;align-items:center;gap:.875rem;width:100%;padding:1.25vh 1rem;font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.sidebar-nav-btn:hover{color:var(--primary);background-color:#efe7d866}.sidebar-nav-btn.active{color:var(--primary);background-color:#efe7d8;font-weight:700}.sidebar-nav-btn svg{flex-shrink:0;width:20px;height:20px}.sidebar-footer-info{border-top:1px solid #1c25240d;padding:1rem}.sidebar-copyright-text{color:var(--primary);margin-bottom:2px;font-size:.8rem;font-weight:700}.sidebar-copyright-sub{color:#1c252466;font-size:.7rem}.sidebar-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background-color:#1c252466;animation:.2s fadeIn;position:fixed;inset:0}.dashboard-content{flex-direction:column;flex:1;height:100vh;display:flex;overflow:hidden}.dashboard-header{box-sizing:border-box;background-color:#fff;border-bottom:1px solid #efe7d8;flex-shrink:0;justify-content:space-between;align-items:center;height:80px;padding:0 2.5rem;display:flex}.header-menu-toggle{color:var(--primary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px;transition:all .2s;display:none}.header-menu-toggle:hover{background-color:#faf8f5}.header-search-container{box-sizing:border-box;background-color:#faf8f5;border:1px solid #efe7d8;border-radius:30px;align-items:center;width:100%;max-width:480px;padding:.5rem 1.25rem;display:flex;position:relative}.header-search-input{width:100%;color:var(--foreground);background:0 0;border:none;outline:none;font-family:Inter,sans-serif;font-size:.95rem}.header-search-input::placeholder{color:#1c252459}.header-search-btn{color:#1c252466;cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;display:flex}.header-search-btn:hover{color:var(--primary)}.header-search-dropdown{z-index:1100;background-color:#fff;border:1px solid #efe7d8;border-radius:16px;max-height:420px;padding:10px 0;animation:.18s ease-out searchFadeIn;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 40px -8px #123f3c2e,0 0 0 1px #efe7d899}@keyframes searchFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.header-search-group{border-bottom:1px solid #f5eee3;padding:6px 0}.header-search-group:last-child{border-bottom:none}.header-search-group-title{text-transform:uppercase;letter-spacing:.04em;color:#1c252480;align-items:center;gap:6px;padding:4px 16px 6px;font-size:11px;font-weight:700;display:flex}.header-search-item{cursor:pointer;justify-content:space-between;align-items:center;padding:8px 16px;transition:background-color .15s;display:flex}.header-search-item:hover{background-color:#f7f4ed}.header-search-item-info{flex-direction:column;gap:2px;display:flex}.header-search-item-title{color:#1c2524;font-size:13.5px;font-weight:600}.header-search-item-sub{color:#1c252499;font-size:12px}.header-search-badge{color:#123f3c;text-transform:uppercase;background-color:#e6edea;border-radius:12px;padding:2px 8px;font-size:11px;font-weight:600}.header-search-empty{text-align:center;color:#1c252480;padding:24px 16px;font-size:13px}.header-search-spinner{border:2px solid #123f3c33;border-top-color:#123f3c;border-radius:50%;width:14px;height:14px;margin-right:6px;animation:.6s linear infinite spin}.header-actions-container{align-items:center;gap:1.5rem;display:flex}.header-notif-btn{color:var(--primary);cursor:pointer;box-sizing:border-box;background-color:#faf8f5;border:1px solid #efe7d8;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:all .2s;display:flex;position:relative}.header-notif-btn:hover{background-color:#efe7d8}.header-notif-badge{color:#fff;background-color:#ef4444;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px}.header-notif-wrapper{position:relative}.header-notif-dropdown{z-index:1000;background-color:#fff;border:1px solid #efe7d8;border-radius:14px;flex-direction:column;width:360px;animation:.2s cubic-bezier(.16,1,.3,1) notifFadeIn;display:flex;position:absolute;top:calc(100% + 12px);right:0;overflow:hidden;box-shadow:0 10px 30px -5px #123f3c26}@keyframes notifFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.header-notif-header{background-color:#faf8f5;border-bottom:1px solid #efe7d8;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.header-notif-title{color:#123f3c;margin:0;font-size:14px;font-weight:700}.header-notif-clear-btn{color:#b18a45;cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:600}.header-notif-clear-btn:hover{text-decoration:underline}.header-notif-list{flex-direction:column;max-height:360px;display:flex;overflow-y:auto}.header-notif-item{cursor:pointer;border-bottom:1px solid #f7f4ed;align-items:flex-start;gap:12px;padding:12px 18px;transition:background-color .15s;display:flex}.header-notif-item:hover{background-color:#faf8f5}.header-notif-item.unread{background-color:#123f3c08}.header-notif-icon-badge{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-top:2px;display:flex}.header-notif-content{flex-direction:column;flex:1;gap:2px;display:flex}.header-notif-item-title{color:#1c2524;font-size:13px;font-weight:600}.header-notif-item-desc{color:#1c252499;font-size:12px;line-height:1.35}.header-notif-item-time{color:#1c252466;margin-top:2px;font-size:11px}.header-profile-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;padding:2px}.header-avatar-frame{border:2px solid #efe7d8;border-radius:50%;width:44px;height:44px;position:relative;overflow:hidden}.header-avatar-img{object-fit:cover}.dashboard-main-area{box-sizing:border-box;background-color:#faf8f5;flex-direction:column;flex:1;gap:2.5vh;padding:2.5vh 2.5vw;display:flex;overflow-y:auto}.dashboard-title-bar{flex-direction:row;justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.dashboard-title-group{flex-direction:column;gap:2px;display:flex}.dashboard-overview-title{color:var(--foreground);font-family:Outfit,sans-serif;font-size:1.6rem;font-weight:800}.dashboard-breadcrumb{color:var(--text-muted);font-size:.85rem}.metrics-cards-grid{grid-template-columns:repeat(4,1fr);gap:1.25rem;display:grid}.metric-card{box-sizing:border-box;background-color:#fff;border:1px solid #efe7d8;border-radius:16px;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;display:flex;box-shadow:0 4px 6px -1px #1c252405}.metric-card-icon-frame{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.metric-card-icon-frame svg{width:24px;height:24px}.icon-bookings{color:var(--primary);background-color:#123f3c0f}.icon-visits{color:#8ca996;background-color:#8ca9961f}.icon-revenue{color:var(--warning);background-color:#b18a4514}.icon-clients{color:#c4a484;background-color:#c4a4841a}.metric-card-data{flex-direction:column;gap:2px;display:flex}.metric-card-label{color:var(--text-muted);font-size:.85rem;font-weight:700}.metric-card-value{color:var(--foreground);font-family:Outfit,sans-serif;font-size:1.65rem;font-weight:800;line-height:1.15}.metric-card-growth{align-items:center;gap:6px;margin-top:2px;font-size:.75rem;display:flex}.growth-indicator-green{color:var(--success);align-items:center;gap:2px;font-weight:700;display:flex}.comparison-label{color:#1c252466;font-weight:500}.dashboard-columns-grid{grid-template-columns:1fr 1fr 1.2fr;gap:1.5rem;display:grid}.dashboard-card{box-sizing:border-box;background-color:#fff;border:1px solid #efe7d8;border-radius:16px;flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex;box-shadow:0 4px 6px -1px #1c252405}.card-header-row{border-bottom:1px solid #1c25240f;justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.card-title-group{color:var(--primary);align-items:center;gap:8px;display:flex}.card-title-group svg{width:20px;height:20px}.card-title{color:var(--foreground);font-family:Outfit,sans-serif;font-size:1.15rem;font-weight:700}.card-header-link{color:var(--primary);cursor:pointer;background:0 0;border:none;font-size:.85rem;font-weight:700;transition:all .15s}.card-header-link:hover{text-decoration:underline}.schedule-items-list{flex-direction:column;gap:1rem;display:flex}.schedule-item-row{align-items:flex-start;gap:1rem;display:flex}.schedule-item-time{color:var(--primary);flex-shrink:0;width:60px;padding-top:10px;font-size:.85rem;font-weight:700}.schedule-item-details-box{background-color:#faf8f5;border:1px solid #efe7d899;border-radius:12px;flex:1;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.schedule-item-service-group{flex-direction:column;display:flex}.schedule-item-service{color:var(--foreground);font-size:.9rem;font-weight:700}.schedule-item-duration{color:var(--text-muted);font-size:.75rem;font-weight:500}.schedule-item-provider{align-items:center;gap:6px;display:flex}.provider-avatar-frame{border-radius:50%;width:24px;height:24px;position:relative;overflow:hidden}.provider-avatar-img{object-fit:cover}.provider-name-details{flex-direction:column;display:flex}.provider-name{color:var(--foreground);font-size:.8rem;font-weight:600}.provider-role-badge{color:var(--primary);font-size:.7rem;font-weight:700}.schedule-item-status-wrapper{flex-shrink:0}.badge-confirmed{color:var(--primary);background-color:#123f3c14}.badge-pending{color:var(--warning);background-color:#b18a4514}.badge-in-progress{color:var(--success);background-color:#10b98114}.badge-requested{color:#c4a484;background-color:#c4a4841a}.upcoming-bookings-list{flex-direction:column;gap:.75rem;display:flex}.upcoming-booking-item{cursor:pointer;box-sizing:border-box;background-color:#fff;border:1px solid #efe7d8;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:.75rem 1rem;transition:all .2s;display:flex}.upcoming-booking-item:hover{border-color:var(--primary);background-color:#faf8f5;transform:translateY(-1px)}.booking-pet-avatar-frame{border:1px solid #efe7d8;border-radius:50%;flex-shrink:0;width:36px;height:36px;position:relative;overflow:hidden}.booking-pet-avatar-img{object-fit:cover}.booking-info-cell{flex-direction:column;display:flex}.booking-info-cell.client-info{flex:1.2;min-width:0}.booking-info-cell.date-info{text-align:center;flex:1.5;min-width:0}.booking-info-cell.service-info{text-align:right;flex:1.3;min-width:0}.booking-client-name{color:var(--foreground);font-size:.9rem;font-weight:700}.booking-pet-name{color:var(--text-muted);font-size:.75rem;font-weight:600}.booking-date{color:var(--primary);font-size:.85rem;font-weight:700}.booking-time{color:var(--text-muted);font-size:.75rem}.booking-service{color:var(--foreground);font-size:.85rem;font-weight:700}.booking-duration{color:var(--text-muted);font-size:.75rem}.booking-action-cell{align-items:center;padding-left:4px;display:flex}.calendar-view-select{color:var(--primary);cursor:pointer;background-color:#fff;border:1px solid #efe7d8;border-radius:8px;outline:none;padding:4px 8px;font-family:Inter,sans-serif;font-size:.8rem;font-weight:700}.calendar-days-header{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-day-col{box-sizing:border-box;border-radius:8px;flex-direction:column;align-items:center;padding:6px;display:flex}.calendar-day-col.active{background-color:var(--primary);color:#fff}.calendar-day-name{color:#1c252466;text-transform:uppercase;margin-bottom:2px;font-size:.7rem;font-weight:600}.calendar-day-col.active .calendar-day-name{color:#fffc}.calendar-day-number{color:var(--foreground);font-family:Outfit,sans-serif;font-size:.95rem;font-weight:700}.calendar-day-col.active .calendar-day-number{color:#fff}.calendar-grid-container{flex-direction:column;display:flex}.calendar-grid-row{border-bottom:1px dashed #1c25240d;align-items:center;height:40px;display:flex}.calendar-grid-row:last-child{border-bottom:none}.calendar-row-time-lbl{color:#1c252466;flex-shrink:0;width:52px;font-size:.75rem;font-weight:700}.calendar-row-slots{flex:1;height:100%;position:relative}.calendar-event-block{cursor:pointer;border-radius:6px;height:24px;transition:all .2s;position:absolute}.calendar-event-block:hover{z-index:20;transform:scaleY(1.05)}.event-dogwalking{background-color:#8ca99640;border-left:3px solid #8ca996}.event-dropin{background-color:#b18a4526;border-left:3px solid #b18a45}.event-petsitting{background-color:#efe7d899;border-left:3px solid #c4a484}.event-yardscoop{background-color:#c3c8c966;border-left:3px solid #78909c}.calendar-legend-row{color:var(--text-muted);flex-wrap:wrap;justify-content:center;gap:12px 16px;font-size:.75rem;font-weight:600;display:flex}.legend-item{align-items:center;gap:6px;display:flex}.legend-dot{border-radius:50%;width:8px;height:8px}.dot-dogwalking{background-color:#8ca996}.dot-dropin{background-color:#b18a45}.dot-petsitting{background-color:#c4a484}.dot-yardscoop{background-color:#78909c}.activity-timeline-container{flex-direction:column;display:flex;position:relative}.activity-row{align-items:flex-start;gap:1.25rem;padding-bottom:1.25rem;display:flex;position:relative}.activity-row:last-child{padding-bottom:0}.activity-row:before{content:"";background-color:#1c252414;width:1px;position:absolute;top:36px;bottom:0;left:18px}.activity-row:last-child:before{display:none}.activity-icon-badge{z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.activity-booking{color:var(--primary);background-color:#123f3c14}.activity-intake{color:#8ca996;background-color:#8ca99626}.activity-payment{color:var(--success);background-color:#10b98114}.activity-content-box{flex:1;justify-content:space-between;align-items:flex-start;gap:1rem;padding-top:4px;display:flex}.activity-details-text{flex-direction:column;gap:2px;display:flex}.activity-action-title{color:var(--foreground);font-size:.9rem;font-weight:700}.activity-details-desc{color:var(--text-muted);font-size:.8rem}.activity-time-stamp{color:#1c252466;flex-shrink:0;font-size:.75rem;font-weight:600}.waitlist-items-list{flex-direction:column;gap:.875rem;display:flex}.waitlist-item-row{box-sizing:border-box;background-color:#faf8f5;border:1px solid #efe7d899;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:.75rem 1rem;display:flex}.waitlist-user-avatar-frame{border:1px solid #efe7d8;border-radius:50%;flex-shrink:0;width:32px;height:32px;position:relative;overflow:hidden}.waitlist-user-avatar-img{object-fit:cover}.waitlist-details-cell{flex-direction:column;display:flex}.waitlist-details-cell.client-info{flex:1;min-width:0}.waitlist-details-cell.service-info,.waitlist-details-cell.date-info{text-align:left;flex:1.2;min-width:0}.waitlist-client-name{color:var(--foreground);font-size:.85rem;font-weight:700}.waitlist-pet-type{color:var(--text-muted);font-size:.75rem;font-weight:500}.waitlist-service{color:var(--primary);font-size:.85rem;font-weight:600}.waitlist-date{color:var(--text-muted);font-size:.8rem;font-weight:500}.quick-actions-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.quick-action-btn{color:var(--primary);cursor:pointer;box-sizing:border-box;background-color:#fff;border:1.5px solid #efe7d8;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:1.25rem .75rem;font-family:Inter,sans-serif;font-size:.85rem;font-weight:700;transition:all .2s;display:flex}.quick-action-btn:hover{border-color:var(--primary);background-color:#faf8f5;transform:translateY(-1px)}.quick-action-btn svg{width:20px;height:20px}.quick-action-btn.block-btn{border-color:var(--primary);background-color:#123f3c0d;flex-direction:row;grid-column:span 2;gap:10px;padding:.85rem}.quick-action-btn.block-btn:hover{background-color:#123f3c14}@media (max-width:1300px){.dashboard-columns-grid{grid-template-columns:1fr 1fr}.calendar-overview-card,.quick-actions-card{grid-column:span 2}}@media (max-width:1024px){.header-menu-toggle{margin-right:12px;display:flex}.dashboard-sidebar{height:100vh;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 20px #1c252426}.dashboard-sidebar.open{transform:translate(0)}.dashboard-header{padding:0 1.5rem}.dashboard-main-area{padding:2rem 1.5rem}}@media (max-width:900px){.metrics-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.dashboard-columns-grid{grid-template-columns:1fr}.calendar-overview-card,.quick-actions-card{grid-column:span 1}.header-search-container{display:none}}@media (max-width:480px){.metrics-cards-grid{grid-template-columns:1fr}.schedule-item-status-wrapper{align-self:flex-end}}@media (min-width:1025px){.login-left{border-radius:16px;margin:1rem}.login-left-content{bottom:2.5rem;left:2rem;right:2rem}.login-left-title{margin-bottom:.75rem;font-size:2.2rem}.login-left-desc{max-width:380px;font-size:.85rem}.login-right{padding:3vh 3vw}.login-logo-wrapper{margin-bottom:2.5vh}.login-logo{height:38px}.login-header{margin-bottom:2vh}.login-title{margin-bottom:.5vh;font-size:1.6rem}.login-subtitle{font-size:.85rem}.login-form .form-group{margin-bottom:1.75vh}.login-form .form-label{margin-bottom:.4rem;font-size:.8rem}.login-form .form-control{border-radius:6px;padding:.7rem 1.1rem;font-size:.85rem}.login-form .form-control::placeholder{font-size:.8rem}.login-form-row{margin-top:.75vh;margin-bottom:2vh;font-size:.8rem}.remember-me-checkbox{border-radius:4px;width:15px;height:15px}.remember-me-checkbox:after{width:5px;height:9px}.btn-submit-action{border-radius:8px!important;padding:.75rem 1.25rem!important;font-size:.85rem!important}.otp-inputs-grid{gap:.5rem!important;margin-bottom:2vh!important}.otp-box-input{border-radius:8px!important;width:42px!important;height:48px!important;font-size:1.25rem!important}.dashboard-sidebar{width:210px;padding:1.5vh .875rem}.sidebar-logo-container{margin-bottom:1.5vh;padding:.5rem .25rem}.sidebar-brand-img{height:36px}.sidebar-nav-section{gap:1.5vh}.sidebar-nav-title{margin-bottom:1vh;padding:0 .75rem;font-size:.65rem}.sidebar-nav-btn{border-radius:8px;gap:.65rem;padding:1vh .75rem;font-size:.8rem}.sidebar-nav-btn svg{width:16px;height:16px}.sidebar-footer-info{padding:.75rem .5rem}.sidebar-copyright-text{font-size:.75rem}.sidebar-copyright-sub{font-size:.65rem}.dashboard-header{height:64px;padding:0 1.75rem}.header-search-container{max-width:380px;padding:.4rem 1rem}.header-search-input{font-size:.85rem}.header-avatar-frame{width:36px;height:36px}.header-actions-container{gap:1.15rem}.header-notif-btn{border-radius:10px;width:36px;height:36px;padding:0}.header-notif-btn svg{width:18px;height:18px}.header-notif-badge{width:16px;height:16px;font-size:.6rem;top:-5px;right:-5px}.dashboard-main-area{gap:2vh;padding:2vh 2vw}.dashboard-overview-title{font-size:1.3rem}.dashboard-breadcrumb{font-size:.75rem}.metrics-cards-grid{gap:.875rem}.metric-card{border-radius:12px;gap:.85rem;padding:.85rem 1.15rem}.metric-card-icon-frame{border-radius:10px;width:38px;height:38px}.metric-card-icon-frame svg{width:18px;height:18px}.metric-card-label{font-size:.75rem}.metric-card-value{font-size:1.3rem}.metric-card-growth{margin-top:1px;font-size:.7rem}.dashboard-columns-grid{grid-template-columns:1fr 1fr;gap:1rem}.calendar-overview-card,.quick-actions-card{grid-column:span 2}.dashboard-card{border-radius:12px;gap:1rem;padding:1.15rem}.card-header-row{padding-bottom:.5rem}.card-title{font-size:.95rem}.card-title-group svg{width:16px;height:16px}.card-header-link{font-size:.75rem}.schedule-items-list,.schedule-item-row{gap:.75rem}.schedule-item-time{width:52px;padding-top:8px;font-size:.75rem}.schedule-item-details-box{border-radius:10px;gap:.75rem;padding:.5rem .75rem}.schedule-item-service{font-size:.8rem}.schedule-item-duration{font-size:.7rem}.provider-name{font-size:.75rem}.provider-role-badge{font-size:.65rem}.badge{font-size:.7rem!important}.upcoming-bookings-list{gap:.5rem}.upcoming-booking-item{border-radius:10px;gap:8px;padding:.5rem .75rem}.booking-pet-avatar-frame{width:30px;height:30px}.booking-client-name{font-size:.8rem}.booking-pet-name{font-size:.7rem}.booking-date{font-size:.75rem}.booking-time{font-size:.7rem}.booking-service{font-size:.75rem}.booking-duration{font-size:.7rem}.calendar-days-header{gap:2px}.calendar-day-col{border-radius:6px;padding:4px}.calendar-day-name{font-size:.65rem}.calendar-day-number{font-size:.8rem}.calendar-grid-row{height:30px}.calendar-row-time-lbl{width:44px;font-size:.65rem}.calendar-event-block{border-radius:4px;height:18px}.calendar-legend-row{gap:8px 12px;font-size:.65rem}.activity-row{gap:1rem;padding-bottom:.85rem}.activity-row:before{top:28px;left:14px}.activity-icon-badge{width:28px;height:28px}.activity-icon-badge svg{width:14px;height:14px}.activity-content-box{gap:.5rem;padding-top:2px}.activity-action-title{font-size:.8rem}.activity-details-desc{font-size:.75rem}.activity-time-stamp{font-size:.7rem}.waitlist-items-list{gap:.6rem}.waitlist-item-row{border-radius:10px;gap:8px;padding:.5rem .75rem}.waitlist-user-avatar-frame{width:28px;height:28px}.waitlist-client-name{font-size:.75rem}.waitlist-pet-type{font-size:.7rem}.waitlist-service,.waitlist-date{font-size:.75rem}.quick-actions-grid{gap:.5rem}.quick-action-btn{border-radius:10px;gap:6px;padding:1rem .5rem;font-size:.75rem}.quick-action-btn svg{width:16px;height:16px}.quick-action-btn.block-btn{gap:8px;padding:.65rem}}@media (min-width:1441px){.dashboard-columns-grid{grid-template-columns:1fr 1fr 1.2fr}.calendar-overview-card,.quick-actions-card{grid-column:span 1}}@keyframes spin{to{transform:rotate(360deg)}}
