@import url(https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=Outfit:wght@300;400;500;600;700&family=Playfair+Display:wght@600;700;800&family=Poppins:wght@300;400;500;600;700&family=DM+Mono:wght@400;500&family=Space+Grotesk:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap);:root{--bg:#22222a;--bg2:#2e2e36;--bg3:#363640;--surface:#ffffff26;--surface2:#fff3;--surface3:#ffffff40;--surface-under:#00000040;--border:#fff3;--border2:#ffffff40;--accent:#d4af37;--accent2:#f8e5a5;--accent-dim:#d4af371f;--accent-glow:#d4af3740;--green:#10b981;--green-dim:#10b98126;--red:#ef4444;--red-dim:#ef444426;--blue:#3b82f6;--blue-dim:#3b82f626;--purple:#8b5cf6;--text:#fcfcfc;--text2:#fcfcfca6;--text3:#fcfcfc66;--radius:14px;--radius-lg:20px;--radius-xl:28px;--font-d:"Syne",sans-serif;--font-b:"Outfit",sans-serif;--font-elegant:"Playfair Display",serif;--font-modern:"Poppins",sans-serif;--font-mono:"DM Mono",monospace;--font-num:"Space Grotesk",sans-serif;--font-display:"Plus Jakarta Sans",sans-serif;--sidebar-w:280px;--topbar-h:72px;--shadow:0 8px 30px #0009;--shadow-lg:0 20px 50px #000c;--shadow-xl:0 30px 70px #000000e6;--glow:0 0 25px #d4af3726;--glow-lg:0 0 45px #d4af374d;--panel-bg:#ffffff08;--sidebar-bg:linear-gradient(180deg,var(--bg2) 0%,var(--bg) 100%);--sidebar-item:#ffffff03;--table-head:linear-gradient(135deg,var(--surface2),var(--surface3));--row-hover:#ffffff05;--transition:all .3s cubic-bezier(0.2,0.8,0.2,1)}[data-theme=light]{--bg:#fafbfc;--bg2:#f5f6f8;--bg3:#eef0f4;--surface:#1923320f;--surface2:#1923321a;--surface3:#19233226;--border:#19233214;--border2:#19233229;--accent:#d4a530;--accent2:#f5d27a;--accent-dim:#d4a5301f;--accent-glow:#d4a53033;--green:#2d9d6f;--green-dim:#2d9d6f1a;--red:#e53e3e;--red-dim:#e53e3e1a;--blue:#2b90d4;--blue-dim:#2b90d41a;--purple:#8b5cf6;--text:#1a1a24;--text2:#1a1a24bf;--text3:#1a1a2480;--shadow:0 8px 32px #0000000d;--shadow-lg:0 20px 60px #00000014;--shadow-xl:0 30px 80px #0000001a;--glow:0 0 30px #d4a5301a;--glow-lg:0 0 50px #d4a53026;--panel-bg:#fff;--sidebar-bg:#fff;--table-head:#f8fafc;--row-hover:#f8fafc;--surface:#2d374b0d;--surface2:#2d374b14;--surface3:#2d374b1f;--surface-under:#0000000a;--border:#2d374b1a}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background:#22222a;background:var(--bg);color:#fcfcfc;color:var(--text);font-family:Outfit,sans-serif;font-family:var(--font-b);font-size:15px;line-height:1.6;position:relative;transition:background-color .5s ease,color .5s ease}body:before{background:radial-gradient(circle at 20% 50%,#e8b84b1a 0,#0000 50%),radial-gradient(circle at 80% 80%,#4fc3f70d 0,#0000 50%);content:"";inset:0;pointer-events:none;position:fixed;z-index:1}button{background:none;border:none;cursor:pointer}button,input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#d4af37,#3b82f6);background:linear-gradient(180deg,var(--accent),var(--blue));border-radius:4px}::-webkit-scrollbar-track{background:#ffffff26;background:var(--surface)}.card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffff26;background:var(--surface);border:1px solid #fff3;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 4px 20px #0003;overflow:hidden;padding:24px;position:relative;transition:all .3s cubic-bezier(.2,.8,.2,1);transition:var(--transition)}.card:before{background:linear-gradient(135deg,#d4af3700,#d4af3708);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .4s ease}.card:hover{background:#fff3;background:var(--surface2);border-color:#ffffff40;border-color:var(--border2);box-shadow:0 8px 30px #0006,0 0 15px #d4af370d;transform:translateY(-3px)}.card:hover:before{opacity:1}.empty-state{background:#ffffff05;border:1px dashed #fff3;border:1px dashed var(--border);border-radius:28px;border-radius:var(--radius-xl);margin-top:24px;padding:80px 40px}.empty-icon{filter:grayscale(1);font-size:48px;margin-bottom:20px}.empty-title{color:#fcfcfc;color:var(--text);font-family:Syne,sans-serif;font-family:var(--font-d);font-weight:800;margin-bottom:8px}.card-gold:hover{box-shadow:0 0 40px #e8b84b26;transform:translateY(-2px)}.btn{align-items:center;border-radius:14px;border-radius:var(--radius);display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;overflow:hidden;padding:10px 20px;position:relative;transition:all .3s cubic-bezier(.2,.8,.2,1);transition:var(--transition);white-space:nowrap}.btn:after{background:radial-gradient(circle,#fff3 0,#0000 70%);content:"";inset:0;opacity:0;pointer-events:none;position:absolute}.btn:hover:after{opacity:1}.btn-primary{background:linear-gradient(135deg,#d4af37,#f8e5a5);background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 4px 20px #d4af3740;box-shadow:0 4px 20px var(--accent-glow);color:#0c0b0f;font-weight:700}.btn-primary:hover{box-shadow:0 8px 40px #d4af3740;box-shadow:0 8px 40px var(--accent-glow);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:#fff3;background:var(--surface2);border:1px solid #ffffff40;border:1px solid var(--border2);color:#fcfcfc;color:var(--text);transition:all .3s cubic-bezier(.2,.8,.2,1);transition:var(--transition)}.btn-secondary:hover{background:#ffffff40;background:var(--surface3);border-color:#d4af37;border-color:var(--accent);box-shadow:0 0 20px #e8b84b1a}.btn-ghost{background:#0000;border:1px solid #fff3;border:1px solid var(--border);color:#fcfcfca6;color:var(--text2);transition:all .3s cubic-bezier(.2,.8,.2,1);transition:var(--transition)}.btn-ghost:hover{border-color:#d4af37;border-color:var(--accent);box-shadow:0 0 20px #e8b84b1a;color:#d4af37;color:var(--accent)}.btn-danger{background:#ef444426;background:var(--red-dim);border:1px solid #ff5c5c4d;color:#ef4444;color:var(--red);transition:all .3s cubic-bezier(.2,.8,.2,1);transition:var(--transition)}.btn-danger:hover{background:#ff5c5c40;box-shadow:0 0 20px #ff5c5c1a}.btn-success{background:#10b98126;background:var(--green-dim);border:1px solid #3ecf8e4d;color:#10b981;color:var(--green);transition:all .3s cubic-bezier(.2,.8,.2,1);transition:var(--transition)}.btn-success:hover{background:#3ecf8e40;box-shadow:0 0 20px #3ecf8e1a}.btn-sm{font-size:13px;padding:6px 14px}.btn-lg{font-size:16px;padding:14px 28px}.btn-full{width:100%}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.btn-outline{background:#0000;border:1px solid #d4af37;border:1px solid var(--accent);color:#d4af37;color:var(--accent);transition:all .3s cubic-bezier(.2,.8,.2,1);transition:var(--transition)}.btn-outline:hover{background:#d4af371f;background:var(--accent-dim);box-shadow:0 0 20px #e8b84b33}.field{display:flex;flex-direction:column;gap:6px}.field label{color:#fcfcfca6;color:var(--text2);font-family:Poppins,sans-serif;font-family:var(--font-modern);font-size:13px;font-weight:600;letter-spacing:.3px}.field label,.field-wrap{transition:all .3s cubic-bezier(.2,.8,.2,1);transition:var(--transition)}.field-wrap{align-items:center;background:#fff3;background:var(--surface2);border:1px solid #fff3;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 2px 10px #0000001a;display:flex;overflow:hidden}.field-wrap:focus-within{background:#ffffff26;background:var(--surface);border-color:#d4af37;border-color:var(--accent);box-shadow:0 0 0 2px #d4af371f;box-shadow:0 0 0 2px var(--accent-dim)}.field-wrap:hover:not(:focus-within){background:#ffffff26;background:var(--surface);border-color:#ffffff40;border-color:var(--border2)}.field-input{background:#0000;border:none;color:#fcfcfc;color:var(--text);flex:1 1;font-family:Outfit,sans-serif;font-family:var(--font-b);font-size:15px;outline:none;padding:12px 16px;transition:all .3s cubic-bezier(.2,.8,.2,1);transition:var(--transition);width:100%}.field-input::placeholder{color:#fcfcfc66;color:var(--text3)}.field-input:focus{color:#f8e5a5;color:var(--accent2)}.field-prefix{align-items:center;border-right:1px solid #fff3;border-right:1px solid var(--border);color:#fcfcfc66;color:var(--text3);display:flex;font-size:14px;font-weight:600;min-height:46px;padding:0 14px;transition:all .3s cubic-bezier(.2,.8,.2,1);transition:var(--transition)}.field-wrap:focus-within .field-prefix{color:#d4af37;color:var(--accent)}.field-suffix{align-items:center;color:#fcfcfca6;color:var(--text2);cursor:pointer;display:flex;font-size:16px;min-height:46px;padding:0 12px;transition:all .3s cubic-bezier(.2,.8,.2,1);transition:var(--transition)}.field-suffix:hover{color:#d4af37;color:var(--accent)}.field-error{animation:slideDown .2s ease;color:#ef4444;color:var(--red);font-size:12px;font-weight:600}@keyframes skeletonLoading{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{animation:skeletonLoading 1.5s linear infinite;background:linear-gradient(90deg,#ffffff26 25%,#fff3 50%,#ffffff26 75%);background:linear-gradient(90deg,var(--surface) 25%,var(--surface2) 50%,var(--surface) 75%);background-size:200% 100%;border-radius:14px;border-radius:var(--radius);color:#0000!important;pointer-events:none;-webkit-user-select:none;user-select:none}select.field-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8b84b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:20px;cursor:pointer;padding-right:38px}select.field-input:hover:not(:disabled){border-color:#e8b84b;box-shadow:0 0 0 3px #e8b84b1a}select.field-input:focus{border-color:#e8b84b;box-shadow:0 0 0 3px #e8b84b26;outline:none}select.field-input option{background:#2e2e36;background:var(--bg2);color:#fcfcfc;color:var(--text);padding:10px}select.field-input option:checked{background:linear-gradient(#d4af37,#f8e5a5);background:linear-gradient(var(--accent),var(--accent2));background-color:#d4af37;background-color:var(--accent);color:#22222a;color:var(--bg)}select.field-input:disabled{cursor:not-allowed;opacity:.6}textarea.field-input{min-height:90px;resize:vertical}.badge{font-feature-settings:"tnum";align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:100px;display:inline-flex;font-family:Plus Jakarta Sans,sans-serif;font-family:var(--font-display);font-size:12px;font-variant-numeric:tabular-nums;font-weight:700;gap:4px;letter-spacing:.2px;padding:6px 12px;transition:all .3s cubic-bezier(.2,.8,.2,1);transition:var(--transition)}.badge:hover{transform:scale(1.05)}.badge-gold{background:#d4af371f;background:var(--accent-dim);border:1px solid #e8b84b40;box-shadow:0 0 12px #e8b84b1a;color:#d4af37;color:var(--accent)}.badge-green{background:#10b98126;background:var(--green-dim);border:1px solid #3ecf8e40;box-shadow:0 0 12px #3ecf8e1a;color:#10b981;color:var(--green)}.badge-red{background:#ef444426;background:var(--red-dim);border:1px solid #ff5c5c40;box-shadow:0 0 12px #ff5c5c1a;color:#ef4444;color:var(--red)}.badge-blue{background:#3b82f626;background:var(--blue-dim);border:1px solid #4fc3f740;box-shadow:0 0 12px #4fc3f71a;color:#3b82f6;color:var(--blue)}.badge-purple{background:#a78bfa26;border:1px solid #a78bfa40;box-shadow:0 0 12px #a78bfa1a;color:#8b5cf6;color:var(--purple)}.table-wrap{border:1px solid #fff3;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 4px 16px #0003;transition:all .3s cubic-bezier(.2,.8,.2,1);transition:var(--transition)}.table-wrap:hover{box-shadow:0 8px 32px #e8b84b1a}table{border-collapse:collapse}th{background:linear-gradient(135deg,#fff3,#ffffff40);background:var(--table-head);border-bottom:2px solid #ffffff40;border-bottom:2px solid var(--border2);color:#d4af37;color:var(--accent);font-family:Poppins,sans-serif;font-family:var(--font-modern);font-size:12px;font-weight:700;letter-spacing:1.2px;text-align:left;text-transform:uppercase}td,th{padding:16px}td{font-feature-settings:"tnum";border-bottom:1px solid #fff3;border-bottom:1px solid var(--border);color:#fcfcfc;color:var(--text);font-size:14px;font-variant-numeric:tabular-nums;transition:all .3s cubic-bezier(.2,.8,.2,1);transition:var(--transition)}tr:last-child td{border-bottom:none}tr:hover td{background:linear-gradient(90deg,#e8b84b0d,#0000);transform:translateX(2px)}.stars{display:flex;gap:3px}.star{font-size:16px;transition:all .3s cubic-bezier(.2,.8,.2,1);transition:var(--transition)}.star:hover{transform:scale(1.2) rotate(15deg)}.star.filled{color:#d4af37;color:var(--accent)}.star.empty{color:#fcfcfc66;color:var(--text3)}.section-head{align-items:center;animation:slideUp .5s ease;display:flex;justify-content:space-between;margin-bottom:24px}.section-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fcfcfc,#d4af37);background:linear-gradient(135deg,var(--text) 0,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;color:#fcfcfc;color:var(--text);font-family:Playfair Display,serif;font-family:var(--font-elegant);font-size:28px;font-weight:800;letter-spacing:-.5px}.section-sub{color:#fcfcfca6;color:var(--text2);font-family:Poppins,sans-serif;font-family:var(--font-modern);font-size:14px;font-weight:500;margin-top:4px}.grid-2{grid-gap:16px;grid-template-columns:1fr 1fr}.grid-2,.grid-3{display:grid;gap:16px}.grid-3{grid-gap:16px;grid-template-columns:repeat(3,1fr)}.grid-4{grid-gap:16px;grid-template-columns:repeat(4,1fr)}.grid-4,.grid-auto{display:grid;gap:16px}.grid-auto{grid-gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.stat-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(145deg,#ffffff26,#14141999);background:linear-gradient(145deg,var(--surface) 0,#14141999 100%);border:1px solid #fff3;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 8px 30px #0009;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;overflow:hidden;padding:24px;position:relative}.stat-card,.stat-card:before{transition:all .3s cubic-bezier(.2,.8,.2,1);transition:var(--transition)}.stat-card:before{background:radial-gradient(circle,#d4af371f 0,#0000 60%);background:radial-gradient(circle,var(--accent-dim) 0,#0000 60%);border-radius:50%;content:"";height:120px;opacity:.5;pointer-events:none;position:absolute;right:0;top:0;width:120px}.stat-card:hover{background:linear-gradient(145deg,#fff3,#19191ecc);background:linear-gradient(145deg,var(--surface2) 0,#19191ecc 100%);border-color:#d4af371f;border-color:var(--accent-dim);box-shadow:0 15px 35px #00000080,0 0 20px #d4af371f;box-shadow:0 15px 35px #00000080,0 0 20px var(--accent-dim);transform:translateY(-5px)}.stat-card:hover:before{opacity:1;transform:scale(1.2)}.stat-card-icon{align-items:center;animation:pulse 3s ease-in-out infinite;background:linear-gradient(135deg,#fff3,#ffffff26);background:linear-gradient(135deg,var(--surface2),var(--surface));border:1px solid #d4af371f;border:1px solid var(--accent-dim);border-radius:16px;box-shadow:inset 0 2px 10px #ffffff0d;display:flex;font-size:28px;height:60px;justify-content:center;width:60px}.stat-card-value{-webkit-text-fill-color:#0000;font-feature-settings:"tnum";background:linear-gradient(135deg,#d4af37,#f8e5a5);background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;font-family:Space Grotesk,sans-serif;font-family:var(--font-num);font-size:36px;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-1px}.stat-card-label{color:#fcfcfca6;color:var(--text2);font-family:Poppins,sans-serif;font-family:var(--font-modern);font-size:13px;font-weight:600}.modal-overlay{align-items:center;animation:fadeIn .25s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000d9;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9000}.modal{animation:slideUp .3s cubic-bezier(.34,1.56,.64,1);max-width:520px;padding:28px}.modal,.modal-content{background:linear-gradient(135deg,#2e2e36,#363640);background:linear-gradient(135deg,var(--bg2) 0,var(--bg3) 100%);border:1px solid #ffffff40;border:1px solid var(--border2);border-radius:28px;border-radius:var(--radius-xl);box-shadow:0 30px 70px #000000e6;box-shadow:var(--shadow-xl);max-height:90vh;overflow-y:auto;width:100%}.modal-content{animation:slideUp .28s cubic-bezier(.34,1.56,.64,1);max-width:460px;padding:24px}.modal-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.modal-header h3{font-family:Plus Jakarta Sans,sans-serif;font-family:var(--font-display);font-size:22px;font-weight:800;letter-spacing:-.2px;margin:0}.modal-subtitle{color:#fcfcfc66;color:var(--text3);font-size:13px;line-height:1.35;margin:6px 0 0}.modal-body{display:flex;flex-direction:column;gap:16px}.modal-footer{border-top:1px solid #fff3;border-top:1px solid var(--border);display:flex;gap:12px;margin-top:18px;padding-top:16px}.modal-footer .btn{flex:1 1}.modal-close-btn{align-items:center;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:14px;color:#fcfcfc;color:var(--text);cursor:pointer;display:inline-flex;flex-shrink:0;height:40px;justify-content:center;transition:all .3s cubic-bezier(.2,.8,.2,1);transition:var(--transition);width:40px}.modal-close-btn:hover{background:#ffffff0f;border-color:#ffffff2e;transform:translateY(-1px)}.modal-close-btn:active{transform:translateY(0)}.modal-close-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.modal-content .form-group label{color:#fcfcfc66;color:var(--text3);font-size:12px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}.reschedule-modal-modern{overflow:hidden;position:relative}.reschedule-modal-modern:before{background:radial-gradient(520px circle at 18% 0,#d4af3729,#0000 55%),radial-gradient(520px circle at 90% 10%,#f8e5a51a,#0000 55%);content:"";inset:-1px;pointer-events:none;position:absolute}.reschedule-modal-modern>*{position:relative}.reschedule-info-tag{align-items:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;color:#fcfcfca6;color:var(--text2);display:flex;font-size:13px;font-weight:650;gap:12px;padding:12px 14px}.reschedule-info-icon{align-items:center;background:#d4af371f;background:var(--accent-dim);border:1px solid #d4af3738;border-radius:12px;color:#d4af37;color:var(--accent);display:inline-flex;flex-shrink:0;height:30px;justify-content:center;width:30px}.reschedule-dot{opacity:.7;padding:0 4px}.time-input-wrapper{align-items:center;display:flex;position:relative}.modern-time-input{background:#00000038;border:1px solid #ffffff1f;border-radius:16px;box-shadow:inset 0 1px 0 #ffffff0f;color:#fcfcfc;color:var(--text);font-size:15px;font-weight:750;outline:none;padding:14px 46px 14px 16px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease;width:100%}[data-theme=light] .modern-time-input{background:#1923320a;border-color:#1923321f;box-shadow:inset 0 1px 0 #1923320a}.modern-time-input:hover:not(:disabled){border-color:#ffffff2e;transform:translateY(-1px)}[data-theme=light] .modern-time-input:hover:not(:disabled){border-color:#19233229}.modern-time-input:focus{background:#00000047;border-color:#d4af37;border-color:var(--accent);box-shadow:0 0 0 4px #d4af3724,inset 0 1px 0 #ffffff0f;transform:translateY(-1px)}[data-theme=light] .modern-time-input:focus{background:#19233208;box-shadow:0 0 0 4px #d4a5302e,inset 0 1px 0 #1923320a}.modern-time-input:disabled{cursor:not-allowed;opacity:.65;transform:none}.time-icon{color:#fcfcfc66;color:var(--text3);height:22px;opacity:.85;pointer-events:none;position:absolute;right:14px;width:22px}.reschedule-feedback{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:14px;color:#fcfcfca6;color:var(--text2);font-size:13px;font-weight:650;margin-top:2px;padding:10px 12px}.reschedule-feedback-success{background:#22c55e1a;border-color:#22c55e38;color:#16a34a}.reschedule-feedback-error{background:#ef44441a;border-color:#ef444438;color:#dc2626}@media (prefers-reduced-motion:reduce){.modal,.modal-content,.modal-overlay{animation:none}.modern-time-input{transition:none}}.modal-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#d4af37,#f8e5a5);background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;border-bottom:1px solid #fff3;border-bottom:1px solid var(--border);font-family:Playfair Display,serif;font-family:var(--font-elegant);font-size:24px;font-weight:700;margin-bottom:20px;padding-bottom:16px}.modal-actions{border-top:1px solid #fff3;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:16px}.tabs{background:#ffffff26;background:var(--surface);border-radius:14px;border-radius:var(--radius);box-shadow:inset 0 2px 8px #0000004d;display:flex;gap:4px;padding:4px}.tab{border-radius:8px;color:#fcfcfca6;color:var(--text2);font-family:Poppins,sans-serif;font-family:var(--font-modern);font-size:14px;font-weight:600;padding:10px 18px;position:relative;transition:all .3s cubic-bezier(.2,.8,.2,1);transition:var(--transition);white-space:nowrap}.tab.active{background:linear-gradient(135deg,#d4af37,#f8e5a5);background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 4px 12px #d4af3740;box-shadow:0 4px 12px var(--accent-glow);color:#0c0b0f}.tab:hover:not(.active){background:#fff3;background:var(--surface2);color:#fcfcfc;color:var(--text);transform:translateY(-1px)}.loader-screen{align-items:center;animation:fadeIn .3s ease;background:#22222a;background:var(--bg);display:flex;justify-content:center;min-height:100vh}.spinner-lg{animation:spin .9s cubic-bezier(.4,0,.6,1) infinite;border:3px solid #ffffff40;border-top-color:#d4af37;border:3px solid var(--border2);border-radius:50%;border-top-color:var(--accent);box-shadow:0 0 20px #e8b84b33;height:48px;width:48px}.spinner{animation:spin .8s linear infinite;border:2px solid #0003;border-radius:50%;border-top-color:#0c0b0f;display:inline-block;height:18px;width:18px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 20px #e8b84b4d}50%{box-shadow:0 0 40px #e8b84b80}}.toast-container{bottom:24px;display:flex;flex-direction:column;gap:8px;position:fixed;right:24px;z-index:9999}.toast{align-items:center;animation:slideInRight .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-left:4px solid;border-radius:14px;border-radius:var(--radius);box-shadow:0 20px 50px #000c;box-shadow:var(--shadow-lg);display:flex;font-family:Poppins,sans-serif;font-family:var(--font-modern);font-size:14px;font-weight:600;gap:10px;max-width:380px;min-width:280px;padding:14px 20px}.toast-success{background:linear-gradient(135deg,#10b98126,#3ecf8e14);background:linear-gradient(135deg,var(--green-dim),#3ecf8e14);border-left-color:#10b981;border-left-color:var(--green);color:#10b981;color:var(--green)}.toast-error{background:linear-gradient(135deg,#ef444426,#ff5c5c14);background:linear-gradient(135deg,var(--red-dim),#ff5c5c14);border-left-color:#ef4444;border-left-color:var(--red);color:#ef4444;color:var(--red)}.toast-info{background:linear-gradient(135deg,#3b82f626,#4fc3f714);background:linear-gradient(135deg,var(--blue-dim),#4fc3f714);border-left-color:#3b82f6;border-left-color:var(--blue);color:#3b82f6;color:var(--blue)}.empty-state{align-items:center;animation:fadeIn .4s ease;color:#fcfcfc66;color:var(--text3);display:flex;flex-direction:column;gap:12px;justify-content:center;padding:60px 20px;text-align:center}.empty-icon{animation:bounce 2s ease-in-out infinite;font-size:64px;opacity:.4}.empty-title{color:#fcfcfca6;color:var(--text2);font-family:Playfair Display,serif;font-family:var(--font-elegant);font-size:20px;font-weight:700}.app-layout{display:flex;min-height:100vh}.sidebar{background:linear-gradient(180deg,#2e2e36,#22222a);background:var(--sidebar-bg);border-right:1px solid #fff3;border-right:1px solid var(--border);box-shadow:4px 0 24px #0003;display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;transition:transform .3s;width:280px;width:var(--sidebar-w);z-index:100}.sidebar-logo{align-items:center;border-bottom:1px solid #fff3;border-bottom:1px solid var(--border);display:flex;gap:14px;padding:32px 24px 24px}.logo-icon{border-radius:14px;box-shadow:0 4px 15px #d4af3740;box-shadow:0 4px 15px var(--accent-glow);color:#000;height:44px;width:44px}.logo-icon,.logo-text{font-family:Syne,sans-serif;font-family:var(--font-d);font-size:22px}.logo-text{color:#fcfcfc;color:var(--text);font-weight:800;letter-spacing:-.5px}.logo-sub{color:#d4af37;color:var(--accent);font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:4px;overflow-y:auto;padding:20px 16px}.nav-item{align-items:center;border:1px solid #0000;border-radius:14px;border-radius:var(--radius);color:#fcfcfca6;color:var(--text2);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:14px;padding:12px 16px;transition:all .2s ease}.nav-item:hover{background:#fff3;background:var(--surface2);border-color:#fff3;border-color:var(--border);color:#fcfcfc;color:var(--text);transform:translateX(2px)}.nav-item.active{background:linear-gradient(90deg,#d4af371f,#0000);background:linear-gradient(90deg,var(--accent-dim),#0000);border-left:3px solid #d4af37;border-left:3px solid var(--accent);border-radius:4px 14px 14px 4px;border-radius:4px var(--radius) var(--radius) 4px;color:#d4af37;color:var(--accent);font-weight:600}.nav-icon{align-items:center;display:flex;font-size:18px;justify-content:center;min-width:24px}.nav-badge{background:#d4af37;background:var(--accent);border-radius:100px;box-shadow:0 2px 8px #d4af3740;box-shadow:0 2px 8px var(--accent-glow);color:#000;font-size:11px;font-weight:800;margin-left:auto;padding:2px 8px}.sidebar-bottom{background:#0003;border-top:1px solid #fff3;border-top:1px solid var(--border);padding:24px 16px}.sidebar-user{align-items:center;background:#ffffff26;background:var(--surface);border:1px solid #fff3;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius);cursor:pointer;display:flex;gap:12px;padding:12px;transition:all .3s cubic-bezier(.2,.8,.2,1);transition:var(--transition)}.sidebar-user:hover{background:#fff3;background:var(--surface2);border-color:#ffffff40;border-color:var(--border2)}.user-avatar{align-items:center;background:linear-gradient(135deg,#fff3,#ffffff26);background:linear-gradient(135deg,var(--surface2),var(--surface));border:1px solid #ffffff40;border:1px solid var(--border2);border-radius:12px;color:#d4af37;color:var(--accent);display:flex;font-size:16px;font-weight:700;height:40px;justify-content:center;width:40px}.user-name{color:#fcfcfc;color:var(--text);font-size:14px;font-weight:600;margin-bottom:2px}.user-role{color:#d4af37;color:var(--accent);font-size:11px;font-weight:500;text-transform:uppercase}.main-content{background:#22222a;background:var(--bg);display:flex;flex:1 1;flex-direction:column;margin-left:280px;margin-left:var(--sidebar-w);min-height:100vh;transition:margin-left .4s cubic-bezier(.4,0,.2,1)}.topbar{align-items:center;background:#0a0a12f5;border-bottom:1px solid #fff3;border-bottom:1px solid var(--border);box-shadow:0 4px 20px #00000026;display:flex;height:72px;height:var(--topbar-h);justify-content:space-between;overflow:visible;padding:0 28px;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.topbar-title{color:#fcfcfc;color:var(--text);font-family:Syne,sans-serif;font-family:var(--font-d);font-size:18px;font-weight:700}.topbar-actions{align-items:center;display:flex;gap:12px;overflow:visible}.page-content{flex:1 1;padding:28px}@media (max-width:1024px){:root{--sidebar-w:240px}}@media (max-width:991px){.sidebar{box-shadow:none;transform:translateX(-100%)}.sidebar.active,.sidebar.open{box-shadow:20px 0 50px #00000080;transform:translateX(0)}.main-content{margin-left:0!important}.topbar{padding:0 16px}.page-content{padding:20px 16px}.sidebar-toggle-btn{align-items:center;background:#fff3;background:var(--surface2);border:1px solid #fff3;border:1px solid var(--border);border-radius:10px;color:#fcfcfc;color:var(--text);cursor:pointer;display:flex;height:40px;justify-content:center;margin-right:12px;width:40px}}.sidebar-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;transition:opacity .3s ease;z-index:90}.customer-layout{background:#22222a;background:var(--bg);display:flex;flex-direction:column;min-height:100vh}.customer-nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(180deg,#2e2e36,#111018cc);background:linear-gradient(180deg,var(--bg2),#111018cc);border-bottom:1px solid #ffffff40;border-bottom:1px solid var(--border2);box-shadow:0 2px 12px #00000026;gap:20px;height:auto;justify-content:space-between;min-height:68px;padding:12px 28px;position:-webkit-sticky;position:sticky;top:0;transition:all .3s ease;z-index:100}.customer-nav,.customer-nav>a{align-items:center;display:flex}.customer-nav>a{flex-shrink:0;gap:12px;transition:all .25s ease}.customer-nav>a:hover{opacity:.8;transform:scale(1.02)}.logo-icon{align-items:center;background:linear-gradient(135deg,#d4af37,#f8e5a5);background:linear-gradient(135deg,var(--accent),var(--accent2));border-radius:8px;box-shadow:0 4px 12px #e8b84b4d;color:#fff;display:flex;font-weight:800;justify-content:center;transition:all .3s ease}.customer-nav>a:hover .logo-icon{box-shadow:0 6px 16px #e8b84b66;transform:scale(1.05)}.customer-nav-links{flex-grow:1;max-width:400px}.cnav-item,.customer-nav-links{align-items:center;display:flex;gap:8px}.cnav-item{background:#0000;border:1px solid #0000;border-radius:14px;border-radius:var(--radius);color:#fcfcfca6;color:var(--text2);cursor:pointer;font-size:14px;font-weight:600;overflow:hidden;padding:10px 18px;position:relative;transition:all .25s cubic-bezier(.2,.9,.3,1);white-space:nowrap}.cnav-item:before{background:#d4af371f;background:var(--accent-dim);content:"";inset:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .3s ease;z-index:-1}.cnav-item.active:before,.cnav-item:hover:before{transform:scaleX(1)}.cnav-item.active,.cnav-item:hover{border-color:#d4af371f;border-color:var(--accent-dim);color:#d4af37;color:var(--accent)}.customer-nav>div:last-child{align-items:center;display:flex;gap:16px;margin-left:auto}.customer-content{flex:1 1;margin:0 auto;max-width:1400px;padding:32px 28px;width:100%}.login-root{align-items:center;background:#22222a;background:var(--bg);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.login-bg{inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:0}.orb{animation:drift 15s ease-in-out infinite alternate;border-radius:50%;filter:blur(120px);opacity:.15;position:absolute}.orb1{background:#d4af37;background:var(--accent);height:600px;left:-200px;top:-200px;width:600px}.orb2{animation-delay:-6s;background:#7c3aed;bottom:-150px;height:450px;right:-150px;width:450px}.orb3{animation-delay:-10s;background:#0ea5e9;height:350px;left:50%;top:50%;width:350px}@keyframes drift{0%{transform:translate(0) scale(1)}to{transform:translate(50px,40px) scale(1.1)}}.login-card{animation:slideUp .5s ease;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#111018d9;border:1px solid #fff3;border:1px solid var(--border);border-radius:28px;box-shadow:0 0 0 1px #e8b84b12,0 40px 80px #000000b3,0 0 25px #d4af3726;box-shadow:0 0 0 1px #e8b84b12,0 40px 80px #000000b3,var(--glow);max-width:460px;overflow:hidden;position:relative;width:100%;z-index:1}.login-screen{display:flex;flex-direction:column;gap:18px;padding:40px}@media (max-width:480px){.login-card{border-radius:20px}.login-screen{padding:30px 20px}.brand-name{font-size:32px}}.login-screen.scrollable{max-height:90vh;overflow-y:auto}.brand-head{margin-bottom:4px;text-align:center}.brand-scissors{animation:pulse 2.5s ease infinite;font-size:42px}.brand-name{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#d4af37,#f8e5a5);background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;font-family:Syne,sans-serif;font-family:var(--font-d);font-size:38px;font-weight:800;letter-spacing:-1px}.brand-tag{color:#fcfcfc66;color:var(--text3);font-size:12px;letter-spacing:3px;margin-top:2px;text-transform:uppercase}.otp-grid{display:flex;gap:10px;justify-content:center}.otp-cell{font-feature-settings:"tnum";background:#ffffff26;background:var(--surface);border:1px solid #fff3;border:1px solid var(--border);border-radius:12px;color:#d4af37;color:var(--accent);font-family:Syne,sans-serif;font-family:var(--font-d);font-size:24px;font-variant-numeric:tabular-nums;font-weight:700;height:58px;outline:none;text-align:center;transition:all .2s;width:50px}.otp-cell:focus{border-color:#d4af37;border-color:var(--accent);box-shadow:0 0 0 3px #d4af371f;box-shadow:0 0 0 3px var(--accent-dim);transform:scale(1.05)}.hint-dev{background:#e8b84b0f;border:1px dashed #e8b84b33;border-radius:8px;color:#fcfcfc66;color:var(--text3);font-size:12px;padding:8px 12px;text-align:center}.hint-dev code{color:#d4af37;color:var(--accent);font-size:11px}.divider{align-items:center;color:#fcfcfc66;color:var(--text3);display:flex;font-size:12px;gap:12px;letter-spacing:1px;text-transform:uppercase}.divider:after,.divider:before{background:#fff3;background:var(--border);content:"";flex:1 1;height:1px}.salon-card{background:#ffffff26;background:var(--surface);border:1px solid #fff3;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 4px 12px #0003;cursor:pointer;display:flex;flex-direction:column;height:100%;overflow:hidden;transition:all .3s cubic-bezier(.2,.9,.3,1)}.salon-card:hover{border-color:#ffffff40;border-color:var(--border2);box-shadow:0 12px 24px #0000004d;transform:translateY(-4px)}.salon-card-cover{align-items:center;background:linear-gradient(135deg,#363640,#2e2e36);background:linear-gradient(135deg,var(--bg3),var(--bg2));display:flex;height:160px;justify-content:center;overflow:hidden;position:relative}.salon-card-cover img{height:100%;object-fit:cover;width:100%}.salon-card-body{display:flex;flex:1 1;flex-direction:column;padding:18px}.salon-card-name{font-size:17px;line-height:1.2;margin-bottom:8px}.salon-card-meta{align-items:center;color:#fcfcfca6;color:var(--text2);display:flex;font-size:13px;gap:6px;margin-bottom:12px}.salon-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:auto}.token-card{background:linear-gradient(135deg,#d4af37,#f8e5a5);background:linear-gradient(135deg,var(--accent),var(--accent2));border-radius:28px;border-radius:var(--radius-xl);color:#0c0b0f;padding:24px;text-align:center}.token-number{font-family:Syne,sans-serif;font-family:var(--font-d);font-size:48px;font-weight:800;letter-spacing:-2px}.token-label{font-size:13px;font-weight:600;letter-spacing:2px;opacity:.7;text-transform:uppercase}.queue-item{background:#ffffff26;background:var(--surface);transition:all .2s}.queue-item.active{background:#10b98126;background:var(--green-dim);border-color:#10b981;border-color:var(--green)}.queue-pos{align-items:center;background:#d4af371f;background:var(--accent-dim);border-radius:10px;color:#d4af37;color:var(--accent);display:flex;font-family:Syne,sans-serif;font-family:var(--font-d);font-size:16px;font-weight:700;height:40px;justify-content:center;width:40px}.queue-info{flex:1 1}.queue-name{font-size:15px;font-weight:600}.queue-services{color:#fcfcfca6;color:var(--text2);font-size:13px}.queue-time{color:#fcfcfc66;color:var(--text3);font-size:12px}.queue-actions{display:flex;gap:8px}.star-btn{background:none;border:none;cursor:pointer;font-size:28px;transition:transform .15s}.star-btn:hover{transform:scale(1.2)}.chart-placeholder{align-items:center;background:#ffffff26;background:var(--surface);border:1px solid #fff3;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-lg);color:#fcfcfc66;color:var(--text3);display:flex;flex-direction:column;gap:8px;height:220px;justify-content:center}.chart-placeholder-icon{font-size:36px;opacity:.4}@media (max-width:480px){:root{--sidebar-w:0;--topbar-h:56px;--radius:10px;--radius-lg:14px;--radius-xl:18px}html{scroll-behavior:auto}body{font-size:14px;line-height:1.5}.grid-2,.grid-3,.grid-4{gap:12px;grid-template-columns:1fr}.btn{border-radius:8px;font-size:12px;min-height:40px;padding:8px 14px}.btn-lg{font-size:13px;min-height:44px;padding:10px 16px}.btn-full{width:100%}.field{gap:4px}.field label{font-size:12px}.field-input{padding:10px 12px}.field-input,.field-prefix,.field-suffix{font-size:14px;min-height:44px}.badge{padding:2px 8px}.table-wrap{border-radius:10px;overflow-x:auto}table{font-size:12px}th{font-size:11px}td,th{padding:10px 12px}td{font-size:12px}.card{border-radius:12px}.card,.card-gold{padding:14px}.modal-overlay{padding:12px}.modal{border-radius:16px;max-height:85vh;max-width:90vw;padding:20px 16px}.modal-title{font-size:16px;margin-bottom:14px;padding-bottom:12px}.tabs{gap:2px;padding:3px}.tab{font-size:12px;padding:6px 12px}.empty-state{gap:10px;padding:40px 16px}.empty-icon{font-size:36px}.empty-title{font-size:16px}.login-root{padding:16px}.login-card{border-radius:20px;max-width:100%}.login-screen{gap:14px;padding:28px 20px}.brand-name{font-size:32px}.brand-scissors{font-size:36px}.otp-cell{border-radius:8px;font-size:16px;height:44px;width:36px}.otp-grid{gap:6px}.divider{font-size:11px}.customer-home-hero{margin-bottom:12px!important;padding:16px 12px!important}.customer-home-hero-label{font-size:11px!important;margin-bottom:2px!important}.customer-home-hero-title{font-size:20px!important;line-height:1.3;margin-bottom:6px!important}.customer-home-hero-subtitle{font-size:12px!important;margin-bottom:12px!important}.customer-home-hero-buttons{gap:6px}.customer-home-hero-buttons .btn{font-size:12px!important;padding:10px 12px!important}.sidebar{transform:translateX(-100%);width:260px;z-index:150}.sidebar.open{transform:translateX(0)}.sidebar-toggle{bottom:16px;display:flex;font-size:20px;height:44px;left:16px;width:44px}.main-content{margin-left:0}.page-content{padding:12px}.topbar{height:56px;padding:0 12px}.topbar-title{font-size:16px}.topbar-actions{gap:8px}.customer-nav{flex-direction:row;gap:0;justify-content:space-between;min-height:56px;padding:10px 12px}.customer-nav>a{flex-shrink:0;gap:6px;width:auto}.customer-nav>a span{display:none}.logo-icon{font-size:14px!important;height:32px!important;width:32px!important}.customer-nav-links{background:#fff3;background:var(--surface2);border:none;border-bottom:1px solid #fff3;border-bottom:1px solid var(--border);display:none!important;flex-direction:column;gap:4px;left:0;margin-bottom:0;max-width:none;padding:0;position:absolute;right:0;top:56px;width:100%;z-index:99}.customer-nav-links.mobile-open{display:flex!important}.cnav-item{background:#0000;border:none;border-left:3px solid #0000;border-radius:0;font-size:13px;justify-content:flex-start;padding:12px 16px;transition:all .2s ease;width:100%}.cnav-item.active,.cnav-item:hover{background:#ffffff40;background:var(--surface3)}.cnav-item.active{border-left-color:#d4af37;border-left-color:var(--accent);color:#d4af37;color:var(--accent)}.cnav-item:before{display:none}.customer-nav>div:last-child{display:flex;gap:8px;justify-content:flex-end;margin-left:0}.mobile-menu-toggle{align-items:center;background:#fff3;background:var(--surface2);border:1px solid #fff3;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius);color:#fcfcfc;color:var(--text);display:flex!important;flex-shrink:0;font-size:16px;height:32px;justify-content:center;transition:all .2s ease;width:32px}.mobile-menu-toggle:active{background:#ffffff40;background:var(--surface3);transform:scale(.95)}.customer-content{padding:12px 12px 20px}.customer-content>div{font-size:18px!important;margin-bottom:16px!important}.customer-home-hero{margin-bottom:16px!important;padding:20px 16px!important}.customer-home-hero-label{font-size:12px!important;margin-bottom:4px!important}.customer-home-hero-title{font-size:24px!important;margin-bottom:8px!important}.customer-home-hero-subtitle{font-size:13px!important;margin-bottom:16px!important}.customer-home-hero-buttons{display:flex;flex-direction:column;gap:8px}.customer-home-hero-buttons .btn{font-size:13px!important;padding:12px 16px!important;width:100%}.salon-card{border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 2px 8px #00000040;overflow:hidden}.salon-card:hover{box-shadow:0 8px 16px #0000004d}.salon-card-cover{height:130px}.salon-card-body{padding:14px}.salon-card-name{font-size:15px;font-weight:800;line-height:1.2;margin-bottom:6px}.salon-card-meta{color:#fcfcfca6;color:var(--text2);font-size:12px;margin-bottom:8px}.salon-card-tags{gap:4px;margin-bottom:auto}.badge{font-size:11px;padding:4px 8px}.token-card{padding:18px}.token-number{font-size:36px;letter-spacing:-1px}.token-label{font-size:11px}.queue-item{gap:12px;padding:12px}.queue-pos{font-size:14px;height:36px;width:36px}.queue-name{font-size:13px}.queue-services{font-size:12px}.queue-time{font-size:11px}.stat-card{border-radius:12px;padding:14px}.stat-card-icon{border-radius:10px;font-size:18px;height:36px;width:36px}.stat-card-value{font-size:24px}.stat-card-label{font-size:12px}.toast-container{bottom:12px;gap:6px;right:12px}.toast{border-radius:8px;font-size:12px;gap:8px;max-width:90vw;min-width:200px;padding:10px 14px}.spinner-lg{border-width:2px;height:32px;width:32px}.logo-text{font-size:16px}.logo-sub{font-size:10px}.logo-icon{font-size:16px;height:32px;width:32px}.nav-item{font-size:13px;gap:10px;padding:8px 10px}.nav-icon{font-size:16px}.user-avatar{height:32px;width:32px}.user-avatar,.user-name{font-size:12px}.user-role{font-size:10px}.chart-placeholder{height:160px}.chart-placeholder-icon{font-size:28px}}@media (min-width:481px) and (max-width:768px){:root{--sidebar-w:0;--topbar-h:60px}.grid-3,.grid-4{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}.btn{font-size:13px;min-height:42px;padding:9px 16px}.btn-lg{font-size:14px;min-height:46px;padding:11px 18px}.field-input{font-size:14px;padding:11px 13px}.field-input,.field-prefix,.field-suffix{min-height:44px}.card{padding:16px}.modal{border-radius:18px;max-width:85vw;padding:24px}.login-card{max-width:100%}.login-screen{padding:32px 24px}.brand-name{font-size:36px}.brand-scissors{font-size:40px}.otp-cell{font-size:18px;height:48px;width:40px}.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.main-content{margin-left:0}.sidebar-toggle{display:flex}.page-content{padding:16px}.topbar{height:60px;padding:0 16px}.topbar-title{font-size:17px}.customer-nav{height:60px;padding:0 16px}.customer-content{padding:16px}.salon-card{box-shadow:0 3px 12px #0003}.salon-card:hover{box-shadow:0 10px 20px #00000040}.salon-card-cover{height:150px}.salon-card-body{padding:16px}.salon-card-name{font-size:15px;font-weight:800;margin-bottom:8px}.salon-card-meta{font-size:13px;margin-bottom:10px}th{font-size:12px}td,th{padding:12px 14px}td{font-size:13px}.toast-container{bottom:16px;right:16px}.toast{font-size:13px;min-width:220px;padding:11px 15px}.chart-placeholder{height:180px}}@media (min-width:769px) and (max-width:1024px){:root{--sidebar-w:220px;--topbar-h:60px}.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}.btn{font-size:14px;min-height:44px;padding:10px 18px}.field-input{min-height:46px;padding:12px 14px}.sidebar{width:220px}.sidebar,.sidebar.open{transform:translateX(0)}.main-content{margin-left:220px}.sidebar-toggle{display:none}.page-content{padding:20px}.topbar{height:60px;padding:0 20px}.login-card{max-width:480px}.login-screen{padding:36px}.brand-name{font-size:38px}.modal{max-width:580px;padding:26px}.customer-content{padding:20px}.salon-card-cover{height:160px}.salon-card-name{font-size:16px}td,th{padding:13px 15px}}@media (min-width:1025px) and (max-width:1440px){:root{--sidebar-w:260px}.grid-3,.grid-4{grid-template-columns:repeat(3,1fr)}.page-content{padding:28px}.topbar{padding:0 28px}.card{padding:20px}.sidebar{width:260px}.main-content{margin-left:260px}.customer-nav-links{display:flex}.customer-content{max-width:1200px;padding:28px 24px}.salon-card-cover{height:180px}.salon-card-name{font-size:17px}.modal{max-width:520px}.login-card{max-width:460px}}@media (min-width:1441px){:root{--sidebar-w:280px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.page-content{padding:32px 36px}.topbar{padding:0 32px}.sidebar{width:280px}.main-content{margin-left:280px}.sidebar-nav{padding:14px}.nav-item{padding:11px 13px}.card{padding:22px}.customer-content{padding:32px 30px}.salon-card-cover{height:200px}.salon-card-name{font-size:18px}.login-card{max-width:500px}.login-screen{padding:44px}.brand-name{font-size:40px}.modal{max-width:580px;padding:32px}th{font-size:13px}td,th{padding:16px 18px}.toast-container{bottom:32px;right:32px}}@media (min-width:1920px){:root{--sidebar-w:300px}.page-content{padding:40px 48px}.topbar{padding:0 40px}.main-content{margin-left:300px}.sidebar{width:300px}.customer-content{max-width:1400px;padding:40px 48px}.login-card{max-width:520px}.login-screen{padding:48px}.brand-name{font-size:44px}.modal{max-width:620px}}.nearest-salon-page{background:#22222a;background:var(--bg);min-height:100vh}.finder-hero{animation:fadeIn .8s ease;background:linear-gradient(180deg,#2e2e36,#4fc3f714 50%,#363640);background:linear-gradient(180deg,var(--bg2) 0,#4fc3f714 50%,var(--bg3) 100%);border-bottom:1px solid #ffffff40;border-bottom:1px solid var(--border2);overflow:hidden;padding:64px 28px;position:relative}.finder-hero-content{margin:0 auto;max-width:800px;position:relative;z-index:2}.finder-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fcfcfc,#fcfcfca6);background:linear-gradient(135deg,var(--text),var(--text2));-webkit-background-clip:text;background-clip:text;font-family:Syne,sans-serif;font-family:var(--font-d);font-size:48px;font-weight:800;line-height:1.2;margin-bottom:16px}.hero-accent-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#d4af37,#f8e5a5);background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text}.finder-subtitle{color:#fcfcfca6;color:var(--text2);font-size:16px;line-height:1.6;margin-bottom:32px}.location-detection-card{animation:slideUp .5s cubic-bezier(.16,1,.3,1);background:linear-gradient(135deg,#fff3,#ffffff40);background:linear-gradient(135deg,var(--surface2),var(--surface3));border:1px solid #ffffff40;border:1px solid var(--border2);border-radius:28px;border-radius:var(--radius-xl);box-shadow:0 8px 32px #e8b84b1a;min-height:120px;padding:32px;position:relative;z-index:3}.location-loading{align-items:center;display:flex;gap:20px}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #ffffff40;border-top-color:#d4af37;border:3px solid var(--border2);border-radius:50%;border-top-color:var(--accent);flex-shrink:0;height:48px;width:48px}.loading-text{display:flex;flex-direction:column;gap:4px}.loading-title{color:#fcfcfc;color:var(--text);font-size:16px;font-weight:700}.loading-desc{color:#fcfcfca6;color:var(--text2);font-size:13px}.location-error{align-items:center;background:#ef444426;background:var(--red-dim);border:1px solid #ff5c5c4d;border-radius:20px;border-radius:var(--radius-lg);display:flex;gap:16px;padding:16px}.error-icon{flex-shrink:0;font-size:32px}.error-content{flex:1 1}.error-title{font-size:14px;font-weight:700;margin:0}.error-desc,.error-title{color:#ef4444;color:var(--red)}.error-desc{font-size:13px;line-height:1.4;margin:4px 0 0;opacity:.8}.btn-retry-location{background:#ef4444;background:var(--red);border:none;border-radius:14px;border-radius:var(--radius);color:#fff;cursor:pointer;flex-shrink:0;font-size:13px;font-weight:700;padding:10px 16px;transition:all .25s ease;white-space:nowrap}.btn-retry-location:hover{box-shadow:0 4px 12px #ff5c5c4d;transform:translateY(-2px)}.location-detected{align-items:center;animation:slideDown .3s ease;background:linear-gradient(135deg,#3ecf8e1a,#3ecf8e0d);border:1px solid #3ecf8e4d;border-radius:20px;border-radius:var(--radius-lg);display:flex;gap:20px;justify-content:space-between;padding:16px}.location-info{flex:1 1;gap:12px}.location-icon,.location-info{align-items:center;display:flex}.location-icon{background:#10b981;background:var(--green);border-radius:50%;box-shadow:0 4px 12px #3ecf8e4d;color:#fff;flex-shrink:0;font-size:18px;font-weight:800;height:36px;justify-content:center;width:36px}.location-details{display:flex;flex-direction:column;gap:2px}.location-city{color:#fcfcfc;color:var(--text);font-size:15px;font-weight:700;margin:0}.location-accuracy{color:#fcfcfca6;color:var(--text2);font-size:12px;margin:0}.btn-refresh-location{background:linear-gradient(135deg,#d4af37,#f8e5a5);background:linear-gradient(135deg,var(--accent),var(--accent2));border:none;border-radius:14px;border-radius:var(--radius);box-shadow:0 4px 12px #e8b84b33;color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:10px 16px;transition:all .25s ease;white-space:nowrap}.btn-refresh-location:hover{box-shadow:0 6px 16px #e8b84b4d;transform:translateY(-2px)}.search-controls{animation:slideDown .3s ease;border-top:1px solid #fff3;border-top:1px solid var(--border);padding-top:16px}.radius-filter-wrapper{display:flex;flex-direction:column;gap:12px}.radius-label{color:#fcfcfc;color:var(--text);font-size:14px;font-weight:600}.radius-value{color:#d4af37;color:var(--accent);font-size:16px;font-weight:700}.radius-slider{-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,#3b82f6,#d4af37,#f8e5a5);background:linear-gradient(90deg,var(--blue),var(--accent),var(--accent2));border-radius:3px;height:6px;outline:none;width:100%}.radius-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;border:3px solid #d4af37;border:3px solid var(--accent);border-radius:50%;box-shadow:0 2px 12px #e8b84b66;cursor:pointer;height:22px;-webkit-transition:all .2s ease;transition:all .2s ease;width:22px}.radius-slider::-webkit-slider-thumb:hover{box-shadow:0 4px 16px #e8b84b99;height:26px;width:26px}.radius-slider::-moz-range-thumb{background:#fff;border:3px solid #d4af37;border:3px solid var(--accent);border-radius:50%;box-shadow:0 2px 12px #e8b84b66;cursor:pointer;height:22px;-moz-transition:all .2s ease;transition:all .2s ease;width:22px}.btn-search-nearest{align-items:center;background:linear-gradient(135deg,#d4af37,#f8e5a5);background:linear-gradient(135deg,var(--accent),var(--accent2));border:none;border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 4px 20px #e8b84b4d;color:#fff;cursor:pointer;display:flex;font-family:Outfit,sans-serif;font-family:var(--font-b);font-size:15px;font-weight:700;gap:10px;justify-content:center;padding:16px 32px;transition:all .3s cubic-bezier(.2,.9,.3,1)}.btn-search-nearest:hover:not(:disabled){box-shadow:0 8px 28px #e8b84b66;transform:translateY(-3px)}.btn-search-nearest:disabled{cursor:not-allowed;opacity:.7}.finder-error{animation:slideDown .3s ease;background:#ef444426;background:var(--red-dim);border:1px solid #ff5c5c4d;border-radius:14px;border-radius:var(--radius);color:#ef4444;color:var(--red);font-size:14px;font-weight:600;padding:14px 16px}.finder-background{inset:0;overflow:hidden;pointer-events:none;position:absolute}.finder-orb1{background:radial-gradient(circle,#e8b84b33,#0000 70%);height:300px;right:-100px;top:-100px;width:300px}.finder-orb1,.finder-orb2{border-radius:50%;filter:blur(80px);position:absolute}.finder-orb2{background:radial-gradient(circle,#4fc3f726,#0000 70%);bottom:-80px;height:250px;left:-80px;width:250px}.finder-results{animation:fadeIn .6s ease;margin:0 auto;max-width:1200px;padding:48px 28px}.results-header{margin-bottom:40px}.results-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#d4af37,#f8e5a5);background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;font-family:Syne,sans-serif;font-family:var(--font-d);font-size:32px;font-weight:800;margin-bottom:8px}.results-subtitle{color:#fcfcfca6;color:var(--text2);font-size:14px;font-weight:500}.no-salons-message{background:linear-gradient(135deg,#fff3,#ffffff40);background:linear-gradient(135deg,var(--surface2),var(--surface3));border:1px dashed #ffffff40;border:1px dashed var(--border2);border-radius:20px;border-radius:var(--radius-lg);padding:60px 20px;text-align:center}.no-salons-icon{display:block;font-size:64px;margin-bottom:16px}.no-salons-message h3{color:#fcfcfc;color:var(--text);font-size:20px;font-weight:700;margin-bottom:8px}.no-salons-message p{color:#fcfcfca6;color:var(--text2);font-size:14px}.nearest-salons-grid{grid-gap:24px;animation:fadeIn .8s ease;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.nearest-salon-card{animation:slideUp .6s cubic-bezier(.16,1,.3,1);background:#ffffff26;background:var(--surface);border:1px solid #fff3;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden;position:relative;transition:all .35s cubic-bezier(.2,.9,.3,1)}.nearest-salon-card:hover{border-color:#d4af371f;border-color:var(--accent-dim);box-shadow:0 16px 48px #e8b84b33;transform:translateY(-12px)}.distance-badge{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff14;border:1px solid #ffffff1a;border-radius:14px;border-radius:var(--radius);color:#fcfcfca6;color:var(--text2);display:flex;font-size:11px;font-weight:700;gap:4px;padding:6px 10px;position:absolute;right:12px;top:12px;z-index:10}.distance-icon{font-size:14px}.distance-value{font-weight:800}.salon-card-header{display:flex;gap:12px;justify-content:space-between;padding:20px 16px 0}.salon-card-name{color:#fcfcfc;color:var(--text);font-family:Syne,sans-serif;font-family:var(--font-d);font-size:18px;font-weight:800;line-height:1.3;margin-bottom:6px}.salon-card-location{color:#fcfcfca6;color:var(--text2);font-size:13px}.salon-rating-box{align-items:center;display:flex;flex-direction:column;flex-shrink:0}.rating-number{font-size:18px;font-weight:800}.rating-number,.rating-stars{color:#d4af37;color:var(--accent)}.rating-stars{font-size:12px}.salon-info-grid{grid-gap:12px;background:#fff3;background:var(--surface2);display:grid;gap:12px;grid-template-columns:repeat(3,1fr);padding:16px}.info-item{align-items:center;display:flex;gap:8px}.info-icon{font-size:16px}.info-text{display:flex;flex-direction:column}.info-label{color:#fcfcfc66;color:var(--text3);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-value{color:#fcfcfc;color:var(--text);font-size:13px;font-weight:700}.info-value.small{font-size:11px}.salon-services-list{border-bottom:1px solid #fff3;border-bottom:1px solid var(--border);border-top:1px solid #fff3;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:6px;padding:12px 16px}.service-mini-tag{background:#d4af371f;background:var(--accent-dim);border:1px solid #d4af371f;border:1px solid var(--accent-dim);border-radius:14px;border-radius:var(--radius);color:#d4af37;color:var(--accent);display:inline-block;font-size:11px;font-weight:600;padding:4px 10px}.service-mini-tag.more{background:#ffffff40;background:var(--surface3);border-color:#fff3;border-color:var(--border);color:#fcfcfca6;color:var(--text2)}.salon-actions{display:flex;gap:10px;margin-top:auto;padding:12px 16px}.finder-info{background:linear-gradient(135deg,#e8b84b0d,#4fc3f708);border-top:1px solid #ffffff40;border-top:1px solid var(--border2);padding:64px 28px}.info-content{margin:0 auto;max-width:1000px}.info-content h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fcfcfc,#fcfcfca6);background:linear-gradient(135deg,var(--text),var(--text2));-webkit-background-clip:text;background-clip:text;font-family:Syne,sans-serif;font-family:var(--font-d);font-size:32px;font-weight:800;margin-bottom:40px;text-align:center}.steps-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.step-card{background:#fff3;background:var(--surface2);border:1px solid #fff3;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-lg);padding:24px;text-align:center;transition:all .3s ease}.step-card:hover{border-color:#d4af371f;border-color:var(--accent-dim);box-shadow:0 8px 24px #e8b84b1a;transform:translateY(-8px)}.step-number{align-items:center;background:linear-gradient(135deg,#d4af37,#f8e5a5);background:linear-gradient(135deg,var(--accent),var(--accent2));border-radius:50%;box-shadow:0 4px 12px #e8b84b4d;color:#fff;display:flex;font-size:24px;font-weight:800;height:48px;justify-content:center;margin:0 auto 16px;width:48px}.step-card h3{color:#fcfcfc;color:var(--text);font-size:16px;font-weight:700;margin-bottom:8px}.step-card p{color:#fcfcfca6;color:var(--text2);font-size:13px;line-height:1.5}@media (max-width:768px){.finder-hero{padding:40px 16px}.finder-title{font-size:28px}.finder-search-card{padding:24px}.search-form{gap:16px}.nearest-salons-grid{gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.finder-results{padding:32px 16px}.results-title{font-size:24px}.steps-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.finder-hero{padding:32px 12px}.finder-title{font-size:22px}.finder-subtitle{font-size:14px}.finder-search-card{padding:16px}.btn-search-nearest{font-size:13px;padding:12px 20px}.nearest-salons-grid{gap:12px;grid-template-columns:1fr}.salon-info-grid{gap:8px;grid-template-columns:1fr}.salon-actions{flex-direction:column;gap:8px;padding:12px}.btn-book-slot,.btn-view-queue{padding:12px 16px}.steps-grid{grid-template-columns:1fr}.finder-info{padding:40px 16px}.info-content h2{font-size:22px;margin-bottom:24px}}.queue-scanner-page{animation:fadeIn .8s ease;background:#22222a;background:var(--bg);min-height:100vh;padding:20px 0 40px}.scanner-header{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#2e2e36;background:var(--bg2);border-bottom:1px solid #fff3;border-bottom:1px solid var(--border);box-shadow:0 4px 20px #0000004d;display:flex;gap:16px;padding:16px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.btn-back-scanner{background:#ffffff26;background:var(--surface);border:1px solid #fff3;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius);color:#fcfcfc;color:var(--text);cursor:pointer;font-size:14px;font-weight:600;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.btn-back-scanner:hover{background:#fff3;background:var(--surface2);border-color:#d4af371f;border-color:var(--accent-dim);color:#d4af37;color:var(--accent)}.scanner-title{color:#fcfcfc;color:var(--text);flex:1 1;font-family:Syne,sans-serif;font-family:var(--font-d);font-size:24px;font-weight:800;margin:0}.salon-info-badge{background:#fff3;background:var(--surface2);border:1px solid #fff3;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius);color:#fcfcfca6;color:var(--text2);font-size:13px;font-weight:600;padding:8px 14px}.success-toast{animation:slideDown .3s ease,slideUp .3s ease 3.7s forwards;background:linear-gradient(135deg,#10b98126,#3ecf8e14);background:linear-gradient(135deg,var(--green-dim),#3ecf8e14);border:1px solid #3ecf8e80;border-left:4px solid #10b981;border-left:4px solid var(--green);border-radius:14px;border-radius:var(--radius);box-shadow:0 4px 12px #3ecf8e33;color:#10b981;color:var(--green);font-weight:600;left:50%;max-width:90%;padding:14px 20px;position:fixed;top:80px;transform:translateX(-50%);z-index:2000}.scanner-container{grid-gap:28px;align-items:start;display:grid;gap:28px;grid-template-columns:2fr 1fr;margin:0 auto;max-width:1400px;padding:28px}.queue-display-section{display:flex;flex-direction:column;gap:20px}.queue-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.stat-item{background:#363640;background:var(--bg3);border:1px solid #fff3;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-lg);box-shadow:inset 0 0 20px #0003;display:flex;flex-direction:column;gap:8px;justify-content:center;padding:18px 12px;text-align:center;transition:all .4s cubic-bezier(.4,0,.2,1)}.stat-item:hover{border-color:#d4af371f;border-color:var(--accent-dim);box-shadow:0 8px 20px #e8b84b1a;transform:translateY(-4px)}.stat-label{color:#fcfcfca6;color:var(--text2);font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.stat-value{color:#d4af37;color:var(--accent);font-family:Space Grotesk,sans-serif;font-family:var(--font-num);font-size:24px;font-weight:800}.current-service-card{animation:slideUp .5s ease;background:linear-gradient(135deg,#d4af371f,#e8b84b0d);background:linear-gradient(135deg,var(--accent-dim),#e8b84b0d);border:1px solid #d4af371f;border:1px solid var(--accent-dim);border-radius:20px;border-radius:var(--radius-lg);overflow:hidden;padding:20px;position:relative}.current-service-card:before{background:radial-gradient(circle,#e8b84b1a,#0000);border-radius:50%;content:"";height:120px;position:absolute;right:0;top:0;width:120px}.current-label{color:#d4af37;color:var(--accent);font-size:12px;letter-spacing:1px;margin-bottom:12px;text-transform:uppercase}.current-customer,.current-label{font-weight:700;position:relative;z-index:2}.current-customer{color:#fcfcfc;color:var(--text);font-size:16px;margin-bottom:6px}.current-service{color:#fcfcfca6;color:var(--text2);font-size:14px;margin-bottom:6px;position:relative;z-index:2}.current-timer{color:#d4af37;color:var(--accent);font-size:18px;font-weight:800;margin-bottom:12px;position:relative;z-index:2}.service-progress{margin-top:12px}.progress-bar{background:#e8b84b33;border-radius:3px;height:6px;overflow:hidden}.progress-fill{animation:fillProgress linear forwards;background:linear-gradient(90deg,#d4af37,#f8e5a5);background:linear-gradient(90deg,var(--accent),var(--accent2));height:100%}@keyframes fillProgress{0%{width:100%}to{width:0}}.queue-list{background:#ffffff26;background:var(--surface);border:1px solid #fff3;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-lg);padding:20px}.queue-list-title{color:#fcfcfc;color:var(--text);font-family:Syne,sans-serif;font-family:var(--font-d);font-size:14px;font-weight:700;margin-bottom:16px}.queue-items{display:flex;flex-direction:column;gap:10px;max-height:500px;overflow-y:auto}.queue-item{align-items:center;animation:slideInLeft .5s ease backwards;background:#363640;background:var(--bg3);border:1px solid #fff3;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 4px 15px #0000001a;display:flex;gap:16px;padding:16px;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.queue-item:hover{background:#fff3;background:var(--surface2);border-color:#d4af37;border-color:var(--accent);box-shadow:0 10px 25px #0000004d;transform:scale(1.02) translateX(8px)}.queue-position{align-items:center;background:linear-gradient(135deg,#d4af37,#f8e5a5);background:linear-gradient(135deg,var(--accent),var(--accent2));border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:800;height:36px;justify-content:center;width:36px}.queue-content{flex:1 1;min-width:0}.queue-name{color:#fcfcfc;color:var(--text);font-size:14px;font-weight:700}.queue-service{color:#fcfcfca6;color:var(--text2);font-size:12px}.queue-time{flex-shrink:0}.wait-badge{background:#d4af371f;background:var(--accent-dim);border:1px solid #d4af371f;border:1px solid var(--accent-dim);border-radius:14px;border-radius:var(--radius);color:#d4af37;color:var(--accent);font-size:12px;font-weight:700;padding:6px 10px}.queue-empty{color:#fcfcfca6;color:var(--text2);font-size:14px;padding:24px;text-align:center}.booking-section{background:#2e2e36;background:var(--bg2);border:1px solid #fff3;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 20px 50px #000c;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:20px;height:-webkit-fit-content;height:fit-content;padding:24px;position:-webkit-sticky;position:sticky;top:100px}.booking-title{color:#fcfcfc;color:var(--text);font-family:Syne,sans-serif;font-family:var(--font-d);font-size:20px;font-weight:800;letter-spacing:-.3px;margin:0}.booking-mode-selector{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.mode-card{background:#363640;background:var(--bg3);border:1px solid #fff3;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-lg);box-shadow:inset 0 0 15px #0000001a;cursor:pointer;padding:24px 16px;text-align:center;transition:all .4s cubic-bezier(.4,0,.2,1)}.mode-card:hover{background:#ffffff26;background:var(--surface);border-color:#d4af37;border-color:var(--accent);box-shadow:0 12px 30px #0006;transform:translateY(-5px)}.mode-card.slot-card,.mode-card.walk-in-card{color:#fcfcfc;color:var(--text)}.mode-icon{font-size:28px;margin-bottom:8px}.mode-name{font-size:13px;font-weight:700;margin-bottom:4px}.mode-desc{color:#fcfcfca6;color:var(--text2);font-size:11px}.booking-form{gap:16px}.booking-form,.form-group{display:flex;flex-direction:column}.form-group{gap:10px}.form-label{color:#fcfcfc;color:var(--text);font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.services-grid{display:flex;flex-direction:column;gap:10px;max-height:250px;overflow-y:auto;padding-right:4px}.services-grid::-webkit-scrollbar{width:4px}.services-grid::-webkit-scrollbar-thumb{background:#d4af371f;background:var(--accent-dim);border-radius:2px}.service-btn{align-items:center;background:#ffffff26;background:var(--surface);border:1px solid #fff3;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-lg);color:#fcfcfc;color:var(--text);cursor:pointer;display:flex;font-size:14px;font-weight:600;justify-content:space-between;padding:14px 18px;text-align:left;transition:all .3s ease}.service-btn:hover{background:#fff3;background:var(--surface2);border-color:#d4af37;border-color:var(--accent);border-color:#d4af371f;border-color:var(--accent-dim);transform:translateX(4px)}.service-btn.selected{background:#d4af371f;background:var(--accent-dim);border-color:#d4af37;border-color:var(--accent);color:#d4af37;color:var(--accent);font-weight:700}.slots-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));max-height:220px;overflow-y:auto;padding:4px}.slots-grid::-webkit-scrollbar{width:4px}.slot-btn{align-items:center;background:#ffffff26;background:var(--surface);border:1px solid #fff3;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius);color:#fcfcfca6;color:var(--text2);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:4px;justify-content:center;padding:12px 8px;transition:all .3s ease}.slot-btn:hover{background:#fff3;background:var(--surface2);border-color:#d4af371f;border-color:var(--accent-dim);color:#fcfcfc;color:var(--text)}.slot-btn.selected{background:#d4af371f;background:var(--accent-dim);border-color:#d4af37;border-color:var(--accent);color:#d4af37;color:var(--accent);font-weight:700}.booking-details{background:#ffffff08;border:1px solid #fff3;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius);display:flex;flex-direction:column;font-size:13px;gap:12px;margin-top:8px;padding:16px}.detail-row{align-items:flex-start;display:flex;gap:10px}.detail-label{color:#fcfcfc66;color:var(--text3);flex-shrink:0;font-size:11px;font-weight:600;letter-spacing:.5px;margin-top:3px;text-transform:uppercase;width:70px}.detail-value{color:#fcfcfca6;color:var(--text2);flex:1 1;font-weight:500;line-height:1.4}.booking-actions{display:flex;gap:10px;margin-top:8px}.btn-cancel-booking{background:#ffffff26;background:var(--surface);border:1px solid #fff3;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius);color:#fcfcfc;color:var(--text);cursor:pointer;flex:1 1;font-size:12px;font-weight:700;padding:10px;transition:all .2s ease}.btn-cancel-booking:hover{background:#fff3;background:var(--surface2);border-color:#d4af371f;border-color:var(--accent-dim)}.btn-confirm-booking{align-items:center;background:#d4af37;background:var(--accent);border-radius:14px;border-radius:var(--radius);color:#000;cursor:pointer;display:flex;flex:1.5 1;font-size:14px;font-weight:800;gap:8px;justify-content:center;letter-spacing:.5px;padding:12px;text-transform:uppercase;transition:all .3s ease}.btn-confirm-booking:hover:not(:disabled){background:#f8e5a5;background:var(--accent2);box-shadow:0 8px 24px #d4af3740;box-shadow:0 8px 24px var(--accent-glow);transform:translateY(-2px)}.btn-confirm-booking:disabled{cursor:not-allowed;filter:grayscale(1);opacity:.4}.salon-info-card{background:#ffffff26;background:var(--surface);border:1px solid #fff3;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-lg);padding:14px}.info-card-title{color:#fcfcfc;color:var(--text);font-size:13px;font-weight:700;margin:0 0 8px}.info-card-text{color:#fcfcfca6;color:var(--text2);font-size:12px;line-height:1.5;margin-bottom:12px}.info-card-badges{display:flex;flex-wrap:wrap;gap:8px}.badge-verified{background:#10b98126;background:var(--green-dim);border:1px solid #3ecf8e4d;border-radius:4px;color:#10b981;color:var(--green);font-size:11px;font-weight:700;padding:4px 8px}.live-updates-hint{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0d;border:1px solid #fff3;border:1px solid var(--border);border-radius:999px;color:#fcfcfc66;color:var(--text3);display:flex;font-size:12px;font-weight:500;gap:10px;margin:40px auto 20px;padding:8px 20px;width:-webkit-fit-content;width:fit-content}.pulse-dot{animation:pulse 2s ease-in-out infinite;background:#10b981;background:var(--green);border-radius:50%;height:8px;width:8px}@media (max-width:1024px){.scanner-container{grid-template-columns:1fr}.booking-section{position:relative;top:0}}@media (max-width:768px){.scanner-header{flex-wrap:wrap;padding:12px 16px}.scanner-title{font-size:18px;order:1;width:100%}.btn-back-scanner{order:0}.scanner-container{gap:16px;padding:16px}.queue-stats{gap:8px;grid-template-columns:repeat(3,1fr)}.stat-item{padding:12px}.stat-label{font-size:11px}.stat-value{font-size:20px}.booking-mode-selector{gap:8px}.slots-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:480px){.scanner-header{gap:10px;padding:12px}.scanner-title{font-size:16px}.salon-info-badge{font-size:11px;padding:6px 10px}.scanner-container{gap:12px;padding:12px}.queue-stats{gap:8px;grid-template-columns:1fr}.stat-item{padding:10px}.stat-label{font-size:10px}.stat-value{font-size:24px}.booking-section{gap:12px;padding:16px}.booking-title{font-size:16px}.booking-mode-selector{gap:8px}.booking-mode-selector,.services-grid,.slots-grid{grid-template-columns:1fr}.slots-grid{grid-template-columns:repeat(2,1fr)}.queue-items{max-height:300px}}.spinner-mini{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:12px;width:12px}.finder-header{align-items:center;background:#ffffff26;background:var(--surface);border-bottom:1px solid #fff3;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:12px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.finder-header-title{color:#fcfcfc;color:var(--text);font-size:16px;font-weight:700;margin:0}.btn-back-finder{background:none;border:none;border-radius:14px;border-radius:var(--radius);color:#fcfcfc;color:var(--text);cursor:pointer;font-size:14px;font-weight:600;padding:8px 12px;transition:all .2s ease}.btn-back-finder:hover{background:#fff3;background:var(--surface2);color:#d4af37;color:var(--accent)}.finder-title-compact{color:#fcfcfc;color:var(--text);font-size:32px;font-weight:800;letter-spacing:-.5px;margin:16px 0 8px}.finder-subtitle-compact{color:#fcfcfca6;color:var(--text2);font-size:14px;font-weight:500;margin:0 0 16px}@media (max-width:768px){.nearest-salon-page{padding-bottom:40px}.finder-header{padding:10px 16px}.finder-header-title{font-size:15px}.finder-hero-content{padding:16px}.finder-title-compact{font-size:26px;margin:12px 0 4px}.finder-subtitle-compact{font-size:13px;margin:0 0 12px}.location-detection-card{border-radius:20px;border-radius:var(--radius-lg);padding:20px}.loading-spinner{height:40px;width:40px}.loading-title{font-size:15px}.loading-desc{font-size:12px}.location-error{gap:12px}.error-icon{font-size:28px}.error-title{font-size:13px}.error-desc{font-size:12px}.btn-refresh-location,.btn-retry-location{font-size:12px;padding:8px 14px}.location-detected{gap:12px;padding:12px}.location-icon{font-size:16px;height:32px;width:32px}.location-city{font-size:14px}.location-accuracy{font-size:11px}.radius-label{font-size:13px}.radius-value{font-size:14px}.results-header{padding:16px}.results-title{font-size:18px}.results-subtitle{font-size:12px}.nearest-salons-grid{gap:12px;grid-template-columns:1fr}.nearest-salon-card{padding:16px}.salon-card-header{gap:12px;margin-bottom:12px}.salon-card-name{font-size:16px;margin-bottom:4px}.salon-card-location{font-size:12px}.salon-rating-box{min-width:50px}.rating-number{font-size:16px}.salon-info-grid{gap:8px;margin-bottom:12px}.info-item{gap:8px;padding:8px}.info-icon{font-size:16px}.info-label{font-size:11px}.info-value{font-size:13px}.salon-services-list{gap:4px;margin-bottom:12px}.service-mini-tag{font-size:11px;padding:4px 8px}.salon-actions{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.btn-book-slot,.btn-view-queue{font-size:12px;padding:10px 12px}.btn-book-slot span,.btn-view-queue span{display:none}.no-salons-message{padding:32px 16px}.no-salons-icon{font-size:48px}.no-salons-message h3{font-size:16px}.no-salons-message p{font-size:13px}.finder-info{padding:24px 16px}.finder-info h2{font-size:20px}.steps-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.step-card{padding:12px}.step-number{font-size:16px;height:32px;width:32px}.step-card h3{font-size:13px}.step-card p{font-size:11px}}@media (max-width:480px){.finder-header{padding:8px 12px}.btn-back-finder{font-size:13px;padding:6px 10px}.finder-header-title{font-size:14px}.finder-hero-content{padding:12px}.finder-title-compact{font-size:22px;margin:8px 0 2px}.finder-subtitle-compact{font-size:12px;margin:0 0 8px}.location-detection-card{min-height:auto;padding:16px}.location-loading{gap:12px}.loading-spinner{border-width:2px;height:36px;width:36px}.loading-title{font-size:14px}.loading-desc{font-size:11px}.location-error{flex-direction:column;gap:8px}.error-icon{font-size:24px}.btn-retry-location{font-size:12px;padding:10px 12px;width:100%}.location-detected{flex-direction:column;gap:10px}.btn-refresh-location{font-size:12px;padding:10px 12px;width:100%}.search-controls{padding-top:12px}.radius-filter-wrapper{gap:8px}.radius-label{font-size:12px}.radius-value{font-size:13px}.results-header{padding:12px}.results-title{font-size:16px;margin:0 0 4px}.results-subtitle{font-size:11px}.nearest-salons-grid{gap:10px}.nearest-salon-card{padding:12px}.rank-badge{font-size:11px;height:28px;width:28px}.distance-badge{font-size:11px;padding:4px 8px}.distance-icon{font-size:12px}.salon-card-header{gap:8px;margin-bottom:8px}.salon-card-name{font-size:14px;margin-bottom:2px}.salon-card-location{font-size:11px}.rating-number{font-size:14px}.salon-info-grid{gap:6px;margin-bottom:8px}.info-item{padding:6px}.info-icon{font-size:14px}.info-label{font-size:10px}.info-value{font-size:12px}.salon-services-list{gap:3px;margin-bottom:8px}.service-mini-tag{font-size:10px;padding:3px 6px}.salon-actions{gap:6px}.btn-book-slot,.btn-view-queue{font-size:11px;padding:8px 10px}.finder-info{padding:16px 12px}.finder-info h2{font-size:18px}.steps-grid{gap:10px;grid-template-columns:1fr}.step-card{padding:10px}.step-number{font-size:14px;height:28px;width:28px}.step-card h3{font-size:12px}.step-card p{font-size:10px}}@media (max-width:768px){.gallery-grid{gap:10px!important}}@media (max-width:480px){.gallery-grid{gap:8px!important;grid-template-columns:repeat(2,1fr)!important}}@media (max-width:768px){.lightbox-container{padding:12px!important}.lightbox-image-wrapper{max-height:85vh!important;max-width:95vw!important}.lightbox-close-btn{font-size:28px!important;height:48px!important;right:12px!important;top:12px!important;width:48px!important}.lightbox-nav{gap:8px!important;padding:12px!important}.lightbox-nav-btn{font-size:13px!important;min-width:80px!important;padding:10px 14px!important}.lightbox-counter{font-size:12px!important;padding:0 8px!important}}@media (max-width:480px){.lightbox-container{padding:8px!important}.lightbox-nav{flex-direction:row!important;gap:6px!important;padding:10px 8px!important}.lightbox-nav-btn{flex:1 1!important;font-size:12px!important;min-width:70px!important;padding:12px 10px!important}.lightbox-counter{flex:1 1!important;font-size:11px!important;order:-1!important;text-align:center!important}.lightbox-close-btn{font-size:24px!important;height:44px!important;right:8px!important;top:8px!important;width:44px!important;z-index:20!important}}@media (hover:none) and (pointer:coarse){.lightbox-nav-btn:active{transform:scale(.95)!important}}@media (max-width:768px){.gallery-section{margin-top:24px!important;padding:20px!important}.gallery-title{font-size:18px!important;margin-bottom:16px!important}.add-photos-btn{font-size:14px!important;padding:14px 20px!important;width:100%!important}.salon-gallery-container{padding:16px 0!important}.salon-gallery-title{font-size:16px!important;margin-bottom:16px!important;padding:0 12px!important}.salon-gallery-grid{gap:10px!important;padding:0 12px!important}.empty-gallery-state{margin:0 12px!important;padding:24px 16px!important}}@media (max-width:480px){.sidebar-user-avatar{font-size:14px!important;height:36px!important;width:36px!important}.topbar-user-avatar{font-size:14px!important;height:32px!important;width:32px!important}.customer-home-hero{margin-bottom:20px!important;padding:20px 16px!important}.customer-home-hero-label{font-size:11px!important}.customer-home-hero-title{font-size:22px!important}.vendor-welcome-banner{padding:20px 16px!important}.vendor-welcome-title{font-size:22px!important}}@media (max-width:600px){.grid-4{gap:12px!important;grid-template-columns:repeat(2,1fr)!important}.stat-card{padding:16px 12px!important}.stat-card-value{font-size:22px!important}.stat-card-label{font-size:11px!important}.table-wrap{border-left:none;border-radius:0;border-right:none;margin:0 -12px}table{font-size:12px}td,th{padding:10px 8px!important}td:first-child,th:first-child{padding-left:12px!important}td:last-child,th:last-child{padding-right:12px!important}}@media (max-width:480px){.queue-item{gap:10px!important;padding:12px 10px!important}.queue-pos{font-size:14px!important;height:32px!important;width:32px!important}.queue-name{font-size:13px!important}.queue-services{font-size:11px!important}.tabs{gap:2px;padding:4px}.tab{font-size:12px;padding:8px 12px;white-space:nowrap}.modal-overlay{align-items:flex-end;padding:0}.modal{border-radius:28px 28px 0 0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:90vh;max-width:100vw;padding:20px 16px}.modal-title{font-size:18px}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}.toast-container{bottom:12px;left:12px;right:12px}.toast{max-width:100%;width:100%}}@media (hover:none){.card:hover,.salon-card:hover,.stat-card:hover{transform:none}}.appointments-list{animation:fadeIn .4s ease;display:flex;flex-direction:column;gap:16px}.appointment-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#2e2e36;background:var(--bg2);border:1px solid #fff3;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 4px 15px #00000026;overflow:hidden;padding:24px;position:relative;transition:all .4s cubic-bezier(.165,.84,.44,1)}.appointment-card:before{background:linear-gradient(180deg,#d4af37,#f8e5a5);background:linear-gradient(180deg,var(--accent),var(--accent2));content:"";height:100%;left:0;opacity:1;position:absolute;top:0;transform:scaleY(.4);transform-origin:center;transition:transform .4s ease;width:5px}.appointment-card:hover{background:#363640;background:var(--bg3);border-color:#d4af371f;border-color:var(--accent-dim);box-shadow:0 12px 30px #00000040,0 0 20px #d4af371f;box-shadow:0 12px 30px #00000040,0 0 20px var(--accent-dim);transform:translateY(-4px) scale(1.01)}.appointment-card:hover:before{transform:scaleY(1)}.appointment-card-header{align-items:center;display:flex;gap:18px;margin-bottom:20px}.appointment-salon-icon{align-items:center;background:linear-gradient(135deg,#363640,#ffffff26);background:linear-gradient(135deg,var(--bg3),var(--surface));border:1px solid #fff3;border:1px solid var(--border);border-radius:18px;box-shadow:inset 0 2px 10px #0003;color:#d4af37;color:var(--accent);display:flex;flex-shrink:0;font-size:20px;font-weight:800;height:64px;justify-content:center;width:64px}.appointment-info{flex:1 1;min-width:0}.appointment-salon-name{color:#fcfcfc;color:var(--text);font-family:Syne,sans-serif;font-family:var(--font-d);font-size:19px;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin-bottom:4px}.appointment-customer-note{align-items:center;display:flex;gap:6px;letter-spacing:.05em;opacity:.9}.appointment-services{color:#fcfcfca6;color:var(--text2);font-size:13.5px;font-weight:500;margin-top:2px}.appointment-card-body{grid-gap:16px;border-top:1px solid #ffffff0f;display:grid;gap:16px;grid-template-columns:1fr auto;padding-top:20px}.appointment-datetime{display:flex;flex-direction:column;gap:10px}.appointment-date,.appointment-time,.appointment-token{align-items:center;color:#fcfcfca6;color:var(--text2);display:flex;font-family:Outfit,sans-serif;font-family:var(--font-b);font-size:14px;gap:10px}.appointment-icon{align-items:center;background:#ffffff0a;border-radius:8px;color:#d4af37;color:var(--accent);display:flex;font-size:11px;font-weight:800;height:24px;justify-content:center;width:24px}.appointment-meta{align-items:flex-end;display:flex;flex-direction:column;justify-content:space-between}.appointment-amount{text-align:right}.amount-label{color:#fcfcfc66;display:block;font-weight:700}.amount-value{background:linear-gradient(180deg,#f8e5a5,#d4af37);background:linear-gradient(to bottom,var(--accent2),var(--accent));color:#d4af37;color:var(--accent);font-family:Space Grotesk,sans-serif;font-family:var(--font-num);font-size:22px;font-weight:800}.history-status-note{align-items:center;background:#ffffff08;border:1px solid #ffffff0a;border-radius:12px;color:#fcfcfca6;color:var(--text2);display:flex;font-size:13px;gap:10px;grid-column:1/-1;margin-top:12px;padding:10px 14px}.history-status-note .dot{animation:pulse-gold 2s ease-in-out infinite;background:#d4af37;background:var(--accent);border-radius:50%;box-shadow:0 0 10px #d4af37;box-shadow:0 0 10px var(--accent);height:6px;width:6px}@keyframes pulse-gold{0%{opacity:.8;transform:scale(1)}50%{box-shadow:0 0 15px #d4af37;box-shadow:0 0 15px var(--accent);opacity:1;transform:scale(1.4)}to{opacity:.8;transform:scale(1)}}.appointments-tabs-wrap{margin:10px 0 24px}.appointments-tabs{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0003!important;border:1px solid #ffffff0d!important;border-radius:16px!important;padding:6px!important}.appointments-tabs .tab{border:1px solid #0000!important;border-radius:12px!important;color:#fcfcfc66!important;color:var(--text3)!important;font-family:Plus Jakarta Sans,sans-serif!important;font-family:var(--font-display)!important;font-size:14px!important;font-weight:700!important;padding:10px 0!important;transition:all .4s cubic-bezier(.175,.885,.32,1.275)!important}.appointments-tabs .tab.active{background:linear-gradient(135deg,#d4af371a,#d4af370d)!important;border:1px solid #d4af3733!important;box-shadow:0 4px 15px #0003;color:#d4af37!important;color:var(--accent)!important}.appointments-tabs .tab:not(.active):hover{background:#ffffff08;color:#fcfcfca6!important;color:var(--text2)!important}.appointments-tabs .tab .badge{border-radius:8px!important;font-family:Space Grotesk,sans-serif!important;font-family:var(--font-num)!important;font-weight:800!important;padding:3px 8px!important}.appointment-actions{border-top:1px solid #fff3;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:16px;padding-top:16px}.appointment-chat-btn{background:#fff3;background:var(--surface2);border:1px solid #ffffff40;border:1px solid var(--border2);color:#fcfcfc;color:var(--text);font-weight:700}.appointment-chat-btn:hover{background:#e8b84b1f;border-color:#e8b84b66;color:#f8e5a5;color:var(--accent2)}.reminder-btn{background:linear-gradient(135deg,#d4af37,#f8e5a5);background:linear-gradient(135deg,var(--accent),var(--accent2));border:none;color:#0c0b0f;font-weight:700;transition:all .3s ease}.reminder-btn:hover:not(:disabled){box-shadow:0 4px 16px #d4af3740;box-shadow:0 4px 16px var(--accent-glow);transform:translateY(-2px)}.reminder-btn:disabled{cursor:default;opacity:.8}.reminder-btn.reminder-sent{background:#10b98126;background:var(--green-dim);border:1px solid #3ecf8e4d;color:#10b981;color:var(--green)}@media (max-width:768px){.appointment-card{padding:16px}.appointment-card-header{gap:12px;margin-bottom:12px}.appointment-salon-icon{font-size:20px;height:48px;width:48px}.appointment-salon-name{font-size:16px}.appointment-services{font-size:13px}.appointment-card-body{flex-direction:column;gap:12px;padding-top:12px}.appointment-datetime{flex-direction:row;flex-wrap:wrap;gap:12px}.appointment-date,.appointment-time{font-size:13px}.appointment-meta{align-items:center;flex-direction:row;justify-content:space-between;width:100%}.appointment-amount{align-items:flex-end;flex-direction:column;gap:2px}.amount-value{font-size:18px}.appointment-actions{margin-top:12px;padding-top:12px}.appointment-actions .btn{flex:1 1;min-width:140px}}@media (max-width:480px){.appointment-card{border-radius:14px;border-radius:var(--radius);padding:14px}.appointment-card-header{gap:10px;margin-bottom:10px}.appointment-salon-icon{border-radius:10px;font-size:18px;height:44px;width:44px}.appointment-salon-name{font-size:15px}.appointment-services{font-size:12px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointment-card-body{gap:10px;padding-top:10px}.appointment-datetime{flex-direction:column;gap:6px}.appointment-date,.appointment-time{font-size:12px}.appointment-meta{align-items:flex-start;flex-direction:column;gap:8px}.appointment-token{font-size:11px;padding:3px 8px}.appointment-amount{align-items:center;flex-direction:row;justify-content:space-between;width:100%}.amount-label{font-size:12px}.amount-value{font-size:16px}.appointment-actions{flex-direction:column;margin-top:10px;padding-top:10px}.appointment-chat-btn,.reminder-btn{font-size:13px;padding:10px 14px;width:100%}}@media (max-width:360px){.appointment-card{padding:12px}.appointment-salon-icon{font-size:16px;height:40px;width:40px}.appointment-salon-name{font-size:14px}.appointment-services{font-size:11px;max-width:140px}}.custom-time-dropdown-menu{grid-gap:8px;animation:fadeInDown .3s cubic-bezier(.2,.8,.2,1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#2e2e36;background:var(--bg2);border:1px solid #fff3;border:1px solid var(--border);border-radius:20px;box-shadow:0 20px 50px #0009,inset 0 1px 1px #ffffff0d;display:grid;gap:8px;grid-template-columns:repeat(4,1fr);margin-top:8px;max-height:280px;overflow-y:auto;padding:16px;width:100%;z-index:1000}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.custom-time-dropdown-menu::-webkit-scrollbar{width:4px}.custom-time-dropdown-menu::-webkit-scrollbar-thumb{background:#d4af37;background:var(--accent);border-radius:10px}.custom-time-slot-btn{align-items:center;background:#00000040;background:var(--surface-under);border:1px solid #fff3;border:1px solid var(--border);border-radius:12px;color:#fcfcfca6;color:var(--text2);cursor:pointer;display:flex;font-family:Space Grotesk,sans-serif;font-family:var(--font-num);font-size:13px;font-weight:700;justify-content:center;padding:12px 2px;transition:all .2s cubic-bezier(.4,0,.2,1)}.custom-time-slot-btn:hover{background:#d4af371f;background:var(--accent-dim);border-color:#d4af37;border-color:var(--accent);box-shadow:0 4px 12px #e8b84b26;color:#d4af37;color:var(--accent);transform:translateY(-2px)}.custom-time-slot-btn.selected{background:#d4af37;background:var(--accent);border-color:#d4af37;border-color:var(--accent);box-shadow:0 6px 20px #e8b84b66;color:#000;font-weight:800;transform:scale(1.05)}:where(button,a,input,select,textarea){transition:all .3s cubic-bezier(.34,1.56,.64,1)}.hover-lift{transition:var(--transition)}.hover-lift:hover{box-shadow:0 12px 40px #0000004d;transform:translateY(-4px)}.glow-effect{transition:var(--transition)}.glow-effect:hover{box-shadow:0 0 40px #e8b84b66,0 0 20px #e8b84b33}.scale-hover{transition:var(--transition)}.scale-hover:hover{transform:scale(1.05)}.underline-animation{display:inline-block;position:relative}.underline-animation:after{background:linear-gradient(90deg,var(--accent),var(--accent2));bottom:-4px;content:"";height:2px;left:0;position:absolute;transform:scaleX(0);transform-origin:right;transition:transform .3s cubic-bezier(.34,1.56,.64,1);width:100%}.underline-animation:hover:after{transform:scaleX(1);transform-origin:left}.fade-in-stagger{animation:fadeIn .6s ease forwards}.fade-in-stagger:first-child{animation-delay:.1s}.fade-in-stagger:nth-child(2){animation-delay:.2s}.fade-in-stagger:nth-child(3){animation-delay:.3s}.fade-in-stagger:nth-child(4){animation-delay:.4s}.fade-in-stagger:nth-child(5){animation-delay:.5s}table tbody tr{transition:var(--transition)}table tbody tr:hover{background:linear-gradient(90deg,#e8b84b14,#0000);border-left:3px solid var(--accent);padding-left:-3px}.expand-animation{overflow:hidden;transition:max-height .4s cubic-bezier(.34,1.56,.64,1),opacity .3s ease}.expand-animation.collapsed{max-height:0;opacity:0;overflow:hidden}.ripple-effect{overflow:hidden;position:relative}.ripple-effect:after{background:#ffffff80;border-radius:50%;content:"";height:0;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:0}.ripple-effect:active:after{animation:ripple .6s ease-out}@keyframes ripple{to{height:300px;opacity:0;width:300px}}.pulse-animation{animation:pulse 1.5s ease-in-out infinite}.text-reveal{overflow:hidden}.text-reveal span{animation:slideUp .5s cubic-bezier(.34,1.56,.64,1) forwards;display:inline-block}.text-reveal span:first-child{animation-delay:.1s}.text-reveal span:nth-child(2){animation-delay:.2s}.text-reveal span:nth-child(3){animation-delay:.3s}.float-animation{animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.shake-animation{animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-4px)}20%,40%,60%,80%{transform:translateX(4px)}}.pop-animation{animation:pop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes pop{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.blur-fade-in{animation:blurFadeIn .8s ease forwards}@keyframes blurFadeIn{0%{filter:blur(10px);opacity:0}to{filter:blur(0);opacity:1}}.gradient-animation{animation:gradientShift 8s ease infinite;background-size:300% 300%}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.page-transition{animation:pageSlideIn .4s cubic-bezier(.34,1.56,.64,1)}@keyframes pageSlideIn{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes checkmark{0%{stroke-dashoffset:50}to{stroke-dashoffset:0}}.countdown-animation{animation:countdown 1s step-end forwards}@keyframes countdown{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@media (max-width:768px){:where(button,a,input,select,textarea){transition:all .2s cubic-bezier(.34,1.56,.64,1)}.hover-lift:hover{box-shadow:0 8px 24px #0003;transform:translateY(-2px)}.scale-hover:hover{transform:scale(1.03)}.glow-effect:hover{box-shadow:0 0 24px #e8b84b4d,0 0 12px #e8b84b26}}@media (max-width:480px){:where(button,a,input,select,textarea){transition:all .15s ease}.hover-lift:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.scale-hover:hover{transform:scale(1.02)}.glow-effect:hover{box-shadow:0 0 16px #e8b84b33,0 0 8px #e8b84b1a}table tbody tr:hover{background:#e8b84b0a;border-left:2px solid var(--accent)}.expand-animation{transition:max-height .3s ease,opacity .2s ease}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hover-lift:hover,.scale-hover:hover{transform:none}.glow-effect:hover{box-shadow:none}}.select-wrapper{display:inline-block;position:relative;width:100%}.select-wrapper select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8b84b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:20px;border:2px solid #e8e8e8;border-radius:10px;box-shadow:0 2px 4px #0000000a;color:#2a2a2a;cursor:pointer;font-size:15px;font-weight:500;min-height:46px;padding:12px 16px;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.select-wrapper select:hover{box-shadow:0 4px 12px #e8b84b26}.select-wrapper select:focus,.select-wrapper select:hover{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d4a237' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");border-color:#e8b84b}.select-wrapper select:focus{box-shadow:0 0 0 4px #e8b84b33;outline:none}.select-wrapper select:disabled{background-color:#f5f5f5;border-color:#ddd;cursor:not-allowed;opacity:.5}.select-wrapper select option{background:#fff;color:#2a2a2a;font-weight:500;padding:10px 16px}.select-wrapper select option:checked{background:linear-gradient(#e8b84b,#e8b84b);background-color:#e8b84b;color:#fff;font-weight:600}.field-wrap select.field-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8b84b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:20px;cursor:pointer;font-weight:500;padding-right:38px;transition:all .3s cubic-bezier(.4,0,.2,1)}.field-wrap:focus-within select.field-input{border-color:#e8b84b;box-shadow:0 0 0 3px #e8b84b26}.select-accent{background-color:#e8b84b0a;border-color:#e8b84b4d}.select-accent:hover{background-color:#e8b84b14;border-color:#e8b84b}.select-accent:focus{background-color:#e8b84b1a;border-color:#e8b84b}.select-sm{border-radius:8px;font-size:13px;min-height:38px;padding:8px 32px 8px 12px}.select-lg{border-radius:12px;font-size:16px;min-height:52px;padding:14px 40px 14px 18px}.select-success{border-color:#3ecf8e}.select-success:focus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233ecf8e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");border-color:#3ecf8e;box-shadow:0 0 0 3px #3ecf8e26}.select-danger{border-color:#ff5c5c}.select-danger:focus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff5c5c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");border-color:#ff5c5c;box-shadow:0 0 0 3px #ff5c5c26}@media (max-width:480px){.field-wrap select.field-input,.select-wrapper select{background-size:16px}.field-wrap select.field-input,.select-lg,.select-wrapper select{font-size:13px;min-height:44px;padding:10px 34px 10px 12px}.select-sm{font-size:12px;min-height:40px;padding:8px 30px 8px 10px}}@media (max-width:768px){.field-wrap select.field-input,.select-wrapper select{background-size:18px;border-radius:8px;font-size:14px;min-height:44px;padding:11px 36px 11px 14px}.select-lg{font-size:15px;min-height:48px;padding:12px 36px 12px 16px}.select-sm{font-size:13px;min-height:40px;padding:8px 32px 8px 12px}}@media (min-width:769px) and (max-width:1024px){.field-wrap select.field-input,.select-wrapper select{background-size:18px;font-size:14px;padding:11px 38px 11px 14px}.select-lg{font-size:16px;min-height:50px;padding:13px 40px 13px 18px}}@media (min-width:1025px){.field-wrap select.field-input,.select-wrapper select{background-size:20px;font-size:15px;padding:12px 40px 12px 16px;transition:all .3s cubic-bezier(.4,0,.2,1)}.select-wrapper select:hover{transform:translateY(-1px)}.select-lg{font-size:16px;min-height:52px;padding:14px 40px 14px 18px}.select-sm{font-size:13px;min-height:38px;padding:8px 32px 8px 12px}}@media (max-width:1024px){.select-wrapper{width:100%}.field-wrap select.field-input,.select-wrapper select{background-size:18px;font-size:14px;min-height:44px;padding:10px 36px 10px 14px}.select-lg{font-size:15px;min-height:48px;padding:12px 36px 12px 16px}.select-sm{font-size:12px;min-height:36px;padding:8px 32px 8px 12px}}@media (max-width:768px){.select-wrapper{width:100%}.field-wrap select.field-input,.select-wrapper select{background-size:16px;border-radius:8px;font-size:16px;min-height:42px;padding:10px 36px 10px 12px}.select-wrapper select:focus{border-color:#e8b84b;box-shadow:0 0 0 3px #e8b84b26;outline:none}.select-lg{font-size:14px;min-height:42px;padding:10px 34px 10px 14px}.select-sm{font-size:12px;min-height:36px;padding:8px 30px 8px 10px}}@media (max-width:480px){.select-wrapper{width:100%}.field-wrap select.field-input,.select-wrapper select{background-position:right 10px center;background-size:14px;border-radius:6px;font-size:16px;min-height:40px;padding:10px 34px 10px 10px;width:100%}.select-wrapper select:disabled{background-color:#f0f0f0;opacity:.6}.select-wrapper select option{font-size:14px;padding:8px 12px}.select-lg{font-size:14px;min-height:40px;padding:9px 32px 9px 12px}.select-sm{font-size:12px;min-height:34px;padding:7px 28px 7px 9px}.select-wrapper select,select.field-input{width:100%!important}}:root{--app-shell-max:1360px;--app-shell-pad:clamp(12px,2.2vw,28px)}#root{min-height:100dvh}body{overflow-x:hidden}canvas,img,svg,video{max-width:100%}.app-layout{min-height:100dvh}.customer-page-frame,.main-content,.page-content,.vendor-page-shell{min-width:0}.topbar{gap:12px;padding-inline:clamp(12px,2.2vw,28px);padding-inline:var(--app-shell-pad)}.topbar-title{max-width:60vw;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-actions{gap:10px;min-width:0}.page-content{padding:clamp(16px,2.2vw,28px) clamp(12px,2.2vw,28px);padding:clamp(16px,2.2vw,28px) var(--app-shell-pad)}.customer-page-frame,.page-content,.vendor-page-shell{margin:0;width:min(100%,1360px);width:min(100%,var(--app-shell-max))}.appointment-card,.btn,.card,.field-input,.field-wrap,.profile-link,.stat-card,.theme-toggle-btn{min-width:0}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-wrap table{min-width:640px}table{width:100%}.tabs{max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-color:linear-gradient(var(--accent),var(--blue)) var(--surface);scrollbar-width:thin}.tab{flex:0 0 auto}.modal-overlay{padding:clamp(10px,2.5vw,24px)}.modal{width:min(100%,640px)}.modal,.modal-content{max-height:min(90dvh,900px)}.modal-content{width:min(100%,520px)}.modal-actions{flex-wrap:wrap}.modal-actions .btn{flex:1 1 160px}.profile-dropdown{max-height:min(86dvh,720px);overflow-y:auto;width:min(420px,calc(100vw - 20px))}.upload-button{max-width:240px;width:100%}.crop-card{width:min(100%,520px)}.crop-preview{width:min(100%,320px)}.salon-list-toolbar{align-items:center;display:flex;gap:12px;margin-bottom:24px}.salon-list-search{flex:1 1}.salon-list-city-filter{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-lg);height:48px;min-width:160px;padding:0 14px}.appointments-tabs-wrap{margin-bottom:24px;overflow-x:auto;padding-bottom:4px}.appointments-tabs{width:-webkit-max-content;width:max-content}.sidebar-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000073;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .2s ease;z-index:95}.sidebar-backdrop.visible{opacity:1;pointer-events:auto}.admin-sidebar-toggle{align-items:center;background:var(--surface2);border:1px solid var(--border2);border-radius:10px;color:var(--text);display:none;font-size:18px;height:36px;justify-content:center;line-height:1;width:36px}.admin-topbar-title{margin-right:auto}@media (max-width:1024px){.app-layout .sidebar{transform:translateX(-110%);width:min(84vw,320px);z-index:1000}.app-layout .sidebar.active,.app-layout .sidebar.open{transform:translateX(0)}.admin-main-content,.app-layout .main-content,.main-content,.vendor-main-content{margin-left:0!important;max-width:100%!important;width:100%!important}.admin-sidebar-toggle,.vendor-sidebar-toggle{display:inline-flex!important}}@media (max-width:768px){.topbar{height:64px;padding-inline:16px}.topbar-title{font-size:16px;font-weight:700}.customer-page-frame,.page-content,.vendor-page-shell{padding:16px 12px 24px!important}body,html{width:100%!important}.customer-page-frame,.main-content,.page-content,.vendor-page-shell,body,html{max-width:100%!important;overflow-x:hidden!important}.grid-3,.grid-4{display:flex!important;flex-direction:column!important;gap:16px!important;width:100%}.grid-2{grid-gap:12px!important;display:grid!important;gap:12px!important;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important}.stat-card{padding:18px!important;width:100%!important}.stat-card-value{font-size:28px!important}.grid-auto{grid-template-columns:1fr!important}.table-wrap table{min-width:560px!important}.salon-list-toolbar{flex-direction:column!important}.salon-list-city-filter{max-width:none!important;width:100%!important}.modal-actions .btn{flex:1 1 100%!important}}@media (max-width:480px){.topbar-title{font-size:15px;max-width:45vw}.admin-hero-title,.vendor-hero-title{font-size:24px!important;line-height:1.2!important}.vendor-home-hero-modern{padding:16px!important}}@media (max-width:560px){.topbar-actions .badge{display:none}.topbar-actions{gap:6px}.profile-dropdown{width:calc(100vw - 16px)}.table-wrap table{min-width:520px}}@media (min-width:901px){.sidebar-backdrop{display:none!important}}.profile-picture-upload{align-items:center;display:flex;flex-direction:column;gap:16px;width:100%}.profile-image-container{align-items:center;background:var(--bg2);border:2px solid var(--border);border-radius:50%;cursor:pointer;display:flex;height:100px;justify-content:center;overflow:hidden;position:relative;transition:border-color .2s ease,transform .2s ease;width:100px}.profile-image-container:hover{border-color:var(--accent);transform:scale(1.02)}.profile-image{height:100%;object-fit:cover;width:100%}.profile-image-placeholder{align-items:center;color:var(--text3);display:flex;height:100%;justify-content:center;width:100%}.profile-image-placeholder svg{fill:currentColor;height:32px;width:32px}.profile-image-overlay{align-items:center;background:#00000080;color:#fff;display:flex;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .2s ease}.profile-image-container:hover .profile-image-overlay{opacity:1}.profile-image-overlay svg{fill:currentColor;height:24px;width:24px}.upload-section{align-items:center;display:flex;flex-direction:column;gap:8px}.upload-button{align-items:center;background:#e8b84b1a;border:1px solid var(--accent);border-radius:var(--radius);color:var(--accent);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:8px 16px;transition:all .2s ease}.upload-button:hover{background:var(--accent);color:#111}.upload-button svg{fill:currentColor;height:18px;width:18px}.error-message{color:var(--red);font-size:12px;margin:0;text-align:center}.crop-modal{align-items:center;animation:fadeIn .25s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000d9;display:flex;inset:0;justify-content:center;position:fixed;z-index:100000}.crop-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 24px 60px #00000080;display:flex;flex-direction:column;max-width:500px;overflow:hidden;width:100%}.crop-mobile-header{align-items:center;background:var(--bg2);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:16px}.crop-mobile-title{color:var(--text);font-family:var(--font-d);font-size:18px;font-weight:700;margin:0}.crop-mobile-close,.crop-mobile-done{align-items:center;background:none;border:none;border-radius:var(--radius);color:var(--text2);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:8px;transition:all .2s ease}.crop-mobile-close:hover{background:#ffffff1a;color:var(--text)}.crop-mobile-done{color:var(--accent)}.crop-mobile-done:hover{background:#e8b84b1a}.crop-mobile-close svg,.crop-mobile-done svg{fill:currentColor;height:20px;width:20px}.crop-preview-container{background:linear-gradient(135deg,#14141e80,#0a0a0f80);display:flex;justify-content:center;padding:24px}.crop-preview{background-repeat:no-repeat;border:2px dashed #ffffff4d;border-radius:50%;box-shadow:0 0 0 9999px #0009;cursor:move;height:280px;position:relative;touch-action:none;width:280px}.crop-preview-grid{border-radius:50%;inset:0;overflow:hidden;pointer-events:none;position:absolute}.crop-preview-grid span{background:#fff3;position:absolute}.crop-preview-grid span:first-child{box-shadow:0 93px 0 #fff3;height:1px;left:0;right:0;top:33.33%}.crop-preview-grid span:nth-child(2){bottom:0;box-shadow:93px 0 0 #fff3;left:33.33%;top:0;width:1px}.crop-controls{gap:20px;padding:20px}.crop-controls,.crop-zoom-section{display:flex;flex-direction:column}.crop-zoom-section{gap:12px}.crop-zoom-label{color:var(--text2);display:flex;font-size:13px;font-weight:600;justify-content:space-between}.zoom-value{color:var(--accent)}.crop-zoom-buttons{gap:12px}.crop-zoom-buttons,.zoom-btn{align-items:center;display:flex}.zoom-btn{background:var(--bg2);border:1px solid var(--border);border-radius:50%;color:var(--text2);cursor:pointer;height:36px;justify-content:center;transition:all .2s ease;width:36px}.zoom-btn:hover:not(:disabled){background:var(--surface);border-color:var(--accent);color:var(--accent)}.zoom-btn:disabled{cursor:not-allowed;opacity:.5}.zoom-btn svg{fill:currentColor;height:18px;width:18px}.zoom-slider-container{flex:1 1}.zoom-slider{accent-color:var(--accent);cursor:pointer;width:100%}.crop-actions{display:flex;gap:12px;justify-content:flex-end}.crop-actions .btn{align-items:center;border:none;border-radius:var(--radius);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px}.crop-actions .btn svg{fill:currentColor;height:18px;width:18px}.btn-cancel{background:var(--surface);color:var(--text)}.btn-cancel:hover{background:#ffffff1a}.btn-primary{background:var(--accent);color:#111}.btn-primary:hover{opacity:.9}.crop-loading{align-items:center;color:var(--accent);display:flex;flex-direction:column;gap:12px;padding:24px}.crop-loading-spinner{animation:spin 1s linear infinite;border:3px solid #e8b84b33;border-radius:50%;border-top:3px solid var(--accent);height:32px;width:32px}.crop-loading-text{font-size:14px;font-weight:600}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:600px){.crop-modal{align-items:flex-end}.crop-card{border-radius:20px 20px 0 0;max-width:100%}.crop-actions-desktop{display:none}}.profile-menu-root{display:inline-block;overflow:visible!important;position:relative;z-index:99999}.avatar-btn{align-items:center;background:#0000;border:none;border-radius:50%;cursor:pointer;display:flex;justify-content:center;overflow:hidden;padding:4px;position:relative;transition:all .3s cubic-bezier(.2,.9,.3,1)}.avatar-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.avatar-btn:hover{transform:scale(1.1)}.avatar{align-items:center;background:linear-gradient(135deg,var(--accent),var(--accent2));background-position:50%;background-repeat:no-repeat;background-size:cover;border:3px solid var(--accent);border-radius:50%;box-shadow:0 6px 20px #e8b84b59;color:#fff;display:flex;font-family:var(--font-d);font-size:18px;font-weight:800;height:52px;justify-content:center;transition:all .3s cubic-bezier(.2,.9,.3,1);width:52px}.avatar-btn.open .avatar,.avatar-btn:hover .avatar{box-shadow:0 8px 28px #e8b84b73;transform:scale(1.12)}.profile-dropdown{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 16px 40px #00000080,0 0 0 1px #ffffff0d;display:flex;flex-direction:column;gap:12px;opacity:0;padding:16px;pointer-events:none;position:absolute;right:0;top:60px;transform:translateY(-10px) scale(.95);transform-origin:top right;transition:all .3s cubic-bezier(.16,1,.3,1);width:320px;z-index:99000}.profile-dropdown.visible{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.profile-info{align-items:center;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);display:flex;gap:14px;margin-bottom:4px;padding:14px}.profile-info:hover{background:var(--bg3);border-color:var(--accent-dim)}.profile-thumb-wrapper{background:linear-gradient(135deg,#e8b84b66,#4fc3f733);border-radius:50%;box-shadow:0 8px 24px #e8b84b26;flex-shrink:0;padding:4px;position:relative;transition:transform .3s cubic-bezier(.2,.9,.3,1),box-shadow .3s ease}.profile-thumb{align-items:center;background:var(--bg2);background-position:50%;background-size:cover;border:2px solid var(--bg);border-radius:50%;display:flex;height:72px;justify-content:center;position:relative;width:72px;z-index:2}.profile-thumb-initial{color:var(--accent);font-family:var(--font-d);font-size:28px;font-weight:800}.profile-info:hover .profile-thumb-wrapper{background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 10px 28px var(--accent-glow);transform:scale(1.04)}.profile-thumb-wrapper.clickable{cursor:pointer}.profile-thumb-edit-overlay{align-items:center;background:#00000073;border-radius:50%;color:#fff;display:flex;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .25s ease;z-index:5}.profile-thumb-wrapper:hover .profile-thumb-edit-overlay{opacity:1}.profile-upload-trigger-wrap{margin-top:8px}.upload-button.minimal{background:#0000;border:1px dashed var(--accent-dim);border-radius:6px;font-size:11px;opacity:.7;padding:4px 10px}.upload-button.minimal:hover{background:#e8b84b1a;border-style:solid;opacity:1}.upload-button.minimal svg{height:14px;width:14px}.profile-meta{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.profile-name{color:var(--text);font-family:var(--font-d);font-size:16px;font-weight:800;letter-spacing:.3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-phone{color:var(--text3);font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.5px;opacity:.8}.profile-name-edit-wrap{align-items:center;display:flex;gap:8px;width:100%}.profile-meta .profile-name{align-items:center;display:flex;gap:6px}.profile-name-input{background:var(--bg);border:1px solid var(--accent-dim);border-radius:8px;color:var(--text);flex:1 1;font-family:var(--font-d);font-size:15px;font-weight:700;min-width:0;outline:none;padding:6px 10px}.profile-name-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #e8b84b26}.profile-name-edit-btns{display:flex;gap:5px}.p-edit-btn{align-items:center;background:var(--bg3);border:1px solid var(--border);border-radius:6px;color:var(--text2);cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .2s ease;width:28px}.p-edit-btn:hover{transform:translateY(-2px)}.p-edit-btn.save{border-color:var(--green-dim);color:var(--green)}.p-edit-btn.cancel{border-color:var(--red-dim);color:var(--red)}.profile-inline-edit-trigger{background:#0000;border:none;border-radius:4px;color:var(--text3);cursor:pointer;display:flex;padding:4px;transition:all .2s}.profile-inline-edit-trigger:hover{background:var(--surface);color:var(--accent);transform:scale(1.1)}.profile-actions{align-items:stretch;display:flex;flex-direction:column;gap:12px;padding-top:0}.profile-upload-section{border-top:1px solid var(--border);padding:16px 0 0}.profile-links{align-items:stretch;display:flex;flex-direction:column;gap:10px;margin-top:0}.profile-link{align-items:center;background:#0000;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:600;gap:12px;overflow:hidden;padding:12px 16px;position:relative;text-align:left;text-decoration:none;transition:all .2s ease}.profile-link:before{background:var(--bg2);content:"";inset:0;position:absolute;transform:translateX(-100%);transition:transform .3s ease;z-index:-1}.profile-link:hover:before{transform:translateX(0)}.profile-link:hover{background:var(--bg2);border-color:var(--accent);box-shadow:0 4px 12px var(--accent-glow);color:var(--accent)}.profile-link:active,.profile-link:hover{transform:translateX(4px)}.profile-link-header{background:var(--bg2)!important;border-bottom:2px solid var(--accent-dim)!important;margin-bottom:5px}.profile-link-header:hover{border-color:var(--accent)!important}.profile-backdrop{animation:backdropFadeIn .3s ease-out;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0006;inset:0;position:fixed;z-index:9999}@keyframes backdropFadeIn{0%{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);opacity:0}to{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:1}}@media (max-width:1024px){.profile-dropdown{width:380px}.profile-thumbnail{height:56px;width:56px}}@media (max-width:768px){.avatar{font-size:15px;height:42px;width:42px}.profile-dropdown{left:50%;max-width:400px;padding:18px;position:fixed;right:auto;top:50%;transform:translate(-50%,-50%) scale(.94);width:calc(100vw - 24px);z-index:100001!important}.profile-dropdown.visible{transform:translate(-50%,-50%) scale(1)}.profile-menu-root{overflow:visible!important}.profile-info{gap:14px;margin-bottom:14px;padding:16px}.profile-thumb-wrapper{border-radius:50%;padding:3px}.profile-thumb{border:2px solid var(--bg);height:64px;width:64px}.profile-name{font-size:15px}.profile-phone{font-size:12px}.profile-link{font-size:13px;padding:12px 14px}}@media (max-width:480px){.avatar{border-width:2px;font-size:14px;height:40px;width:40px}.profile-dropdown{bottom:auto;left:50%;max-width:380px;padding:18px;position:fixed;right:auto;top:50%;transform:translate(-50%,-50%) scale(.94);width:calc(100vw - 20px)}.profile-dropdown.visible{transform:translate(-50%,-50%) scale(1)}.profile-info{gap:12px;margin-bottom:16px;padding:14px}.profile-thumb-wrapper{border-radius:50%;padding:3px}.profile-thumb{border:2px solid var(--bg);height:58px;width:58px}.profile-thumb-initial{font-size:24px}.profile-name{font-size:15px}.profile-phone{font-size:11px}.profile-link{font-size:13px;gap:10px;padding:12px 14px}}@media (max-width:360px){.avatar{height:38px;width:38px}.profile-thumb{height:60px;width:60px}.profile-dropdown{padding:14px;width:calc(100vw - 16px)}.profile-name{font-size:14px}.profile-link{font-size:12px;padding:10px 12px}}@media (max-width:980px){.desktop-only-backdrop,.desktop-only-dropdown{display:none!important}}.profile-link-icon{font-size:16px;min-width:20px;text-align:center}.celestial-theme-toggle{align-items:center;background:#0000;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;display:flex;font-family:inherit;justify-content:space-between;overflow:hidden;padding:14px 16px;position:relative;text-align:left;transition:all .2s ease;width:100%}.celestial-theme-toggle:hover{background:var(--bg2);border-color:var(--accent);box-shadow:0 4px 12px var(--accent-glow);transform:translateX(4px)}.theme-styled-label{color:var(--text);flex-grow:1;font-family:var(--font-b);font-size:14px;font-weight:600;padding-left:12px}.celestial-track{background:#3eb5f1;border-radius:20px;box-shadow:inset 0 2px 6px #0003;flex-shrink:0;height:28px;overflow:hidden;position:relative;transition:background .5s cubic-bezier(.4,0,.2,1);width:56px}.celestial-theme-toggle.is-dark .celestial-track{background:#191c29}.celestial-sun-moon{background:#fdd835;border-radius:50%;box-shadow:0 0 10px #fbc02d,inset -2px -2px 4px #0000001a;height:22px;left:3px;overflow:hidden;position:absolute;top:3px;transition:all .5s cubic-bezier(.4,0,.2,1);width:22px;z-index:2}.celestial-theme-toggle.is-dark .celestial-sun-moon{background:#e0e0e0;box-shadow:0 0 8px #fff,inset -2px -2px 4px #0000004d;transform:translateX(28px)}.crater{background:#00000026;border-radius:50%;opacity:0;position:absolute;transition:opacity .3s ease}.celestial-theme-toggle.is-dark .crater{opacity:1}.crater-1{height:6px;left:10px;top:4px;width:6px}.crater-2{height:4px;left:4px;top:12px;width:4px}.crater-3{height:5px;left:12px;top:14px;width:5px}.celestial-clouds{inset:0;opacity:1;position:absolute;transition:opacity .5s ease;z-index:1}.celestial-theme-toggle.is-dark .celestial-clouds{opacity:0}.cloud{background:#ffffffe6;border-radius:10px;position:absolute}.cloud:after{background:inherit;border-radius:50%;content:"";position:absolute}.cloud-1{height:4px;right:8px;top:16px;width:14px}.cloud-1:before{background:#ffffffe6;border-radius:50%;content:"";height:8px;left:3px;position:absolute;top:-4px;width:8px}.cloud-2{height:4px;right:18px;top:8px;width:10px}.celestial-stars{inset:0;opacity:0;position:absolute;transition:opacity .5s ease;z-index:1}.celestial-theme-toggle.is-dark .celestial-stars{opacity:1}.star{background:#fff;border-radius:50%;box-shadow:0 0 2px #fff;position:absolute}.star-1{height:2px;left:8px;top:6px;width:2px}.star-2{left:12px;top:18px}.star-2,.star-3{height:1.5px;width:1.5px}.star-3{animation:celestial-twinkle 1.5s infinite alternate;left:18px;top:10px}@keyframes celestial-twinkle{0%{opacity:.3;transform:scale(.8)}to{opacity:1;transform:scale(1.2)}}@media (max-width:480px){.celestial-theme-toggle{padding:10px 12px}}:root{--salon-gold:#e8b84b;--salon-gold-dim:#f5d27a20;--salon-blue:#3b82f6;--salon-blue-dim:#60a5fa20;--glass-bg:#ffffff14;--glass-border:#ffffff1f;--reschedule-shimmer:linear-gradient(90deg,#0000,#e8b84b66,#0000)}.booking-card-modern{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:linear-gradient(145deg,#ffffff14,#ffffff08);background:linear-gradient(145deg,var(--glass-bg),#ffffff08);border:1px solid #ffffff1f;border:1px solid var(--glass-border);border-radius:24px;box-shadow:0 12px 40px #00000040;display:flex;flex-direction:column;gap:20px;overflow:hidden;padding:24px;position:relative;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.booking-card-modern:before{background:linear-gradient(90deg,#0000,#e8b84b66,#0000);background:var(--reschedule-shimmer);content:"";inset:0;opacity:0;position:absolute;transition:opacity .6s ease}.booking-card-modern:hover{border-color:#e8b84b66;box-shadow:0 25px 60px #0006,0 0 0 1px #e8b84b33;transform:translateY(-8px) scale(1.02)}.booking-card-modern:hover:before{animation:shimmer 1.5s infinite;opacity:1}.booking-card-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px}@media (max-width:480px){.booking-card-header{align-items:stretch;flex-direction:column;gap:12px}}.booking-customer{align-items:center;display:flex;flex:1 1;gap:12px;min-width:0}.customer-avatar{align-items:center;background:linear-gradient(135deg,#e8b84b,#3b82f6);background:linear-gradient(135deg,var(--salon-gold),var(--salon-blue));border-radius:18px;box-shadow:0 8px 24px #e8b84b4d;color:#fff;display:flex;flex-shrink:0;font-size:20px;font-weight:900;height:56px;justify-content:center;width:56px}.customer-details{display:flex;flex-direction:column;gap:2px;min-width:0}.customer-name{color:var(--text);font-size:18px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-phone{color:var(--text3);font-size:13px;font-weight:600}.status-badge-modern{align-items:center;border-radius:14px;box-shadow:0 6px 20px #0003;display:flex;flex-shrink:0;font-size:12px;font-weight:900;gap:6px;justify-content:center;letter-spacing:.5px;min-width:100px;padding:10px 18px;text-transform:uppercase;white-space:nowrap}.status-badge-modern[style*=blue],.status-badge-modern[style*=info]{background:linear-gradient(135deg,#3b82f6,#60a5fa)!important;background:linear-gradient(135deg,var(--salon-blue),#60a5fa)!important;border:1px solid #3b82f666!important;color:#fff!important;overflow:hidden;position:relative}.status-badge-modern[style*=blue]:after,.status-badge-modern[style*=info]:after{animation:rescheduleShimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}.booking-datetime{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.datetime-item{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0f;border:1px solid #ffffff14;border-radius:16px;display:flex;flex:1 1;gap:10px;min-width:140px;padding:14px 16px}.dt-icon{flex-shrink:0;font-size:18px}.dt-value{color:var(--text2);font-family:var(--font-num);font-size:14px;font-weight:700;min-width:0}@media (max-width:480px){.booking-datetime{align-items:stretch;flex-direction:column}.datetime-item{justify-content:center;min-width:auto}}.booking-amount{align-items:baseline;border-top:1px solid #ffffff14;display:flex;gap:12px;justify-content:space-between;padding-top:16px}.amount-label{color:var(--text3);font-size:12px;font-weight:800;letter-spacing:.8px;text-transform:uppercase}.amount-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#e8b84b,#3b82f6);background:linear-gradient(135deg,var(--salon-gold),var(--salon-blue));-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:900}.booking-card-actions{border-top:1px solid #ffffff0f;display:flex;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:20px}.action-btn{align-items:center;border:none;border-radius:16px;box-shadow:0 6px 20px #0003;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:800;gap:10px;justify-content:center;min-width:120px;overflow:hidden;padding:16px 20px;position:relative;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.action-btn:before{background:linear-gradient(135deg,#fff3,#0000);content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s}.action-btn:hover:before{opacity:1}.action-btn:hover{transform:translateY(-4px)}.action-btn.accept{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.action-btn.reject{background:#ffffff14;border:1px solid #fff3;color:var(--text)}.action-btn.complete{background:linear-gradient(135deg,#e8b84b,#3b82f6);background:linear-gradient(135deg,var(--salon-gold),var(--salon-blue));color:#fff;flex-basis:100%}.action-btn.reschedule{background:linear-gradient(135deg,#3b82f6,#3b82f6);background:linear-gradient(135deg,var(--salon-blue),#3b82f6);color:#fff;position:relative}.action-btn.reschedule:after{content:"↻";font-size:16px;margin-right:6px}@media (max-width:480px){.booking-card-actions{flex-direction:column}.action-btn{min-width:auto}.action-btn.complete{flex-basis:auto}}@keyframes rescheduleShimmer{0%{left:-100%}to{left:100%}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.past-appt{border-color:#6464644d;opacity:.65}.bookings-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}@media (max-width:768px){.bookings-grid{gap:16px;grid-template-columns:1fr}}.booking-filters{display:flex;gap:8px;overflow-x:auto;padding:4px 0;scrollbar-width:none}.booking-filters::-webkit-scrollbar{display:none}.filter-btn{background:var(--bg2);border:1px solid var(--border);border-radius:12px;color:var(--text3);cursor:pointer;flex-shrink:0;font-size:13px;font-weight:700;padding:10px 18px;transition:all .25s ease;white-space:nowrap}.filter-btn:hover{background:var(--surface2);border-color:#f5d27a20;border-color:var(--salon-gold-dim)}.filter-btn.active{background:linear-gradient(135deg,#e8b84b,#3b82f6);background:linear-gradient(135deg,var(--salon-gold),var(--salon-blue));box-shadow:0 6px 20px #e8b84b4d;color:#fff}.hero-stats{align-items:center;display:flex;gap:24px}@media (max-width:480px){.hero-stats{align-items:stretch;flex-direction:column;gap:16px}}.qm-page{display:flex;flex-direction:column;gap:20px}.qm-context-bar{align-items:flex-end;display:flex;gap:12px;justify-content:space-between;padding:6px 2px 2px}.qm-context-kicker{color:var(--accent);font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase}.qm-context-title{color:var(--text);font-family:var(--font-display);font-size:clamp(24px,3vw,32px);font-weight:800;letter-spacing:-.5px;line-height:1.1;margin:4px 0 0}.qm-context-date{background:#ffffff0a;border:1px solid var(--border);border-radius:999px;color:var(--text2);font-size:12px;font-weight:700;padding:8px 12px}.qm-tabs-shell{background:linear-gradient(145deg,#ffffff14,#ffffff05),var(--surface);border:1px solid var(--border2);border-radius:16px;box-shadow:0 12px 30px #0000003d;padding:10px}.qm-tabs{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.qm-tab{background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;color:var(--text2);font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:.1px;padding:12px 16px;transition:all .2s ease;white-space:nowrap}.qm-tab:hover{background:#ffffff14;border-color:#fff3;color:var(--text);transform:translateY(-1px)}.qm-tab.is-active{background:linear-gradient(145deg,var(--accent),var(--accent2));border-color:#0000;box-shadow:0 8px 20px #e8b84b47;color:#0f1016}.qm-panel{animation:qmFadeIn .25s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(145deg,hsla(0,0%,100%,.075),hsla(0,0%,100%,.015)),var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 14px 34px #0000003d;display:flex;flex-direction:column;gap:18px;overflow:hidden;padding:24px;position:relative}.qm-panel:before{background:radial-gradient(circle,#e8b84b2e,#0000 62%);border-radius:999px;content:"";height:220px;pointer-events:none;position:absolute;right:-80px;top:-80px;width:220px}.qm-panel-narrow{max-width:760px}.qm-field-error{color:var(--alert);font-size:12px;margin-top:4px}.qm-panel-head{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding-bottom:16px}.qm-kicker{color:var(--accent);font-size:11px;font-weight:700;letter-spacing:1px;margin-bottom:6px;text-transform:uppercase}.qm-title{color:var(--text);font-family:var(--font-display);font-size:clamp(24px,3vw,30px);font-weight:800;letter-spacing:-.4px;line-height:1.18;margin:0}.qm-subtitle{color:var(--text2);font-size:14px;font-weight:500;margin-top:6px}.qm-summary-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.qm-summary-card{background:hsla(0,0%,100%,.035);border:1px solid var(--border);border-radius:14px;padding:16px;transition:transform .2s ease,border-color .2s ease,background .2s ease}.qm-summary-card:hover{background:#ffffff0d;border-color:#fff3;transform:translateY(-1px)}.qm-summary-value{color:var(--text);font-family:var(--font-num);font-size:28px;font-weight:800;line-height:1.1}.qm-summary-label{color:var(--text2);font-size:13px;font-weight:600;margin-top:6px}.qm-summary-card.tone-accent .qm-summary-value{color:var(--accent)}.qm-summary-card.tone-green .qm-summary-value{color:var(--green)}.qm-summary-card.tone-blue .qm-summary-value{color:var(--blue)}.qm-list{display:flex;flex-direction:column;gap:10px}.qm-queue-row{grid-gap:20px;align-items:center;background:#ffffff08;border:1px solid var(--border);border-radius:14px;display:grid;gap:20px;grid-template-columns:1fr minmax(140px,auto) auto;padding:14px 18px;position:relative;transition:all .2s ease}.qm-queue-row:before{background:#0000;border-radius:0 4px 4px 0;bottom:15%;content:"";left:0;position:absolute;top:15%;transition:background .3s ease;width:4px}.qm-queue-row:hover{background:#ffffff0d;border-color:#ffffff26;transform:translateY(-1px)}.qm-queue-row.is-serving{background:var(--green-dim);border-color:#10b98159}.qm-queue-row.is-serving:before{background:#10b981;box-shadow:0 0 12px #10b98199}.qm-queue-row.is-completed{opacity:.85}.qm-queue-row.is-cancelled,.qm-queue-row.is-rejected{background:#ef444405;border-color:#ef444433}.qm-queue-index{background:#e8b84b24;border:1px solid #e8b84b47;border-radius:12px;color:var(--accent);display:grid;font-family:var(--font-num);font-size:15px;font-weight:800;height:42px;place-items:center;width:42px}.qm-queue-index.is-done{background:#10b98129;border-color:#10b98152;color:var(--green);font-size:11px;letter-spacing:.4px;min-width:58px;padding:0 8px;text-transform:uppercase;width:auto}.qm-queue-body{display:flex;flex-direction:column;gap:8px;min-width:0}.qm-queue-top{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.qm-queue-name{color:var(--text);font-size:16px;font-weight:700}.qm-chip{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:11px;font-weight:700;justify-content:center;letter-spacing:.2px;padding:3px 9px}.qm-chip-walkin{background:#3b82f61f;border-color:#3b82f640;color:var(--blue)}.qm-chip-token{background:#ffffff14;border-color:#fff3;color:var(--text2)}.qm-chip-good{background:#10b98129;border-color:#10b9814d;color:var(--green)}.qm-chip-wait{background:#e8b84b24;border-color:#e8b84b42;color:var(--accent)}.qm-chip-bad{background:#ef44441f;border-color:#ef444440;color:#ef4444}.qm-queue-meta,.qm-queue-submeta{color:var(--text2);display:flex;flex-wrap:wrap;font-size:13px;gap:10px}.qm-queue-submeta{color:var(--text3);font-size:12px}.qm-queue-meta span,.qm-queue-submeta span{position:relative}.qm-queue-meta span:not(:first-child):before,.qm-queue-submeta span:not(:first-child):before{background:currentColor;border-radius:50%;content:"";height:3px;left:-6px;margin-top:-1.5px;opacity:.5;position:absolute;top:50%;width:3px}.qm-queue-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.qm-queue-actions .btn{min-width:92px;overflow:hidden;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.qm-queue-actions .btn:active{filter:brightness(1.1);transform:scale(.95)}.btn-done{background:var(--green)!important}.btn-bad,.btn-done{border:none!important;color:#fff!important;font-size:11px;font-weight:700;text-transform:uppercase}.btn-bad{background:#ef4444!important}.btn-outline{background:#0000!important;color:var(--text)!important;font-size:11px;font-weight:700;text-transform:uppercase}.btn-outline,.qm-appt-modal{border:1px solid var(--border)!important}.qm-appt-modal{background:var(--bg2)!important;box-shadow:var(--shadow-xl)!important;max-width:500px!important}.qm-modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:16px}.qm-appt-details-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:30px}.qm-appt-full{grid-column:span 2}.qm-appt-item{background:#ffffff08;border:1px solid #ffffff0f;border-radius:14px;padding:14px;transition:all .2s ease}.qm-appt-item:hover{background:#ffffff0d;border-color:#ffffff1f;transform:translateY(-2px)}.qm-appt-item label{color:var(--text3);display:block;font-size:10px;font-weight:700;letter-spacing:1.5px;margin-bottom:6px;text-transform:uppercase}.qm-appt-val{color:var(--text);font-size:16px;font-weight:700;letter-spacing:-.2px}.qm-appt-reschedule-form{background:#00000026;border:1px solid var(--border);border-radius:16px;grid-column:span 2;margin-top:8px;padding:20px}.qm-modal-actions{align-items:center;border-top:1px solid var(--border);display:flex;gap:12px;justify-content:flex-end;margin-top:10px;padding-top:24px}.qm-modal-actions .btn{border-radius:12px;font-weight:700;height:44px;letter-spacing:.5px;min-width:110px}.qm-empty{align-items:center;background:#ffffff03;border:1px dashed #ffffff1a;border-radius:24px;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:60px 40px;text-align:center}.qm-empty-icon{filter:grayscale(1);font-size:48px;margin-bottom:8px;opacity:.5}.qm-empty-title{color:var(--text);font-family:var(--font-display);font-size:20px;font-weight:800;letter-spacing:-.2px}.qm-empty-sub{color:var(--text3);font-size:14px;line-height:1.5;max-width:320px}.qm-completed-wrap{display:flex;flex-direction:column;gap:10px}.qm-block-label{color:var(--text3);font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.qm-card{background:hsla(0,0%,100%,.028);border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;gap:14px;padding:18px}.qm-card-highlight{background:linear-gradient(145deg,#e8b84b24,#e8b84b0a);border-color:#e8b84b3d}.qm-card-title{color:var(--text);font-family:var(--font-display);font-size:18px;font-weight:700}.qm-detail-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.qm-service-list{display:flex;flex-direction:column;gap:10px}.qm-service-row{grid-gap:10px;align-items:center;background:#ffffff05;border:1px solid var(--border);border-radius:12px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) 94px auto auto;padding:10px}.qm-service-name{color:var(--text);font-size:14px;font-weight:600}.qm-duration-input{width:94px}.qm-duration-input .field-input{text-align:center}.qm-service-unit{color:var(--text3);font-size:12px}.qm-service-toggle{align-items:center;color:var(--text2);display:inline-flex;font-size:12px;font-weight:600;gap:7px}.qm-max-field{max-width:220px}.qm-field-note{color:var(--text2);font-size:13px;margin-top:2px}.qm-limit-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.qm-limit-metric{background:#00000024;border:1px solid #ffffff29;border-radius:12px;padding:12px}.qm-limit-value{color:var(--text);font-family:var(--font-num);font-size:28px;font-weight:800;line-height:1}.qm-limit-value.is-good{color:var(--green)}.qm-limit-label{color:var(--text2);font-size:12px;font-weight:600;margin-top:6px}.qm-card-stack{display:flex;flex-direction:column;gap:12px}.qm-reminder-card{gap:12px}.qm-reminder-head{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.qm-reminder-toggle{align-items:center;background:#ffffff0a;border:1px solid var(--border);border-radius:999px;color:var(--text2);display:inline-flex;font-size:12px;font-weight:700;gap:8px;padding:6px 10px 6px 8px}.qm-reminder-toggle-input{opacity:0;pointer-events:none;position:absolute}.qm-reminder-switch{align-items:center;background:#ffffff1f;border:1px solid #ffffff3d;border-radius:999px;display:inline-flex;height:20px;padding:2px;transition:all .2s ease;width:34px}.qm-reminder-switch>span{background:#fff;border-radius:50%;height:14px;transition:transform .2s ease;width:14px}.qm-reminder-switch.is-on{background:#10b98147;border-color:#10b98173}.qm-reminder-switch.is-on>span{transform:translateX(14px)}.qm-reminder-toggle-text{color:var(--text);min-width:56px;text-align:left}.qm-reminder-list{display:flex;flex-direction:column;gap:8px}.qm-reminder-item{background:#ffffff08;border:1px solid #ffffff2e;border-radius:10px;display:flex;flex-direction:column;gap:4px;padding:10px 12px}.qm-reminder-primary{color:var(--text);font-size:13px;font-weight:700}.qm-reminder-primary,.qm-reminder-secondary{align-items:center;display:flex;gap:10px;justify-content:space-between}.qm-reminder-secondary{color:var(--text2);flex-wrap:wrap;font-size:12px}.qm-inline-meta{color:var(--text3);font-size:11px}.qm-note,.qm-note-muted{background:#ffffff0a;border:1px solid #ffffff29;border-radius:10px;color:var(--text2);font-size:13px;padding:12px 14px}.qm-note-muted{background:#00000024}.qm-form{display:flex;flex-direction:column;gap:12px}.qm-service-chip-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.qm-service-chip{background:#ffffff0a;border:1px solid var(--border);border-radius:999px;color:var(--text2);font-size:13px;font-weight:600;padding:8px 12px;transition:all .2s ease}.qm-service-chip:hover{border-color:#e8b84b59;color:var(--text)}.qm-service-chip.is-selected{background:#e8b84b29;border-color:#e8b84b59;color:var(--accent)}.qm-total-band{background:#e8b84b24;border:1px solid #e8b84b47;border-radius:12px;color:var(--text);font-size:13px;font-weight:600;padding:10px 12px}.qm-form-actions{align-items:center;display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.qm-modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000bd;display:grid;inset:0;padding:16px;place-items:center;position:fixed;z-index:9500}.qm-modal{background:linear-gradient(145deg,#ffffff1a,#ffffff05),var(--bg2);border:1px solid var(--border2);border-radius:20px;box-shadow:var(--shadow-xl);padding:20px;width:min(100%,560px)}.qm-modal-title{color:var(--text);font-family:var(--font-display);font-size:22px;font-weight:800;margin-bottom:14px}@keyframes qmFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.cal-wrapper{animation:qmFadeIn .6s cubic-bezier(.2,.8,.2,1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1c1e2acc;border:1px solid #ffffff14;border-radius:24px;box-shadow:0 40px 100px #00000080;display:flex;flex-direction:column;gap:24px;overflow:hidden;padding:24px;position:relative}.cal-wrapper:after{background:radial-gradient(circle,#e8b84b0d,#0000 70%);content:"";height:300px;pointer-events:none;position:absolute;right:-10%;top:-20%;width:300px}.cal-top-toolbar{align-items:center;border-bottom:1px solid #ffffff0d;display:flex;gap:20px;justify-content:space-between;padding-bottom:20px}.cal-toolbar-left{display:flex;flex:1 1;justify-content:flex-start}.cal-toolbar-center{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:6px;justify-content:center;text-align:center}.cal-toolbar-right{display:flex;flex:1 1;justify-content:flex-end}.cal-navigation-group{align-items:center;background:#0003;border:1px solid #ffffff1a;border-radius:14px;display:inline-flex;padding:4px}.cal-nav-btn{align-items:center;background:#0000;border:none;border-radius:10px;color:var(--text3);cursor:pointer;display:flex;font-size:18px;height:34px;justify-content:center;transition:all .2s;width:34px}.cal-nav-btn:hover{background:#ffffff0d;color:var(--accent)}.cal-today-pill{background:#ffffff08;border:1px solid #ffffff0d;border-radius:8px;color:var(--text);cursor:pointer;font-size:12px;font-weight:700;height:30px;margin:0 4px;padding:0 14px;transition:all .2s}.cal-today-pill:hover{background:#e8b84b1a;border-color:var(--accent-dim);color:var(--accent)}.cal-current-date{color:var(--text);font-family:var(--font-display);font-size:22px;font-weight:800;letter-spacing:-.5px;margin:0;text-align:center;white-space:nowrap}.cal-view-selector{background:var(--bg);border:1px solid var(--border2);border-radius:18px;display:inline-flex;padding:6px}.cal-view-btn{background:#0000;border:none;border-radius:14px;color:var(--text3);cursor:pointer;font-size:13px;font-weight:700;padding:8px 20px;transition:all .4s cubic-bezier(.2,.8,.2,1)}.cal-view-btn.active{background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 8px 20px #e8b84b66;color:#000}.cal-booking-count{background:#e8b84b1a;border:1px solid #e8b84b38;border-radius:999px;color:var(--accent);display:inline-block;font-size:12px;font-weight:700;letter-spacing:.3px;padding:4px 14px;text-align:center}.cal-empty-state{align-items:center;animation:qmFadeIn .35s ease;background:hsla(0,0%,100%,.015);border:1.5px dashed #ffffff14;border-radius:20px;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:72px 24px;text-align:center}.cal-empty-icon{filter:grayscale(.3);font-size:52px;line-height:1;opacity:.45}.cal-empty-title{color:var(--text2);font-family:var(--font-display);font-size:20px;font-weight:800;letter-spacing:-.2px}.cal-empty-sub{color:var(--text3);font-size:14px;line-height:1.5;max-width:300px}.cal-booked-list{animation:qmFadeIn .3s ease;display:flex;flex-direction:column;gap:10px}.cal-booked-card{grid-gap:16px;align-items:center;background:linear-gradient(145deg,#ffffff0a,#ffffff03);border:1px solid #ffffff14;border-left:3px solid var(--status-color,var(--accent));border-radius:16px;cursor:pointer;display:grid;gap:16px;grid-template-columns:80px 1fr 28px;overflow:hidden;padding:16px 20px;position:relative;transition:all .25s cubic-bezier(.2,.8,.2,1)}.cal-booked-card:before{background:radial-gradient(ellipse at left center,#e8b84b0a,#0000 70%);content:"";inset:0;pointer-events:none;position:absolute}.cal-booked-card:hover{background:linear-gradient(145deg,#ffffff12,hsla(0,0%,100%,.025));border-color:#ffffff26;box-shadow:0 8px 24px #0000004d;transform:translateY(-2px) translateX(2px)}.cal-booked-time-col{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.cal-booked-time{color:var(--text);font-family:var(--font-num);font-size:14px;font-weight:800;white-space:nowrap}.cal-booked-status-dot{animation:pulseDot 2.4s ease-in-out infinite;background:var(--accent);background:var(--status-color,var(--accent));border-radius:50%;box-shadow:0 0 8px var(--accent);box-shadow:0 0 8px var(--status-color,var(--accent));height:8px;width:8px}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.7)}}.cal-booked-body{display:flex;flex-direction:column;gap:6px;min-width:0}.cal-booked-name{align-items:center;color:var(--text);display:flex;font-size:15px;font-weight:800;gap:10px;letter-spacing:-.2px}.cal-booked-avatar{align-items:center;background:linear-gradient(135deg,var(--accent),var(--accent2));border-radius:10px;color:#111;display:flex;flex-shrink:0;font-size:14px;font-weight:900;height:32px;justify-content:center;width:32px}.cal-booked-service{color:var(--text2);font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-booked-meta{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.cal-booked-status-badge{border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.4px;padding:2px 8px;text-transform:uppercase}.cal-booked-phone{color:var(--text3);font-size:12px;font-weight:600}.cal-booked-arrow{color:var(--text3);font-size:20px;line-height:1;transition:all .2s ease}.cal-booked-card:hover .cal-booked-arrow{color:var(--accent);transform:translateX(3px)}.cal-week-scroll{background:var(--surface);border:1px solid var(--border);border-radius:16px;max-height:620px;overflow-x:auto;overflow-y:auto}.cal-week-grid{display:grid;grid-template-columns:80px repeat(7,minmax(100px,1fr));min-width:700px}.cal-week-grid--booked{min-width:640px}.cal-week-corner{left:0;z-index:30}.cal-week-corner,.cal-week-head{background:var(--surface2);border-bottom:1px solid var(--border);border-right:1px solid #ffffff0a;position:-webkit-sticky;position:sticky;top:0}.cal-week-head{padding:14px 10px;text-align:center;transition:background .2s;z-index:20}.cal-week-head.is-today{background:#e8b84b0f}.cal-week-day{color:var(--text3);font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}.cal-week-date{color:var(--text);font-size:20px;font-weight:800;margin-top:2px}.cal-week-head.is-today .cal-week-date{color:var(--accent)}.cal-week-time{align-items:center;background:var(--bg);color:var(--text3);font-size:11px;font-weight:700;justify-content:flex-end;left:0;padding:10px;position:-webkit-sticky;position:sticky;text-align:right;white-space:nowrap;z-index:10}.cal-week-cell,.cal-week-time{border-bottom:1px solid #ffffff0a;border-right:1px solid #ffffff0a;display:flex}.cal-week-cell{align-items:stretch;justify-content:center;min-height:58px;padding:6px;transition:background .2s}.cal-week-cell.is-booked{background:#e8b84b0a}.cal-week-cell.is-empty-week{background:#0000}.cal-week-pill{background:linear-gradient(135deg,#e8b84b1f,#e8b84b0d);border:1px solid #e8b84b47;border-left:3px solid var(--status-color,var(--accent));border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:3px;overflow:hidden;padding:7px 8px;transition:all .2s ease;width:100%}.cal-week-pill:hover{background:#e8b84b2e;box-shadow:0 4px 12px #e8b84b26;transform:translateY(-1px)}.cal-week-pill-name{color:var(--text);font-size:11px;font-weight:800}.cal-week-pill-name,.cal-week-pill-svc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-week-pill-svc{color:var(--accent);font-size:10px;font-weight:600;opacity:.85}.cal-month-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(7,1fr)}.cal-month-head{color:var(--text4);font-size:11px;font-weight:800;letter-spacing:2px;padding:12px;text-align:center;text-transform:uppercase}.cal-month-day{background:linear-gradient(165deg,#ffffff08,#ffffff03);border:1px solid var(--border);border-radius:16px;box-shadow:0 2px 8px #00000026;display:flex;flex-direction:column;gap:8px;min-height:130px;overflow:hidden;padding:12px;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1)}.cal-month-day:hover{background:#ffffff0d;border-color:var(--accent-dim);box-shadow:0 10px 24px #00000059,0 0 12px #e8b84b0d;transform:translateY(-3px);z-index:10}.cal-month-day.is-dim{opacity:.18}.cal-month-day.is-today{background:#e8b84b12;border:1px solid var(--accent);box-shadow:0 0 20px #e8b84b1f,inset 0 0 10px #e8b84b0a}.cal-month-today-badge{background:var(--accent);border-radius:4px;color:#000;font-size:9px;font-weight:900;letter-spacing:.5px;line-height:1.2;padding:2px 6px}.cal-month-day-header{align-items:flex-start;display:flex;justify-content:space-between}.cal-month-num{color:var(--text2);font-family:var(--font-num);font-size:15px;font-weight:800}.cal-month-badge{align-items:center;background:var(--accent);border-radius:5px;color:#000;display:flex;font-size:10px;font-weight:800;height:18px;justify-content:center;min-width:18px;padding:0 3px}.cal-month-appts{display:flex;flex-direction:column;gap:4px}.cal-month-mini-pill{background:#ffffff0a;border-left:2px solid var(--status-color,var(--accent));border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:1px;overflow:hidden;padding:5px 8px;transition:all .18s ease}.cal-month-mini-pill:hover{background:#e8b84b1a;transform:translateX(2px)}.cal-month-pill-time{color:var(--accent);color:var(--status-color,var(--accent));font-size:9px;font-weight:800;letter-spacing:.3px;opacity:.85;text-transform:uppercase}.cal-month-pill-name{color:var(--text);font-size:11px;font-weight:800}.cal-month-pill-name,.cal-month-pill-svc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-month-pill-svc{color:var(--text3);font-size:9.5px;font-weight:600;line-height:1.2}.cal-month-more{color:var(--text3);font-size:10px;font-weight:700;padding-top:2px;text-align:center}@media (max-width:768px){.cal-top-toolbar{flex-direction:column;gap:16px;justify-content:center}.cal-toolbar-center,.cal-toolbar-left,.cal-toolbar-right{align-items:center;flex:none;justify-content:center;width:100%}.cal-toolbar-center{margin-bottom:8px;order:-1}.cal-current-date{font-size:22px;white-space:nowrap}.cal-month-day{border-radius:12px;gap:6px;min-height:90px;padding:8px}.cal-month-num{font-size:13px}.cal-booked-card{gap:12px;grid-template-columns:64px 1fr 20px;padding:12px 14px}.cal-booked-time{font-size:12px}.cal-booked-avatar{border-radius:8px;font-size:12px;height:26px;width:26px}}@media (max-width:900px){.qm-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.qm-context-bar{align-items:flex-start;flex-direction:column;gap:8px}.qm-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.qm-queue-row{grid-template-columns:1fr auto}.qm-queue-timer{align-items:flex-start!important;grid-column:1/-1;margin:4px 0 8px}.qm-queue-actions{grid-column:1/-1;justify-content:flex-start;padding-left:56px}.qm-detail-grid,.qm-limit-grid{grid-template-columns:1fr}.qm-reminder-head{align-items:flex-start;flex-direction:column}}@media (max-width:640px){.qm-tabs{grid-template-columns:1fr}.qm-tab{white-space:normal}.cal-wrapper,.qm-panel{border-radius:16px;padding:16px}.qm-service-row,.qm-summary-grid{grid-template-columns:1fr}.qm-service-row{align-items:stretch}.qm-service-toggle{justify-content:flex-start}.qm-queue-actions{padding-left:0}.qm-form-actions{justify-content:stretch}.qm-form-actions .btn{flex:1 1}}