@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--color-primary: #E0361C;--color-primary-dark: #C42D17;--color-primary-rgb: 224, 54, 28;--color-secondary: #E14761;--color-accent: #E17A68;--color-bg: #fafaffff;--color-surface: #ffffff;--color-white: #ffffff;--color-text: #111827;--color-text-muted: #6B7280;--color-text-light: #9CA3AF;--color-border: #E5E7EB;--color-border-light: #F3F4F6;--color-sidebar-bg: rgba(255, 255, 255, .16);--color-sidebar-text: rgba(255, 255, 255, .78);--color-sidebar-active: rgba(255, 255, 255, .96);--badge-green-bg: #D1FAE5;--badge-green-text: #065F46;--badge-red-bg: #FEE2E2;--badge-red-text: #991B1B;--badge-orange-bg: #FEF3C7;--badge-orange-text: #92400E;--badge-blue-bg: #DBEAFE;--badge-blue-text: #1E40AF;--badge-grey-bg: #F3F4F6;--badge-grey-text: #374151;--badge-primary-bg: rgba(224, 54, 28, .09);--badge-primary-text: #C42D17;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--shadow-lg: 0 8px 24px rgba(0,0,0,.1);--shadow-xl: 0 20px 40px rgba(0,0,0,.14);--sidebar-width: 256px;--topbar-height: 68px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--ease: cubic-bezier(.4, 0, .2, 1);--theme-transition: .3s var(--ease)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{color-scheme:light}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.5;letter-spacing:-.011em}body,.sidebar,.sidebar-logo,.sidebar-nav-item,.sidebar-footer,.sidebar-logout,.theme-toggle,.sidebar-overlay,.topbar,.main-content,.card,.filters-bar,.modal,.modal-footer,.topbar-user,.form-input,.form-select,.form-textarea,.btn,.custom-select__trigger,.custom-select__dropdown{transition:background-color var(--theme-transition),color var(--theme-transition),border-color var(--theme-transition),box-shadow var(--theme-transition),filter var(--theme-transition)}@media (prefers-reduced-motion: reduce){body,.sidebar,.sidebar-logo,.sidebar-nav-item,.sidebar-footer,.sidebar-logout,.theme-toggle,.sidebar-overlay,.topbar,.main-content,.card,.filters-bar,.modal,.modal-footer,.topbar-user,.form-input,.form-select,.form-textarea,.btn,.custom-select__trigger,.custom-select__dropdown{transition:none}}body:before{content:"";position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;background:linear-gradient(180deg,#e0361c,#c91517 52%,#a90f15);transform:translate(0);transition:transform .3s var(--ease);pointer-events:none;z-index:0;border-top-right-radius:30px;border-bottom-right-radius:30px}@media (max-width: 767.98px){body:before{transform:translate(-100%)}body.sidebar-open:before{transform:translate(0)}}.app-layout,.sidebar,.topbar,.main-content{position:relative;z-index:1}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}h1{font-size:1.25rem;font-weight:700;letter-spacing:-.025em}h2{font-size:1.125rem;font-weight:700;letter-spacing:-.02em}h3{font-size:.9375rem;font-weight:600;letter-spacing:-.01em}@media (min-width: 768px){h1{font-size:1.5rem}h2{font-size:1.25rem}}.app-layout{display:flex;min-height:100vh}.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;background-color:var(--color-sidebar-bg);display:flex;flex-direction:column;z-index:100;transform:translate(-100%);transition:transform .3s var(--ease);border-right:1px solid rgba(255,255,255,.22);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top-right-radius:30px;border-bottom-right-radius:30px;box-shadow:0 1px #ffffff38 inset,0 20px 50px #1118272e}.sidebar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 80% at 15% 10%,rgba(255,255,255,.22) 0%,transparent 60%),radial-gradient(120% 90% at 80% 0%,rgba(255,255,255,.14) 0%,transparent 55%);pointer-events:none;opacity:.95;border-top-right-radius:30px;border-bottom-right-radius:30px}[data-theme=dark] .sidebar:after{content:"";position:absolute;left:0;right:0;bottom:-40px;height:140px;background:radial-gradient(130% 120% at 10% 100%,rgba(255,255,255,.18) 0%,transparent 65%);pointer-events:none;border-bottom-right-radius:30px}.sidebar>*{position:relative;z-index:1}.sidebar--open{transform:translate(0)}@media (min-width: 768px){.sidebar{transform:translate(0);position:fixed}}.sidebar-logo{padding:5px;background-color:#ffffffeb;border-bottom:1px solid rgba(17,24,39,.08);display:flex;align-items:center;flex-shrink:0;overflow:hidden;box-shadow:1px 0 #ffffffeb}.sidebar-logo img{height:58px;width:100%;object-fit:cover;object-position:left center;filter:none}.sidebar-nav{flex:1;padding:1rem .75rem;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.sidebar-nav-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;border-radius:var(--radius-md);color:#fffffff5;font-size:.875rem;font-weight:500;transition:background-color var(--theme-transition),color var(--theme-transition),border-color var(--theme-transition),box-shadow var(--theme-transition);position:relative;letter-spacing:-.005em}.sidebar-nav-item:hover{background:radial-gradient(130% 220% at 0% 50%,rgba(255,255,255,.32) 0%,rgba(255,255,255,.12) 40%,transparent 80%);box-shadow:none}.sidebar-nav-item.active{background:radial-gradient(130% 220% at 0% 50%,rgba(255,255,255,.32) 0%,rgba(255,255,255,.12) 40%,transparent 80%)}.sidebar-nav-item.active:before{content:none}.sidebar-nav-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit;opacity:.65;transition:opacity .18s}.sidebar-nav-item.active .sidebar-nav-icon,.sidebar-nav-item:hover .sidebar-nav-icon{opacity:1}.sidebar-nav-icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.sidebar-footer{padding:.875rem .75rem;border-top:1px solid rgba(255,255,255,.18);flex-shrink:0}.sidebar-footer-row{display:flex;align-items:center;gap:.25rem;min-width:0}.sidebar-logout{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0;padding:.625rem .875rem;background:none;border:none;border-radius:var(--radius-md);color:#ffffffe0;font-size:.875rem;font-weight:500;transition:background-color var(--theme-transition),color var(--theme-transition),border-color var(--theme-transition),box-shadow var(--theme-transition)}.sidebar-logout svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;opacity:.65;flex-shrink:0}.sidebar-logout:hover{background:#ffffff24;color:#fffffffa}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:99;opacity:0;pointer-events:none;transition:opacity .3s var(--ease)}.sidebar-overlay.sidebar-overlay--open{opacity:1;pointer-events:auto}@media (min-width: 768px){.sidebar-overlay{display:none}}.topbar{position:fixed;top:0;left:0;right:0;height:calc(var(--topbar-height) + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding-right:2rem;z-index:50}@media (min-width: 768px){.topbar{left:var(--sidebar-width);padding-right:2rem}}.topbar-left{display:flex;align-items:center;gap:.75rem}.topbar-logo{display:inline-flex;align-items:center;justify-content:center;height:calc(var(--topbar-height) + 6px);padding:2px 8px;border-radius:var(--radius-sm)}.topbar-logo img{height:150%;width:auto;object-fit:contain;filter:none}.topbar-title{font-size:.875rem;font-weight:600;color:var(--color-text);letter-spacing:-.01em}.hamburger{display:flex;flex-direction:column;gap:4px;background:none;border:none;padding:6px;border-radius:var(--radius-sm);transition:background .15s}.hamburger:hover{background:var(--color-border-light)}.hamburger span{display:block;width:18px;height:1.75px;background:var(--color-text);border-radius:2px}@media (min-width: 768px){.hamburger{display:none}}.topbar-user{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:500;color:var(--color-text-muted);background:var(--color-bg);padding:.3rem .75rem;border-radius:999px;border:1px solid var(--color-border);letter-spacing:-.005em}@media (min-width: 576px){.topbar-user{font-size:.8rem;padding:.35rem .875rem}}.main-content{flex:1;margin-left:0;padding:calc(var(--topbar-height) + env(safe-area-inset-top) + 1rem) 1rem calc(2rem + env(safe-area-inset-bottom));min-height:100vh;min-width:0}@media (min-width: 768px){.main-content{margin-left:var(--sidebar-width);padding:calc(var(--topbar-height) + env(safe-area-inset-top) + 1.75rem) 2rem 2.5rem}}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;flex-wrap:wrap;gap:.75rem}@media (min-width: 576px){.page-header{margin-bottom:1.75rem;flex-wrap:nowrap}}.filters-bar{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;background:var(--color-surface);padding:.875rem 1rem;border-radius:var(--radius-lg);border:1px solid var(--color-border)}.filters-bar .form-group{flex-direction:row;align-items:center;gap:.5rem}.filters-bar .form-label{white-space:nowrap;margin:0}@media (min-width: 576px){.filters-bar{flex-direction:row;flex-wrap:wrap;align-items:flex-end;padding:1rem 1.25rem;margin-bottom:1.25rem}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:1.25rem}.card-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:.5rem}@media (min-width: 576px){.card-header{padding:.875rem 1.25rem;flex-wrap:nowrap}}.card-header h3{font-size:.875rem;font-weight:600;color:var(--color-text)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.25rem}@media (min-width: 768px){.stats-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;margin-bottom:1.5rem}}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.125rem 1rem 1rem;position:relative;overflow:hidden}@media (min-width: 768px){.stat-card{padding:1.5rem 1.25rem 1.25rem}}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:transparent;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.stat-value{font-size:1.75rem;font-weight:800;color:var(--color-text);line-height:1;letter-spacing:-.04em;margin-bottom:.4rem}@media (min-width: 768px){.stat-value{font-size:2.25rem;margin-bottom:.5rem}}.stat-label{font-size:.68rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;font-size:.8rem}@media (min-width: 576px){table{font-size:.875rem}}thead{background:var(--color-border-light)}th{padding:.5rem .875rem;text-align:left;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-muted);white-space:nowrap}@media (min-width: 576px){th{padding:.625rem 1.25rem;font-size:.68rem}}td{padding:.75rem .875rem;border-bottom:1px solid var(--color-border-light);color:var(--color-text)}@media (min-width: 576px){td{padding:.875rem 1.25rem}}tbody tr{transition:background .13s}tbody tr:hover{background:#fafbfc}tbody tr:last-child td{border-bottom:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;border:none;cursor:pointer;transition:all .18s var(--ease);letter-spacing:-.01em;white-space:nowrap;line-height:1}.btn:hover:not(:disabled),a:hover{text-decoration:none}.btn--secondary:hover:not(:disabled){background:var(--color-border-light)}.btn--danger:hover:not(:disabled){background:#fee2e2}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);color:#fff}.btn--primary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-dark) 0%,#c93a53 100%)}.btn--primary:active:not(:disabled){opacity:.9}.btn--secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn--danger{background:#fef2f2;color:#991b1b;border:1px solid #FECACA}.btn--add{padding:.5rem 1rem;font-size:.875rem}.btn--sm{padding:.35rem .7rem;font-size:.78rem;border-radius:var(--radius-sm)}.btn--lg{padding:.75rem 1.5rem;font-size:.9375rem;border-radius:var(--radius-md)}.btn--secondary.btn--sm:hover,.btn--ghost.btn--sm:hover{text-decoration:none}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-label{font-size:.78rem;font-weight:500;color:var(--color-text-muted);letter-spacing:.005em}.form-input,.form-select,.form-textarea{padding:.625rem .875rem;border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;color:var(--color-text);background:var(--color-surface);transition:border-color .15s,box-shadow .15s;outline:none;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-light)}.custom-select{position:relative;width:100%}.custom-select__trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.625rem .875rem;border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;font-family:var(--font-sans);color:var(--color-text);background:var(--color-surface);text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,background-color var(--theme-transition);line-height:1.5}.custom-select__trigger:hover:not(:disabled){border-color:var(--color-primary)}.custom-select--open .custom-select__trigger{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.custom-select__trigger svg{flex-shrink:0;color:var(--color-text-muted);transition:transform .18s var(--ease),color var(--theme-transition)}.custom-select--open .custom-select__trigger svg{transform:rotate(180deg)}.custom-select__placeholder{color:var(--color-text-light)}.custom-select__dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:150;max-height:220px;overflow-y:auto;animation:selectDropIn .14s var(--ease)}@keyframes selectDropIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.custom-select__option{display:block;width:100%;padding:.6rem .875rem;text-align:left;font-size:.875rem;font-family:var(--font-sans);color:var(--color-text);background:none;border:none;cursor:pointer;transition:background .1s}.custom-select__option:hover:not(:disabled){background:var(--color-border-light)}.custom-select__option--selected{color:var(--color-primary);font-weight:600;background:var(--badge-primary-bg)}.custom-select__option--selected:hover:not(:disabled){background:rgba(var(--color-primary-rgb),.12)}.custom-select__option:disabled{opacity:.4;cursor:not-allowed}.custom-select--disabled .custom-select__trigger{opacity:.5;cursor:not-allowed}[data-theme=dark] .custom-select__trigger{background:#ffffff0f;border-color:#ffffff24;color:#ffffffeb}[data-theme=dark] .custom-select__trigger:hover:not(:disabled){border-color:var(--color-primary)}[data-theme=dark] .custom-select__placeholder{color:#ffffff59}[data-theme=dark] .custom-select__trigger svg{color:#ffffff73}[data-theme=dark] .custom-select__dropdown{background:#1c1c1c;border-color:#ffffff24;box-shadow:0 8px 32px #0000008c}[data-theme=dark] .custom-select__option{color:#ffffffe0}[data-theme=dark] .custom-select__option:hover:not(:disabled){background:#ffffff14}[data-theme=dark] .custom-select__option--selected{color:var(--color-accent);background:rgba(var(--color-primary-rgb),.18)}[data-theme=dark] .custom-select__option--selected:hover:not(:disabled){background:rgba(var(--color-primary-rgb),.26)}.date-picker{position:relative;width:100%}.date-picker__trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.625rem .875rem;border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;font-family:var(--font-sans);color:var(--color-text);background:var(--color-surface);text-align:left;cursor:pointer;line-height:1.5;transition:border-color .15s,box-shadow .15s,background-color var(--theme-transition),color var(--theme-transition)}.date-picker__trigger:hover{border-color:var(--color-primary)}.date-picker--open .date-picker__trigger{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.date-picker__trigger svg{flex-shrink:0;color:var(--color-text-muted);transition:color var(--theme-transition)}.date-picker__placeholder{color:var(--color-text-light)}.date-picker__dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:280px;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:150;padding:.875rem;animation:selectDropIn .14s var(--ease)}.date-picker__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.date-picker__month-label{font-size:.875rem;font-weight:600;color:var(--color-text);letter-spacing:-.01em}.date-picker__nav{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:background .1s}.date-picker__nav:hover{background:var(--color-border-light);color:var(--color-text)}.date-picker__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.date-picker__weekday{display:flex;align-items:center;justify-content:center;height:28px;font-size:.65rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.date-picker__day{display:flex;align-items:center;justify-content:center;height:32px;border:none;background:none;border-radius:var(--radius-sm);font-size:.8rem;font-family:var(--font-sans);color:var(--color-text);cursor:pointer;transition:background .1s}.date-picker__day:hover{background:var(--color-border-light)}.date-picker__day--today{color:var(--color-primary);font-weight:700}.date-picker__day--selected{background:var(--color-primary);color:#fff;font-weight:600}.date-picker__day--selected:hover{background:var(--color-primary-dark)}.date-picker__footer{margin-top:.625rem;padding-top:.625rem;border-top:1px solid var(--color-border-light);display:flex;justify-content:center}.date-picker__today-btn{background:none;border:none;font-size:.78rem;font-family:var(--font-sans);font-weight:500;color:var(--color-primary);cursor:pointer;padding:.25rem .5rem;border-radius:var(--radius-sm);transition:background .1s}.date-picker__today-btn:hover{background:var(--badge-primary-bg)}[data-theme=dark] .date-picker__trigger{background:#ffffff0f;border-color:#ffffff24;color:#ffffffeb}[data-theme=dark] .date-picker__trigger:hover{border-color:var(--color-primary)}[data-theme=dark] .date-picker__placeholder{color:#ffffff59}[data-theme=dark] .date-picker__trigger svg{color:#ffffff73}[data-theme=dark] .date-picker__dropdown{background:#1c1c1c;border-color:#ffffff24;box-shadow:0 8px 32px #0000008c}[data-theme=dark] .date-picker__month-label{color:#ffffffeb}[data-theme=dark] .date-picker__nav{color:#ffffff73}[data-theme=dark] .date-picker__nav:hover{background:#ffffff14;color:#ffffffe0}[data-theme=dark] .date-picker__weekday{color:#fff6}[data-theme=dark] .date-picker__day{color:#ffffffe0}[data-theme=dark] .date-picker__day:hover{background:#ffffff14}[data-theme=dark] .date-picker__day--today{color:var(--color-accent)}[data-theme=dark] .date-picker__day--selected{background:var(--color-primary);color:#fff}[data-theme=dark] .date-picker__day--selected:hover{background:var(--color-primary-dark)}[data-theme=dark] .date-picker__footer{border-top-color:#ffffff14}[data-theme=dark] .date-picker__today-btn{color:var(--color-accent)}[data-theme=dark] .date-picker__today-btn:hover{background:rgba(var(--color-primary-rgb),.15)}.phone-input-wrapper{display:flex;align-items:center;padding:0 .875rem;border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);transition:border-color .15s,box-shadow .15s;width:100%;box-sizing:border-box}.phone-input-wrapper:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.phone-prefix{font-size:.875rem;color:var(--color-text-light);padding-right:.625rem;border-right:1.5px solid var(--color-border);margin-right:.625rem;-webkit-user-select:none;user-select:none;white-space:nowrap;line-height:1}.phone-input-field{flex:1;padding:.625rem 0;border:none;background:transparent;font-size:.875rem;color:var(--color-text);outline:none;min-width:0}.phone-input-field::placeholder{color:var(--color-text-light)}[data-theme=dark] .phone-input-wrapper{background:#ffffff0f;border-color:#ffffff24}[data-theme=dark] .phone-input-field{color:#ffffffeb}[data-theme=dark] .phone-input-field::placeholder{color:#ffffff59}[data-theme=dark] .phone-prefix{color:#ffffff73;border-color:#ffffff24}.badge{display:inline-flex;align-items:center;padding:.225rem .6rem;border-radius:999px;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.055em;white-space:nowrap}.badge--green{background:var(--badge-green-bg);color:var(--badge-green-text)}.badge--red{background:var(--badge-red-bg);color:var(--badge-red-text)}.badge--orange{background:var(--badge-orange-bg);color:var(--badge-orange-text)}.badge--blue{background:var(--badge-blue-bg);color:var(--badge-blue-text)}.badge--grey{background:var(--badge-grey-bg);color:var(--badge-grey-text)}.badge--primary{background:var(--badge-primary-bg);color:var(--badge-primary-text)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;z-index:200;padding:0}@media (min-width: 576px){.modal-backdrop{align-items:center;padding:1rem}}.modal{background:var(--color-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:92vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:modalIn .22s cubic-bezier(.34,1.4,.64,1)}@media (min-width: 576px){.modal{border-radius:var(--radius-xl);max-width:480px;max-height:none;overflow-y:visible}}@keyframes modalIn{0%{opacity:0;transform:scale(.97) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.125rem 1.25rem;border-bottom:1px solid var(--color-border)}@media (min-width: 576px){.modal-header{padding:1.25rem 1.5rem}}.modal-close{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:var(--color-border-light);color:var(--color-text-muted);border-radius:50%;font-size:.7rem;transition:all .15s}.modal-close:hover{background:var(--color-border);color:var(--color-text)}.modal-body{padding:1.25rem}@media (min-width: 576px){.modal-body{padding:1.5rem}}.modal-footer{display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid var(--color-border);background:var(--color-border-light);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.modal-footer .btn{width:100%;justify-content:center}@media (min-width: 576px){.modal-footer{flex-direction:row;justify-content:flex-end;padding:1rem 1.5rem}.modal-footer .btn{width:auto}}.toast-container{position:fixed;bottom:1rem;left:1rem;right:1rem;display:flex;flex-direction:column;gap:.5rem;z-index:300}@media (min-width: 576px){.toast-container{left:auto;right:1.5rem;bottom:1.5rem}}.toast{padding:.875rem 1.125rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;box-shadow:var(--shadow-lg);animation:toastIn .3s cubic-bezier(.34,1.4,.64,1);letter-spacing:-.005em}@media (min-width: 576px){.toast{max-width:340px}}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 576px){@keyframes toastIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}}.toast--success{background:#052e16;color:#dcfce7;border:1px solid #166534}.toast--error{background:#450a0a;color:#fee2e2;border:1px solid #991B1B}.toast--info{background:#1e3a8a;color:#dbeafe;border:1px solid #1D4ED8}.skeleton{display:block;background:linear-gradient(90deg,var(--color-border-light) 25%,var(--color-border) 50%,var(--color-border-light) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{width:26px;height:26px;border:2.5px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spinner-center{display:flex;align-items:center;justify-content:center;padding:3rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center}.empty-state-icon{font-size:2rem;margin-bottom:.875rem;opacity:.35}.empty-state p{font-size:.9rem;color:var(--color-text-muted);font-weight:500}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f6f5f2;position:relative;overflow:hidden;padding:1rem;transition:background-color var(--theme-transition)}.login-page:before{content:"";position:absolute;width:820px;height:820px;background:radial-gradient(circle,rgba(224,54,28,.28) 0%,transparent 72%);top:-180px;right:-180px;pointer-events:none;animation:halo-drift-1 8s ease-in-out infinite;will-change:transform}.login-page:after{content:"";position:absolute;width:640px;height:640px;background:radial-gradient(circle,rgba(225,71,97,.22) 0%,transparent 72%);bottom:-170px;left:-170px;pointer-events:none;animation:halo-drift-2 11s ease-in-out infinite;will-change:transform}@keyframes halo-drift-1{0%{transform:translate(0) scale(1)}25%{transform:translate(-120px,90px) scale(1.15)}50%{transform:translate(-160px,140px) scale(.88)}75%{transform:translate(-70px,80px) scale(1.1)}to{transform:translate(0) scale(1)}}@keyframes halo-drift-2{0%{transform:translate(0) scale(1)}25%{transform:translate(130px,-100px) scale(1.14)}50%{transform:translate(170px,-150px) scale(.87)}75%{transform:translate(80px,-70px) scale(1.09)}to{transform:translate(0) scale(1)}}.login-card{position:relative;z-index:1;width:100%;max-width:400px;background:#ffffff9e;border:1px solid rgba(17,24,39,.08);border-radius:var(--radius-xl);padding:1.75rem 1.25rem;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 1px #ffffffb3 inset,0 0 0 1px #ffffff59 inset,0 24px 60px #1118272e;transition:background-color var(--theme-transition),border-color var(--theme-transition),box-shadow var(--theme-transition)}.login-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(120% 90% at 20% 10%,rgba(255,255,255,.85) 0%,rgba(255,255,255,.15) 45%,transparent 70%),radial-gradient(100% 80% at 85% 0%,rgba(224,54,28,.1) 0%,transparent 55%),radial-gradient(100% 80% at 10% 90%,rgba(225,71,97,.1) 0%,transparent 55%);pointer-events:none;mix-blend-mode:normal;opacity:.9}.login-card>*{position:relative;z-index:1}@media (min-width: 480px){.login-card{padding:2.5rem}}.login-logo{text-align:center;margin-bottom:2rem}.login-logo img{height:48px;width:auto;object-fit:contain;margin-bottom:1.25rem;filter:none}.login-page .login-logo img{height:10rem;margin:-3rem}.login-logo p{font-size:.825rem;color:#11182799;margin-top:.25rem;font-weight:400}.login-form{display:flex;flex-direction:column;gap:1rem}.login-form .form-label{color:#1118279e;font-size:.78rem}.login-form .form-input{background:#ffffff8c;border-color:#1118271f;color:var(--color-text);transition:background-color var(--theme-transition),border-color var(--theme-transition),color var(--theme-transition),box-shadow var(--theme-transition)}.login-form .form-input::placeholder{color:#11182759}.login-form .form-input:focus{border-color:var(--color-primary);background:#ffffffb3;box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.14),0 1px #ffffffa6 inset}.login-form .btn--primary{margin-top:.5rem;width:100%;padding:.75rem;font-size:.9rem;font-weight:600}.btn--login:hover:not(:disabled){text-decoration:none;box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.22),0 10px 28px rgba(var(--color-primary-rgb),.22)}.login-theme-toggle{position:absolute;top:1.25rem;left:1.25rem;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:transparent;border:none;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#111827d9;z-index:2;isolation:isolate;transition:background-color var(--theme-transition),border-color var(--theme-transition),color var(--theme-transition),box-shadow var(--theme-transition),transform .18s var(--ease)}.login-theme-toggle:after{content:"";position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px;border-radius:inherit;background:radial-gradient(circle,rgba(var(--color-primary-rgb),.55) 0%,rgba(var(--color-primary-rgb),.18) 40%,transparent 72%);filter:blur(12px);opacity:0;transition:opacity .18s var(--ease);pointer-events:none;z-index:-1}[data-theme=dark] .login-theme-toggle:after{background:radial-gradient(circle,rgba(255,255,255,.75) 0%,rgba(255,255,255,.28) 40%,transparent 72%)}.login-theme-toggle:hover,.login-theme-toggle:focus-visible{transform:translateY(-1px);box-shadow:none;border:none;outline:none}.login-theme-toggle:hover:after,.login-theme-toggle:focus-visible:after{opacity:1}.login-theme-toggle svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}[data-theme=dark] .login-theme-toggle{background:transparent;border-color:transparent;color:#ffffffd9;backdrop-filter:none;-webkit-backdrop-filter:none}[data-theme=dark] .login-page{background:var(--color-bg)}[data-theme=dark] .login-page:before{background:radial-gradient(circle,rgba(255,255,255,.16) 0%,transparent 72%)}[data-theme=dark] .login-page:after{background:radial-gradient(circle,rgba(255,255,255,.12) 0%,transparent 72%)}[data-theme=dark] .login-card{background:#00000059;border:1px solid rgba(255,255,255,.14);box-shadow:0 1px #ffffff0f inset,0 0 0 1px #00000059 inset,0 24px 60px #00000073}[data-theme=dark] .login-card:before{opacity:.35}[data-theme=dark] .login-logo p{color:#ffffffb8}[data-theme=dark] .login-page .login-logo img{filter:brightness(0) invert(1)}[data-theme=dark] .login-form .form-label{color:#ffffffb8}[data-theme=dark] .login-form .form-input{background:#0006;border-color:#ffffff2e;color:#ffffffeb}[data-theme=dark] .login-form .form-input::placeholder{color:#ffffff73}[data-theme=dark] .login-form .form-input:focus{background:#0000008c;box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.22),0 1px #ffffff0f inset}.public-layout{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg);padding:1rem}.confirm-card,.feedback-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:1.5rem;width:100%;max-width:440px;box-shadow:var(--shadow-lg)}@media (min-width: 480px){.confirm-card,.feedback-card{padding:2.25rem}}.confirm-header{text-align:center;margin-bottom:1.5rem}.confirm-header img{height:32px;width:auto;object-fit:contain;margin-bottom:1.25rem}.confirm-header h2{font-size:1.125rem;color:var(--color-text)}@media (min-width: 480px){.confirm-header{margin-bottom:1.75rem}.confirm-header h2{font-size:1.25rem}}.confirm-header p{font-size:.85rem;color:var(--color-text-muted);margin-top:.375rem}.appt-details{background:var(--color-border-light);border-radius:var(--radius-lg);padding:1rem;display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}@media (min-width: 480px){.appt-details{padding:1.25rem;margin-bottom:1.75rem}}.appt-detail-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.875rem}.appt-detail-label{font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.confirm-actions{display:flex;flex-direction:column;gap:.75rem}.confirm-actions .btn{width:100%;padding:.75rem;font-size:.9rem;justify-content:center}@media (min-width: 400px){.confirm-actions{flex-direction:row}.confirm-actions .btn{flex:1;width:auto}}.star-rating{display:inline-flex;gap:2px}.star{font-size:1.25rem;cursor:pointer;transition:opacity .1s}.star:hover{opacity:.8}[data-theme=dark]{--color-bg: #0B0B0B;--color-surface: #141414;--color-text: #F5F5F5;--color-text-muted: rgba(255,255,255,.72);--color-text-light: rgba(255,255,255,.55);--color-border: rgba(255,255,255,.14);--color-border-light: rgba(255,255,255,.08);--color-sidebar-bg: #070707;--badge-green-bg: #D1FAE5;--badge-green-text: #065F46;--badge-red-bg: #FEE2E2;--badge-red-text: #991B1B;--badge-orange-bg: #FEF3C7;--badge-orange-text: #92400E;--badge-blue-bg: #DBEAFE;--badge-blue-text: #1E40AF;--badge-grey-bg: #F3F4F6;--badge-grey-text: #374151;--badge-primary-bg: rgba(224, 54, 28, .09);--badge-primary-text: #C42D17}[data-theme=dark]{color-scheme:dark}[data-theme=dark] body:before{background:transparent}[data-theme=dark] .sidebar-logo img,[data-theme=dark] .topbar-logo img{filter:brightness(0) invert(1)}[data-theme=dark] .sidebar-logo{background-color:transparent;border-bottom:1px solid rgba(255,255,255,.06);box-shadow:none}[data-theme=dark] .sidebar-logout{color:#ffffffb8}[data-theme=dark] .sidebar-logout:hover{background:#ffffff0f;color:#ffffffeb}[data-theme=dark] .theme-toggle{color:#ffffffb8}[data-theme=dark] .theme-toggle:hover{background:#ffffff0f;color:#ffffffeb}[data-theme=dark] tbody tr:hover,[data-theme=dark] thead{background:#ffffff0f}[data-theme=dark] .btn--secondary{background:#0b0b0b;color:#e5e7eb;border-color:#000}[data-theme=dark] .btn--danger{background:#0b0b0b;color:#fca5a5;border-color:#000}[data-theme=dark] .form-input,[data-theme=dark] .form-select,[data-theme=dark] .form-textarea{background:#ffffff0f;border-color:#ffffff24;color:#ffffffeb}[data-theme=dark] .form-input::placeholder,[data-theme=dark] .form-textarea::placeholder{color:#ffffff8c}[data-theme=dark] .modal-footer{background:var(--color-bg)}[data-theme=dark] .topbar-user{background:#ffffff0f;border-color:#ffffff24}.theme-toggle{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;background:none;border:none;border-radius:var(--radius-sm);color:#ffffffe6;transition:background-color var(--theme-transition),color var(--theme-transition);padding:0}.theme-toggle:hover{background:#ffffff24;color:#fffffffa}.theme-toggle svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.form-textarea{resize:vertical;min-height:90px}.form-error{font-size:.78rem;color:#991b1b;margin-top:.2rem}.brand-search{position:relative}.brand-search__dropdown{position:absolute;top:100%;left:0;right:0;z-index:100;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);max-height:220px;overflow-y:auto;margin-top:4px}.brand-search__option{display:block;width:100%;text-align:left;padding:.5rem .75rem;background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--color-text);transition:background .1s}.brand-search__option:hover{background:var(--color-border-light)}.brand-search__option--selected{background:rgba(var(--color-primary-rgb),.08);color:var(--color-primary);font-weight:500}.card-body{padding:1.25rem}.star{color:#d1d5db}.star.filled{color:#f59e0b}.star-rating-interactive{display:flex;gap:.5rem;margin:1.25rem 0;justify-content:center}.star-interactive{font-size:2.25rem;cursor:pointer;transition:color .12s;color:#d1d5db}.star-interactive.filled,.star-interactive:hover{color:#f59e0b}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}@media (min-width: 768px){.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}}.calendar-page{display:flex;flex-direction:column;gap:1.25rem}.calendar-controls{display:flex;align-items:center;gap:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:.875rem 1.25rem}.calendar-nav{display:flex;gap:.5rem;align-items:center}.calendar-view-toggle{display:flex;gap:.5rem;margin-left:auto}.calendar-title{font-size:.9rem;font-weight:600;min-width:0;text-align:center;color:var(--color-text);letter-spacing:-.01em}@media (min-width: 576px){.calendar-controls{gap:1rem}.calendar-title{font-size:1rem;min-width:200px}}.week-view{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface);overflow-x:auto;-webkit-overflow-scrolling:touch}.week-header{display:grid;grid-template-columns:48px repeat(6,minmax(80px,1fr));border-bottom:1px solid var(--color-border);background:var(--color-border-light);min-width:600px}.week-header-cell{padding:.625rem .25rem;text-align:center;font-size:.7rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;border-right:1px solid var(--color-border-light)}.week-header-cell.today{color:var(--color-primary)}.week-body{display:grid;grid-template-columns:48px repeat(6,minmax(80px,1fr));overflow-y:auto;min-width:600px}.week-time-col{border-right:1px solid var(--color-border)}.week-time-label{height:70px;display:flex;align-items:flex-start;padding:4px 6px;font-size:.65rem;color:var(--color-text-light);border-bottom:1px solid var(--color-border-light)}.week-day-col{border-right:1px solid var(--color-border-light);position:relative}.week-day-col:last-child{border-right:none}.week-slot{height:70px;border-bottom:1px solid var(--color-border-light);padding:2px .25rem;position:relative}.week-slot.today-col{background:#e0361c08}.week-slot-more-wrapper{position:relative}.week-slot-more{font-size:.62rem;color:var(--color-text-muted);padding-left:2px;cursor:pointer}.week-slot-more:hover{color:var(--color-primary)}.week-slot-tooltip{position:absolute;bottom:calc(100% + 4px);left:0;z-index:100;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 16px #0000001f;min-width:180px;padding:4px 0}.week-slot-tooltip-item{padding:6px 12px;font-size:.72rem;cursor:pointer;white-space:nowrap}.week-slot-tooltip-item:hover{background:var(--color-border-light)}.appointment-slot{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;border-radius:var(--radius-sm);padding:2px 5px;font-size:.65rem;font-weight:500;overflow:hidden;cursor:pointer;margin-bottom:2px;transition:opacity .15s}.appointment-slot:hover{opacity:.85}@media (min-width: 768px){.week-header,.week-body{grid-template-columns:60px repeat(6,1fr);min-width:unset;overflow-y:auto;scrollbar-gutter:stable}.week-header-cell{padding:.75rem .5rem;font-size:.72rem}.week-slot{padding:2px .5rem}.week-time-label{padding:4px 8px;font-size:.68rem}.appointment-slot{padding:2px 6px;font-size:.7rem}}.month-view{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface)}.month-header{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--color-border);background:var(--color-border-light)}.month-header-cell{padding:.5rem .25rem;text-align:center;font-size:.68rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.month-day{border-right:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light);min-height:70px;padding:.25rem}.month-day:nth-child(7n){border-right:none}.month-day-number{font-size:.7rem;font-weight:600;margin-bottom:2px;color:var(--color-text-muted)}.month-day-number.today{color:var(--color-primary);background:#e0361c1a;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center}.month-day.other-month{background:var(--color-border-light)}.month-day.other-month .month-day-number{opacity:.3}.month-appointment{font-size:.62rem;padding:1px 4px;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;border-radius:3px;margin-bottom:1px;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:500;transition:opacity .15s}.month-appointment:hover{opacity:.85}@media (min-width: 576px){.month-header-cell{padding:.75rem;font-size:.75rem}.month-day{min-height:100px;padding:.5rem}.month-day-number{font-size:.78rem;margin-bottom:4px}.month-day-number.today{width:24px;height:24px}.month-appointment{font-size:.7rem;padding:1px 4px;margin-bottom:2px}}.availability-grid{display:flex;flex-direction:column;gap:.75rem}.availability-row{display:flex;flex-direction:column;gap:.5rem}.availability-day-label{font-weight:600;font-size:.875rem;color:var(--color-text)}.availability-slots{display:flex;flex-direction:column;gap:.5rem}.availability-slot{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.availability-slot-remove{background:none;border:none;color:#991b1b;font-size:1rem;padding:.2rem;border-radius:var(--radius-sm);transition:background .15s}.availability-slot-remove:hover{background:#fee2e2}@media (min-width: 480px){.availability-row{display:grid;grid-template-columns:110px 1fr;gap:1rem;align-items:start}.availability-day-label{padding-top:.55rem}}.detail-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}.detail-section{margin-bottom:1.25rem}.detail-row{display:flex;gap:.75rem;padding:.625rem 0;border-bottom:1px solid var(--color-border-light);font-size:.875rem;flex-wrap:wrap}.detail-row:last-child{border-bottom:none}.detail-label{font-weight:600;min-width:130px;color:var(--color-text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}@media (min-width: 768px){.detail-grid{grid-template-columns:1fr 1fr;gap:1.5rem}.detail-section{margin-bottom:1.5rem}.detail-label{min-width:150px}}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-grid .span-2{grid-column:1 / -1}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;flex-wrap:wrap}@media (min-width: 576px){.form-grid{grid-template-columns:1fr 1fr;gap:1rem}.form-actions{flex-wrap:nowrap}}
