body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body{background:#f0f4f8;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.main-layout{display:flex;flex-direction:column;min-height:100vh}.main-header{background:linear-gradient(135deg,#030a54,#190561 50%,#070c69);border-bottom:2px solid #ffffff0d;box-shadow:0 4px 20px #0a16284d;height:68px;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:1001}.header-left,.main-header{align-items:center;display:flex}.logo{font-size:22px}.main-nav{align-items:center;display:flex;flex:1 1;gap:4px;justify-content:center}.nav-item{border-radius:10px;color:#fff9;display:flex;font-size:14px;font-weight:500;gap:10px;padding:10px 20px;transition:all .3s ease}.nav-item:hover{background:#ffffff14;color:#fff;transform:translateY(-1px)}.nav-item.active{background:#ffffff1f;box-shadow:0 2px 10px #0000001a}.nav-item.active:after{background:linear-gradient(90deg,#4facfe,#00f2fe);border-radius:4px;bottom:0;box-shadow:0 0 10px #4facfe80;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60%}.nav-item svg{font-size:18px}.nav-item span{white-space:nowrap}.header-right{align-items:center;display:flex;gap:16px}.user-avatar{font-size:16px}.header-btn{align-items:center;background:#ffffff0f;border:1px solid #ffffff0f;border-radius:50%;color:#fff9;cursor:pointer;display:flex;font-size:18px;height:42px;justify-content:center;transition:all .3s ease;width:42px}.header-btn:hover{background:#ffffff26;color:#fff;transform:scale(1.05)}.logout-btn:hover{background:#ef444433;border-color:#ef44444d;color:#ef4444}.sub-menu{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000a;display:flex;height:48px;overflow-x:auto;padding:0 32px;position:sticky;top:68px;z-index:1000}.sub-menu-container{padding:4px 0;scroll-behavior:smooth}.sub-menu-container::-webkit-scrollbar{height:2px}.sub-menu-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.sub-menu-item{padding:6px 18px;position:relative;transition:all .3s ease}.sub-menu-item:hover{color:#1a2a4a}.sub-menu-item.active{background:#eef2ff;color:#1a2a4a;font-weight:600}.sub-menu-item.active:after{background:linear-gradient(90deg,#4facfe,#00f2fe);border-radius:4px;bottom:0;content:"";height:2px;left:20%;position:absolute;width:60%}.quick-access{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000a;display:flex;min-height:50px;overflow:hidden;padding:4px 24px;position:sticky;top:116px;transition:all .3s ease;z-index:999}.quick-access.collapsed{min-height:38px;padding:2px 24px}.quick-access.collapsed .quick-access-btn{margin:0;opacity:0;padding:0;pointer-events:none;transform:scale(.8);width:0}.quick-access-container{align-items:center;display:flex;flex-wrap:nowrap;gap:4px;margin:0 auto;max-width:1400px;overflow-x:auto;padding:4px 0;scroll-behavior:smooth;width:100%}.quick-access-container::-webkit-scrollbar{height:2px}.quick-access-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.quick-access-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:36px;justify-content:center;min-width:36px;padding:0 6px;position:relative;transition:all .3s ease}.quick-access-btn:hover{background:#f1f5f9;color:#1a2a4a;transform:translateY(-2px)}.quick-access-btn:after{background:#0a1628;border-radius:6px;bottom:calc(100% + 8px);color:#fff;content:attr(title);font-size:11px;font-weight:500;left:50%;opacity:0;padding:4px 10px;pointer-events:none;position:absolute;transform:translateX(-50%) scale(.8);transition:all .3s ease;white-space:nowrap}.quick-access-btn:hover:after{opacity:1;transform:translateX(-50%) scale(1)}.quick-access-toggle{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;font-size:12px;height:28px;justify-content:center;margin-left:8px;min-width:28px;transition:all .3s ease}.quick-access-toggle:hover{background:#f1f5f9;color:#1a2a4a}.main-content{background:#f0f4f8;flex:1 1;min-height:calc(100vh - 226px);overflow-y:auto;padding:28px}.main-footer{align-items:center;background:#0a1628;border-top:1px solid #ffffff0a;color:#94a3b8;display:flex;min-height:56px;padding:10px 32px}.footer-content{gap:12px;margin:0 auto;max-width:1400px;width:100%}.footer-left{color:#fff6;font-size:13px}.footer-center{align-items:center;display:flex}.footer-quick-access{display:flex;flex-wrap:wrap;gap:4px}.footer-quick-btn{align-items:center;background:#0000;border:1px solid #ffffff0f;border-radius:6px;color:#ffffff4d;cursor:pointer;display:flex;font-size:13px;height:30px;justify-content:center;transition:all .3s ease;width:30px}.footer-quick-btn:hover{background:#ffffff0f;border-color:#ffffff26;color:#fff}.social-icons{font-size:18px;gap:14px}.social-icons svg{color:#ffffff40;transition:all .3s ease}.social-icons svg:hover{color:#4facfe;transform:translateY(-2px)}@media (max-width:1024px){.main-nav .nav-item span{display:none}.main-nav .nav-item{padding:10px 14px}.main-nav .nav-item svg{font-size:20px}.quick-access-btn{font-size:14px;height:32px;min-width:32px}}@media (max-width:768px){.main-header{height:56px;padding:0 16px}.logo span{font-size:16px}.logo svg{font-size:24px}.user-name{display:none}.user-info{padding:4px 8px 4px 4px}.user-avatar{font-size:13px;height:30px;width:30px}.header-btn{font-size:16px;height:36px;width:36px}.sub-menu{height:42px;padding:0 16px;top:56px}.sub-menu-item{font-size:12px;padding:4px 14px}.quick-access{min-height:44px;padding:4px 12px;top:98px}.quick-access.collapsed{min-height:34px}.quick-access-btn{font-size:13px;height:28px;min-width:28px}.quick-access-btn:after{display:none}.quick-access-toggle{font-size:10px;height:24px;min-width:24px}.main-content{min-height:calc(100vh - 192px);padding:16px}.footer-content{flex-direction:column;gap:8px;padding:8px 0;text-align:center}.footer-quick-access{justify-content:center}.footer-quick-btn{font-size:12px;height:26px;width:26px}.main-footer{min-height:50px;padding:8px 16px}}@media (max-width:480px){.main-header{height:50px;padding:0 10px}.logo span{font-size:14px}.logo{gap:8px}.logo svg{font-size:20px}.main-nav .nav-item{padding:6px 8px}.main-nav .nav-item svg{font-size:16px}.header-right{gap:6px}.user-avatar{font-size:11px;height:26px;width:26px}.header-btn{font-size:14px;height:30px;width:30px}.sub-menu{height:38px;padding:0 10px;top:50px}.sub-menu-item{font-size:11px;padding:4px 10px}.quick-access{min-height:38px;padding:2px 8px;top:88px}.quick-access.collapsed{min-height:30px}.quick-access-btn{font-size:11px;height:24px;min-width:24px;padding:0 2px}.quick-access-toggle{font-size:9px;height:20px;margin-left:4px;min-width:20px}.main-content{min-height:calc(100vh - 172px);padding:12px}.footer-quick-btn{font-size:10px;height:22px;width:22px}.social-icons{font-size:16px;gap:10px}.footer-left{font-size:11px}.main-footer{min-height:46px;padding:6px 10px}}@media (max-width:360px){.main-nav .nav-item{padding:4px 6px}.main-nav .nav-item svg{font-size:14px}.sub-menu-item{font-size:10px;padding:3px 8px}.quick-access-btn{font-size:10px;height:20px;min-width:20px}.quick-access-container{gap:2px}}@media (prefers-color-scheme:dark){.main-content{background:#0f1420}}.logo{color:#fff;font-size:20px;font-weight:700;gap:12px;padding:8px 0;text-decoration:none}.logo,.logo-image{align-items:center;display:flex}.logo-image{background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000026;height:42px;justify-content:center;overflow:hidden;padding:4px;width:42px}.logo-image img{border-radius:6px;height:100%;object-fit:contain;width:100%}.logo span{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#93b4e8);-webkit-background-clip:text;letter-spacing:-.5px}.user-info{background:#ffffff0f;border:1px solid #ffffff0f;border-radius:30px;gap:12px;padding:6px 12px 6px 6px}.user-name{color:#fffc;font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis}.user-avatar{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#0a1628;font-weight:700;height:36px;width:36px}.user-avatar img{border-radius:50%}@media (max-width:768px){.logo-image{height:36px;width:36px}.logo span{font-size:16px}.user-avatar{font-size:12px;height:30px;width:30px}}@media (max-width:480px){.logo-image{height:32px;padding:3px;width:32px}.logo span{font-size:14px}.user-avatar{font-size:11px;height:26px;width:26px}}.nav-item,.nav-item-wrapper{display:inline-flex;position:relative}.nav-item{align-items:center;background:#0000;border:none;border-radius:8px;color:#475569;cursor:pointer;font-size:13px;font-weight:600;gap:8px;padding:10px 16px;transition:all .2s ease;white-space:nowrap}.nav-item svg:first-child{font-size:15px}.nav-item:hover{background:#f1f5f9;color:#1e293b}.nav-item.active{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 8px #3b82f64d;color:#fff}.nav-item.open{background:#eff6ff;color:#2563eb}.nav-item.has-dropdown .dropdown-arrow{font-size:10px;margin-left:4px;opacity:.7;transition:transform .2s ease}.nav-item .dropdown-arrow.rotated{transform:rotate(180deg)}.dropdown-menu{animation:dropdownFadeIn .15s ease;background:#fff;border-radius:14px;box-shadow:0 10px 40px #0f172a26,0 0 0 1px #0f172a0d;left:0;min-width:280px;overflow:hidden;padding:8px;position:absolute;top:calc(100% + 8px);z-index:1000}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-menu:before{background:#fff;border-top-left-radius:3px;box-shadow:-2px -2px 4px #0f172a0d;content:"";height:12px;left:24px;position:absolute;top:-6px;transform:rotate(45deg);width:12px}.dropdown-header{align-items:center;border-bottom:1px solid #f1f5f9;color:#94a3b8;display:flex;font-size:10px;font-weight:800;letter-spacing:.8px;margin-bottom:4px;padding:8px 12px;text-transform:uppercase}.dropdown-items{display:flex;flex-direction:column;gap:2px}.dropdown-item{align-items:center;background:#0000;border:none;border-radius:10px;cursor:pointer;display:flex;gap:12px;padding:10px 12px;position:relative;text-align:left;transition:all .15s ease;width:100%}.dropdown-item:hover{background:#f8fafc}.dropdown-item.active{background:linear-gradient(135deg,#eff6ff,#dbeafe)}.dropdown-item-icon{align-items:center;background:#f1f5f9;border-radius:10px;color:#475569;display:flex;flex-shrink:0;font-size:15px;height:36px;justify-content:center;transition:all .15s ease;width:36px}.dropdown-item:hover .dropdown-item-icon{background:#3b82f6;color:#fff;transform:scale(1.05)}.dropdown-item.active .dropdown-item-icon{background:#3b82f6;box-shadow:0 2px 8px #3b82f64d;color:#fff}.dropdown-item-content{display:flex;flex:1 1;flex-direction:column;gap:1px;min-width:0}.dropdown-item-label{color:#1e293b;font-size:13px;font-weight:600;line-height:1.2}.dropdown-item-desc{color:#94a3b8;font-size:11px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-item.active .dropdown-item-label{color:#1e40af}.dropdown-item-dot{background:#3b82f6;border-radius:50%;box-shadow:0 0 0 3px #3b82f633;flex-shrink:0;height:6px;width:6px}.sub-menu-item{background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;font-size:13px;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s ease;white-space:nowrap}.sub-menu-icon,.sub-menu-item{align-items:center;display:inline-flex}.sub-menu-icon{color:#94a3b8;font-size:14px;transition:color .2s ease}.sub-menu-item:hover{background:#f1f5f9;color:#1e293b}.sub-menu-item:hover .sub-menu-icon{color:#3b82f6}.sub-menu-item.active{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 8px #3b82f640;color:#fff}.sub-menu-item.active .sub-menu-icon{color:#fff}.sub-menu-container{display:flex;gap:4px;overflow-x:auto;padding:6px 12px;scrollbar-width:thin}@media (max-width:900px){.nav-item span{display:none}.nav-item{padding:10px 12px}.nav-item .dropdown-arrow{display:none}.dropdown-menu{min-width:240px}}@media (max-width:640px){.dropdown-menu{left:10px;min-width:auto;position:fixed;right:10px;top:60px}.dropdown-menu:before{display:none}}.user-info{align-items:center;border-radius:12px;display:flex;gap:10px;padding:6px 12px;transition:background .2s ease}.user-info:hover{background:#f1f5f9}.user-details{align-items:flex-end;display:flex;flex-direction:column;gap:2px;text-align:right}.user-name{color:#1e293b;font-size:13px;white-space:nowrap}.user-name,.user-role{font-weight:700;line-height:1.1}.user-role{color:#64748b;font-size:10px;letter-spacing:.4px;text-transform:uppercase}.user-avatar{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:50%;box-shadow:0 2px 6px #3b82f640;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:800;height:38px;justify-content:center;overflow:hidden;width:38px}.user-avatar img{height:100%;object-fit:cover;width:100%}.main-footer{background:#f8fafc;border-top:1px solid #e2e8f0;padding:12px 24px}.footer-content{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.footer-left{color:#64748b;font-size:12px;font-weight:500}.footer-right{gap:16px}.footer-right,.social-icons{align-items:center;display:flex}.social-icons{color:#94a3b8;gap:12px}.social-icons svg{cursor:pointer;font-size:16px;transition:all .15s ease}.social-icons svg:hover{color:#3b82f6;transform:scale(1.15)}.footer-quick-access,.footer-quick-btn,.quick-access,.quick-access-btn,.quick-access-container,.quick-access-toggle{display:none!important}@media (max-width:768px){.user-details{display:none}.footer-content{flex-direction:column;gap:10px}}.dashboard-container{animation:fadeInUp .4s ease-out;margin:0 auto;max-width:1400px}.dashboard-error,.dashboard-loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:400px}.dashboard-loading .spinner{animation:spin 1s linear infinite;color:#1a2a4a;font-size:48px}.dashboard-error .error-icon{color:#ef4444;font-size:48px}.dashboard-error p{color:#64748b;font-size:16px}.retry-btn{background:linear-gradient(135deg,#1a2a4a,#1e3a6f)}.retry-btn:hover{box-shadow:0 4px 12px #1a2a4a4d;transform:translateY(-2px)}.dashboard-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:28px}.dashboard-header h1{color:#0a1628;font-size:28px;font-weight:700}.dashboard-header p{color:#64748b;font-size:14px;margin-top:4px}.header-actions{gap:12px}.btn-refresh{color:#1a2a4a;font-size:14px;padding:8px 20px;transition:all .3s ease}.btn-refresh:hover{background:#f1f5f9;border-color:#94a3b8}.stat-icon{flex-shrink:0;font-size:24px}.stat-icon.blue{background:#dbeafe;color:#2563eb}.stat-icon.purple{background:#ede9fe;color:#7c3aed}.stat-icon.green{background:#d1fae5;color:#059669}.stat-icon.red{background:#fee2e2;color:#dc2626}.stat-icon.gold{background:#fef3c7;color:#d97706}.stat-icon.teal{background:#ccfbf1;color:#0d9488}.stat-info{flex:1 1;min-width:0}.stat-change{align-items:center;display:inline-flex;font-size:12px;font-weight:600;gap:4px;margin-top:4px}.stat-change.positive{color:#059669}.stat-change.negative{color:#dc2626}.dashboard-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:24px}.card.full-width{grid-column:1/-1}.status-list{display:flex;flex-direction:column;gap:12px}.status-item{gap:12px}.status-item,.status-label{align-items:center;display:flex}.status-label{color:#1e293b;font-size:14px;gap:8px;min-width:120px}.status-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.status-bar-container{background:#f1f5f9;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.status-bar{border-radius:4px;height:100%;transition:width 1s ease}.status-count{color:#1e293b;font-size:14px;font-weight:600;min-width:36px;text-align:right}.revenue-list{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.revenue-item{align-items:center;display:flex;gap:12px}.revenue-month{color:#475569;font-size:13px;min-width:100px}.revenue-bar-container{background:#f1f5f9;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.revenue-bar{background:linear-gradient(90deg,#1a2a4a,#4facfe);border-radius:4px;height:100%;transition:width 1s ease}.revenue-amount{color:#1e293b;font-size:13px;font-weight:500;min-width:80px;text-align:right}.revenue-total{border-top:1px solid #f1f5f9;color:#0a1628;font-size:16px;padding-top:12px;text-align:right}.rooms-top-list{display:flex;flex-direction:column;gap:12px}.room-top-item{align-items:center;background:#f8fafc;border-radius:12px;display:flex;gap:16px;padding:12px 16px;transition:all .3s ease}.room-top-item:hover{background:#f1f5f9;transform:translateX(4px)}.room-rank{align-items:center;background:linear-gradient(135deg,#1a2a4a,#1e3a6f);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:32px;justify-content:center;width:32px}.room-info{flex:1 1}.room-name{color:#0a1628;font-size:15px;font-weight:600}.room-meta{align-items:center;gap:12px;margin-top:2px}.room-status{color:#475569;font-size:12px}.room-status.disponible{color:#059669}.room-status.occupée{color:#dc2626}.room-status.maintenance{color:#d97706}.room-rating{color:#f59e0b;font-size:13px;gap:4px}.room-bookings,.room-rating{align-items:center;display:flex}.room-bookings{color:#64748b;font-size:14px;gap:6px}.room-bookings span{color:#1e293b;font-weight:500}@media (max-width:1024px){.dashboard-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.dashboard-header{align-items:stretch;flex-direction:column}.dashboard-header h1{font-size:24px}.stats-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.stat-card{padding:16px}.stat-number{font-size:20px}.status-label{font-size:13px;min-width:80px}.revenue-month{font-size:12px;min-width:70px}.revenue-amount{font-size:12px;min-width:60px}.room-top-item{flex-wrap:wrap;gap:8px}.room-bookings{margin-left:auto}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.dashboard-header h1{font-size:20px}.card{padding:16px}.stat-card{padding:14px}.stat-icon{font-size:20px;height:44px;width:44px}.stat-number{font-size:18px}.status-item{flex-wrap:wrap;gap:6px}.status-label{font-size:12px;min-width:100px}.revenue-item{flex-wrap:wrap;gap:6px}.revenue-month{font-size:12px;min-width:100px}.room-top-item{padding:10px 12px}.room-name{font-size:14px}.room-bookings{font-size:12px}.header-actions{width:100%}.btn-refresh{justify-content:center;width:100%}}.revenue-summary{gap:20px}.revenue-big,.revenue-summary{display:flex;flex-direction:column}.revenue-big{align-items:center;background:linear-gradient(135deg,#1a2a4a,#1e3a6f);border-radius:14px;color:#fff;padding:24px}.revenue-label{font-size:13px;margin-bottom:6px;opacity:.85}.revenue-value{font-size:28px;font-weight:700;letter-spacing:-.5px}.revenue-details{display:flex;flex-direction:column;gap:12px}.revenue-detail-item{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:10px 0}.revenue-detail-item:last-child{border-bottom:none}.detail-label{color:#64748b;font-size:13px}.detail-value{color:#0a1628;font-size:15px;font-weight:600}.detail-value.red{color:#ef4444}.kpi-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.kpi-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:14px;padding:16px;transition:all .3s ease}.kpi-item:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-2px)}.kpi-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;font-size:20px;height:46px;justify-content:center;width:46px}.kpi-icon.blue{background:#dbeafe;color:#2563eb}.kpi-icon.green{background:#d1fae5;color:#059669}.kpi-icon.purple{background:#ede9fe;color:#7c3aed}.kpi-icon.gold{background:#fef3c7;color:#d97706}.kpi-icon.teal{background:#ccfbf1;color:#0d9488}.kpi-icon.red{background:#fee2e2;color:#dc2626}.kpi-info{display:flex;flex-direction:column;gap:2px;min-width:0}.kpi-label{color:#64748b;font-size:12px;font-weight:500}.kpi-value{color:#0a1628;font-size:18px;font-weight:700}@media (max-width:768px){.revenue-value{font-size:22px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.kpi-value{font-size:16px}}@media (max-width:480px){.kpi-grid{grid-template-columns:1fr}.revenue-value{font-size:20px}.stat-number{font-size:18px}}.draggable-modal-backdrop{animation:dm-fadeIn .2s ease;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);background:#0f172a73;inset:0;position:fixed}@keyframes dm-fadeIn{0%{opacity:0}to{opacity:1}}.draggable-modal{animation:dm-slideUp .25s ease;background:#fff;border-radius:14px;box-shadow:0 20px 50px #00000040,0 0 0 1px #0000000d;color:#1e293b;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;max-height:95vh;max-width:95vw;overflow:hidden;position:fixed;transition:box-shadow .15s ease}.draggable-modal,.draggable-modal *,.draggable-modal :after,.draggable-modal :before{box-sizing:border-box}.draggable-modal.active{box-shadow:0 25px 60px #0000004d,0 0 0 2px #3b82f666}.draggable-modal.dragging{box-shadow:0 30px 70px #00000059,0 0 0 2px #3b82f680;cursor:grabbing;transition:none}@keyframes dm-slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.draggable-modal-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;cursor:move;display:flex;flex-shrink:0;justify-content:space-between;min-height:52px;padding:12px 16px;user-select:none;-webkit-user-select:none}.draggable-modal.dragging .draggable-modal-header{background:linear-gradient(135deg,#eff6ff,#dbeafe);cursor:grabbing}.draggable-modal-title{align-items:center;color:#1e293b;display:flex;flex:1 1;font-size:15px;font-weight:700;gap:10px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draggable-modal-title-icon{align-items:center;color:#3b82f6;display:flex;flex-shrink:0;font-size:16px}.draggable-modal-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draggable-modal-controls{display:flex;flex-shrink:0;gap:6px;margin-left:12px}.draggable-modal-btn{align-items:center;background:#ffffffe6;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;font-size:13px;font-weight:700;height:28px;justify-content:center;line-height:1;padding:0;transition:all .15s ease;width:28px}.draggable-modal-btn:hover{background:#e2e8f0;color:#1e293b;transform:scale(1.05)}.draggable-modal-btn:active{transform:scale(.95)}.draggable-modal-btn.close:hover{background:#ef4444;color:#fff}.draggable-modal-btn.minimize:hover{background:#f59e0b;color:#fff}.draggable-modal-btn.maximize:hover{background:#10b981;color:#fff}.draggable-modal-btn .btn-icon{display:block;font-size:15px;font-weight:700;line-height:1;transform:translateY(-1px)}.draggable-modal-body{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:18px 20px;scrollbar-color:#cbd5e1 #f1f5f9;scrollbar-width:thin;user-select:text;-webkit-user-select:text}.draggable-modal-body::-webkit-scrollbar{width:8px}.draggable-modal-body::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.draggable-modal-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.draggable-modal-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.draggable-modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;flex-shrink:0;gap:10px;justify-content:flex-end;padding:12px 18px}.draggable-modal-resize{background:linear-gradient(135deg,#0000,#0000 45%,#cbd5e1 0,#cbd5e1 55%,#0000 0,#0000 75%,#cbd5e1 0,#cbd5e1 85%,#0000 0);border-bottom-right-radius:14px;bottom:0;cursor:nwse-resize;height:18px;position:absolute;right:0;transition:background .15s ease;width:18px;z-index:5}.draggable-modal-resize:hover{background:linear-gradient(135deg,#0000,#0000 45%,#3b82f6 0,#3b82f6 55%,#0000 0,#0000 75%,#3b82f6 0,#3b82f6 85%,#0000 0)}.draggable-modal .draggable-modal-no-drag,.draggable-modal [contenteditable=true],.draggable-modal button,.draggable-modal input,.draggable-modal select,.draggable-modal textarea{cursor:auto}.draggable-modal input,.draggable-modal textarea{-webkit-user-select:text;user-select:text}.draggable-modal.dragging button,.draggable-modal.dragging input,.draggable-modal.dragging select,.draggable-modal.dragging textarea{pointer-events:none}.draggable-modal.dragging *{user-select:none!important;-webkit-user-select:none!important}.draggable-modal-header,.draggable-modal-header *{user-select:none;-webkit-user-select:none}.draggable-modal,.draggable-modal-backdrop{pointer-events:auto}@media (max-width:640px){.draggable-modal{left:2.5vw!important;max-width:95vw;width:95vw!important}.draggable-modal-header{min-height:48px;padding:10px 12px}.draggable-modal-body{padding:14px}.draggable-modal-footer{flex-wrap:wrap;padding:10px 14px}.draggable-modal-btn{height:26px;width:26px}}.draggable-modal.minimized{height:auto!important}.draggable-modal.maximized{transition:all .2s ease}.rooms-container{animation:fadeInUp .4s ease-out;margin:0 auto;max-width:1400px}.rooms-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.rooms-header h1{color:#0a1628;font-size:28px;font-weight:700}.rooms-header p{color:#64748b;font-size:14px;margin-top:4px}.header-actions{align-items:center}.btn-create{display:flex;padding:10px 24px;transition:all .3s ease;white-space:nowrap}.btn-create:hover{box-shadow:0 4px 16px #1a2a4a4d}.view-toggle-btn{align-items:center;background:#f1f5f9;border:2px solid #0000;border-radius:10px;color:#64748b;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:9px 18px;transition:all .3s ease}.view-toggle-btn:hover{background:#e2e8f0;color:#1a2a4a}.view-toggle-btn.active{background:#1a2a4a;border-color:#1a2a4a;color:#fff}.rooms-submenu{margin-bottom:20px}.submenu-item{padding:8px 20px;transition:all .3s ease}.filters-bar{margin-bottom:24px}.filter-input{transition:all .3s ease}.filter-input-small{width:120px}.btn-filter,.btn-reset{display:flex;transition:all .3s ease}.rooms-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));margin-bottom:24px}.room-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;display:flex;flex-direction:column;gap:12px;padding:20px;transition:all .3s ease}.room-card:hover{border-color:#cbd5e1;box-shadow:0 8px 30px #0a162814;transform:translateY(-3px)}.room-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.room-name-container{display:flex;flex:1 1;flex-direction:column;gap:4px}.room-name-container h3{color:#0a1628;font-size:18px;font-weight:600}.room-image{align-items:center;background:#f1f5f9;border-radius:12px;display:flex;height:160px;justify-content:center;overflow:hidden;width:100%}.room-image img{height:100%;object-fit:cover;width:100%}.room-image.placeholder{color:#94a3b8;flex-direction:column;font-size:13px;gap:8px}.status-badge{align-self:flex-start;border-radius:12px;font-size:12px;font-weight:600;gap:4px;padding:3px 12px}.status-badge.active{background:#d1fae5;color:#059669}.status-badge.inactive{background:#fee2e2;color:#dc2626}.room-details{display:flex;flex-direction:column;gap:8px}.room-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#64748b;display:-webkit-box;font-size:14px;line-height:1.5;overflow:hidden}.room-meta{color:#475569;display:flex;flex-wrap:wrap;font-size:13px;gap:12px 20px}.room-meta span{align-items:center;display:flex;gap:6px}.room-meta svg{color:#94a3b8;font-size:14px}.room-owner{color:#1a2a4a;font-weight:500}.room-date{color:#94a3b8;font-size:12px}.room-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.tag{align-items:center;border-radius:12px;display:inline-flex;font-size:11px;font-weight:500;gap:4px;padding:3px 10px}.tag.service{background:#dbeafe;color:#1e40af}.tag.decoration{background:#fce7f3;color:#9d174d}.tag.payment{background:#dcfce7;color:#166534}.room-card-actions{border-top:1px solid #f1f5f9;display:flex;gap:8px;justify-content:flex-end;padding-top:12px}.action-btn{font-size:16px;height:36px;transition:all .3s ease;width:36px}.action-btn.toggle{background:#fef3c7;color:#d97706}.action-btn.toggle:hover{background:#d97706;color:#fff}.page-btn{transition:all .3s ease}.empty-state,.error-state,.loading-state{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:300px;text-align:center}.empty-state .empty-icon,.error-state .error-icon{color:#94a3b8;font-size:48px}.error-state p{color:#64748b}.retry-btn{background:#1a2a4a;font-weight:500;padding:10px 24px;transition:all .3s ease}.retry-btn:hover{background:#1e3a6f}.empty-inline,.loading-inline{align-items:center;color:#64748b;display:flex;font-size:14px;gap:10px;justify-content:center;padding:30px}.modal-header h2{font-weight:600}.modal-close{font-size:18px;transition:all .3s ease}.modal-body{min-height:0}.form-tabs{background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;gap:4px;overflow-x:auto;padding:12px 24px 0}.form-tab{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;border-radius:8px 8px 0 0;color:#64748b;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;padding:10px 18px;transition:all .3s ease;white-space:nowrap}.form-tab:hover{background:#f1f5f9;color:#1a2a4a}.form-tab.active{border-bottom-color:#4f46e5;color:#1a2a4a;font-weight:600}.form-section{padding:8px 0}.section-title{font-size:16px;font-weight:600;gap:10px;margin-bottom:8px}.section-help{color:#64748b;font-size:13px;margin-bottom:16px}.section-header-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:12px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:14px;font-weight:500}.form-group label svg{margin-right:4px}.form-group input,.form-group select,.form-group textarea{transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#1a2a4a;box-shadow:0 0 0 3px #1a2a4a1a}.form-group input.error,.form-group textarea.error{border-color:#ef4444}.form-row{grid-gap:16px;gap:16px}.error-message-general{font-size:14px}.checkbox-group{align-items:flex-end;display:flex;padding-bottom:6px}.checkbox-group label{align-items:center;color:#1e293b;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px}.checkbox-group input[type=checkbox]{accent-color:#1a2a4a;cursor:pointer;height:18px;width:18px}.checkbox-inline{background:#fff;border:2px solid #e2e8f0;display:flex;height:42px;padding:8px 12px;transition:all .2s}.checkbox-inline:hover{background:#f1f5f9;border-color:#cbd5e1}.checkbox-inline input[type=checkbox]{accent-color:#4f46e5}.checkbox-inline span{align-items:center;display:flex;font-weight:500;gap:4px}.switch-label{align-items:center;cursor:pointer;display:flex;gap:12px;padding-top:24px;-webkit-user-select:none;user-select:none}.switch-label input{display:none}.switch{background:#cbd5e1;border-radius:12px;flex-shrink:0;height:24px;position:relative;transition:background .3s;width:44px}.switch:after{background:#fff;border-radius:50%;box-shadow:0 2px 4px #00000026;content:"";height:20px;left:2px;position:absolute;top:2px;transition:transform .3s;width:20px}.switch-label input:checked+.switch{background:#10b981}.switch-label input:checked+.switch:after{transform:translateX(20px)}.images-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.image-upload-field{display:flex;flex-direction:column;gap:6px}.image-upload-field label{color:#334155;font-size:13px;font-weight:600}.image-upload-area{position:relative}.image-upload-btn{align-items:center;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;color:#64748b;cursor:pointer;display:flex;flex-direction:column;gap:8px;height:140px;justify-content:center;transition:all .3s ease;width:100%}.image-upload-btn:hover{background:#eef2ff;border-color:#4f46e5;color:#4f46e5}.image-upload-btn span{font-size:13px;font-weight:500}.image-upload-btn small{color:#94a3b8;font-size:11px}.image-preview{border:1px solid #e2e8f0;border-radius:12px;height:140px;overflow:hidden;position:relative;width:100%}.image-preview img{height:100%;object-fit:cover;width:100%}.image-overlay{align-items:center;background:#0a1628b3;display:flex;gap:12px;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .3s}.image-preview:hover .image-overlay{opacity:1}.image-overlay button{align-items:center;background:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:16px;height:40px;justify-content:center;transition:all .2s;width:40px}.btn-change-image{color:#4f46e5}.btn-remove-image{color:#ef4444}.image-overlay button:hover{transform:scale(1.1)}.services-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.service-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:14px;display:flex;gap:12px;justify-content:space-between;padding:18px;transition:all .3s ease}.service-card:hover{border-color:#cbd5e1;box-shadow:0 6px 20px #0a162814;transform:translateY(-2px)}.service-card-header{align-items:center;display:flex;flex:1 1;gap:14px;min-width:0}.service-icon{align-items:center;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-radius:12px;color:#4f46e5;display:flex;flex-shrink:0;font-size:20px;height:46px;justify-content:center;width:46px}.service-info{display:flex;flex-direction:column;gap:4px;min-width:0}.service-info h3{color:#0a1628;font-size:15px;font-weight:600}.service-badges{display:flex;flex-wrap:wrap;gap:6px}.service-badge{align-items:center;border-radius:10px;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:2px 8px}.service-badge.free{background:#d1fae5;color:#059669}.service-badge.extra{background:#fef3c7;color:#d97706}.service-price{color:#0a1628;font-size:14px;font-weight:700}.service-card-actions{display:flex;flex-shrink:0;gap:6px}.services-selector{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));max-height:400px;overflow-y:auto;padding:4px}.service-select-item{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;display:flex;gap:12px;padding:12px 14px;transition:all .2s}.service-select-item:hover{background:#f1f5f9;border-color:#cbd5e1}.service-select-item.selected{background:#eef2ff;border-color:#4f46e5}.service-checkbox{align-items:center;border:2px solid #cbd5e1;border-radius:6px;color:#fff;display:flex;flex-shrink:0;font-size:12px;height:22px;justify-content:center;transition:all .2s;width:22px}.service-select-item.selected .service-checkbox{background:#4f46e5;border-color:#4f46e5}.service-select-info{display:flex;flex-direction:column;gap:2px;min-width:0}.service-select-info strong{color:#0a1628;font-size:14px}.service-price-tag{color:#64748b;font-size:12px}.service-price-tag.free{align-items:center;color:#059669;display:inline-flex;flex-wrap:wrap;font-weight:500;gap:4px}.btn-quick-add{align-items:center;background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;color:#4f46e5;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:6px;padding:7px 14px;transition:all .2s}.btn-quick-add:hover{background:#4f46e5;color:#fff}.quick-service-form{background:#f8fafc;border:2px dashed #c7d2fe;border-radius:12px;display:flex;flex-direction:column;gap:10px;margin-bottom:16px;padding:16px}.quick-service-form h4{color:#4f46e5;font-size:14px;font-weight:600;margin:0}.quick-service-form input[type=number],.quick-service-form input[type=tel],.quick-service-form input[type=text]{background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:13px;padding:9px 12px;transition:all .2s;width:100%}.quick-service-form input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a;outline:none}.quick-service-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}.quick-service-actions button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s}.quick-service-actions .btn-cancel{background:#f1f5f9;color:#64748b}.quick-service-actions .btn-cancel:hover{background:#e2e8f0}.quick-service-actions .btn-submit{background:#1a2a4a;color:#fff}.quick-service-actions .btn-submit:hover:not(:disabled){background:#1e3a6f}.quick-service-actions .btn-submit:disabled{cursor:not-allowed;opacity:.6}.tags-display{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding:12px}.view-details{display:flex;flex-direction:column;gap:12px}.view-row{grid-gap:12px;border-bottom:1px solid #f1f5f9;display:grid;gap:12px;grid-template-columns:140px 1fr;padding:8px 0}.view-row:last-child{border-bottom:none}.view-row label{color:#475569;font-size:14px;font-weight:600}.view-row p{color:#0a1628;font-size:14px}.view-photos{border-top:1px solid #f1f5f9;margin-top:16px;padding-top:16px}.view-photos label{color:#475569;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.photos-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.photos-grid img{border:1px solid #e2e8f0;border-radius:8px;height:100px;object-fit:cover;width:100%}.delete-confirm p{font-size:16px}.delete-warning{font-size:14px}.modal-footer .btn-cancel,.modal-footer .btn-delete-confirm,.modal-footer .btn-submit{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 24px;transition:all .3s ease}.btn-cancel:hover{background:#e2e8f0}.btn-delete-confirm:hover:not(:disabled){transform:translateY(-1px)}.btn-delete-confirm:disabled,.btn-submit:disabled{cursor:not-allowed;opacity:.6}.decorations-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.decoration-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease}.decoration-card:hover{border-color:#cbd5e1;box-shadow:0 6px 20px #0a162814;transform:translateY(-2px)}.decoration-image{align-items:center;background:#f1f5f9;display:flex;height:160px;justify-content:center;overflow:hidden;width:100%}.decoration-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.decoration-card:hover .decoration-image img{transform:scale(1.05)}.decoration-image.placeholder{background:linear-gradient(135deg,#fce7f3,#ede9fe);color:#a78bfa}.decoration-content{display:flex;flex-direction:column;gap:10px;padding:16px}.decoration-header{align-items:center;display:flex;gap:12px}.decoration-icon{align-items:center;background:linear-gradient(135deg,#fce7f3,#ede9fe);border-radius:10px;color:#7c3aed;display:flex;flex-shrink:0;font-size:18px;height:42px;justify-content:center;width:42px}.decoration-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.decoration-info h3{color:#0a1628;font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.decoration-price{color:#7c3aed;font-size:14px;font-weight:700}.decoration-details{border-top:1px solid #f1f5f9;color:#64748b;display:flex;flex-direction:column;font-size:12px;gap:4px;padding-top:8px}.decoration-detail{align-items:center;display:flex;gap:6px}.decoration-detail svg{color:#94a3b8;font-size:12px}.decoration-actions{border-top:1px solid #f1f5f9;display:flex;gap:6px;justify-content:flex-end;padding-top:8px}.btn-quick-add.decoration{background:#fce7f3;border-color:#fbcfe8;color:#9d174d}.btn-quick-add.decoration:hover{background:#9d174d;color:#fff}.quick-service-form.decoration-form{background:#fdf4ff;border-color:#f0abfc}.quick-service-form.decoration-form h4{color:#9d174d}.quick-service-form.decoration-form input:focus{border-color:#9d174d;box-shadow:0 0 0 3px #9d174d1a}.service-select-item.decoration.selected{background:#fdf4ff;border-color:#9d174d}.service-select-item.decoration.selected .service-checkbox{background:#9d174d;border-color:#9d174d}.payments-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.payment-card{align-items:center;border:1px solid #e2e8f0;border-radius:14px;justify-content:space-between;padding:18px;transition:all .3s ease}.payment-card:hover{border-color:#cbd5e1;box-shadow:0 6px 20px #0a162814}.payment-card-header{flex:1 1;gap:14px;min-width:0}.payment-icon{align-items:center;background:linear-gradient(135deg,#dcfce7,#d1fae5);border-radius:12px;color:#059669;display:flex;flex-shrink:0;font-size:20px;height:46px;justify-content:center;width:46px}.payment-info{display:flex;flex-direction:column;gap:4px;min-width:0}.payment-info h3{color:#0a1628;font-size:15px;font-weight:600}.payment-number{align-items:center;color:#64748b;display:inline-flex;font-size:13px;font-weight:500;gap:4px}.payment-number svg{color:#94a3b8;font-size:11px}.payment-card-actions{display:flex;flex-shrink:0;gap:6px}.btn-quick-add.payment{background:#dcfce7;border-color:#bbf7d0;color:#166534}.btn-quick-add.payment:hover{background:#166534;color:#fff}.quick-service-form.payment-form{background:#f0fdf4;border-color:#86efac}.quick-service-form.payment-form h4{color:#166534}.quick-service-form.payment-form input:focus{border-color:#166534;box-shadow:0 0 0 3px #1665341a}.service-select-item.payment.selected{background:#f0fdf4;border-color:#166534}.service-select-item.payment.selected .service-checkbox{background:#166534;border-color:#166534}.services-selector-with-qty{display:flex;flex-direction:column;gap:12px;max-height:65vh;min-height:300px;overflow-y:auto;padding:4px 8px 4px 4px;scroll-behavior:smooth}.services-selector-with-qty::-webkit-scrollbar{width:8px}.services-selector-with-qty::-webkit-scrollbar-track{background:#f1f5f9;border-radius:8px}.services-selector-with-qty::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px;-webkit-transition:background .2s;transition:background .2s}.services-selector-with-qty::-webkit-scrollbar-thumb:hover{background:#94a3b8}.service-qty-item{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;flex-shrink:0;transition:all .2s}.service-qty-item.selected{background:#eef2ff;border-color:#4f46e5}.service-qty-header{align-items:center;cursor:pointer;display:flex;gap:12px;padding:12px 14px;transition:background .2s}.service-qty-header:hover{background:#f1f5f9}.service-qty-item.selected .service-qty-header:hover{background:#e0e7ff}.service-qty-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.service-qty-info strong{color:#0a1628;font-size:14px}.service-qty-controls{align-items:center;animation:slideDown .25s ease-out;background:#fff;border-radius:0 0 10px 10px;border-top:1px dashed #c7d2fe;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 14px}.service-qty-controls>label{color:#475569;font-size:13px;font-weight:600}.qty-selector{align-items:center;background:#f1f5f9;border-radius:8px;display:flex;gap:6px;padding:3px}.qty-selector button{align-items:center;background:#fff;border:none;border-radius:6px;box-shadow:0 1px 3px #00000014;color:#4f46e5;cursor:pointer;display:flex;font-size:12px;height:30px;justify-content:center;transition:all .2s;width:30px}.qty-selector button:hover:not(:disabled){background:#4f46e5;color:#fff;transform:scale(1.05)}.qty-selector button:disabled{cursor:not-allowed;opacity:.4}.qty-selector input{background:#0000;border:none;color:#0a1628;font-family:inherit;font-size:14px;font-weight:700;height:30px;text-align:center;width:50px}.qty-selector input:focus{outline:none}.qty-selector input::-webkit-inner-spin-button,.qty-selector input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.qty-selector input[type=number]{-moz-appearance:textfield}.service-total{align-items:center;background:#eef2ff;border-radius:8px;color:#0a1628;display:flex;font-size:14px;gap:6px;margin-left:auto;padding:4px 12px}.service-total strong{color:#4f46e5;font-size:15px;font-weight:700}.service-total.extra{background:#fef3c7}.service-total.extra strong{color:#d97706}.service-total.extra small{color:#92400e;font-size:11px;font-weight:600;text-transform:uppercase}.free-label{color:#059669;font-size:13px;font-weight:600}.services-total-summary{align-items:center;background:linear-gradient(135deg,#1a2a4a,#1e3a6f);border-radius:12px;bottom:0;box-shadow:0 -4px 12px #1a2a4a33;color:#fff;display:flex;font-size:15px;justify-content:space-between;margin-top:8px;padding:14px 18px;position:sticky;z-index:10}.services-total-summary span{font-weight:500;opacity:.9}.services-total-summary strong{font-size:20px;font-weight:700;letter-spacing:-.5px}@media (max-width:1024px){.rooms-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:768px){.rooms-header{align-items:stretch;flex-direction:column}.rooms-header h1{font-size:24px}.header-actions{width:100%}.view-toggle-btn{flex:1 1;justify-content:center}.btn-create{justify-content:center;width:100%}.rooms-submenu{flex-wrap:nowrap;overflow-x:auto;padding:4px}.submenu-item{font-size:13px;padding:6px 14px}.submenu-item span:not(.submenu-count){font-size:12px}.filters-form{align-items:stretch;flex-direction:column}.filter-group{width:100%}.filter-input,.filter-input-small,.filter-select{min-width:0;min-width:auto;width:100%}.btn-filter,.btn-reset{justify-content:center}.form-row,.rooms-grid{grid-template-columns:1fr}.form-group.half{grid-column:span 1}.view-row{gap:4px;grid-template-columns:1fr}.modal-content{margin:10px;max-height:95vh}.modal-large{max-width:95%}.modal-footer{flex-wrap:wrap}.modal-footer button{flex:1 1;justify-content:center}.images-grid{grid-template-columns:1fr 1fr}.form-tabs{padding:8px 12px 0}.form-tab{font-size:12px;padding:8px 12px}.form-tab span{display:none}.decorations-grid,.payments-grid,.services-grid,.services-selector{grid-template-columns:1fr}.section-header-row{align-items:stretch;flex-direction:column}.btn-quick-add{justify-content:center}.service-qty-controls{align-items:stretch;flex-direction:column}.qty-selector,.service-total{justify-content:center}.service-total{margin-left:0}.services-selector-with-qty{max-height:60vh}}@media (max-width:480px){.room-card{padding:16px}.room-card-header,.room-meta{flex-direction:column}.room-meta{gap:6px}.room-card-actions{justify-content:center}.modal-header h2{font-size:18px}.modal-body{padding:16px}.modal-footer{padding:12px 16px 16px}.images-grid{grid-template-columns:1fr}.room-image{height:130px}.service-card{padding:14px}.service-icon{font-size:18px;height:40px;width:40px}.decoration-image{height:140px}.decoration-content{padding:14px}.decoration-icon{font-size:16px;height:36px;width:36px}.payment-card{padding:14px}.payment-icon{font-size:18px;height:40px;width:40px}.services-total-summary strong{font-size:17px}.services-selector-with-qty{max-height:55vh}}.form-group select{background:#f8fafc;background-position:right 12px center;background-size:16px;border:2px solid #e2e8f0;border-radius:10px;font-family:inherit;font-size:14px;padding:10px 40px 10px 14px;transition:all .3s ease;width:100%}.form-group select:focus{background-color:#fff;border-color:#1a2a4a;box-shadow:0 0 0 3px #1a2a4a1a;outline:none}.form-group select:disabled{background-color:#f1f5f9;cursor:not-allowed;opacity:.5}.form-group select.error{border-color:#ef4444}.form-section .section-title{margin-top:20px}.form-section .section-title:first-child{margin-top:0}.cascade-info{align-items:center;background:#eef2ff;border:1px solid #c7d2fe;border-radius:10px;color:#4f46e5;display:flex;font-size:12px;font-weight:500;gap:10px;margin:0 24px 12px;padding:10px 14px}.cascade-info svg{flex-shrink:0;font-size:14px}.creation-progress{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px;padding:14px}.progress-steps{display:flex;gap:6px;justify-content:space-between;margin-bottom:10px}.progress-step{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:4px;opacity:.4;transition:all .3s ease}.progress-step.completed{opacity:1}.progress-step .step-icon{align-items:center;background:#e2e8f0;border-radius:50%;color:#94a3b8;display:flex;font-size:13px;height:32px;justify-content:center;transition:all .3s ease;width:32px}.progress-step.completed .step-icon{background:#d1fae5;color:#059669}.progress-step span{color:#64748b;font-size:10px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.progress-step.completed span{color:#059669}.current-step{background:#eef2ff;border-radius:8px;color:#4f46e5;font-size:12px;font-weight:600;padding:6px;text-align:center}.room-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.mini-badge{border-radius:10px;font-weight:600;gap:4px;padding:3px 8px}.mini-badge.service{background:#dbeafe;color:#1e40af}.mini-badge.decoration{background:#fce7f3;color:#9d174d}.mini-badge.payment{background:#dcfce7;color:#166534}.view-section{padding:16px}.view-section-title{padding-bottom:10px}.view-photos-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.view-photo-item{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;position:relative}.view-photo-item img{display:block;height:100px;object-fit:cover;width:100%}.photo-label{background:#0a1628cc;bottom:0;color:#fff;font-size:10px;font-weight:600;left:0;letter-spacing:.5px;padding:4px;position:absolute;right:0;text-align:center;text-transform:uppercase}.view-info-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.view-services-list{display:flex;flex-direction:column;gap:8px}.view-service-item{align-items:center;background:#fff;border:1px solid #f1f5f9;border-radius:8px;display:flex;gap:12px;padding:10px 12px;transition:all .2s}.view-service-item:hover{border-color:#cbd5e1;transform:translateX(2px)}.view-service-icon{align-items:center;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-radius:8px;color:#4f46e5;display:flex;flex-shrink:0;font-size:14px;height:36px;justify-content:center;width:36px}.view-service-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.view-service-info strong{color:#0a1628;font-size:13px}.view-service-price{align-items:center;color:#64748b;display:flex;flex-wrap:wrap;font-size:12px;gap:4px}.view-service-price.free{color:#059669;font-weight:600}.view-decorations-list{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.view-decoration-item{background:#fff;border:1px solid #f1f5f9;border-radius:10px;display:flex;gap:12px;padding:10px;transition:all .2s}.view-decoration-item:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0a16280d}.view-decoration-img{border:1px solid #e2e8f0;border-radius:8px;flex-shrink:0;height:60px;object-fit:cover;width:60px}.view-decoration-info{display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:0}.view-decoration-info strong{color:#0a1628;font-size:13px;font-weight:600}.view-decoration-price{color:#7c3aed;font-size:13px;font-weight:700}.view-decoration-detail{align-items:center;color:#64748b;display:flex;font-size:11px;gap:4px}.view-decoration-detail svg{font-size:10px}.view-payments-list{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.view-payment-item{align-items:center;background:#fff;border:1px solid #f1f5f9;border-radius:10px;display:flex;gap:12px;padding:12px;transition:all .2s}.view-payment-item:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0a16280d;transform:translateY(-2px)}.view-payment-icon{align-items:center;background:linear-gradient(135deg,#dcfce7,#d1fae5);border-radius:10px;color:#059669;display:flex;flex-shrink:0;font-size:16px;height:40px;justify-content:center;width:40px}.view-payment-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.view-payment-info strong{color:#0a1628;font-size:13px;font-weight:600}.view-payment-number{align-items:center;color:#64748b;display:flex;font-size:12px;font-weight:500;gap:4px}.view-payment-number svg{color:#94a3b8;font-size:10px}.view-empty p{margin:0}@media (max-width:768px){.view-info-grid{grid-template-columns:1fr}.view-photos-grid{grid-template-columns:repeat(2,1fr)}.view-decorations-list,.view-payments-list{grid-template-columns:1fr}}.stats-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.stat-card-small{gap:10px;padding:12px}.stat-icon-small{font-size:16px;height:40px;width:40px}.btn-selection-action.success{border-color:#6ee7b7;color:#059669}.btn-selection-action.success:hover{background:#059669;color:#fff}.btn-selection-action.warning{border-color:#fcd34d;color:#d97706}.btn-selection-action.warning:hover{background:#d97706;color:#fff}.room-card{position:relative}.card-favorite-btn,.card-note-btn,.card-select-btn{border-radius:8px;box-shadow:0 2px 6px #0000001a;font-size:14px;transition:all .2s;z-index:5}.card-note-btn{color:#7c3aed}.room-card.selected{background:#eef2ff;border-color:#4f46e5;box-shadow:0 4px 16px #4f46e526}.room-card.compact .room-details{display:none}.action-btn.note{background:#ede9fe;color:#7c3aed}.action-btn.note:hover{background:#7c3aed;color:#fff}.action-btn.copy{background:#e0f2fe;color:#0284c7}.action-btn.copy:hover{background:#0284c7;color:#fff}.action-btn.share{background:#fce7f3;color:#be185d}.action-btn.share:hover{background:#be185d;color:#fff}.action-btn.duplicate{background:#fef3c7;color:#d97706}.action-btn.duplicate:hover{background:#d97706;color:#fff}.rooms-table-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow-x:auto}.rooms-table{border-collapse:collapse;font-size:13px;width:100%}.rooms-table th{background:#f8fafc;border-bottom:2px solid #e2e8f0;color:#475569;font-size:11px;font-weight:700;letter-spacing:.5px;padding:12px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.rooms-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.rooms-table th.sortable:hover{color:#4f46e5}.rooms-table td{border-bottom:1px solid #f1f5f9;color:#1e293b;padding:12px 14px}.rooms-table tr:hover{background:#f8fafc}.rooms-table tr.selected{background:#eef2ff}.table-name-cell{align-items:center;display:flex;gap:8px}.table-fav{background:none;border:none;color:#f59e0b;cursor:pointer;font-size:14px}.table-badges{display:flex;gap:4px}.note-hall-name{color:#64748b;margin-bottom:10px}.note-textarea{border:2px solid #e2e8f0;border-radius:10px;font-size:14px;min-height:120px;padding:12px}.note-textarea:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a;outline:none}.btn-delete-note{align-items:center;background:#fee2e2;border-radius:10px;color:#dc2626;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;padding:10px 20px}.btn-delete-note:hover{background:#dc2626}@media (max-width:768px){.toolbar-row{align-items:stretch;flex-direction:column}.btn-toolbar{justify-content:center}.stats-row{grid-template-columns:repeat(2,1fr)}.selection-bar{align-items:stretch;flex-direction:column}.selection-actions{justify-content:center}.rooms-table{font-size:12px}.rooms-table td,.rooms-table th{padding:8px 10px}.toast-container{left:10px;right:10px;top:80px}.toast{max-width:none}}@media (max-width:480px){.stats-row{grid-template-columns:1fr}.stat-value-small{font-size:16px}}.action-btn.calendar{background:#dbeafe;color:#2563eb}.action-btn.calendar:hover{background:#2563eb;color:#fff}.calendar-modal{max-width:900px!important}.calendar-body{padding:20px}.calendar-hall-info{align-items:center;background:#f8fafc;border-radius:10px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.hall-status-badge{align-items:center;border-radius:10px;display:inline-flex;font-size:13px;font-weight:700;gap:6px;padding:6px 14px;text-transform:uppercase}.hall-status-badge.available{background:#d1fae5;color:#059669}.hall-status-badge.unavailable{background:#fee2e2;color:#dc2626}.hall-capacity-info{align-items:center;color:#64748b;display:inline-flex;font-size:13px;font-weight:600;gap:6px}.calendar-nav{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px;padding:0 8px}.calendar-month-title{color:#0a1628;font-size:20px;font-weight:700;margin:0;text-transform:capitalize}.cal-nav-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#475569;cursor:pointer;display:flex;font-size:14px;height:40px;justify-content:center;transition:all .2s;width:40px}.cal-nav-btn:hover{background:#4f46e5;border-color:#4f46e5;color:#fff;transform:scale(1.05)}.calendar-legend{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px;padding:10px 14px}.legend-item{align-items:center;color:#475569;display:flex;font-size:12px;font-weight:600;gap:6px}.legend-box{border:1px solid #cbd5e1;border-radius:4px;height:18px;width:18px}.legend-box.available{background:#fff}.legend-box.booked{align-items:center;background:#fee2e2;border-color:#ef4444;color:#dc2626;display:flex;justify-content:center}.legend-box.past{background:#f1f5f9}.legend-box.today{background:#dbeafe;border-color:#3b82f6}.calendar-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(7,1fr);margin-bottom:20px}.calendar-day-name{color:#64748b;font-size:11px;font-weight:700;letter-spacing:.5px;padding:8px;text-align:center;text-transform:uppercase}.calendar-day{align-items:center;aspect-ratio:1;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-start;min-height:60px;overflow:hidden;padding:6px;position:relative;transition:all .2s}.calendar-day:hover:not(.past):not(.empty){border-color:#4f46e5;box-shadow:0 4px 12px #4f46e526;transform:scale(1.02)}.calendar-day.empty{background:#0000;border:none;cursor:default}.calendar-day.past{background:#f1f5f9;border-color:#f1f5f9;color:#cbd5e1;cursor:not-allowed}.calendar-day.today{background:#eff6ff;border-color:#3b82f6;border-width:2px}.calendar-day.booked{background:#fee2e2;border-color:#ef4444;cursor:pointer}.calendar-day.unavailable{background:#fef3c7;border-color:#f59e0b}.day-number{color:#0a1628;font-size:14px;font-weight:700;z-index:1}.calendar-day.past .day-number{color:#cbd5e1}.calendar-day.booked .day-number{color:#991b1b}.booked-cross,.unavailable-cross{color:#dc2626;font-size:24px;left:50%;opacity:.4;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%) scale(1.5);z-index:0}.unavailable-cross{color:#d97706}.booking-tooltip{background:#dc2626;border-radius:4px;bottom:2px;color:#fff;font-size:9px;font-weight:600;left:2px;overflow:hidden;padding:2px 4px;position:absolute;right:2px;text-align:center;text-overflow:ellipsis;white-space:nowrap;z-index:2}.calendar-bookings-list{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px}.calendar-bookings-list h4{align-items:center;color:#0a1628;display:flex;font-size:13px;font-weight:700;gap:8px;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.bookings-mini-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto}.booking-mini-item{align-items:center;background:#fff;border-left:4px solid #4f46e5;border-radius:8px;display:flex;flex-wrap:wrap;font-size:12px;gap:12px;padding:10px 12px}.booking-mini-item.pending{border-left-color:#f59e0b}.booking-mini-item.paid{border-left-color:#10b981}.booking-mini-item.canceled{border-left-color:#ef4444;opacity:.6}.booking-mini-item.terminated{border-left-color:#3b82f6}.booking-mini-date{color:#475569;min-width:120px}.booking-mini-client,.booking-mini-date{align-items:center;display:inline-flex;font-weight:600;gap:5px}.booking-mini-client{color:#0a1628;flex:1 1}.booking-mini-amount{align-items:center;color:#059669;display:inline-flex;font-weight:700;gap:5px}.mini-badge.booking{background:#dbeafe;color:#1e40af}@media (max-width:768px){.calendar-grid{gap:3px}.calendar-day{min-height:50px;padding:4px}.day-number{font-size:12px}.booked-cross,.unavailable-cross{font-size:18px}.calendar-day-name{font-size:9px;padding:4px}.calendar-month-title{font-size:16px}.calendar-legend{gap:10px;padding:8px 10px}.legend-item{font-size:10px}.booking-mini-item{font-size:11px}}@media (max-width:480px){.calendar-day{min-height:42px}.day-number{font-size:11px}.booked-cross,.unavailable-cross{font-size:14px}.booking-mini-date{font-size:10px;min-width:90px}}.price-cell,.room-price,.view-value.price{color:#7c3aed;font-weight:700}.local-items-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.local-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;gap:12px;padding:10px 12px;transition:all .2s}.local-item:hover{background:#fff;border-color:#cbd5e1;box-shadow:0 2px 8px #0a16280a}.local-item-icon{align-items:center;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-radius:10px;color:#4f46e5;display:flex;flex-shrink:0;font-size:16px;height:40px;justify-content:center;overflow:hidden;width:40px}.local-item-img{height:100%;object-fit:cover;width:100%}.local-item-info{display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:0}.local-item-info strong{color:#0a1628;font-size:14px}.local-item-remove{align-items:center;background:#fee2e2;border:none;border-radius:8px;color:#dc2626;cursor:pointer;display:flex;flex-shrink:0;font-size:13px;height:32px;justify-content:center;transition:all .2s;width:32px}.local-item-remove:hover{background:#dc2626;color:#fff}.local-item-badge{background:#d1fae5;border-radius:8px;color:#059669;flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.3px;padding:4px 10px;text-transform:uppercase}.calendar-click-hint{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#1e40af;display:flex;font-size:13px;gap:8px;margin-bottom:12px;padding:10px 14px}.calendar-click-hint svg{color:#3b82f6;flex-shrink:0}.calendar-day.clickable{background:#f0fdf4;border:1px solid #bbf7d0;cursor:pointer;position:relative;transition:all .2s ease}.calendar-day.clickable:hover{background:#dcfce7;border-color:#4ade80;box-shadow:0 4px 12px #22c55e40;transform:scale(1.08);z-index:2}.calendar-day.clickable:hover .clickable-plus{opacity:1;transform:scale(1)}.clickable-plus{align-items:center;background:#10b981;border-radius:50%;bottom:2px;color:#fff;display:flex;height:14px;justify-content:center;opacity:0;position:absolute;right:4px;transform:scale(.5);transition:all .2s ease;width:14px}.booking-overlay{z-index:1100}.modal-medium{max-width:560px;width:90%}.booking-hall-recap{align-items:center;background:linear-gradient(135deg,#eff6ff,#f0fdf4);border:1px solid #bfdbfe;border-radius:10px;display:flex;gap:14px;margin-bottom:18px;padding:14px 16px}.booking-hall-recap>svg{color:#3b82f6;flex-shrink:0;font-size:24px}.booking-hall-recap div{display:flex;flex-direction:column;gap:2px}.booking-hall-recap strong{color:#1e293b;font-size:15px}.booking-hall-recap span{color:#64748b;font-size:12px}.form-group input[type=date],.form-group input[type=time]{cursor:pointer;font-family:inherit}@media (max-width:640px){.modal-medium{margin:10px;max-width:100%}.booking-hall-recap{flex-direction:column;text-align:center}}.bookings-container{animation:fadeInUp .3s ease-out;margin:0 auto;max-width:1400px}.bookings-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.bookings-header h1{color:#0a1628;font-size:26px;font-weight:700}.bookings-header p{color:#64748b;font-size:14px;margin-top:4px}.header-actions{flex-wrap:wrap}.btn-walk-in{align-items:center;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s}.btn-walk-in:hover{box-shadow:0 6px 20px #f59e0b66;transform:translateY(-2px)}.btn-create{align-items:center;background:linear-gradient(135deg,#1a2a4a,#1e3a6f);border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s}.btn-create:hover{box-shadow:0 6px 20px #1a2a4a4d;transform:translateY(-2px)}.stats-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:16px}.stat-card-small{border:1px solid #e2e8f0;padding:14px;transition:all .2s}.stat-card-small:hover{box-shadow:0 4px 12px #0a16280f}.stat-icon-small{height:44px;width:44px}.stat-icon-small.blue{background:#dbeafe;color:#2563eb}.stat-icon-small.green{background:#d1fae5;color:#059669}.stat-icon-small.gold{background:#fef3c7;color:#d97706}.stat-icon-small.red{background:#fee2e2;color:#dc2626}.stat-icon-small.purple{background:#ede9fe;color:#7c3aed}.stat-label-small{color:#94a3b8;letter-spacing:.3px}.stat-value-small{color:#0a1628;font-size:18px}.rooms-submenu{background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-wrap:nowrap;gap:4px;margin-bottom:16px;overflow-x:auto;padding:6px}.submenu-item{color:#64748b;font-size:14px;padding:8px 18px;position:relative;transition:all .3s}.submenu-item:hover{background:#f1f5f9;color:#1a2a4a}.submenu-item.active{background:#eef2ff;color:#1a2a4a;font-weight:600}.submenu-item.active:after{background:linear-gradient(90deg,#1a2a4a,#4facfe);border-radius:4px;bottom:0;content:"";height:2px;left:20%;position:absolute;width:60%}.submenu-count{background:#e2e8f0;color:#475569;padding:1px 8px}.submenu-item.active .submenu-count{background:#1a2a4a;color:#fff}.toolbar-row{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px}.btn-toolbar{background:#f8fafc;color:#475569;font-weight:600;transition:all .2s}.btn-toolbar:hover{background:#eef2ff;border-color:#c7d2fe;color:#4f46e5;transform:translateY(-1px)}.filters-bar{border:1px solid #e2e8f0;padding:16px 20px}.filters-form{gap:12px}.filter-icon{font-size:14px}.filter-input{min-width:200px;padding:8px 12px 8px 36px}.filter-input,.filter-input-small{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:14px}.filter-input-small,.filter-select{padding:8px 12px}.filter-select{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:14px;min-width:150px}.filter-input-small:focus,.filter-input:focus,.filter-select:focus{background:#fff;border-color:#1a2a4a;box-shadow:0 0 0 3px #1a2a4a1a;outline:none}.btn-filter,.btn-reset{align-items:center;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:8px 20px;transition:all .3s}.btn-filter{background:#1a2a4a}.btn-filter:hover{background:#1e3a6f;transform:translateY(-1px)}.btn-reset{background:#f1f5f9;color:#64748b}.btn-reset:hover{background:#e2e8f0}.selection-bar{animation:slideDown .3s ease;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border:1px solid #c7d2fe;gap:12px}.selection-info{color:#4f46e5;font-weight:700}.btn-selection-action{color:#475569;font-weight:600;padding:8px 14px;transition:all .2s}.btn-selection-action:hover{box-shadow:0 2px 8px #0a16281a}.btn-selection-action.info{border-color:#93c5fd;color:#2563eb}.btn-selection-action.info:hover{background:#2563eb;color:#fff}.btn-selection-action.danger{color:#dc2626}.btn-selection-action.danger:hover{background:#dc2626;color:#fff}.bookings-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));margin-bottom:24px}.booking-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;display:flex;flex-direction:column;gap:12px;padding:18px;position:relative;transition:all .3s}.booking-card:hover{border-color:#cbd5e1;box-shadow:0 8px 24px #0a162814;transform:translateY(-3px)}.booking-card.selected{background:#eef2ff;border-color:#4f46e5;box-shadow:0 4px 16px #4f46e526}.card-favorite-btn,.card-select-btn{align-items:center;background:#fffffff2;border:none;border-radius:8px;box-shadow:0 2px 6px #0000001a;cursor:pointer;display:flex;font-size:14px;height:30px;justify-content:center;position:absolute;top:12px;transition:all .2s;width:30px;z-index:5}.card-select-btn{color:#4f46e5}.card-favorite-btn:hover,.card-select-btn:hover{transform:scale(1.1)}.booking-card-header{gap:8px;justify-content:space-between;padding-top:30px}.booking-card-header,.booking-status-wrapper{align-items:center;display:flex;flex-wrap:wrap}.booking-status-wrapper{gap:6px}.status-badge{gap:5px;letter-spacing:.3px}.status-badge,.walk-in-badge{align-items:center;border-radius:10px;display:inline-flex;font-size:11px;font-weight:700;padding:4px 10px;text-transform:uppercase}.walk-in-badge{background:#fef3c7;color:#d97706;gap:4px}.booking-date-badge{align-items:center;background:#f1f5f9;border-radius:10px;color:#475569;display:inline-flex;font-size:11px;font-weight:600;gap:5px;padding:4px 10px}.booking-customer{align-items:center;background:#f8fafc;border-radius:10px;display:flex;gap:12px;padding:12px}.customer-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:16px;height:42px;justify-content:center;width:42px}.customer-info{display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:0}.customer-info strong{color:#0a1628;font-size:14px;font-weight:700}.customer-info span{align-items:center;color:#64748b;display:inline-flex;font-size:12px;gap:4px}.customer-info svg{font-size:10px}.booking-hall{background:#eff6ff;border:1px solid #dbeafe;border-radius:10px;gap:12px;padding:12px}.booking-hall,.hall-icon{align-items:center;display:flex}.hall-icon{background:#dbeafe;border-radius:10px;color:#2563eb;flex-shrink:0;font-size:16px;height:42px;justify-content:center;width:42px}.hall-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.hall-info strong{color:#0a1628;font-size:13px;font-weight:700}.hall-info span{align-items:center;color:#64748b;display:inline-flex;font-size:11px;gap:4px}.hall-info svg{font-size:10px}.booking-amounts{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.amount-item{background:#f8fafc;border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:10px}.amount-label{color:#94a3b8;font-size:10px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.amount-value{font-size:14px}.amount-value.advance{color:#f59e0b}.amount-value.total{color:#059669}.booking-notes{align-items:flex-start;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;color:#78350f;display:flex;font-size:12px;gap:6px;padding:10px 12px}.booking-notes svg{flex-shrink:0;margin-top:2px}.booking-card-actions{border-top:1px solid #f1f5f9;display:flex;gap:6px;justify-content:flex-end;padding-top:10px}.action-btn{border:none;font-size:14px;height:34px;transition:all .2s;width:34px}.action-btn.view{background:#eef2ff;color:#4f46e5}.action-btn.view:hover{background:#4f46e5;color:#fff}.action-btn.edit{background:#dbeafe;color:#2563eb}.action-btn.edit:hover{background:#2563eb;color:#fff}.action-btn.cancel{background:#fef3c7;color:#d97706}.action-btn.cancel:hover{background:#d97706;color:#fff}.action-btn.delete{background:#fee2e2;color:#dc2626}.action-btn.delete:hover{background:#dc2626;color:#fff}.bookings-table-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:24px;overflow-x:auto}.bookings-table{border-collapse:collapse;font-size:13px;width:100%}.bookings-table th{background:#f8fafc;border-bottom:2px solid #e2e8f0;color:#475569;font-size:11px;font-weight:700;letter-spacing:.5px;padding:12px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.bookings-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.bookings-table th.sortable:hover{color:#4f46e5}.bookings-table td{border-bottom:1px solid #f1f5f9;color:#1e293b;padding:12px 14px}.bookings-table tr:hover{background:#f8fafc}.bookings-table tr.selected{background:#eef2ff}.table-customer{display:flex;flex-direction:column;gap:3px}.table-customer strong{color:#0a1628;font-size:13px}.walk-in-mini{align-items:center;color:#d97706;display:inline-flex;font-size:10px;font-weight:600;gap:3px}.table-actions{display:flex;gap:4px}.table-actions button{align-items:center;background:#f1f5f9;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;font-size:12px;height:28px;justify-content:center;transition:all .2s;width:28px}.table-actions button:hover{background:#4f46e5;color:#fff}.toast-container{gap:8px;top:90px;z-index:10000}.toast{border-left:4px solid #4f46e5;border-radius:10px;box-shadow:0 4px 16px #0a162826;font-size:13px;min-width:200px}.toast-success{color:#059669}.toast-error{color:#dc2626}.toast-warning{color:#d97706}.toast-info{border-left-color:#3b82f6;color:#2563eb}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.walk-in-info{align-items:center;background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;color:#78350f;display:flex;font-size:13px;gap:10px;margin-bottom:16px;padding:12px 14px}.walk-in-info svg{flex-shrink:0;font-size:16px}.view-details-complete{gap:16px}.view-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px}.view-section-title{border-bottom:1px solid #e2e8f0;color:#0a1628;font-size:13px;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.view-section-title svg{color:#4f46e5}.view-info-grid{grid-gap:10px;gap:10px}.view-info-item{background:#fff;border:1px solid #f1f5f9;gap:3px}.view-label{color:#94a3b8;font-size:10px;font-weight:700}.view-value{color:#0a1628}.view-value.advance{color:#f59e0b}.view-value.total{color:#059669}.view-value.rest{color:#dc2626}.view-note-box{background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;color:#78350f;line-height:1.6;padding:14px;white-space:pre-wrap}.view-empty{background:#fff;border:2px dashed #e2e8f0;font-size:13px;padding:24px}.view-empty svg{color:#cbd5e1}.history-item{border:1px solid #f1f5f9;border-radius:10px;padding:12px}.history-icon{background:#eef2ff;border-radius:8px;color:#4f46e5;font-size:13px;height:32px;width:32px}.history-content{min-width:0}.history-content strong{color:#0a1628}.history-content span{color:#64748b}.history-content small{margin-top:2px}.modal-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a162899;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.modal-content{animation:slideUp .3s ease;background:#fff;border-radius:20px;box-shadow:0 25px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-large{max-width:800px}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px}.modal-header h2{color:#0a1628;font-size:20px;font-weight:700}.modal-close{align-items:center;background:#f1f5f9;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;font-size:16px;height:36px;justify-content:center;transition:all .3s;width:36px}.modal-close:hover{background:#e2e8f0;color:#0a1628}.modal-body{flex:1 1;overflow-y:auto;padding:24px}.modal-footer{border-top:1px solid #e2e8f0;display:flex;flex-shrink:0;gap:12px;justify-content:flex-end;padding:16px 24px 20px}.btn-cancel,.btn-delete-confirm,.btn-submit{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;padding:10px 24px;transition:all .3s}.btn-submit{background:linear-gradient(135deg,#1a2a4a,#1e3a6f)}.btn-submit:hover:not(:disabled){box-shadow:0 4px 12px #1a2a4a4d}.btn-delete-confirm{background:#dc2626}.btn-delete-confirm:hover:not(:disabled){background:#b91c1c}.form-section{margin-bottom:20px}.section-title{color:#0a1628;margin-bottom:12px}.section-title svg{color:#4f46e5}.form-group{margin-bottom:14px}.form-group label{color:#1e293b;margin-bottom:6px}.form-group label svg{color:#4f46e5;font-size:12px}.form-group input,.form-group select,.form-group textarea{background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;font-family:inherit;font-size:14px;padding:10px 14px;transition:all .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#fff;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a;outline:none}.form-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.form-group.half{grid-column:span 1}.field-error{display:block;margin-top:4px}.error-message-general{background:#fee2e2;color:#dc2626;margin-bottom:16px;padding:10px 14px}.delete-confirm{padding:20px 0}.delete-icon{color:#dc2626;margin-bottom:16px}.delete-confirm p{margin-bottom:8px}.delete-warning{color:#ef4444;font-size:13px;font-weight:500}.empty-state,.loading-state{min-height:300px;text-align:center}.loading-state .spinner{animation:spin 1s linear infinite;color:#1a2a4a;font-size:40px}.empty-state .empty-icon{color:#94a3b8;font-size:48px}.empty-state h3{color:#0a1628;font-size:20px}.empty-state p{color:#64748b}.pagination{gap:16px;padding:16px 0}.page-btn{border-radius:8px;height:40px;transition:all .3s;width:40px}.page-btn:hover:not(:disabled){background:#1a2a4a;border-color:#1a2a4a}.page-info{color:#64748b;font-size:14px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:768px){.bookings-header{align-items:stretch;flex-direction:column}.bookings-header h1{font-size:22px}.header-actions{flex-direction:column}.header-actions button{justify-content:center;width:100%}.stats-row{grid-template-columns:repeat(2,1fr)}.toolbar-row{align-items:stretch;flex-direction:column}.btn-toolbar{justify-content:center}.filters-form{align-items:stretch;flex-direction:column}.filter-group{width:100%}.filter-input,.filter-input-small,.filter-select{min-width:0;min-width:auto;width:100%}.bookings-grid,.form-row{grid-template-columns:1fr}.form-group.half{grid-column:span 1}.selection-bar{flex-direction:column}.selection-actions{justify-content:center}.view-info-grid{grid-template-columns:1fr}.modal-content{margin:10px;max-height:95vh}.modal-footer{flex-wrap:wrap}.modal-footer button{flex:1 1;justify-content:center}.toast-container{left:10px;right:10px;top:80px}}@media (max-width:480px){.stats-row{grid-template-columns:1fr}.stat-value-small{font-size:16px}.booking-card{padding:14px}.booking-amounts{grid-template-columns:1fr}}.payment-progress{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;gap:6px;padding:12px}.payment-progress-header{align-items:center;display:flex;font-size:12px;justify-content:space-between}.payment-progress-label{align-items:center;color:#64748b;display:inline-flex;font-weight:600;gap:5px}.payment-progress-percentage{color:#0a1628;font-weight:700}.payment-progress-bar{background:#e2e8f0;border-radius:4px;height:8px;overflow:hidden}.payment-progress-fill{border-radius:4px;height:100%;transition:width .4s ease}.payment-progress-amounts{display:flex;flex-wrap:wrap;font-size:11px;gap:8px;justify-content:space-between}.paid-amount{color:#059669;font-weight:600}.remaining-amount{color:#dc2626;font-weight:600}.fully-paid{color:#10b981;font-weight:700}.payment-progress-view{align-items:center;display:flex;gap:12px;margin-bottom:12px}.payment-progress-view .payment-progress-bar{flex:1 1;height:12px}.payment-progress-view .payment-progress-percentage{font-size:14px}.action-btn.pay{background:#dcfce7;color:#059669}.action-btn.pay:hover{background:#059669;color:#fff}.calculation-summary{gap:8px}.modal-small{max-width:480px}.payment-info-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding:14px}.payment-info-row{color:#475569;display:flex;font-size:13px;justify-content:space-between}.payment-info-row.highlight{border-top:1px solid #e2e8f0;font-size:15px;padding-top:8px}.text-green{color:#059669;font-weight:700}.text-red{color:#dc2626;font-weight:700}.quick-amounts{display:flex;gap:8px;margin-top:8px}.quick-amounts button{background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;color:#4f46e5;cursor:pointer;flex:1 1;font-size:12px;font-weight:600;padding:8px;transition:all .2s}.quick-amounts button:hover{background:#4f46e5;color:#fff}.payments-history{border-top:1px solid #e2e8f0;margin-top:12px;padding-top:12px}.payments-history h4{color:#64748b;font-size:12px;font-weight:600;margin-bottom:8px;text-transform:uppercase}.payment-history-item{align-items:center;background:#f8fafc;border-radius:8px;color:#059669;display:flex;font-size:13px;font-weight:600;gap:8px;margin-bottom:4px;padding:8px 10px}.payment-history-item small{color:#94a3b8;font-size:11px;margin-left:auto}.bookings-table .text-green{color:#059669;font-weight:600}.bookings-table .text-red{color:#dc2626;font-weight:600}@media (max-width:768px){.payment-progress-amounts{flex-direction:column;gap:2px}.quick-amounts{flex-direction:column}}.calculation-summary{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border:1px solid #c7d2fe;border-radius:12px;display:flex;flex-direction:column;gap:6px;padding:14px 16px}.calc-row{align-items:center;color:#475569;display:flex;font-size:13px;justify-content:space-between;padding:4px 0}.calc-row-total{border-top:1px dashed #c7d2fe;font-size:15px;margin-top:4px;padding-top:8px}.calc-price{color:#7c3aed;font-size:14px;font-weight:700}.calc-services{color:#2563eb;font-weight:700}.calc-decorations{color:#be185d;font-weight:700}.calc-total{color:#059669;font-size:18px;font-weight:700}.calc-min-advance{color:#d97706;font-size:15px;font-weight:700}.field-hint{color:#94a3b8;display:block;margin-top:4px}.role-indicator{flex-wrap:wrap}.role-tag.initiator{background:#dbeafe;color:#1e40af}.page-container{margin:0 auto;max-width:1400px}.page-header{margin-bottom:28px}.page-header h1{color:#0a1628;font-size:28px;font-weight:700;margin-bottom:4px}.page-header p{color:#64748b;font-size:14px}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:28px}.stat-card{align-items:center;background:#fff;border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 1px 3px #0000000f;display:flex;gap:16px;padding:20px;transition:all .3s ease}.stat-card:hover{border-color:#e2e8f0;box-shadow:0 8px 25px #0a162814;transform:translateY(-3px)}.stat-icon{align-items:center;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-radius:12px;color:#1a2a4a;display:flex;font-size:28px;height:52px;justify-content:center;width:52px}.stat-info h3{color:#64748b;font-size:13px;font-weight:500;margin-bottom:2px}.stat-number{color:#0a1628;font-size:24px;font-weight:700}.content-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.card{background:#fff;border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 1px 3px #0000000f;padding:20px;transition:all .3s ease}.card:hover{box-shadow:0 4px 15px #0a16280f}.card h3{color:#0a1628;font-size:16px;font-weight:600;margin-bottom:16px}.activity-list{list-style:none;padding:0}.activity-list li{align-items:center;border-bottom:1px solid #f1f5f9;color:#475569;display:flex;font-size:14px;gap:10px;padding:10px 0}.activity-list li:last-child{border-bottom:none}.activity-list li:before{color:#1a2a4a;content:"•";font-size:18px;font-weight:700}@media (max-width:992px){.stats-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.stat-number{font-size:22px}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.page-header h1{font-size:22px}.card,.stat-card{padding:16px}}.page-container{animation:fadeInUp .4s ease-out}.payments-container{background:#f8fafc;background:var(--gray-50);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1600px;min-height:100vh;padding:20px}.payments-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:24px}.payments-header h1{color:#0f172a;color:var(--gray-900);font-size:26px;font-weight:700;margin:0 0 4px}.payments-header p{color:#64748b;color:var(--gray-500);font-size:14px;margin:0}.payments-submenu{background:#fff;border:1px solid #f1f5f9;border:1px solid var(--gray-100);border-radius:12px;border-radius:var(--radius);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);display:flex;gap:6px;margin-bottom:16px;overflow-x:auto;padding:6px}.btn-selection-action.success{border-color:#bbf7d0;color:#10b981;color:var(--success)}.btn-selection-action.success:hover{background:#f0fdf4;background:var(--success-light)}.loading-state small{color:#94a3b8;color:var(--gray-400);font-size:12px;margin-top:6px}.payments-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));margin-bottom:20px}.payment-card{background:#fff;border:2px solid #f1f5f9;border:2px solid var(--gray-100);border-radius:12px;border-radius:var(--radius);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:12px;padding:16px;position:relative;transition:all .2s ease}.payment-card:hover{border-color:#e2e8f0;border-color:var(--gray-200);box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.payment-card.selected{border-color:#3b82f6;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.payment-card-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-top:12px}.payment-status-badge{gap:5px;letter-spacing:.5px;text-transform:uppercase}.partial-badge,.payment-status-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:11px;font-weight:700;padding:4px 10px}.partial-badge{background:#fef3c7;color:#92400e;gap:4px}.payment-amount{align-items:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0;border-radius:8px;border-radius:var(--radius-sm);display:flex;gap:10px;padding:12px 14px}.payment-amount svg{color:#10b981;color:var(--success);font-size:22px}.payment-amount strong{color:#10b981;color:var(--success);font-size:20px;font-weight:800}.payment-method{gap:12px}.method-icon,.payment-method{align-items:center;display:flex}.method-icon{background:#eff6ff;background:var(--primary-light);border-radius:10px;color:#3b82f6;color:var(--primary);flex-shrink:0;font-size:18px;height:40px;justify-content:center;width:40px}.method-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.method-info strong{color:#1e293b;color:var(--gray-800);font-size:14px;font-weight:700;text-transform:capitalize}.reference-line{align-items:center;color:#64748b;color:var(--gray-500);display:flex;font-size:11px;gap:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-ref-btn{background:none;border:none;color:#3b82f6;color:var(--primary);cursor:pointer;font-size:10px;padding:2px;transition:all .15s ease}.copy-ref-btn:hover{transform:scale(1.2)}.payment-booking{align-items:center;background:#f8fafc;background:var(--gray-50);border-radius:8px;border-radius:var(--radius-sm);display:flex;gap:10px;padding:10px 12px}.payment-booking>svg{color:#3b82f6;color:var(--primary);flex-shrink:0;font-size:16px}.booking-info{display:flex;flex-direction:column;gap:2px;min-width:0}.booking-info strong{color:#1e293b;color:var(--gray-800);font-size:13px;font-weight:600}.booking-info small,.payment-dates{color:#64748b;color:var(--gray-500);font-size:11px}.payment-dates{display:flex;flex-direction:column;gap:4px}.payment-dates span{align-items:center;display:inline-flex;gap:5px}.payment-dates .paid-date{color:#10b981;color:var(--success);font-weight:600}.payment-card-actions{grid-gap:4px;border-top:1px solid #f1f5f9;border-top:1px solid var(--gray-100);display:grid;gap:4px;grid-template-columns:repeat(5,1fr);padding-top:10px}.action-btn{padding:7px}.action-btn.mark-paid:hover{background:#f0fdf4;background:var(--success-light);border-color:#10b981;border-color:var(--success);color:#10b981;color:var(--success)}.payments-table-container{background:#fff;border:1px solid #f1f5f9;border:1px solid var(--gray-100);border-radius:12px;border-radius:var(--radius);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);overflow:hidden}.payments-table-compact{border-collapse:collapse;font-size:12px;table-layout:fixed;width:100%}.payments-table-compact thead{background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--gray-200)}.payments-table-compact thead th{border-right:1px solid #f1f5f9;border-right:1px solid var(--gray-100);color:#475569;color:var(--gray-600);font-size:10px;font-weight:700;letter-spacing:.5px;overflow:hidden;padding:8px 10px;text-align:left;text-overflow:ellipsis;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap}.payments-table-compact thead th:last-child{border-right:none}.payments-table-compact thead th.sortable{cursor:pointer;transition:all .15s ease}.payments-table-compact thead th.sortable:hover{background:#f1f5f9;background:var(--gray-100);color:#0f172a;color:var(--gray-900)}.payments-table-compact thead th.sortable svg{font-size:9px;margin-left:4px;opacity:.6;vertical-align:middle}.payments-table-compact tbody tr{border-bottom:1px solid #f1f5f9;cursor:pointer;height:34px;transition:background .1s ease}.payments-table-compact tbody tr:hover{background:#f8fafc}.payments-table-compact tbody tr.selected{background:#eff6ff;box-shadow:inset 3px 0 0 #3b82f6;box-shadow:inset 3px 0 0 var(--primary)}.payments-table-compact tbody tr.favorite{background:#fffbeb}.payments-table-compact tbody tr:nth-child(2n){background:#fafbfc}.payments-table-compact tbody tr:nth-child(2n):hover{background:#f1f5f9}.payments-table-compact tbody tr:nth-child(2n).selected{background:#eff6ff}.payments-table-compact tbody tr:last-child{border-bottom:none}.payments-table-compact td{border-right:1px solid #f8fafc;color:#334155;color:var(--gray-700);font-size:12px;height:34px;overflow:hidden;padding:5px 10px;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.payments-table-compact td:last-child{border-right:none}.payments-table-compact tbody tr.selected .check-btn{color:#3b82f6;color:var(--primary)}.id-pill{letter-spacing:-.3px}.col-amount{padding-right:14px!important;text-align:right}.amount-value{color:#10b981;color:var(--success);font-size:12px;font-weight:700;letter-spacing:-.2px;white-space:nowrap}.partial-dot{color:#f59e0b;color:var(--warning);font-size:13px;font-weight:900;margin-left:5px;vertical-align:middle}.col-method{padding:5px 8px}.method-cell{align-items:center;display:flex;gap:6px;overflow:hidden}.method-icon-small{align-items:center;background:#eff6ff;background:var(--primary-light);border-radius:5px;color:#3b82f6;color:var(--primary);display:flex;flex-shrink:0;font-size:11px;height:22px;justify-content:center;width:22px}.method-name{color:#334155;color:var(--gray-700);font-weight:600;text-transform:capitalize}.method-name,.ref-text{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ref-text{align-items:center;background:#f8fafc;background:var(--gray-50);border:1px solid #f1f5f9;border:1px solid var(--gray-100);border-radius:4px;color:#475569;color:var(--gray-600);display:inline-flex;font-family:Courier New,monospace;gap:4px;max-width:100%;padding:2px 7px}.booking-cell{display:flex;flex-direction:column;gap:1px;line-height:1.15;overflow:hidden}.booking-name{color:#1e293b;color:var(--gray-800);font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-id{color:#94a3b8;color:var(--gray-400);font-family:Courier New,monospace;font-size:10px;font-weight:600}.col-status{padding:5px 8px}.payments-table-compact .payment-status-badge{align-items:center;border-radius:10px;display:inline-flex;font-size:9px;font-weight:700;gap:4px;letter-spacing:.3px;line-height:1;padding:3px 8px;text-transform:uppercase;white-space:nowrap}.payments-table-compact .payment-status-badge svg{font-size:9px}.col-date{padding:5px 8px}.row-btn.mark-paid:hover{background:#f0fdf4;border-color:#10b981;border-color:var(--success);color:#10b981;color:var(--success)}.payments-table-container .pagination{align-items:center;background:#f8fafc;background:var(--gray-50);border-top:1px solid #f1f5f9;border-top:1px solid var(--gray-100);display:flex;gap:12px;justify-content:center;margin-top:0;padding:12px}.payments-table-container .page-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-radius:6px;color:#334155;color:var(--gray-700);cursor:pointer;display:flex;font-size:11px;height:30px;justify-content:center;transition:all .15s ease;width:30px}.payments-table-container .page-btn:hover:not(:disabled){background:#3b82f6;background:var(--primary);border-color:#3b82f6;border-color:var(--primary);color:#fff}.payments-table-container .page-btn:disabled{cursor:not-allowed;opacity:.4}.payments-table-container .page-info{color:#475569;color:var(--gray-600);font-size:12px;font-weight:600}@media (max-width:1100px){.payments-table-container{overflow-x:auto}.payments-table-compact{min-width:1100px}}.payment-form{display:flex;flex-direction:column;gap:16px}.form-group input[type=email],.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--radius-sm);box-sizing:border-box;color:#1e293b;color:var(--gray-800);font-family:inherit;font-size:13px;outline:none;padding:10px 14px;transition:all .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{font-family:Courier New,monospace;min-height:70px;resize:vertical}.field-hint{color:#64748b;color:var(--gray-500);font-size:11px;font-style:italic}.checkbox-inline{align-items:center;background:#f8fafc;background:var(--gray-50);border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--radius-sm);color:#334155;color:var(--gray-700);cursor:pointer;display:inline-flex;font-size:13px;gap:8px;padding:10px 14px}.checkbox-inline input[type=checkbox]{accent-color:#3b82f6;accent-color:var(--primary);cursor:pointer;height:16px;width:16px}.afripay-info{align-items:flex-start;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;border-radius:var(--radius-sm);color:#1e40af;display:flex;font-size:12px;gap:10px;line-height:1.5;padding:12px 14px}.afripay-info svg{color:#3b82f6;color:var(--primary);flex-shrink:0;margin-top:2px}.afripay-info code{background:#fff;border-radius:4px;color:#2563eb;color:var(--primary-dark);font-family:monospace;font-size:11px;padding:2px 6px}.view-value.amount{color:#10b981;color:var(--success);font-size:16px}.provider-payload-box{background:#1e293b;background:var(--gray-800);border-radius:8px;border-radius:var(--radius-sm);color:#a5f3fc;font-family:Courier New,monospace;font-size:11px;margin:0;max-height:200px;overflow-x:auto;padding:14px;white-space:pre-wrap;word-break:break-all}.quick-pay-content{display:flex;flex-direction:column;gap:16px;padding:8px 0}.quick-pay-icon{color:#10b981;color:var(--success);font-size:42px;margin-bottom:8px;text-align:center}.quick-pay-content>p{color:#334155;color:var(--gray-700);font-size:14px;margin:0;text-align:center}.quick-pay-content>p strong{color:#10b981;color:var(--success)}.quick-pay-info{background:#f8fafc;background:var(--gray-50);border-radius:8px;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:8px;padding:14px}.quick-pay-row{align-items:center;display:flex;font-size:13px;justify-content:space-between}.quick-pay-row span{color:#64748b;color:var(--gray-500)}.quick-pay-row strong{color:#0f172a;color:var(--gray-900);font-weight:700}@media (max-width:768px){.payments-container{padding:14px}.payments-header{align-items:stretch;flex-direction:column}.stats-row{grid-template-columns:repeat(2,1fr)}.payments-grid{grid-template-columns:1fr}.form-row,.selection-bar{flex-direction:column}.selection-bar{align-items:stretch}.selection-actions{justify-content:center}}@media (max-width:480px){.payments-header h1{font-size:20px}.stat-icon-small{font-size:15px;height:36px;width:36px}.stat-value-small{font-size:14px}.btn-create,.btn-refresh{justify-content:center;width:100%}.toast-container{left:10px;right:10px}.toast{min-width:auto;width:100%}}.permission-notice{align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;border-radius:12px;box-shadow:0 2px 8px #f59e0b26;color:#92400e;display:flex;font-size:13px;gap:12px;margin-bottom:16px;padding:12px 18px}.permission-notice svg{color:#d97706;flex-shrink:0;font-size:18px}.permission-notice strong{font-weight:700}.read-only-indicator{align-items:center;align-self:flex-start;background:#f1f5f9;background:var(--gray-100);border-radius:8px;color:#64748b;color:var(--gray-500);display:inline-flex;font-size:10px;font-weight:700;gap:5px;letter-spacing:.5px;margin-top:8px;padding:4px 10px;text-transform:uppercase}.read-only-indicator svg{font-size:10px}.role-indicator{border-top:1px dashed #e2e8f0;border-top:1px dashed var(--gray-200);display:flex;gap:6px;margin-top:8px;padding-top:8px}.role-tag{align-items:center;border-radius:8px;display:inline-flex;font-size:10px;font-weight:700;gap:4px;letter-spacing:.3px;padding:3px 8px;text-transform:uppercase}.role-tag.owner{background:#fef3c7;color:#92400e}.role-tag svg{font-size:9px}.users-container{background:#f8fafc;background:var(--gray-50);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1600px;min-height:100vh;padding:20px}.users-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:24px}.users-header h1{color:#0f172a;color:var(--gray-900);font-size:26px;font-weight:700;margin:0 0 4px}.users-header p{color:#64748b;color:var(--gray-500);font-size:14px;margin:0}.btn-create{background:linear-gradient(135deg,#3b82f6,#2563eb);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%)}.stat-icon-small.cyan{background:linear-gradient(135deg,#06b6d4,#0891b2)}.stat-value-small{font-size:20px}.users-submenu{background:#fff;border:1px solid #f1f5f9;border:1px solid var(--gray-100);border-radius:12px;border-radius:var(--radius);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);display:flex;gap:6px;margin-bottom:16px;overflow-x:auto;padding:6px}.submenu-item.active{background:linear-gradient(135deg,#3b82f6,#2563eb);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%)}.btn-filter:hover{background:#2563eb;background:var(--primary-dark)}.empty-icon{margin-bottom:16px}.users-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:20px}.user-card{background:#fff;border:2px solid #f1f5f9;border:2px solid var(--gray-100);border-radius:12px;border-radius:var(--radius);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:12px;padding:16px;position:relative;transition:all .2s ease}.user-card:hover{box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.user-card.selected{border-color:#3b82f6;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.user-avatar-large{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);background:linear-gradient(135deg,var(--primary) 0,var(--purple) 100%);border-radius:50%;box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow);color:#fff;display:flex;font-size:24px;font-weight:800;height:60px;justify-content:center;margin:12px auto 0;width:60px}.user-card-header{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.user-name{align-items:center;display:flex;flex-direction:column;gap:4px;text-align:center}.user-name strong{color:#0f172a;color:var(--gray-900);font-size:16px;font-weight:700}.super-admin-badge{align-items:center;background:#fef3c7;border-radius:10px;color:#92400e;display:inline-flex;font-size:10px;font-weight:700;gap:4px;padding:3px 10px}.user-contact{color:#475569;color:var(--gray-600);display:flex;flex-direction:column;font-size:12px;gap:6px}.user-contact span{align-items:center;display:inline-flex;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.google-email{color:#4285f4!important;font-weight:500}.user-card-actions{grid-gap:4px;border-top:1px solid #f1f5f9;border-top:1px solid var(--gray-100);display:grid;gap:4px;grid-template-columns:repeat(5,1fr);padding-top:10px}.role-badge,.verified-badge{gap:4px;padding:3px 10px}.verified-badge{background:#d1fae5;color:#065f46}.unverified-badge,.verified-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:10px;font-weight:700}.unverified-badge{background:#fee2e2;color:#991b1b;gap:4px;padding:3px 10px}.users-table-container{background:#fff;border:1px solid #f1f5f9;border:1px solid var(--gray-100);border-radius:12px;border-radius:var(--radius);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);overflow:hidden}.users-table-compact{border-collapse:collapse;font-size:12px;table-layout:fixed;width:100%}.users-table-compact thead{background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--gray-200)}.users-table-compact thead th{border-right:1px solid #f1f5f9;border-right:1px solid var(--gray-100);color:#475569;color:var(--gray-600);font-size:10px;font-weight:700;letter-spacing:.5px;overflow:hidden;padding:8px 10px;text-align:left;text-overflow:ellipsis;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap}.users-table-compact thead th:last-child{border-right:none}.users-table-compact thead th.sortable{cursor:pointer;transition:all .15s ease}.users-table-compact thead th.sortable:hover{background:#f1f5f9;background:var(--gray-100);color:#0f172a;color:var(--gray-900)}.users-table-compact thead th.sortable svg{font-size:9px;margin-left:4px;opacity:.6;vertical-align:middle}.users-table-compact tbody tr{border-bottom:1px solid #f1f5f9;cursor:pointer;height:40px;transition:background .1s ease}.users-table-compact tbody tr:hover{background:#f8fafc}.users-table-compact tbody tr.selected{background:#eff6ff;box-shadow:inset 3px 0 0 #3b82f6;box-shadow:inset 3px 0 0 var(--primary)}.users-table-compact tbody tr.favorite{background:#fffbeb}.users-table-compact tbody tr:nth-child(2n){background:#fafbfc}.users-table-compact tbody tr:nth-child(2n):hover{background:#f1f5f9}.users-table-compact tbody tr:nth-child(2n).selected{background:#eff6ff}.users-table-compact tbody tr:last-child{border-bottom:none}.users-table-compact td{border-right:1px solid #f8fafc;color:#334155;color:var(--gray-700);font-size:12px;height:40px;overflow:hidden;padding:5px 10px;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.users-table-compact td:last-child{border-right:none}.users-table-compact tbody tr.selected .check-btn{color:#3b82f6;color:var(--primary)}.user-cell{overflow:hidden}.user-avatar-small{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);background:linear-gradient(135deg,var(--primary) 0,var(--purple) 100%);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:800;height:26px;justify-content:center;width:26px}.username-text{white-space:nowrap}.super-tag{background:#fef3c7;border-radius:6px;color:#92400e;font-size:9px;font-weight:700;gap:3px;padding:1px 5px;width:fit-content}.email-cell,.super-tag{align-items:center;display:inline-flex}.email-cell{color:#475569;color:var(--gray-600);font-size:11px;gap:4px;overflow:hidden;text-overflow:ellipsis}.copy-mini-btn{align-items:center;background:none;border:none;color:#94a3b8;color:var(--gray-400);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:9px;padding:0;transition:all .15s ease}.copy-mini-btn:hover{color:#3b82f6;color:var(--primary);transform:scale(1.2)}.phone-cell{color:#475569;color:var(--gray-600);font-size:11px}.phone-cell,.verified-toggle{align-items:center;display:inline-flex;gap:4px}.verified-toggle{background:none;border:none;border-radius:10px;cursor:pointer;font-size:10px;font-weight:700;padding:3px 8px;transition:all .15s ease}.verified-toggle.verified{background:#d1fae5;color:#065f46}.verified-toggle.unverified{background:#fee2e2;color:#991b1b}.verified-toggle:hover{box-shadow:0 2px 6px #0000001a;transform:scale(1.05)}.super-admin-pill{align-items:center;background:#fef3c7;border-radius:10px;color:#92400e;display:inline-flex;font-size:10px;font-weight:700;gap:4px;padding:3px 8px}.text-muted{color:#cbd5e1;color:var(--gray-300);font-size:11px;font-style:italic}.user-form{display:flex;flex-direction:column;gap:16px}.form-group input[type=email],.form-group input[type=tel],.form-group input[type=text],.form-group select{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--radius-sm);box-sizing:border-box;color:#1e293b;color:var(--gray-800);font-family:inherit;font-size:13px;outline:none;padding:10px 14px;transition:all .2s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.user-view-header{align-items:center;background:linear-gradient(135deg,#eff6ff,#f3e8ff);border-radius:12px;border-radius:var(--radius);display:flex;gap:16px;padding:16px}.user-avatar-xl{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);background:linear-gradient(135deg,var(--primary) 0,var(--purple) 100%);border-radius:50%;box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow-md);color:#fff;display:flex;flex-shrink:0;font-size:28px;font-weight:800;height:70px;justify-content:center;width:70px}.user-view-info{display:flex;flex-direction:column;gap:6px;min-width:0}.user-view-info h2{color:#0f172a;color:var(--gray-900);font-size:20px;font-weight:700;margin:0}.user-view-badges{display:flex;flex-wrap:wrap;gap:6px}.btn-submit{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%)}@media (max-width:1100px){.users-table-container{overflow-x:auto}.users-table-compact{min-width:1100px}}@media (max-width:768px){.users-container{padding:14px}.users-header{align-items:stretch;flex-direction:column}.stats-row{grid-template-columns:repeat(2,1fr)}.users-grid{grid-template-columns:1fr}.selection-bar{align-items:stretch;flex-direction:column}.selection-actions{justify-content:center}}@media (max-width:480px){.users-header h1{font-size:20px}.stat-icon-small{font-size:15px;height:36px;width:36px}.stat-value-small{font-size:16px}.btn-create,.btn-refresh{justify-content:center;width:100%}.toast-container{left:10px;right:10px}.toast{min-width:auto;width:100%}}:root{--success-light:#f0fdf4;--warning-light:#fffbeb;--danger-light:#fef2f2;--info:#06b6d4;--gold:#f59e0b;--radius:12px;--radius-sm:8px;--radius-lg:16px;--shadow-sm:0 1px 2px #0000000d;--shadow:0 2px 8px #00000014;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 10px 25px #00000026}.subscriptions-container{background:#f8fafc;background:var(--gray-50);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1600px;min-height:100vh;padding:20px}.toast{border-radius:var(--radius-sm);box-shadow:var(--shadow-lg)}.toast-info{border-left-color:#06b6d4;border-left-color:var(--info);color:#06b6d4;color:var(--info)}.subscriptions-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:24px}.subscriptions-header h1{color:#0f172a;color:var(--gray-900);font-size:26px;font-weight:700;margin:0 0 4px}.subscriptions-header p{color:#64748b;color:var(--gray-500);font-size:14px;margin:0}.btn-create,.btn-refresh{align-items:center;border:none;border-radius:8px;border-radius:var(--radius-sm);box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .2s ease}.btn-create{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.btn-create:hover,.btn-refresh:hover{box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.error-banner{background:var(--danger-light);border-radius:var(--radius);font-weight:500}.error-banner svg{flex-shrink:0;font-size:18px}.retry-btn{border-radius:var(--radius-sm);transition:all .2s ease}.retry-btn:hover{background:#dc2626}.stats-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:20px}.stat-card-small{align-items:center;background:#fff;border:1px solid #f1f5f9;border:1px solid var(--gray-100);border-radius:12px;border-radius:var(--radius);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);display:flex;gap:12px;padding:14px 16px;transition:all .2s ease}.stat-card-small:hover{box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow);transform:translateY(-2px)}.stat-icon-small{align-items:center;border-radius:10px;color:#fff;display:flex;flex-shrink:0;font-size:18px;height:42px;justify-content:center;width:42px}.stat-icon-small.blue{background:linear-gradient(135deg,#3b82f6,#2563eb)}.stat-icon-small.green{background:linear-gradient(135deg,#10b981,#059669)}.stat-icon-small.red{background:linear-gradient(135deg,#ef4444,#dc2626)}.stat-icon-small.purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.stat-icon-small.gold{background:linear-gradient(135deg,#f59e0b,#d97706)}.stat-info-small{display:flex;flex-direction:column;gap:2px;min-width:0}.stat-label-small{color:#64748b;color:var(--gray-500);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.stat-value-small{color:#0f172a;color:var(--gray-900);font-size:16px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subscriptions-submenu{background:#fff;border:1px solid #f1f5f9;border:1px solid var(--gray-100);border-radius:12px;border-radius:var(--radius);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);display:flex;gap:6px;margin-bottom:16px;overflow-x:auto;padding:6px}.submenu-item{align-items:center;background:#0000;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#475569;color:var(--gray-600);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s ease;white-space:nowrap}.submenu-item:hover{background:#f8fafc;background:var(--gray-50);color:#1e293b;color:var(--gray-800)}.submenu-item.active{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);color:#fff}.submenu-count{background:#ffffff40;border-radius:10px;font-size:11px;font-weight:700;padding:2px 8px}.submenu-item:not(.active) .submenu-count{background:#e2e8f0;background:var(--gray-200);color:#334155;color:var(--gray-700)}.btn-toolbar{border-radius:var(--radius-sm)}.btn-toolbar:hover{color:#0f172a;color:var(--gray-900)}.filters-bar{border-radius:var(--radius);box-shadow:var(--shadow-sm)}.filter-input,.filter-select{border-radius:var(--radius-sm)}.filter-input:focus,.filter-select:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.btn-filter,.btn-reset{border:none;border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s ease}.btn-filter{background:#8b5cf6}.btn-filter:hover{background:#7c3aed}.btn-reset:hover{background:#f8fafc;background:var(--gray-50)}.selection-bar{background:linear-gradient(135deg,#f3e8ff,#ede9fe);border:1px solid #8b5cf6;border-radius:var(--radius)}.selection-info{color:#6d28d9}.btn-selection-action{border-radius:var(--radius-sm);transition:all .2s ease}.btn-selection-action:hover{background:#f8fafc;background:var(--gray-50);transform:translateY(-1px)}.btn-selection-action.info{color:var(--info)}.btn-selection-action.danger:hover{background:#fef2f2;background:var(--danger-light)}.empty-state,.loading-state{border-radius:var(--radius);box-shadow:var(--shadow-sm);gap:16px}.empty-icon{margin-bottom:8px}.spinner{color:#8b5cf6}.plans-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:20px}.plan-card{background:#fff;border:2px solid #f1f5f9;border:2px solid var(--gray-100);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:16px;overflow:hidden;padding:22px 20px;position:relative;transition:all .25s ease}.plan-card:before{background:linear-gradient(90deg,#8b5cf6,#7c3aed);content:"";height:4px;left:0;position:absolute;right:0;top:0}.plan-card.tier-premium:before{background:linear-gradient(90deg,#f59e0b,#d97706)}.plan-card.tier-standard:before{background:linear-gradient(90deg,#3b82f6,#2563eb)}.plan-card.tier-basic:before{background:linear-gradient(90deg,#10b981,#059669)}.plan-card:hover{border-color:#e2e8f0;border-color:var(--gray-200);box-shadow:0 10px 25px #00000026;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.plan-card.selected{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf626}.card-favorite-btn,.card-note-btn,.card-select-btn{box-shadow:var(--shadow-sm);top:12px;transition:all .2s ease}.card-select-btn{left:12px}.card-favorite-btn{color:var(--gold);right:12px}.card-note-btn{right:48px}.card-favorite-btn:hover,.card-note-btn:hover,.card-select-btn:hover{background:#fff;transform:scale(1.1)}.plan-tier-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:10px;font-weight:700;gap:5px;letter-spacing:.5px;margin-left:40px;padding:4px 12px;text-transform:uppercase;width:fit-content}.plan-header{display:flex;flex-direction:column;gap:8px}.plan-name{color:#0f172a;color:var(--gray-900);font-size:20px;font-weight:800;line-height:1.2;margin:0}.plan-price{align-items:baseline;border-bottom:1px dashed #e2e8f0;border-bottom:1px dashed var(--gray-200);border-top:1px dashed #e2e8f0;border-top:1px dashed var(--gray-200);display:flex;gap:6px;padding:16px 0}.plan-amount{color:#8b5cf6;font-size:28px;font-weight:800;letter-spacing:-.5px}.plan-period{color:#64748b;color:var(--gray-500);font-size:13px;font-weight:500}.plan-features{display:flex;flex:1 1;flex-direction:column;gap:8px}.plan-feature{align-items:center;color:#475569;color:var(--gray-600);display:flex;font-size:13px;gap:8px}.plan-feature svg{color:#10b981;color:var(--success);flex-shrink:0;font-size:14px}.plan-card-actions{grid-gap:6px;border-top:1px solid #f1f5f9;border-top:1px solid var(--gray-100);display:grid;gap:6px;grid-template-columns:repeat(4,1fr);padding-top:12px}.action-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--radius-sm);color:#475569;color:var(--gray-600);cursor:pointer;display:flex;font-size:13px;justify-content:center;padding:8px;transition:all .2s ease}.action-btn:hover{box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);transform:translateY(-2px)}.action-btn.view:hover{border-color:#06b6d4;border-color:var(--info);color:#06b6d4;color:var(--info)}.action-btn.edit:hover{border-color:#f59e0b;border-color:var(--warning);color:#f59e0b;color:var(--warning)}.action-btn.note:hover{border-color:#8b5cf6;border-color:var(--purple);color:#8b5cf6;color:var(--purple)}.action-btn.delete:hover{background:#fef2f2;background:var(--danger-light);border-color:#ef4444;border-color:var(--danger);color:#ef4444;color:var(--danger)}.subscriptions-table-container{background:#fff;border:1px solid #f1f5f9;border:1px solid var(--gray-100);border-radius:12px;border-radius:var(--radius);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);overflow:hidden}.subscriptions-table-compact{border-collapse:collapse;font-size:12px;table-layout:fixed;width:100%}.subscriptions-table-compact thead{background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--gray-200)}.subscriptions-table-compact thead th{border-right:1px solid #f1f5f9;border-right:1px solid var(--gray-100);color:#475569;color:var(--gray-600);font-size:10px;font-weight:700;letter-spacing:.5px;overflow:hidden;padding:8px 10px;text-align:left;text-overflow:ellipsis;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap}.subscriptions-table-compact thead th:last-child{border-right:none}.subscriptions-table-compact thead th.sortable{cursor:pointer;transition:all .15s ease}.subscriptions-table-compact thead th.sortable:hover{background:#f1f5f9;background:var(--gray-100);color:#0f172a;color:var(--gray-900)}.subscriptions-table-compact thead th.sortable svg{font-size:9px;margin-left:4px;opacity:.6;vertical-align:middle}.subscriptions-table-compact tbody tr{border-bottom:1px solid #f1f5f9;cursor:pointer;height:42px;transition:background .1s ease}.subscriptions-table-compact tbody tr:hover{background:#f8fafc}.subscriptions-table-compact tbody tr.selected{background:#f3e8ff;box-shadow:inset 3px 0 0 #8b5cf6}.subscriptions-table-compact tbody tr.favorite{background:#fffbeb}.subscriptions-table-compact tbody tr:nth-child(2n){background:#fafbfc}.subscriptions-table-compact tbody tr:nth-child(2n):hover{background:#f1f5f9}.subscriptions-table-compact tbody tr:nth-child(2n).selected{background:#f3e8ff}.subscriptions-table-compact tbody tr:last-child{border-bottom:none}.subscriptions-table-compact td{border-right:1px solid #f8fafc;color:#334155;color:var(--gray-700);font-size:12px;height:42px;overflow:hidden;padding:5px 10px;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.subscriptions-table-compact td:last-child{border-right:none}.check-all-btn,.check-btn{line-height:1}.check-all-btn:hover,.check-btn:hover,.subscriptions-table-compact tbody tr.selected .check-btn{color:#8b5cf6}.col-id{text-align:center}.plan-cell{gap:10px;overflow:hidden}.plan-cell,.plan-icon{align-items:center;display:flex}.plan-icon{border-radius:8px;flex-shrink:0;font-size:13px;height:28px;justify-content:center;width:28px}.plan-name-text{color:#1e293b;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis}.plan-name-text,.price-value{font-size:13px;font-weight:700;white-space:nowrap}.price-value{color:#8b5cf6}.duration-badge{align-items:center;border-radius:10px;display:inline-flex;font-size:10px;font-weight:700;gap:4px;letter-spacing:.3px;padding:3px 10px;text-transform:uppercase;white-space:nowrap}.duration-badge svg,.tier-pill{font-size:10px}.tier-pill{border-radius:10px;display:inline-block;font-weight:700;letter-spacing:.3px;padding:3px 10px;text-transform:uppercase}.col-actions{padding:4px 6px!important;text-align:center}.row-btn{border-radius:5px;flex-shrink:0;height:24px;width:24px}.row-btn:hover{z-index:1}.row-btn.view:hover{border-color:var(--info);color:var(--info)}.row-btn.edit:hover{background:#fffbeb;border-color:#f59e0b;border-color:var(--warning);color:#f59e0b;color:var(--warning)}.row-btn.favorite:hover{border-color:var(--gold);color:var(--gold)}.pagination{margin-top:0}.page-btn{font-size:11px;transition:all .15s ease}.page-btn:hover:not(:disabled){background:#8b5cf6;border-color:#8b5cf6}.plan-form{gap:16px}.form-section,.plan-form{display:flex;flex-direction:column}.form-section{gap:12px}.section-title{align-items:center;border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--gray-100);color:#1e293b;color:var(--gray-800);display:flex;font-size:14px;font-weight:700;gap:8px;margin:0 0 4px;padding-bottom:8px}.form-group label{color:#334155;color:var(--gray-700);font-size:13px}.form-group input[type=number],.form-group input[type=text],.form-group select{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--radius-sm);box-sizing:border-box;color:#1e293b;color:var(--gray-800);font-family:inherit;font-size:13px;outline:none;padding:10px 14px;transition:all .2s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.form-group input.error,.form-group select.error{background:var(--danger-light);border-color:var(--danger)}.form-row{display:flex;flex-wrap:wrap;gap:12px}.form-group.half{flex:1 1;min-width:200px}.field-error{color:var(--danger);font-size:12px}.error-message-general{background:#fef2f2;background:var(--danger-light);border:1px solid #fecaca;border-radius:8px;border-radius:var(--radius-sm);color:#ef4444;color:var(--danger);font-size:13px;font-weight:500;padding:12px 16px}.plan-preview{background:linear-gradient(135deg,#f3e8ff,#ede9fe);border:1px dashed #8b5cf6;border-radius:8px;border-radius:var(--radius-sm);margin-top:8px;padding:12px}.plan-preview-label{align-items:center;color:#6d28d9;display:flex;font-size:11px;font-weight:700;gap:6px;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.plan-preview-card{align-items:baseline;background:#fff;border-radius:8px;border-radius:var(--radius-sm);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);display:flex;gap:8px;padding:10px 14px}.plan-preview-name{color:#0f172a;color:var(--gray-900);font-size:15px;font-weight:700}.plan-preview-price{color:#8b5cf6;font-size:18px;font-weight:800;margin-left:auto}.plan-preview-duration{color:#64748b;color:var(--gray-500);font-size:12px}.plan-view-header{align-items:center;border:1px solid #f1f5f9;border:1px solid var(--gray-100);border-radius:12px;border-radius:var(--radius);display:flex;gap:16px;padding:20px}.plan-view-icon{align-items:center;border-radius:14px;box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow-md);color:#fff;display:flex;flex-shrink:0;font-size:26px;height:60px;justify-content:center;width:60px}.plan-view-title{display:flex;flex-direction:column;gap:6px;min-width:0}.plan-view-title h2{color:#0f172a;color:var(--gray-900);font-size:22px;font-weight:800;margin:0}.view-info-item{border-radius:var(--radius-sm)}.view-info-item.highlight{background:linear-gradient(135deg,#f3e8ff,#ede9fe);border:1px solid #c4b5fd}.view-label{align-items:center;display:flex;gap:4px;letter-spacing:.5px}.view-value{font-size:14px;word-break:break-word}.view-value.amount{color:#8b5cf6;font-size:20px;font-weight:800}.view-note-box{border-radius:var(--radius-sm);line-height:1.5}.delete-confirm p strong{color:#ef4444;color:var(--danger)}.btn-cancel,.btn-delete-confirm,.btn-delete-note,.btn-submit{border-radius:var(--radius-sm)}.btn-cancel:hover:not(:disabled){background:#f1f5f9;background:var(--gray-100)}.btn-submit{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm)}.btn-submit:hover:not(:disabled){box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-delete-confirm{background:linear-gradient(135deg,var(--danger) 0,#dc2626 100%)}.btn-delete-note{background:var(--danger-light)}.btn-delete-note:hover{background:#ef4444;background:var(--danger);color:#fff}.history-item{border-left:3px solid #8b5cf6;border-radius:var(--radius-sm)}.history-icon{box-shadow:var(--shadow-sm);color:#8b5cf6}.note-textarea,.view-empty{border-radius:var(--radius-sm)}.note-textarea:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}@media (max-width:1100px){.subscriptions-table-container{overflow-x:auto}.subscriptions-table-compact{min-width:1000px}}@media (max-width:768px){.subscriptions-container{padding:14px}.subscriptions-header{align-items:stretch;flex-direction:column}.stats-row{grid-template-columns:repeat(2,1fr)}.plans-grid{grid-template-columns:1fr}.form-row,.selection-bar{flex-direction:column}.selection-bar{align-items:stretch}.selection-actions{justify-content:center}}@media (max-width:480px){.subscriptions-header h1{font-size:20px}.stat-icon-small{font-size:15px;height:36px;width:36px}.stat-value-small{font-size:14px}.btn-create,.btn-refresh{justify-content:center;width:100%}.toast-container{left:10px;right:10px}.toast{min-width:auto;width:100%}}:root{--primary:#3b82f6;--primary-dark:#2563eb;--primary-light:#eff6ff;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--purple:#8b5cf6;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a}.messages-container{background:#f8fafc;background:var(--gray-50);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1600px;min-height:100vh;padding:20px}.toast-container{display:flex;flex-direction:column;gap:10px;pointer-events:none;position:fixed;right:20px;top:20px;z-index:9999}.toast{align-items:center;animation:slideInRight .3s ease;background:#fff;border-left:4px solid #3b82f6;border-left:4px solid var(--primary);border-radius:8px;box-shadow:0 10px 25px #00000026;display:flex;font-size:14px;font-weight:500;gap:10px;max-width:400px;min-width:260px;padding:12px 18px;pointer-events:auto}.toast-success{border-left-color:#10b981;border-left-color:var(--success);color:#10b981;color:var(--success)}.toast-error{border-left-color:#ef4444;border-left-color:var(--danger);color:#ef4444;color:var(--danger)}.toast-warning{border-left-color:#f59e0b;border-left-color:var(--warning);color:#f59e0b;color:var(--warning)}.toast span{color:#1e293b;color:var(--gray-800)}@keyframes slideInRight{0%{opacity:0;transform:translateX(120%)}to{opacity:1;transform:translateX(0)}}.messages-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:20px}.messages-header h1{color:#0f172a;color:var(--gray-900);font-size:26px;font-weight:700;margin:0 0 4px}.messages-header p{color:#64748b;color:var(--gray-500);font-size:14px;margin:0}.header-actions{display:flex;gap:10px}.btn-refresh{align-items:center;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-radius:8px;color:#334155;color:var(--gray-700);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:8px;padding:10px 18px;transition:all .2s ease}.btn-refresh:hover{background:#f8fafc;background:var(--gray-50);transform:translateY(-1px)}.info-notice{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;color:#1e40af;display:flex;font-size:13px;gap:10px;margin-bottom:16px;padding:12px 18px}.info-notice svg{color:#3b82f6;flex-shrink:0}.error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#ef4444;color:var(--danger);display:flex;font-size:14px;gap:12px;margin-bottom:16px;padding:14px 18px}.error-banner span{flex:1 1}.retry-btn{align-items:center;background:#ef4444;background:var(--danger);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:6px 14px}.toolbar-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.btn-toolbar{align-items:center;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-radius:8px;color:#334155;color:var(--gray-700);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s ease}.btn-toolbar:hover{background:#f8fafc;background:var(--gray-50);border-color:#cbd5e1;border-color:var(--gray-300)}.filters-bar{background:#fff;border:1px solid #f1f5f9;border:1px solid var(--gray-100);border-radius:12px;box-shadow:0 1px 2px #0000000d;margin-bottom:16px;padding:16px}.filters-form{flex-wrap:wrap;gap:10px}.filter-group,.filters-form{align-items:center;display:flex}.filter-group{position:relative}.filter-icon{color:#94a3b8;color:var(--gray-400);font-size:13px;left:12px;pointer-events:none;position:absolute}.filter-input,.filter-select{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-radius:8px;color:#1e293b;color:var(--gray-800);font-size:13px;min-width:200px;outline:none;padding:8px 12px 8px 34px;transition:all .2s ease}.filter-select{min-width:180px;padding-left:12px}.filter-input:focus,.filter-select:focus{border-color:#3b82f6;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.btn-filter{align-items:center;background:#3b82f6;background:var(--primary);border:none;border-radius:8px;color:#fff;display:inline-flex;font-weight:600;gap:6px}.btn-filter,.btn-reset{cursor:pointer;font-size:13px;padding:8px 16px}.btn-reset{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-radius:8px;color:#475569;color:var(--gray-600)}.selection-bar{background:linear-gradient(135deg,#eff6ff,#f0fdf4);border:1px solid #3b82f6;border:1px solid var(--primary);border-radius:12px;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.selection-bar,.selection-info{align-items:center;display:flex}.selection-info{color:#2563eb;color:var(--primary-dark);font-size:14px;font-weight:600;gap:8px}.selection-actions{display:flex;flex-wrap:wrap;gap:8px}.btn-selection-action{align-items:center;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-radius:8px;color:#334155;color:var(--gray-700);cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:6px 12px}.btn-selection-action.info{border-color:#a5f3fc;color:#06b6d4}.btn-selection-action.danger{border-color:#fecaca;color:#ef4444;color:var(--danger)}.empty-state,.loading-state{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 2px #0000000d;color:#64748b;color:var(--gray-500);display:flex;flex-direction:column;gap:12px;justify-content:center;padding:60px 20px}.empty-icon{color:#cbd5e1;color:var(--gray-300);font-size:48px}.empty-state h3{color:#334155;color:var(--gray-700);font-size:16px;font-weight:600;margin:0}.empty-state p{font-size:13px;margin:0;text-align:center}.spinner{color:#3b82f6;color:var(--primary);font-size:24px}.messages-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:20px}.message-card{background:#fff;border:2px solid #f1f5f9;border:2px solid var(--gray-100);border-radius:12px;box-shadow:0 1px 2px #0000000d;cursor:pointer;display:flex;flex-direction:column;gap:12px;padding:18px;position:relative;transition:all .2s ease}.message-card:hover{border-color:#e2e8f0;border-color:var(--gray-200);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.message-card.selected{border-color:#3b82f6;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f626}.card-favorite-btn,.card-note-btn,.card-select-btn{align-items:center;background:#fffffff2;border:none;border-radius:50%;box-shadow:0 1px 2px #0000000d;color:#475569;color:var(--gray-600);cursor:pointer;display:flex;height:30px;justify-content:center;position:absolute;top:10px;width:30px;z-index:3}.card-select-btn{left:10px}.card-favorite-btn{color:#f59e0b;color:var(--warning);right:10px}.card-note-btn{color:#8b5cf6;color:var(--purple);right:46px}.card-avatar-wrapper{align-self:center;margin-top:8px;position:relative}.card-avatar{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:50%;box-shadow:0 4px 12px #3b82f640;color:#fff;display:flex;font-size:22px;font-weight:800;height:64px;justify-content:center;overflow:hidden;width:64px}.card-avatar img{height:100%;object-fit:cover;width:100%}.card-avatar-status{border:2px solid #fff;border-radius:50%;bottom:2px;height:14px;position:absolute;right:2px;width:14px}.card-avatar-status.online{background:#10b981;background:var(--success)}.card-header-info{display:flex;flex-direction:column;gap:4px;text-align:center}.card-name{color:#0f172a;color:var(--gray-900);font-size:16px;font-weight:700;margin:0}.card-role-tag{align-items:center;align-self:center;border-radius:10px;display:inline-flex;font-size:10px;font-weight:700;gap:4px;letter-spacing:.3px;padding:3px 10px;text-transform:uppercase}.card-role-tag.customer{background:#dbeafe;color:#1e40af}.card-role-tag.owner{background:#fef3c7;color:#92400e}.card-hall{align-items:center;background:#f8fafc;background:var(--gray-50);border-radius:8px;display:flex;gap:10px;padding:10px 12px}.card-hall>svg{color:#3b82f6;color:var(--primary);flex-shrink:0;font-size:16px}.card-hall>div{display:flex;flex-direction:column;gap:2px;min-width:0}.card-hall strong{color:#1e293b;color:var(--gray-800);font-size:13px;font-weight:600}.card-hall span{display:inline-flex;gap:4px}.card-footer,.card-hall span{align-items:center;color:#64748b;color:var(--gray-500);font-size:11px}.card-footer{border-top:1px solid #f1f5f9;border-top:1px solid var(--gray-100);display:flex;justify-content:space-between;padding-top:10px}.card-date,.card-preview{align-items:center;display:inline-flex;gap:4px}.messages-table-container{background:#fff;border:1px solid #f1f5f9;border:1px solid var(--gray-100);border-radius:12px;box-shadow:0 1px 2px #0000000d;overflow:hidden}.messages-table-compact{border-collapse:collapse;font-size:12px;table-layout:fixed;width:100%}.messages-table-compact thead{background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--gray-200)}.messages-table-compact thead th{border-right:1px solid #f1f5f9;border-right:1px solid var(--gray-100);color:#475569;color:var(--gray-600);font-size:10px;font-weight:700;letter-spacing:.5px;padding:8px 10px;text-align:left;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap}.messages-table-compact thead th:last-child{border-right:none}.messages-table-compact thead th.sortable{cursor:pointer}.messages-table-compact thead th.sortable:hover{background:#f1f5f9;background:var(--gray-100)}.messages-table-compact thead th.sortable svg{font-size:9px;margin-left:4px;opacity:.6}.messages-table-compact tbody tr{border-bottom:1px solid #f1f5f9;cursor:pointer;height:52px;transition:background .1s ease}.messages-table-compact tbody tr:hover{background:#f8fafc}.messages-table-compact tbody tr.selected{background:#eff6ff;box-shadow:inset 3px 0 0 #3b82f6;box-shadow:inset 3px 0 0 var(--primary)}.messages-table-compact tbody tr.favorite{background:#fffbeb}.messages-table-compact td{border-right:1px solid #f8fafc;color:#334155;color:var(--gray-700);font-size:12px;height:52px;overflow:hidden;padding:6px 10px;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.messages-table-compact td:last-child{border-right:none}.col-check{padding:4px!important;text-align:center}.check-all-btn,.check-btn{align-items:center;background:none;border:none;color:#94a3b8;color:var(--gray-400);cursor:pointer;display:inline-flex;font-size:15px;justify-content:center;padding:0;transition:all .15s ease}.check-all-btn:hover,.check-btn:hover{color:#3b82f6;color:var(--primary);transform:scale(1.15)}.id-pill{background:#f1f5f9;background:var(--gray-100);border-radius:6px;color:#475569;color:var(--gray-600);display:inline-block;font-family:Courier New,monospace;font-size:10px;font-weight:700;padding:2px 7px}.user-cell{gap:8px}.user-avatar-sm,.user-cell{align-items:center;display:flex}.user-avatar-sm{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:50%;color:#fff;flex-shrink:0;font-size:12px;font-weight:800;height:30px;justify-content:center;width:30px}.user-avatar-sm.owner{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.user-cell-info{display:flex;flex-direction:column;gap:1px;min-width:0;overflow:hidden}.username-text{color:#1e293b;color:var(--gray-800);font-size:12px;font-weight:600}.user-email,.username-text{overflow:hidden;text-overflow:ellipsis}.user-email{color:#94a3b8;color:var(--gray-400);font-size:10px}.hall-cell{align-items:center;color:#334155;color:var(--gray-700);display:inline-flex;font-size:12px;font-weight:600;gap:6px}.hall-cell svg{color:#3b82f6;color:var(--primary)}.date-text{color:#334155;color:var(--gray-700);font-size:11px;font-weight:600}.date-text,.time-text{display:block;line-height:1.2}.time-text{color:#94a3b8;color:var(--gray-400);font-family:Courier New,monospace;font-size:10px}.row-actions{gap:3px}.row-actions,.row-btn{align-items:center;display:flex;justify-content:center}.row-btn{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-radius:6px;color:#64748b;color:var(--gray-500);cursor:pointer;font-size:11px;height:26px;padding:0;transition:all .15s ease;width:26px}.row-btn:hover{box-shadow:0 2px 6px #0000001a;transform:translateY(-1px)}.row-btn.chat:hover{background:#eff6ff;border-color:#3b82f6;border-color:var(--primary);color:#3b82f6;color:var(--primary)}.row-btn.view:hover{background:#eff6ff;border-color:#06b6d4;color:#06b6d4}.row-btn.note:hover{background:#faf5ff;border-color:#8b5cf6;border-color:var(--purple);color:#8b5cf6;color:var(--purple)}.row-btn.favorite:hover{background:#fffbeb;border-color:#f59e0b;border-color:var(--warning);color:#f59e0b;color:var(--warning)}.row-btn.delete:hover{background:#fef2f2;border-color:#ef4444;border-color:var(--danger);color:#ef4444;color:var(--danger)}.pagination{background:#f8fafc;background:var(--gray-50);border-top:1px solid #f1f5f9;border-top:1px solid var(--gray-100);gap:12px;padding:12px}.page-btn,.pagination{align-items:center;display:flex;justify-content:center}.page-btn{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-radius:6px;color:#334155;color:var(--gray-700);cursor:pointer;height:30px;width:30px}.page-btn:hover:not(:disabled){background:#3b82f6;background:var(--primary);border-color:#3b82f6;border-color:var(--primary);color:#fff}.page-btn:disabled{cursor:not-allowed;opacity:.4}.page-info{color:#475569;color:var(--gray-600);font-size:12px;font-weight:600}.view-details-complete{display:flex;flex-direction:column;gap:20px}.view-section{display:flex;flex-direction:column;gap:12px}.view-section-title{align-items:center;border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--gray-100);color:#1e293b;color:var(--gray-800);display:flex;font-size:14px;font-weight:700;gap:8px;margin:0;padding-bottom:8px}.participants-grid{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:1fr auto 1fr}.participant-card{align-items:center;background:#f8fafc;background:var(--gray-50);border:1px solid #f1f5f9;border:1px solid var(--gray-100);border-radius:10px;display:flex;gap:12px;padding:12px}.participant-card.customer{border-left:3px solid #3b82f6;border-left:3px solid var(--primary)}.participant-card.owner{border-left:3px solid #8b5cf6;border-left:3px solid var(--purple)}.participant-avatar{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:16px;font-weight:800;height:44px;justify-content:center;width:44px}.participant-avatar.owner{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.participant-info{display:flex;flex-direction:column;font-size:12px;gap:2px;min-width:0}.participant-role{color:#64748b;color:var(--gray-500);font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.participant-info strong{color:#0f172a;color:var(--gray-900);font-size:13px}.participant-info span{align-items:center;color:#475569;color:var(--gray-600);display:inline-flex;gap:4px}.participant-arrow{color:#94a3b8;color:var(--gray-400);font-size:20px;font-weight:700}.view-info-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.view-info-item{background:#f8fafc;background:var(--gray-50);border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:10px 12px}.view-label{color:#64748b;color:var(--gray-500);font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.view-value{color:#0f172a;color:var(--gray-900);font-size:13px;font-weight:600}.view-note-box{background:#fef3c7;border-left:4px solid #f59e0b;border-left:4px solid var(--warning);border-radius:8px;color:#1e293b;color:var(--gray-800);font-size:13px;padding:12px 14px}.chat-body{gap:0;height:100%;min-height:400px}.chat-body,.chat-header-info{display:flex;flex-direction:column}.chat-header-info{background:linear-gradient(135deg,#eff6ff,#f3e8ff);border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--gray-100);border-radius:8px;gap:8px;margin-bottom:12px;padding:12px 16px}.chat-hall-info{align-items:center;color:#334155;color:var(--gray-700);display:inline-flex;font-size:12px;font-weight:600;gap:6px}.chat-hall-info svg{color:#3b82f6;color:var(--primary)}.chat-participants-mini{display:flex;flex-wrap:wrap;gap:8px}.mini-participant{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 2px #0000000d;color:#334155;color:var(--gray-700);display:inline-flex;font-size:11px;font-weight:600;gap:6px;padding:3px 8px}.mini-avatar{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:9px;font-weight:800;height:20px;justify-content:center;width:20px}.mini-avatar.customer{background:#3b82f6}.mini-avatar.owner{background:#8b5cf6}.chat-messages{background:#f8fafc;background:var(--gray-50);border-radius:10px;flex:1 1;gap:12px;max-height:400px;min-height:280px;overflow-y:auto;padding:12px}.chat-empty,.chat-messages{display:flex;flex-direction:column}.chat-empty{align-items:center;color:#94a3b8;color:var(--gray-400);flex:1 1;gap:8px;justify-content:center;padding:40px}.chat-empty p{font-size:13px;margin:0}.chat-message{align-items:flex-end;display:flex;gap:8px;max-width:80%}.chat-message.mine{align-self:flex-end;flex-direction:row-reverse}.chat-message.theirs{align-self:flex-start}.message-avatar{align-items:center;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:11px;font-weight:800;height:32px;justify-content:center;width:32px}.message-bubble{word-wrap:break-word;background:#fff;border-radius:14px;box-shadow:0 1px 2px #0000000d;display:flex;flex-direction:column;gap:3px;max-width:100%;padding:10px 14px}.chat-message.mine .message-bubble{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.message-sender{color:#3b82f6;color:var(--primary);font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.message-text{font-size:13px;line-height:1.4;margin:0}.message-time{align-self:flex-end;font-size:10px;opacity:.7}.chat-input-bar{border-top:1px solid #f1f5f9;border-top:1px solid var(--gray-100);display:flex;gap:8px;margin-top:12px;padding:12px 0 0}.chat-input-bar input{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-radius:24px;flex:1 1;font-size:13px;outline:none;padding:10px 14px;transition:all .2s ease}.chat-input-bar input:focus{border-color:#3b82f6;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.btn-send{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:50%;box-shadow:0 2px 8px #3b82f64d;color:#fff;cursor:pointer;display:flex;font-size:15px;height:42px;justify-content:center;transition:all .2s ease;width:42px}.btn-send:hover:not(:disabled){box-shadow:0 4px 12px #3b82f666;transform:scale(1.05)}.btn-send:disabled{cursor:not-allowed;opacity:.5}.delete-confirm{align-items:center;display:flex;flex-direction:column;gap:12px;padding:20px;text-align:center}.delete-icon{color:#f59e0b;color:var(--warning);font-size:48px}.delete-confirm p{color:#1e293b;color:var(--gray-800);font-size:15px;margin:0}.delete-warning{color:#64748b;color:var(--gray-500);font-size:12px;font-style:italic}.btn-cancel,.btn-delete-confirm,.btn-delete-note,.btn-submit{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:8px;padding:10px 18px;transition:all .2s ease}.btn-cancel{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--gray-200);color:#334155;color:var(--gray-700)}.btn-submit{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.btn-delete-confirm{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-delete-note{background:#fef2f2;border:1px solid #fecaca;color:#ef4444;color:var(--danger)}.btn-cancel:disabled,.btn-delete-confirm:disabled,.btn-submit:disabled{cursor:not-allowed;opacity:.6}.history-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.history-item{align-items:flex-start;background:#f8fafc;background:var(--gray-50);border-left:3px solid #3b82f6;border-left:3px solid var(--primary);border-radius:8px;display:flex;gap:12px;padding:10px 12px}.history-icon{align-items:center;background:#fff;border-radius:50%;box-shadow:0 1px 2px #0000000d;color:#3b82f6;color:var(--primary);display:flex;flex-shrink:0;height:30px;justify-content:center;width:30px}.history-content{display:flex;flex:1 1;flex-direction:column;gap:2px}.history-content strong{color:#1e293b;color:var(--gray-800);font-size:13px}.history-content span{color:#475569;color:var(--gray-600);font-size:12px}.history-content small{font-size:11px}.history-content small,.view-empty{color:#94a3b8;color:var(--gray-400)}.view-empty{align-items:center;background:#f8fafc;background:var(--gray-50);border-radius:8px;display:flex;flex-direction:column;gap:8px;justify-content:center;padding:30px}.note-hall-name{color:#475569;color:var(--gray-600);font-size:13px;margin:0 0 10px}.note-hall-name strong{color:#0f172a;color:var(--gray-900)}.note-textarea{border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:13px;outline:none;padding:12px 14px;resize:vertical;width:100%}.note-textarea:focus{border-color:#3b82f6;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}@media (max-width:1100px){.messages-table-container{overflow-x:auto}.messages-table-compact{min-width:1000px}}@media (max-width:768px){.messages-container{padding:14px}.messages-header{align-items:stretch;flex-direction:column}.messages-grid{grid-template-columns:1fr}.form-row{flex-direction:column}.participants-grid{grid-template-columns:1fr}.participant-arrow{text-align:center;transform:rotate(90deg)}.chat-message{max-width:90%}}@media (max-width:480px){.messages-header h1{font-size:20px}.toast-container{left:10px;right:10px}.toast{min-width:auto;width:100%}}.profile-container{animation:fadeInUp .3s ease-out;margin:0 auto;max-width:1200px}.profile-error,.profile-loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:400px}.profile-loading .spinner{animation:spin 1s linear infinite;color:#1a2a4a;font-size:40px}.profile-error .error-icon{color:#ef4444;font-size:48px}.profile-error p{color:#64748b;font-size:15px}.btn-retry{background:#1a2a4a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.btn-retry:hover{background:#1e3a6f;transform:translateY(-1px)}.profile-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.profile-header .header-left h1{color:#0a1628;font-size:22px;font-weight:700;letter-spacing:-.3px}.profile-header .header-actions{display:flex;flex-wrap:wrap;gap:8px}.btn-cancel-top,.btn-edit,.btn-logout{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s}.btn-edit{background:#eef2ff;border:1px solid #c7d2fe;color:#4f46e5}.btn-edit:hover{background:#4f46e5;color:#fff;transform:translateY(-1px)}.btn-cancel-top{background:#f1f5f9;border:1px solid #e2e8f0;color:#64748b}.btn-cancel-top:hover{background:#e2e8f0}.btn-logout{background:#fee2e2;border:1px solid #fecaca;color:#dc2626}.btn-logout:hover{background:#dc2626;color:#fff;transform:translateY(-1px)}.alert{border-radius:10px;font-size:13px;font-weight:500;gap:8px;margin-bottom:16px;padding:12px 16px}.alert-success{background:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.alert-error{background:#fee2e2}.profile-banner{align-items:center;background:linear-gradient(135deg,#1a2a4a,#1e3a6f);border-radius:16px;box-shadow:0 8px 24px #1a2a4a33;color:#fff;display:flex;gap:20px;margin-bottom:20px;overflow:hidden;padding:20px 24px;position:relative}.profile-banner:before{background:radial-gradient(circle,#ffffff14 0,#0000 70%);border-radius:50%;content:"";height:300px;position:absolute;right:-10%;top:-50%;width:300px}.banner-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:4px solid #ffffff26;border-radius:50%;box-shadow:0 8px 24px #0003;color:#fff;display:flex;flex-shrink:0;font-size:32px;font-weight:700;height:90px;justify-content:center;overflow:visible;position:relative;width:90px}.banner-avatar img{border-radius:50%;height:100%;object-fit:cover;width:100%}.avatar-camera{align-items:center;background:#fff;border:2px solid #1a2a4a;border-radius:50%;bottom:-4px;color:#4f46e5;cursor:pointer;display:flex;font-size:12px;height:30px;justify-content:center;position:absolute;right:-4px;transition:all .2s;width:30px}.avatar-camera:hover{background:#4f46e5;color:#fff;transform:scale(1.1)}.banner-info{flex:1 1;min-width:0;position:relative;z-index:1}.banner-name-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:4px}.banner-name-row h2{color:#fff;font-size:22px;font-weight:700;letter-spacing:-.3px;margin:0}.role-badge{border-radius:10px;font-size:11px;gap:5px;letter-spacing:.3px;padding:4px 10px;text-transform:uppercase}.mini-badge{align-items:center;border-radius:50%;color:#fff;display:inline-flex;font-size:11px;height:22px;justify-content:center;width:22px}.mini-badge.verified{background:#10b981}.mini-badge.admin{background:#f59e0b}.banner-email{align-items:center;color:#ffffffbf;display:flex;font-size:13px;gap:6px;margin:4px 0 8px;word-break:break-all}.banner-meta{display:flex;flex-wrap:wrap;font-size:12px;gap:8px 16px}.banner-meta span{align-items:center;background:#ffffff14;border:1px solid #ffffff14;border-radius:8px;color:#ffffffb3;display:inline-flex;gap:5px;padding:4px 10px}.banner-meta svg{font-size:11px}.profile-grid{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1fr 340px}.profile-form-card,.sidebar-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;transition:all .2s}.profile-form-card:hover,.sidebar-card:hover{box-shadow:0 4px 16px #0a16280d}.card-header{background:#f8fafc;border-bottom:1px solid #f1f5f9;padding:16px 20px}.card-header h3{align-items:center;color:#0a1628;display:flex;font-size:14px;font-weight:700;gap:8px;letter-spacing:.5px;margin:0;text-transform:uppercase}.card-header h3 svg{color:#4f46e5;font-size:14px}.profile-form{padding:20px}.form-row-compact{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{align-items:center;color:#475569;display:flex;font-size:12px;font-weight:600;gap:6px;letter-spacing:.3px;text-transform:uppercase}.form-group label svg{color:#94a3b8;font-size:11px}.form-group input,.form-group select{background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;color:#0a1628;font-family:inherit;font-size:13px;padding:10px 12px;transition:all .2s;width:100%}.form-group input:focus,.form-group select:focus{background:#fff;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a;outline:none}.form-group input:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.form-group input.error,.form-group select.error{background:#fef2f2;border-color:#ef4444}.form-group select{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='%2394a3b8' 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 10px center;background-repeat:no-repeat;background-size:14px;cursor:pointer;padding-right:32px}.field-error{color:#ef4444;font-size:11px;font-weight:500}.role-readonly,.status-inline{background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;padding:10px 12px}.status-inline{align-items:center;display:flex;flex-wrap:wrap;gap:6px;min-height:40px}.status-pill{align-items:center;border-radius:10px;display:inline-flex;font-size:11px;font-weight:700;gap:5px;letter-spacing:.3px;padding:4px 10px;text-transform:uppercase}.status-pill.verified{background:#d1fae5;color:#059669}.status-pill.unverified{background:#fee2e2;color:#dc2626}.status-pill.admin{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.form-actions{border-top:1px solid #f1f5f9;display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:16px}.btn-cancel,.btn-save{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:10px 22px;transition:all .2s}.btn-cancel{background:#f1f5f9;color:#64748b}.btn-cancel:hover:not(:disabled){background:#e2e8f0}.btn-save{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff}.btn-save:hover:not(:disabled){box-shadow:0 4px 12px #4f46e54d;transform:translateY(-1px)}.btn-cancel:disabled,.btn-save:disabled{cursor:not-allowed;opacity:.6}.profile-sidebar{gap:16px;position:sticky;top:90px}.profile-sidebar,.security-list{display:flex;flex-direction:column}.security-list{gap:8px;padding:12px}.security-item{align-items:center;background:#f8fafc;border:1px solid #f1f5f9;border-radius:10px;display:flex;gap:12px;padding:10px 12px;transition:all .2s}.security-item:hover{background:#fff;border-color:#e2e8f0}.security-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;font-size:14px;height:36px;justify-content:center;width:36px}.security-icon.active{background:linear-gradient(135deg,#eef2ff,#e0e7ff);color:#4f46e5}.security-icon.inactive{background:#f1f5f9;color:#94a3b8}.security-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.security-info strong{color:#0a1628;font-size:13px;font-weight:600}.security-info span{color:#94a3b8;font-size:11px}.status-icon{flex-shrink:0;font-size:16px}.status-icon.success{color:#10b981}.status-icon.danger{color:#ef4444}.quick-actions{display:flex;flex-direction:column;gap:8px;padding:12px}.quick-action-btn{align-items:center;background:#f8fafc;border:1px solid #f1f5f9;border-radius:10px;color:#475569;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:10px;padding:12px 14px;text-align:left;transition:all .2s}.quick-action-btn:hover{background:#eef2ff;border-color:#c7d2fe;color:#4f46e5;transform:translateX(3px)}.quick-action-btn svg{color:#94a3b8;font-size:14px;transition:color .2s}.quick-action-btn:hover svg{color:#4f46e5}@keyframes fadeInUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media (max-width:992px){.profile-grid{grid-template-columns:1fr}.profile-sidebar{position:static}}@media (max-width:768px){.profile-header{align-items:stretch;flex-direction:column}.profile-header .header-actions{width:100%}.profile-header .header-actions button{flex:1 1;justify-content:center}.profile-banner{flex-direction:column;padding:24px 20px;text-align:center}.banner-email,.banner-meta,.banner-name-row{justify-content:center}.form-row-compact{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn-cancel,.btn-save{justify-content:center;width:100%}}@media (max-width:480px){.profile-header .header-left h1{font-size:18px}.profile-banner{padding:20px 16px}.banner-avatar{font-size:24px;height:70px;width:70px}.banner-name-row h2{font-size:18px}.profile-form,.quick-actions,.security-list{padding:14px}.card-header{padding:12px 16px}.card-header h3{font-size:12px}}.role-readonly-field{align-items:center;background:#f8fafc;background:var(--gray-50,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--gray-200,#e2e8f0);border-radius:8px;display:flex;flex-wrap:wrap;gap:10px;min-height:42px;padding:10px 14px}.readonly-hint{align-items:center;color:#64748b;color:var(--gray-500,#64748b);display:inline-flex;font-size:11px;font-weight:600;gap:4px;letter-spacing:.3px;margin-left:auto;text-transform:uppercase}.readonly-hint svg{color:#94a3b8;color:var(--gray-400,#94a3b8);font-size:10px}.role-readonly-field:hover{cursor:not-allowed}.role-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:700;gap:6px;padding:4px 12px;white-space:nowrap}*{box-sizing:border-box;margin:0;padding:0}.auth-container{align-items:center;background:linear-gradient(135deg,#0a1628,#1a2a4a,#24243e);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-grid{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:24px;box-shadow:0 30px 80px #0009;display:grid;grid-template-columns:1fr 1.2fr;max-width:1000px;overflow:hidden;width:100%}.auth-brand{align-items:center;background:linear-gradient(135deg,#1e3a8a,#1e40af 50%,#2563eb);display:flex;justify-content:center;overflow:hidden;padding:60px 40px;position:relative}.auth-brand:before{background:radial-gradient(circle,#ffffff14 0,#0000 70%);border-radius:50%;content:"";height:100%;position:absolute;right:-50%;top:-50%;width:100%}.brand-content{color:#fff;position:relative;text-align:center;z-index:1}.brand-logo-image{align-items:center;background:#fff;border-radius:24px;box-shadow:0 10px 30px #0000004d;display:inline-flex;height:120px;justify-content:center;margin-bottom:24px;overflow:hidden;padding:12px;width:120px}.brand-logo-image img{border-radius:12px;height:100%;object-fit:contain;width:100%}.brand-title{font-size:36px;font-weight:700;letter-spacing:-1px;margin-bottom:8px}.brand-subtitle{font-size:16px;font-weight:300;margin-bottom:40px;opacity:.9}.brand-features{align-items:flex-start;display:flex;flex-direction:column;gap:12px}.feature-item{align-items:center;display:flex;font-size:14px;gap:12px;opacity:.95}.feature-item svg{color:#fbbf24}.auth-form-container{align-items:center;background:#fff;display:flex;justify-content:center;padding:50px 40px}.auth-card{max-width:400px;width:100%}.auth-header{margin-bottom:32px;text-align:center}.auth-logo-small{align-items:center;background:#f8fafc;border-radius:16px;box-shadow:0 4px 12px #00000014;display:flex;height:70px;justify-content:center;margin:0 auto 20px;padding:8px;width:70px}.auth-logo-small img{border-radius:8px;height:100%;object-fit:contain;width:100%}.auth-header h2{color:#0a1628;font-size:26px;font-weight:700;margin-bottom:8px}.auth-subtitle{color:#64748b;font-size:14px;line-height:1.5}.alert{align-items:center;border-radius:12px;display:flex;font-size:14px;gap:10px;margin-bottom:20px;padding:14px 16px}.alert-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.alert-icon{flex-shrink:0;font-size:18px}.google-auth-section{display:flex;flex-direction:column;gap:20px;margin-top:24px}.google-btn-wrapper{display:flex;justify-content:center;min-height:50px;width:100%}.google-btn-wrapper>div{width:100%!important}.google-btn-wrapper iframe{margin:0 auto;width:100%!important}.google-loading{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;color:#1a2a4a;font-size:15px;font-weight:500;gap:12px;justify-content:center;padding:16px}.google-info,.google-loading{border-radius:12px;display:flex}.google-info{align-items:flex-start;background:#eef2ff;border:1px solid #c7d2fe;gap:10px;padding:14px 16px}.google-info .info-icon{color:#4f46e5;flex-shrink:0;font-size:16px;margin-top:2px}.google-info p{color:#1a2a4a;font-size:13px;line-height:1.5;margin:0}.auth-footer{margin-top:32px;text-align:center}.terms{color:#94a3b8;font-size:12px;line-height:1.6}.terms a{color:#4f46e5;font-weight:500;text-decoration:none}.terms a:hover{text-decoration:underline}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:992px){.auth-grid{grid-template-columns:1fr;max-width:500px}.auth-brand{padding:40px 30px}.brand-logo-image{height:90px;width:90px}.brand-title{font-size:28px}.brand-features{flex-direction:row;flex-wrap:wrap;gap:16px;justify-content:center}.auth-form-container{padding:40px 30px}}@media (max-width:480px){.auth-container{padding:0}.auth-grid{border-radius:0;min-height:100vh}.auth-brand{padding:30px 20px}.brand-logo-image{height:80px;width:80px}.brand-title{font-size:24px}.brand-subtitle{font-size:14px;margin-bottom:24px}.auth-form-container{padding:30px 20px}.auth-header h2{font-size:22px}.auth-logo-small{height:60px;width:60px}}
/*# sourceMappingURL=main.da58bbf0.css.map*/