:root{--bp-xs:320px;--bp-sm:480px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--bp-xxl:1440px;--bp-xxxl:1920px;--font-xs:clamp(0.75rem,1.5vw,0.875rem);--font-sm:clamp(0.875rem,2vw,1rem);--font-base:clamp(1rem,2.5vw,1.125rem);--font-lg:clamp(1.125rem,3vw,1.25rem);--font-xl:clamp(1.25rem,3.5vw,1.5rem);--font-2xl:clamp(1.5rem,4vw,2rem);--font-3xl:clamp(2rem,5vw,3rem);--sp-xs:clamp(0.25rem,1vw,0.5rem);--sp-sm:clamp(0.5rem,2vw,1rem);--sp-md:clamp(1rem,3vw,1.5rem);--sp-lg:clamp(1.5rem,4vw,2rem);--sp-xl:clamp(2rem,5vw,3rem)}@media (max-width:479px){html{font-size:14px}body{overflow-x:hidden}.card-grid,.form-grid,.grid,.metrics-grid,.resource-grid-modern,.stat-grid,.stats-grid,.stats-grid-main,.users-grid{gap:.75rem;grid-template-columns:1fr!important}h1{font-size:1.375rem}h2{font-size:1.25rem}h3{font-size:1.125rem}h4{font-size:1rem}.btn,a.btn,button{min-height:44px;min-width:44px}input,select,textarea{font-size:16px!important}table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.btn-danger-modern,.btn-primary-modern,.btn-secondary-modern{justify-content:center;width:100%}.hide-xs{display:none!important}}@media (min-width:480px) and (max-width:767px){html{font-size:15px}.stat-grid,.stats-grid,.stats-grid-main{gap:.875rem;grid-template-columns:repeat(2,1fr)}.metrics-grid{grid-template-columns:repeat(2,1fr)}.card-grid,.resource-grid-modern,.users-grid{gap:1rem;grid-template-columns:1fr}.hide-sm{display:none!important}}@media (min-width:768px) and (max-width:1023px){html{font-size:16px}.stat-grid,.stats-grid{gap:1.25rem}.card-grid,.metrics-grid,.resource-grid-modern,.stat-grid,.stats-grid,.stats-grid-main{grid-template-columns:repeat(2,1fr)}.card-grid,.resource-grid-modern{gap:1.25rem}.users-grid{grid-template-columns:repeat(2,1fr)}.hide-md{display:none!important}}@media (min-width:1024px) and (max-width:1279px){html{font-size:16px}.stat-grid{grid-template-columns:repeat(4,1fr)}.metrics-grid,.stats-grid-main{grid-template-columns:repeat(2,1fr)}.card-grid{grid-template-columns:repeat(3,1fr)}.hide-lg{display:none!important}}@media (min-width:1280px) and (max-width:1439px){html{font-size:16px}.stat-grid{gap:1.5rem}.metrics-grid,.stat-grid,.stats-grid-main{grid-template-columns:repeat(4,1fr)}.card-grid{gap:1.75rem;grid-template-columns:repeat(3,1fr)}}@media (min-width:1440px) and (max-width:1919px){html{font-size:16px}.card-grid,.stat-grid{gap:2rem;grid-template-columns:repeat(4,1fr)}}@media (min-width:1920px){html{font-size:18px}.stat-grid{gap:2rem;grid-template-columns:repeat(6,1fr)}.card-grid{gap:2rem;grid-template-columns:repeat(5,1fr)}.page-container-modern{max-width:2000px}}@media (orientation:landscape) and (max-height:600px){.main-content{padding-bottom:.875rem;padding-top:.875rem}.portrait-only{display:none!important}}@media (orientation:portrait){.landscape-only{display:none!important}}@media print{*{background:#fff!important;box-shadow:none!important;color:#000!important;text-shadow:none!important}.btn,.header-modern,.modal-overlay-modern,.no-print,.sidebar,button{display:none!important}.main-content{margin:0;padding:0;width:100%}a[href]:after{content:" (" attr(href) ")"}@page{margin:1.5cm}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media (prefers-color-scheme:dark){body.dark-mode{--bg-app:#0f172a;--bg-card:#1e293b;--bg-muted:#1a2744;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--border-color:#2d3748;background:var(--bg-app);color:var(--text-primary)}}@media (hover:none) and (pointer:coarse){.btn,a,button,input[type=checkbox],input[type=radio]{min-height:44px;min-width:44px}.resource-card-modern:hover,.stat-card:hover,.user-card:hover{transform:none}*{-webkit-overflow-scrolling:touch}}.d-none{display:none!important}.d-block{display:block!important}.d-flex{display:flex!important}.d-grid{display:grid!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}@media (max-width:767px){.text-sm-center{text-align:center!important}.stack-sm{flex-direction:column!important}.stack-sm>*{margin-bottom:.875rem}.stack-sm>*,.w-sm-100{width:100%!important}.m-sm-0{margin:0!important}.p-sm-0{padding:0!important}.mx-sm-auto{margin-left:auto!important;margin-right:auto!important}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--violet-50:#f5f3ff;--violet-100:#ede9fe;--violet-200:#ddd6fe;--violet-300:#c4b5fd;--violet-400:#a78bfa;--violet-500:#8b5cf6;--violet-600:#7c3aed;--violet-700:#6d28d9;--violet-800:#5b21b6;--violet-900:#4c1d95;--pink-50:#fdf2f8;--pink-200:#fbcfe8;--pink-300:#f9a8d4;--pink-400:#f472b6;--cyan-50:#ecfeff;--cyan-100:#cffafe;--cyan-200:#a5f3fc;--cyan-400:#22d3ee;--cyan-500:#06b6d4;--cyan-600:#0891b2;--primary-color:var(--violet-600);--primary-hover:var(--violet-700);--primary-light:var(--violet-50);--primary-border:var(--violet-200);--gradient-brand:linear-gradient(135deg,var(--violet-600) 0%,var(--pink-500) 100%);--gradient-brand-v:linear-gradient(180deg,var(--violet-600) 0%,var(--pink-500) 100%);--gradient-violet:linear-gradient(135deg,var(--violet-50) 0%,var(--violet-100) 100%);--gradient-pink:linear-gradient(135deg,var(--pink-50) 0%,var(--pink-100) 100%);--gradient-cyan:linear-gradient(135deg,var(--cyan-50) 0%,var(--cyan-100) 100%);--gradient-surface:linear-gradient(135deg,#f8fafc,#fff);--success-color:#10b981;--success-light:#d1fae5;--success-dark:#065f46;--danger-color:#ef4444;--danger-light:#fee2e2;--danger-dark:#991b1b;--warning-color:#f59e0b;--warning-light:#fef3c7;--warning-dark:#92400e;--info-color:#3b82f6;--info-light:#dbeafe;--info-dark:#1e40af;--bg-app:#f1f5f9;--bg-card:#fff;--bg-muted:#f8fafc;--text-muted:var(--gray-400);--text-inverse:#fff;--border-hover:var(--gray-300);--border-primary:var(--violet-300);--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 3px #0f172a14,0 1px 2px #0f172a0a;--shadow:0 4px 6px -1px #0f172a14,0 2px 4px -2px #0f172a0a;--shadow-md:0 10px 15px -3px #0f172a14,0 4px 6px -4px #0f172a0a;--shadow-lg:0 20px 25px -5px #0f172a1a,0 8px 10px -6px #0f172a0a;--shadow-xl:0 25px 50px -12px #0f172a2e;--shadow-brand:0 8px 24px #7c3aed40;--shadow-brand-lg:0 16px 40px #7c3aed59;--radius-xs:4px;--radius-sm:6px;--radius:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-full:9999px;--border-radius:var(--radius);--border-radius-lg:var(--radius-lg);--radius-md:8px;--transition-fast:all 0.15s ease;--transition:all 0.25s cubic-bezier(0.4,0,0.2,1);--transition-slow:all 0.4s cubic-bezier(0.4,0,0.2,1);--transition-spring:all 0.3s cubic-bezier(0.34,1.56,0.64,1);--font-sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono","Fira Code","Monaco","Consolas",monospace;--z-dropdown:200;--z-modal:1000;--z-toast:1100;--z-header:100;--z-sidebar:50}html{-webkit-text-size-adjust:100%;font-size:16px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f1f5f9;background:var(--bg-app);color:#0f172a;color:var(--text-primary);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#cbd5e1;background:var(--gray-300);border-radius:9999px;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#a78bfa;background:var(--violet-400)}h1,h2,h3,h4,h5,h6{color:#0f172a;color:var(--text-primary);font-weight:700;letter-spacing:-.02em;line-height:1.3}p{color:#64748b;color:var(--text-secondary)}a{color:#7c3aed;color:var(--primary-color);text-decoration:none}a:hover{color:#6d28d9;color:var(--primary-hover)}.page-container-modern{background:#0000;margin:0 auto;max-width:1600px;min-height:100%;padding:0}.header-content,.page-header-modern{margin-bottom:1.75rem}.header-content{align-items:flex-start;flex-wrap:wrap;gap:1rem}.header-text{flex:1 1;min-width:0}.page-title-modern{align-items:center;color:#0f172a;color:var(--gray-900);display:flex;font-size:clamp(1.25rem,2.5vw,1.625rem);font-weight:800;gap:.625rem;letter-spacing:-.03em;margin:0 0 .25rem}.page-title-modern i{background:#f5f3ff;background:var(--violet-50);border:1px solid #ede9fe;border:1px solid var(--violet-100);border-radius:6px;border-radius:var(--radius-sm);color:#7c3aed;color:var(--primary-color);flex-shrink:0;font-size:1.125rem;padding:.45rem .5rem}.page-subtitle-modern{color:#64748b;color:var(--gray-500);font-size:.875rem;font-weight:400;letter-spacing:-.01em;margin:0}.stats-grid{grid-gap:1.25rem;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:2rem}.stat-card{align-items:center;background:var(--bg-card);border-radius:14px;box-shadow:0 1px 3px #0000000f;display:flex;gap:1rem;padding:1.375rem 1.5rem;transition:all .22s cubic-bezier(.4,0,.2,1)}.stat-card:before{background:linear-gradient(135deg,#7c3aed,#ec4899);background:var(--gradient-brand);content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .25s ease}.stat-card:hover{box-shadow:0 8px 24px #0000001a;transform:translateY(-3px)}.stat-card:hover:before{opacity:1}.stat-icon{border-radius:8px;border-radius:var(--radius-md);font-size:1.375rem;height:52px;width:52px}.stat-icon.green{color:#059669}.stat-icon.purple{background:var(--gradient-violet);color:var(--violet-700)}.stat-icon.pink{background:linear-gradient(135deg,#fdf2f8,#fce7f3);background:var(--gradient-pink);color:#db2777;color:var(--pink-600)}.stat-icon.cyan{background:var(--gradient-cyan);color:var(--cyan-600)}.stat-icon.red{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.stat-details{display:flex;flex-direction:column;min-width:0}.stat-value{font-size:1.875rem;line-height:1}.stat-label{font-size:.8125rem;font-weight:500;margin-top:.375rem}.filters-section{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.search-box-modern{flex:1 1;max-width:400px;min-width:240px;position:relative}.search-box-modern i{color:#94a3b8;font-size:.875rem;left:.875rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-box-modern input{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 2px #0000000a;color:#334155;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-size:.875rem;padding:.6875rem .875rem .6875rem 2.5rem;transition:all .2s ease;width:100%}.search-box-modern input:focus{border-color:#a78bfa;box-shadow:0 0 0 3px #8b5cf61a;outline:none}.search-box-modern input::placeholder{color:#94a3b8}.filter-group{display:flex;flex-wrap:wrap;gap:.625rem}.filter-select{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 2px #0000000a;color:#334155;cursor:pointer;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-size:.875rem;min-width:130px;padding:.6875rem .875rem;transition:all .2s ease}.filter-select:focus{border-color:#a78bfa;box-shadow:0 0 0 3px #8b5cf61a;outline:none}.btn-primary-modern{align-items:center;background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none;border-radius:12px;border-radius:var(--radius);box-shadow:0 8px 24px #7c3aed40;box-shadow:var(--shadow-brand);color:#fff;cursor:pointer;display:inline-flex;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-size:.9375rem;font-weight:600;gap:.5rem;letter-spacing:-.01em;padding:.625rem 1.375rem;transition:all .25s cubic-bezier(.4,0,.2,1);transition:var(--transition);white-space:nowrap}.btn-primary-modern:hover{box-shadow:0 16px 40px #7c3aed59;box-shadow:var(--shadow-brand-lg);filter:brightness(1.05);transform:translateY(-2px)}.btn-primary-modern:active{transform:translateY(0)}.btn-secondary-modern{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;border-radius:var(--radius);color:#334155;cursor:pointer;display:inline-flex;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-size:.9375rem;font-weight:600;gap:.5rem;letter-spacing:-.01em;padding:.625rem 1.375rem;transition:all .25s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.btn-secondary-modern:hover{background:#f8fafc;border-color:#c4b5fd;box-shadow:0 2px 8px #00000012;color:#7c3aed;transform:translateY(-1px)}.btn-danger-modern{background:linear-gradient(135deg,var(--danger-color) 0,#dc2626 100%);border-radius:12px;border-radius:var(--radius);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-size:.9375rem;font-weight:600;padding:.8125rem 1.625rem;transition:all .25s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.btn-danger-modern:hover{box-shadow:0 8px 20px #ef444466;transform:translateY(-2px)}.btn-ghost{background:#0000;border:none;border-radius:12px;border-radius:var(--radius);color:#7c3aed;color:var(--primary-color);cursor:pointer;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:all .25s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.btn-ghost:hover{background:#f5f3ff;background:var(--primary-light)}.resource-grid-modern{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.resource-card-modern{background:#fff;background:var(--bg-card);border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 1px 3px #0000000f;display:flex;flex-direction:column;overflow:hidden;transition:all .22s cubic-bezier(.4,0,.2,1)}.resource-card-modern:hover{border-color:#c4b5fd;box-shadow:0 10px 28px #0000001a;transform:translateY(-4px)}.resource-card-modern .card-header{align-items:flex-start;background:#fafafa;border-bottom:1px solid #f1f5f9;display:flex;gap:1rem;padding:1.25rem 1.5rem}.resource-avatar{align-items:center;background:linear-gradient(135deg,#7c3aed,#ec4899);background:var(--gradient-brand);border-radius:8px;border-radius:var(--radius-md);box-shadow:0 8px 24px #7c3aed40;box-shadow:var(--shadow-brand);color:#fff;display:flex;flex-shrink:0;font-size:1.375rem;height:52px;justify-content:center;width:52px}.resource-title{flex:1 1;min-width:0}.resource-title h3{color:#0f172a;color:var(--text-primary);font-size:1.0625rem;font-weight:700;letter-spacing:-.01em;margin:0 0 .25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-subtitle{color:#64748b;color:var(--text-secondary);display:block;font-size:.8125rem}.card-actions{display:flex;gap:.5rem;margin-left:auto}.action-btn-icon{align-items:center;border:none;border-radius:6px;border-radius:var(--radius-sm);cursor:pointer;display:flex;font-size:.875rem;height:34px;justify-content:center;transition:all .25s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:34px}.action-btn-icon.edit{background:#f5f3ff;background:var(--violet-50);color:#7c3aed;color:var(--violet-600)}.action-btn-icon.edit:hover{background:#7c3aed;background:var(--violet-600);box-shadow:0 8px 24px #7c3aed40;box-shadow:var(--shadow-brand);color:#fff}.action-btn-icon.delete{background:#fee2e2;background:var(--danger-light);color:#ef4444;color:var(--danger-color)}.action-btn-icon.delete:hover{background:#ef4444;background:var(--danger-color);box-shadow:0 4px 12px #ef44444d;color:#fff}.resource-card-modern .card-body{flex:1 1;padding:1.375rem 1.5rem}.resource-card-modern .card-footer{background:#f8fafc;background:var(--gray-50);border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);color:#64748b;color:var(--text-secondary);font-size:.8125rem;padding:.875rem 1.5rem}.status-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.status-badge{border-radius:6px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:700;gap:.375rem;letter-spacing:.02em;padding:.3125rem .75rem}.status-badge.active{background:var(--success-light);color:var(--success-dark)}.status-badge.active .badge-dot{background:var(--success-color)}.status-badge.inactive{background:var(--danger-light);color:var(--danger-dark)}.status-badge.inactive .badge-dot{background:var(--danger-color)}.status-badge.pending{background:var(--warning-light);color:var(--warning-dark)}.status-badge.pending .badge-dot{background:var(--warning-color)}.type-badge{align-items:center;border-radius:9999px;border-radius:var(--radius-full);display:inline-flex;font-size:.75rem;font-weight:700;gap:.35rem;padding:.25rem .75rem;text-transform:capitalize;transition:all .15s ease;transition:var(--transition-fast)}.type-badge i{font-size:.65rem}.type-badge:hover{transform:scale(1.05)}.radius-status-badge{align-items:center;background:#fff;background:var(--bg-card);border:1.5px solid #e2e8f0;border:1.5px solid var(--border-color);border-radius:9999px;border-radius:var(--radius-full);box-shadow:0 1px 3px #0f172a14,0 1px 2px #0f172a0a;box-shadow:var(--shadow-sm);display:inline-flex;font-size:.75rem;font-weight:700;gap:.5rem;letter-spacing:.04em;padding:.375rem .875rem}.radius-status-badge.online{background:#10b9810f;border-color:#10b98140;color:#10b981;color:var(--success-color)}.radius-status-badge.offline{background:#ef44440f;border-color:#ef444440;color:#ef4444;color:var(--danger-color)}.radius-status-badge i{font-size:.875rem}.status-indicator-group{align-items:center;display:flex;gap:1rem}.info-grid{display:flex;flex-direction:column;gap:1rem}.info-grid.two-col{display:grid;grid-template-columns:repeat(2,1fr)}.info-grid.three-col{display:grid;grid-template-columns:repeat(3,1fr)}.info-item{align-items:flex-start;display:flex;gap:.75rem}.info-item i{color:#7c3aed;color:var(--primary-color);flex-shrink:0;font-size:1rem;margin-top:.125rem;text-align:center;width:16px}.info-item>div{flex:1 1;min-width:0}.info-label{color:#94a3b8;color:var(--text-muted);display:block;font-size:.6875rem;font-weight:700;letter-spacing:.08em;margin-bottom:.25rem;text-transform:uppercase}.info-value{color:#0f172a;color:var(--text-primary);display:block;font-size:.9375rem;font-weight:500;word-break:break-word}.modal-overlay-modern{align-items:center;animation:fadeIn .2s ease-out;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#0f172a8c;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000;z-index:var(--z-modal)}.modal-modern{animation:slideUp .25s cubic-bezier(.34,1.56,.64,1);background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 24px 60px #0f172a2e,0 0 0 1px #0000000d;display:flex;flex-direction:column;max-height:92vh;max-width:680px;width:100%}.modal-modern.modal-small{max-width:460px}.modal-header-modern{align-items:flex-start;background:linear-gradient(135deg,#f8fafc,#fff);background:var(--gradient-surface);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);border-radius:20px 20px 0 0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;display:flex;gap:1rem;justify-content:space-between;overflow:hidden;padding:1.625rem 2rem;position:relative}.modal-header-modern:before{background:linear-gradient(135deg,#7c3aed,#ec4899);background:var(--gradient-brand);content:"";height:3px;left:0;position:absolute;right:0;top:0}.modal-header-modern.danger{background:linear-gradient(135deg,#fef2f2,#fff)}.modal-header-modern.danger:before{background:linear-gradient(90deg,#ef4444,#f97316);background:linear-gradient(90deg,var(--danger-color),#f97316)}.modal-header-modern h2{color:#0f172a;color:var(--text-primary);font-size:1.375rem;font-weight:800;letter-spacing:-.02em;margin:0}.modal-close{align-items:center;background:#f1f5f9;background:var(--gray-100);border:none;border-radius:6px;border-radius:var(--radius-sm);color:#64748b;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:1.125rem;height:34px;justify-content:center;transition:all .25s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:34px}.modal-close:hover{background:#e2e8f0;background:var(--gray-200);color:#0f172a;color:var(--text-primary)}.modal-body-modern{flex:1 1;overflow-y:auto;padding:2rem}.modal-footer-modern{background:#f8fafc;background:var(--gray-50);border-radius:0 0 20px 20px;border-radius:0 0 var(--radius-xl) var(--radius-xl);border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:.875rem;justify-content:flex-end;padding:1.375rem 2rem}.modal-modern form{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.form-section{margin-bottom:2rem}.section-title{border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-color);color:#0f172a;font-size:.9375rem;letter-spacing:-.01em;margin:0 0 1.25rem;padding-bottom:.75rem}.section-title i{color:#7c3aed}.form-grid{grid-gap:1.125rem;gap:1.125rem;grid-template-columns:repeat(2,1fr)}.form-group-modern label{color:#334155;color:var(--gray-700);font-weight:700;letter-spacing:.01em;margin-bottom:.4375rem}.form-group-modern input,.form-group-modern select,.form-group-modern textarea{background:#f8fafc;background:var(--bg-muted);border:1.5px solid #e2e8f0;border-radius:12px;border-radius:var(--radius);color:#0f172a;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-size:.9375rem;padding:.75rem 1rem;transition:all .25s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.form-group-modern input:focus,.form-group-modern select:focus,.form-group-modern textarea:focus{background:#fff;background:var(--bg-card);border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1f;outline:none}.form-group-modern input::placeholder{color:#94a3b8;color:var(--text-muted)}.form-group-modern textarea{min-height:90px}.table-modern{font-size:.9375rem}.table-modern thead tr{background:#f8fafc;border-bottom:2px solid #f1f5f9}.table-modern th{color:#94a3b8;font-size:.6875rem;font-weight:700;letter-spacing:.08em;padding:.8125rem 1.375rem;text-align:left;text-transform:uppercase;white-space:nowrap}.table-modern th:first-child{border-radius:0}.table-modern td{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--gray-100);color:#334155;color:var(--gray-700);padding:1rem 1.375rem;vertical-align:middle}.table-modern tr:last-child td{border-bottom:none}.table-modern tbody tr{transition:var(--transition-fast)}.table-modern tbody tr:hover td{cursor:default}.code-display{align-items:center;background:#f1f5f9;background:var(--gray-100);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:4px;border-radius:var(--radius-xs);color:#7c3aed;color:var(--primary-color);cursor:pointer;display:inline-flex;font-family:JetBrains Mono,Fira Code,Monaco,Consolas,monospace;font-family:var(--font-mono);font-size:.875rem;gap:.5rem;padding:.25rem .625rem;transition:all .25s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.code-display:hover{background:#f5f3ff;background:var(--violet-50);border-color:#7c3aed;border-color:var(--primary-color)}.batch-pagination{background:#f8fafc;background:var(--gray-50);border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);display:flex;justify-content:center;padding:1rem 1.5rem}.table-pagination{padding:1.25rem 1.5rem}.page-number,.pagination-btn{background:var(--bg-card);border-radius:6px;border-radius:var(--radius-sm);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);transition:all .15s ease;transition:var(--transition-fast)}.page-number:hover,.pagination-btn:hover{background:var(--violet-50);border-color:var(--violet-300);color:var(--violet-600)}.page-number.active{background:var(--gradient-brand)}.loading-modern{align-items:center;display:flex;flex-direction:column;gap:1.25rem;justify-content:center;padding:5rem 2rem}.spinner-modern{animation:spin .8s linear infinite;border:3px solid #ede9fe;border-top-color:#7c3aed;border:3px solid var(--violet-100);border-radius:50%;border-top-color:var(--violet-600);height:44px;width:44px}.empty-state-modern{background:#fff;background:var(--bg-card);border:1.5px dashed #e2e8f0;border:1.5px dashed var(--border-color);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0f172a14,0 1px 2px #0f172a0a;box-shadow:var(--shadow-sm);padding:4rem 2rem;text-align:center}.empty-state-modern .empty-icon{align-items:center;background:linear-gradient(135deg,#f5f3ff,#ede9fe);background:var(--gradient-violet);border-radius:50%;color:#7c3aed;color:var(--violet-600);display:flex;font-size:2.25rem;height:80px;justify-content:center;margin:0 auto 1.5rem;width:80px}.empty-state-modern h3{color:#0f172a;color:var(--text-primary);font-size:1.25rem;margin-bottom:.5rem}.empty-state-modern p{color:#64748b;color:var(--text-secondary);font-size:.9375rem}@keyframes slideUp{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse-ring{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}.badge-detail{display:flex;flex-direction:column}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.z-50{z-index:50}.hidden{display:none}.block{display:block}.inline-flex{display:inline-flex}.shrink-0{flex-shrink:0}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.flex-wrap{flex-wrap:wrap}.h-full{height:100%}.min-h-screen{min-height:100vh}.overflow-y-auto{overflow-y:auto}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-5{gap:1.25rem}.gap-8{gap:2rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-12{padding-bottom:3rem;padding-top:3rem}.m-0{margin:0}.mt-1{margin-top:.25rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.text-xs{line-height:1rem}.text-sm{line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.text-2xl{line-height:2rem}.text-4xl{line-height:2.5rem}.font-normal{font-weight:400}.font-extrabold{font-weight:800}.capitalize{text-transform:capitalize}.text-left{text-align:left}.font-mono{font-family:JetBrains Mono,Fira Code,Monaco,Consolas,monospace;font-family:var(--font-mono)}.text-white{color:#fff}.text-gray-300{color:#cbd5e1;color:var(--gray-300)}.text-blue-800{color:#1e40af}.text-green-700{color:#15803d}.text-red-600{color:#dc2626}.text-red-700{color:#b91c1c}.text-red-900{color:#7f1d1d}.text-yellow-700{color:#a16207}.text-purple-500{color:var(--violet-500)}.text-purple-600{color:var(--violet-600)}.bg-white{background-color:#fff}.bg-gray-50{background-color:#f8fafc;background-color:var(--gray-50)}.bg-gray-100{background-color:#f1f5f9;background-color:var(--gray-100)}.bg-blue-50{background-color:#eff6ff}.bg-blue-100{background-color:#dbeafe}.bg-green-50{background-color:#f0fdf4}.bg-green-100{background-color:#dcfce7}.bg-red-50{background-color:#fef2f2}.bg-red-100{background-color:#fee2e2}.bg-yellow-100{background-color:#fef9c3}.bg-purple-50{background-color:#f5f3ff;background-color:var(--violet-50)}.bg-pink-50{background-color:#fdf2f8;background-color:var(--pink-50)}.border-t{border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color)}.divide-y>:not([hidden])~:not([hidden]){border-top:1px solid var(--gray-200)}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-2xl{border-radius:1rem}.shadow-sm{box-shadow:0 1px 3px #0f172a14,0 1px 2px #0f172a0a;box-shadow:var(--shadow-sm)}.shadow-lg{box-shadow:0 20px 25px -5px #0f172a1a,0 8px 10px -6px #0f172a0a;box-shadow:var(--shadow-lg)}.transition-all{transition:all .2s cubic-bezier(.4,0,.2,1)}.hover\:bg-gray-50:hover{background-color:#f8fafc;background-color:var(--gray-50)}.hover\:bg-red-100:hover{background-color:#fee2e2;background-color:var(--danger-light)}.hover\:bg-blue-50:hover{background-color:#eff6ff}.h-screen{height:100vh}.space-x-1>:not([hidden])~:not([hidden]){margin-left:.25rem}@media (max-width:1280px){.page-container-modern{padding:1.75rem}}@media (max-width:1024px){.page-container-modern{padding:1.5rem}.resource-grid-modern{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media (max-width:768px){.page-container-modern{padding:1rem}.resource-grid-modern{grid-template-columns:1fr}.stats-grid{gap:.875rem;grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.header-content{align-items:stretch;flex-direction:column;margin-bottom:1.25rem}.page-title-modern{font-size:1.5rem}.filters-section{flex-direction:column}.search-box-modern{max-width:100%;min-width:0;min-width:auto}.modal-modern{max-height:95vh}.modal-header-modern{padding:1.25rem 1.375rem}.modal-body-modern{padding:1.375rem}.modal-footer-modern{padding:1rem 1.375rem}.table-modern td,.table-modern th{padding:.75rem 1rem}}@media (max-width:480px){.page-container-modern{padding:.75rem}.stats-grid{gap:.75rem;grid-template-columns:1fr}.stat-card{padding:1.125rem}.stat-value{font-size:1.5rem}.btn-danger-modern,.btn-primary-modern,.btn-secondary-modern{justify-content:center;width:100%}.modal-footer-modern{flex-direction:column-reverse}.modal-footer-modern>*{justify-content:center;width:100%}}@media print{.page-container-modern{padding:0}.btn-danger-modern,.btn-primary-modern,.btn-secondary-modern,.modal-overlay-modern{display:none!important}}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error)}.Toastify__toast-container{box-sizing:border-box;color:#fff;padding:4px;position:fixed;-webkit-transform:translateZ(9999);-webkit-transform:translateZ(var(--toastify-z-index));width:320px;width:var(--toastify-toast-width);z-index:9999;z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:1em;top:1em}.Toastify__toast-container--top-center{left:50%;top:1em;transform:translateX(-50%)}.Toastify__toast-container--top-right{right:1em;top:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.Toastify__toast-container{left:0;margin:0;padding:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:0;transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:0;transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:0}}.Toastify__toast{border-radius:4px;box-shadow:0 1px 10px 0 #0000001a,0 2px 15px 0 #0000000d;box-sizing:border-box;cursor:default;direction:ltr;display:flex;font-family:sans-serif;font-family:var(--toastify-font-family);justify-content:space-between;margin-bottom:1rem;max-height:800px;max-height:var(--toastify-toast-max-height);min-height:64px;min-height:var(--toastify-toast-min-height);overflow:hidden;padding:8px;position:relative;z-index:0}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{align-items:center;display:flex;flex:1 1 auto;margin:auto 0;padding:6px}.Toastify__toast-body>div:last-child{flex:1 1;word-break:break-word}.Toastify__toast-icon{-webkit-margin-end:10px;display:flex;flex-shrink:0;margin-inline-end:10px;width:20px}.Toastify--animate{animation-duration:.7s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}@media only screen and (max-width:480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:#121212;background:var(--toastify-color-dark);color:#fff;color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:#fff;background:var(--toastify-color-light);color:#757575;color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:#3498db;background:var(--toastify-color-info);color:#fff;color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:#07bc0c;background:var(--toastify-color-success);color:#fff;color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:#f1c40f;background:var(--toastify-color-warning);color:#fff;color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:#e74c3c;background:var(--toastify-color-error);color:#fff;color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:#bb86fc;background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:#3498db;background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:#07bc0c;background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:#f1c40f;background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:#e74c3c;background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:#ffffffb3;background:var(--toastify-color-transparent)}.Toastify__close-button{align-self:flex-start;background:#0000;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;transition:.3s ease}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:5px;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:9999;z-index:var(--toastify-z-index)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{left:auto;right:0;transform-origin:right}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid #e0e0e0;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:#616161;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px) rotateX(-20deg)}to{opacity:0;transform:perspective(400px) rotateX(90deg)}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideOutRight{0%{transform:translateZ(0)}to{transform:translate3d(110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translateZ(0)}to{transform:translate3d(-110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translateZ(0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translateZ(0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--login-primary:#7c3aed;--login-primary-l:#8b5cf6;--login-pink:#ec4899;--login-pink-d:#db2777;--login-gradient:linear-gradient(135deg,#581c87,#7c3aed 30%,#9333ea 60%,#ec4899)}*{box-sizing:border-box;margin:0;padding:0}.login-wrapper{background:#f1f5f9;display:flex;font-family:Inter,system-ui,-apple-system,sans-serif;min-height:100vh;overflow:hidden;position:relative;width:100%}.particles{inset:0;pointer-events:none;position:fixed;z-index:0}.particle{animation:floatParticle 12s ease-in-out infinite;background:#7c3aed73;border-radius:50%;box-shadow:0 0 12px #7c3aed59;height:5px;position:absolute;width:5px}@keyframes floatParticle{0%,to{opacity:0;transform:translateY(0) translateX(0) scale(1)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-100vh) translateX(40px) scale(.4)}}.login-left{background:linear-gradient(135deg,#581c87,#7c3aed 30%,#9333ea 60%,#ec4899);background:var(--login-gradient);flex:1 1;min-width:0;overflow:hidden;position:relative;z-index:2}.login-left:before{background:radial-gradient(circle at 20% 30%,#ffffff12 0,#0000 45%),radial-gradient(circle at 80% 70%,#ec489926 0,#0000 40%),repeating-linear-gradient(45deg,#0000,#0000 80px,#ffffff05 0,#ffffff05 82px);content:"";inset:0;position:absolute}.brand-overlay{align-items:center;display:flex;inset:0;justify-content:center;padding:3.5rem;position:absolute;z-index:3}.brand-content{animation:fadeInLeft .8s ease-out both;max-width:520px;text-align:center}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-32px)}to{opacity:1;transform:translateX(0)}}.brand-logo{align-items:center;animation:logoPulse 3.5s ease-in-out infinite;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffff1a;border:2px solid #ffffff38;border-radius:50%;box-shadow:0 12px 40px #00000040,0 0 0 8px #ffffff0d;display:flex;height:96px;justify-content:center;margin:0 auto 2rem;width:96px}@keyframes logoPulse{0%,to{box-shadow:0 12px 40px #00000040,0 0 0 8px #ffffff0d;transform:scale(1)}50%{box-shadow:0 18px 50px #7c3aed73,0 0 0 12px #ffffff14;transform:scale(1.05)}}.brand-icon{stroke-width:2;color:#fff;height:48px;width:48px}.brand-title{color:#fff;display:inline-block;font-size:clamp(2.5rem,5vw,4rem);font-weight:900;letter-spacing:-.03em;line-height:1.1;margin-bottom:1.25rem;position:relative;text-shadow:0 4px 20px #0006}.brand-title:after{background:linear-gradient(90deg,#fff,#fff9,#0000);border-radius:2px;bottom:-10px;content:"";height:3px;left:0;position:absolute;width:100%}.brand-description{color:#ffffffe0;font-size:clamp(1rem,2vw,1.1875rem);line-height:1.65;margin-bottom:2.75rem}.brand-features{display:flex;flex-direction:column;gap:1.125rem;margin:0 auto;max-width:380px}.feature-item{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #ffffff2e;border-radius:12px;color:#fff;display:flex;font-size:.9375rem;font-weight:500;gap:1rem;padding:.9375rem 1.375rem;transition:all .3s ease;width:100%}.feature-item:hover{background:#ffffff2e;box-shadow:0 8px 24px #0003;transform:translateX(10px)}.feature-icon{color:#c4b5fd;flex-shrink:0;height:22px;width:22px}.login-right{align-items:center;background:linear-gradient(135deg,#f1f5f9,#e8edf5);display:flex;flex:1 1;justify-content:center;min-width:0;padding:2rem;z-index:2}.login-container{animation:fadeInRight .8s ease-out both;max-width:480px;width:100%}@keyframes fadeInRight{0%{opacity:0;transform:translateX(32px)}to{opacity:1;transform:translateX(0)}}.login-card{background:#fff;border:1px solid #e2e8f0cc;border-radius:24px;box-shadow:0 0 0 1px #0000000a,0 24px 60px #0f172a1f,0 8px 24px #7c3aed0f;padding:2.75rem 2.375rem}.login-header{margin-bottom:2.25rem;text-align:center}.logo-circle{align-items:center;animation:rotateLogo 4s ease-in-out infinite;background:linear-gradient(135deg,#7c3aed,#ec4899);border-radius:50%;box-shadow:0 8px 24px #7c3aed59;display:flex;height:68px;justify-content:center;margin:0 auto 1.5rem;width:68px}@keyframes rotateLogo{0%,to{transform:rotate(0deg) scale(1)}50%{transform:rotate(8deg) scale(1.06)}}.logo-icon{stroke-width:2.5;color:#fff;height:34px;width:34px}.login-title{color:#1e293b;font-size:1.75rem;font-weight:800;letter-spacing:-.03em;margin-bottom:.375rem}.login-subtitle{color:#64748b;font-size:.9375rem;font-weight:400;min-height:1.5rem}.typing-cursor{animation:blink .9s step-end infinite;color:#7c3aed;color:var(--login-primary);display:inline-block;font-weight:700;margin-left:2px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.login-form{margin-top:1.875rem}.form-group{margin-bottom:1.375rem}.form-label{color:#334155;display:block;font-size:.8125rem;font-weight:700;letter-spacing:.01em;margin-bottom:.4375rem}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:#94a3b8;height:18px;left:1rem;pointer-events:none;position:absolute;transition:color .25s ease;width:18px;z-index:1}.input-wrapper:focus-within .input-icon{color:#7c3aed;color:var(--login-primary)}.input{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;color:#1e293b;font-family:inherit;font-size:.9375rem;outline:none;padding:.875rem 1.125rem .875rem 2.875rem;transition:all .25s ease;width:100%}.input::placeholder{color:#94a3b8}.input:focus{background:#fff;border-color:#7c3aed;border-color:var(--login-primary);box-shadow:0 0 0 4px #7c3aed1a;transform:translateY(-1px)}.password-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:center;padding:.25rem;position:absolute;right:1rem;transition:all .2s ease;z-index:1}.password-toggle svg{color:#94a3b8;height:18px;transition:color .2s;width:18px}.password-toggle:hover svg{color:#7c3aed;color:var(--login-primary)}.password-strength{align-items:center;display:flex;gap:.75rem;margin-top:.5rem}.strength-bar{background:#e2e8f0;border-radius:2px;flex:1 1;height:4px;overflow:hidden}.strength-bar:after{border-radius:2px;content:"";display:block;height:100%;transition:all .35s ease}.password-strength.weak .strength-bar:after{background:#ef4444;width:33%}.password-strength.medium .strength-bar:after{background:#f59e0b;width:66%}.password-strength.strong .strength-bar:after{background:#10b981;width:100%}.strength-text{font-size:.75rem;font-weight:700;text-transform:uppercase}.password-strength.weak .strength-text{color:#ef4444}.password-strength.medium .strength-text{color:#f59e0b}.password-strength.strong .strength-text{color:#10b981}.form-options{justify-content:space-between;margin-bottom:1.75rem}.checkbox-label,.form-options{align-items:center;display:flex;gap:.5rem}.checkbox-label{color:#475569;cursor:pointer;font-size:.875rem;-webkit-user-select:none;user-select:none}.checkbox{accent-color:#7c3aed;accent-color:var(--login-primary);border:1.5px solid #cbd5e1;border-radius:4px;cursor:pointer;height:1rem;width:1rem}.forgot-link{color:#7c3aed;color:var(--login-primary);font-size:.875rem;font-weight:600;text-decoration:none;transition:color .2s}.forgot-link:hover{color:#6d28d9}.btn-primary{align-items:center;background:linear-gradient(135deg,#7c3aed,#ec4899);border:none;border-radius:12px;box-shadow:0 4px 16px #7c3aed59;cursor:pointer;display:flex;font-size:1rem;font-weight:700;gap:.5rem;justify-content:center;letter-spacing:-.01em;overflow:hidden;padding:.9375rem 1.5rem;position:relative;transition:all .3s ease;width:100%}.btn-primary:before{background:#ffffff40;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .55s ease,height .55s ease;width:0}.btn-primary:hover:before{height:320px;width:320px}.btn-primary:hover{background:linear-gradient(135deg,#6d28d9,#db2777);box-shadow:0 8px 24px #7c3aed73;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{box-shadow:none;cursor:not-allowed;opacity:.65;transform:none}.btn-arrow{height:18px;transition:transform .3s ease;width:18px}.btn-primary:hover .btn-arrow{transform:translateX(5px)}.spinner{animation:spin .65s linear infinite;border:2px solid #ffffff4d;border-top-color:#fff;display:inline-block;height:1rem;width:1rem}.error-alert{align-items:flex-start;animation:shake .35s ease;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#991b1b;display:flex;font-size:.875rem;gap:.75rem;margin-bottom:1.5rem;padding:.875rem 1rem}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}.error-icon{flex-shrink:0;height:1.25rem;margin-top:1px;width:1.25rem}.login-footer{border-top:1px solid #e2e8f0;margin-top:1.875rem;padding-top:1.375rem;text-align:center}.footer-text{color:#64748b;font-size:.875rem}.footer-link{color:#7c3aed;color:var(--login-primary);font-weight:700;text-decoration:none;transition:color .2s}.footer-link:hover{color:#6d28d9}.trust-badges{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-top:2rem}.badge-item{align-items:center;color:#64748b;display:flex;font-size:.8125rem;font-weight:500;gap:.5rem}.badge-icon{color:#7c3aed;color:var(--login-primary);height:18px;width:18px}@media (min-width:1920px){.login-card{max-width:560px;padding:3.5rem 3rem}.brand-logo{height:116px;width:116px}}@media (max-width:1024px){.login-left{display:none}.login-right{flex:1 1;padding:2rem 1.5rem}.login-container{max-width:520px}}@media (max-width:768px){.login-right{padding:1.5rem}.login-card{padding:2rem 1.625rem}.login-title{font-size:1.5rem}}@media (max-width:480px){.login-right{background:#fff;padding:1rem}.login-card{border-radius:20px;box-shadow:0 20px 40px #0000001f;box-shadow:var(--shadow-lg,0 20px 40px #0000001f);padding:1.75rem 1.25rem}.login-title{font-size:1.375rem}.trust-badges{align-items:center;flex-direction:column;gap:.875rem}.form-options{align-items:flex-start;flex-direction:column;gap:.75rem}}@media (max-width:360px){.login-card{border-radius:16px;padding:1.375rem 1rem}.login-title{font-size:1.25rem}}:root{--primary-50:#f5f3ff;--primary-100:#ede9fe;--primary-200:#ddd6fe;--primary-300:#c4b5fd;--primary-500:#8b5cf6;--primary-600:#7c3aed;--primary-700:#6d28d9;--pink-100:#fce7f3;--pink-500:#ec4899;--pink-600:#db2777;--pink-700:#be185d;--blue-100:#dbeafe;--blue-600:#2563eb;--green-100:#d1fae5;--green-600:#16a34a;--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;--text-primary:var(--gray-900);--text-secondary:var(--gray-500);--border-color:var(--gray-200);--accent-gradient:linear-gradient(135deg,var(--primary-600),var(--pink-500));--purple-gradient:linear-gradient(135deg,var(--primary-50),var(--primary-100));--blue-gradient:linear-gradient(135deg,#dbeafe,#bfdbfe);--green-gradient:linear-gradient(135deg,#d1fae5,#a7f3d0);--pink-gradient:linear-gradient(135deg,var(--pink-100),#fbcfe8);--cyan-gradient:linear-gradient(135deg,#ecfeff,#cffafe);--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--success-600:#16a34a}.dashboard-modern{background:#0000;min-height:100%;padding:0}.stats-grid-main{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(4,1fr);margin-bottom:1.5rem}.stat-card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:1rem;border-radius:var(--radius-xl);box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a;overflow:hidden;padding:1.5rem;position:relative;transition:all .28s cubic-bezier(.4,0,.2,1)}.stat-card:after{background:linear-gradient(135deg,#7c3aed,#ec4899);background:var(--accent-gradient);content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease;z-index:0}.stat-card>*{position:relative;z-index:1}.stat-card:hover{border-color:#c4b5fd;box-shadow:0 12px 28px #7c3aed26;transform:translateY(-5px)}.stat-header{gap:.875rem;margin-bottom:1.125rem}.stat-header,.stat-icon{align-items:center;display:flex}.stat-icon{border-radius:.75rem;border-radius:var(--radius-lg);flex-shrink:0;font-size:1.25rem;height:48px;justify-content:center;width:48px}.stat-icon.purple{background:linear-gradient(135deg,#f5f3ff,#ede9fe);background:var(--purple-gradient);color:#6d28d9;color:var(--primary-700)}.stat-icon.blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe);background:var(--blue-gradient);color:#2563eb;color:var(--blue-600)}.stat-icon.green{background:linear-gradient(135deg,#d1fae5,#a7f3d0);background:var(--green-gradient);color:#16a34a;color:var(--success-600)}.stat-icon.pink{background:linear-gradient(135deg,#fce7f3,#fbcfe8);background:var(--pink-gradient);color:#be185d;color:var(--pink-700)}.stat-icon.cyan{background:linear-gradient(135deg,#ecfeff,#cffafe);background:var(--cyan-gradient);color:#0891b2}.stat-icon.orange{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706}.stat-label{color:#64748b;color:var(--text-secondary);font-size:.875rem;font-weight:600;letter-spacing:-.01em;line-height:1.4}.stat-value{color:#0f172a;color:var(--text-primary);font-size:clamp(1.625rem,3vw,2.25rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:.5rem}.stat-footer{align-items:center;display:flex;font-size:.8125rem;font-weight:600;gap:.375rem}.stat-footer.success{color:#16a34a;color:var(--success-600)}.stat-footer i{font-size:.75rem}.network-health{align-items:center;display:flex;justify-content:center;padding:.5rem 0}.health-circle{height:120px;position:relative;width:120px}.health-circle svg{height:100%;transform:rotate(-90deg);width:100%}.health-bg{fill:none;stroke:#f1f5f9;stroke:var(--gray-100);stroke-width:8}.health-fill{fill:none;stroke:url(#health-gradient);stroke-width:8;stroke-linecap:round;stroke-dasharray:251.2;transition:stroke-dashoffset 1.2s cubic-bezier(.4,0,.2,1)}.health-text{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.health-percent{color:#7c3aed;color:var(--primary-600);font-size:1.875rem;font-weight:800;letter-spacing:-.03em;line-height:1}.health-status{color:#16a34a;color:var(--success-600);font-size:.6875rem;font-weight:700;letter-spacing:.05em;margin-top:.25rem;text-transform:uppercase}.metrics-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(4,1fr);margin-bottom:1.5rem}.metric-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 1px 3px #00000012;display:flex;gap:.875rem;padding:1.125rem 1.25rem;transition:all .22s ease}.metric-card:hover{border-color:#c4b5fd;box-shadow:0 6px 18px #0000001a;transform:translateY(-2px)}.metric-icon{align-items:center;border-radius:.75rem;border-radius:var(--radius-lg);display:flex;flex-shrink:0;font-size:1.125rem;height:44px;justify-content:center;width:44px}.metric-icon.purple{background:linear-gradient(135deg,#f5f3ff,#ede9fe);background:var(--purple-gradient);color:#6d28d9;color:var(--primary-700)}.metric-icon.blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe);background:var(--blue-gradient);color:#2563eb;color:var(--blue-600)}.metric-icon.green{background:linear-gradient(135deg,#d1fae5,#a7f3d0);background:var(--green-gradient);color:#16a34a;color:var(--success-600)}.metric-icon.pink{background:linear-gradient(135deg,#fce7f3,#fbcfe8);background:var(--pink-gradient);color:#be185d;color:var(--pink-700)}.metric-icon.cyan{background:linear-gradient(135deg,#ecfeff,#cffafe);background:var(--cyan-gradient);color:#0891b2}.metric-icon.orange{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706}.metric-content{flex:1 1;min-width:0}.metric-label{color:#64748b;color:var(--text-secondary);font-size:.8125rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-value{color:#0f172a;color:var(--text-primary);font-size:1.5rem;letter-spacing:-.02em;line-height:1}.card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:1rem;border-radius:var(--radius-xl);box-shadow:0 1px 3px #00000014;overflow:hidden}.glass-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fffffffa}.card-header-modern{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;padding:1.125rem 1.5rem}.card-header-modern h3{color:#0f172a;color:var(--text-primary);font-size:1.0625rem;font-weight:700;letter-spacing:-.02em;margin:0}.header-actions{flex-wrap:wrap;gap:.625rem}.btn-icon{align-items:center;background:#fff;border:1.5px solid #e2e8f0;border:1.5px solid var(--border-color);border-radius:.5rem;border-radius:var(--radius-md);color:#64748b;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.5rem .875rem;transition:all .2s ease;white-space:nowrap}.btn-icon:hover{background:#f5f3ff;background:var(--primary-50);border-color:#c4b5fd;color:#7c3aed;color:var(--primary-600)}.btn-icon i{font-size:.875rem}.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-modern{border-collapse:initial;border-spacing:0;width:100%}.table-modern thead{background:linear-gradient(135deg,#7c3aed,#ec4899);background:var(--accent-gradient)}.table-modern thead th{color:#ffffffeb;font-size:.75rem;font-weight:700;letter-spacing:.06em;padding:.9375rem 1.375rem;text-align:left;text-transform:uppercase;white-space:nowrap}.table-modern tbody tr{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--gray-100);transition:all .15s ease}.table-modern tbody tr:hover td{background:#f5f3ff;background:var(--primary-50)}.table-modern tbody td{color:#0f172a;color:var(--text-primary);font-size:.875rem;padding:.9375rem 1.375rem}.table-modern tr:last-child{border-bottom:none}.user-info{align-items:center;gap:.75rem}.user-avatar{align-items:center;background:linear-gradient(135deg,#7c3aed,#ec4899);background:var(--accent-gradient);border-radius:50%;box-shadow:0 2px 8px #7c3aed40;color:#fff;display:flex;flex-shrink:0;font-size:.875rem;font-weight:700;height:36px;justify-content:center;width:36px}.device-info{align-items:center;display:inline-flex}.device-info i{font-size:1.125rem}.status-pill{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:700;gap:.375rem;letter-spacing:.02em;padding:.3125rem .875rem}.status-pill.active{background:#ede9fe;background:var(--primary-100);color:#6d28d9;color:var(--primary-700)}.status-pill.pending{background:#fce7f3;background:var(--pink-100);color:#be185d;color:var(--pink-700)}.status-pill.expired{background:#f1f5f9;background:var(--gray-100);color:#475569;color:var(--gray-600)}.action-buttons{align-items:center;display:flex;gap:.5rem;justify-content:flex-end}.action-btn{border-radius:50%;color:#fff;display:inline-flex;font-size:.8125rem;height:32px;transition:all .2s ease;width:32px}.action-btn,.action-btn.purple{background:#7c3aed;background:var(--primary-600)}.action-btn:hover{filter:brightness(1.1);transform:scale(1.12)}.action-btn:active{transform:scale(.95)}.table-pagination{align-items:center;border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);display:flex;gap:.375rem;justify-content:center;padding:1.125rem 1.5rem}.page-number,.pagination-btn{align-items:center;background:#fff;border:1.5px solid #e2e8f0;border:1.5px solid var(--border-color);border-radius:.5rem;border-radius:var(--radius-md);color:#64748b;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;height:32px;justify-content:center;transition:all .18s ease;width:32px}.page-number:hover,.pagination-btn:hover{background:#f5f3ff;background:var(--primary-50);border-color:#c4b5fd;color:#7c3aed;color:var(--primary-600)}.page-number.active{background:linear-gradient(135deg,#7c3aed,#ec4899);background:var(--accent-gradient);border-color:#0000;color:#fff;font-weight:700}.dashboard-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:60vh}.spinner{animation:spin .8s linear infinite;border:3px solid #ede9fe;border-top-color:#7c3aed;border:3px solid var(--primary-100);border-radius:50%;border-top-color:var(--primary-600);height:44px;width:44px}.dashboard-loading p{color:#64748b;color:var(--text-secondary);font-size:.875rem;font-weight:500}.empty-state{padding:3rem 1.5rem}.empty-state i{color:var(--gray-300);margin-bottom:1rem}.empty-state p{color:#64748b;color:var(--text-secondary);font-size:.9375rem}@media (max-width:1400px){.metrics-grid,.stats-grid-main{grid-template-columns:repeat(2,1fr)}}@media (max-width:1024px){.metrics-grid,.stats-grid-main{gap:1rem;grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.stats-grid-main{gap:.875rem;grid-template-columns:1fr}.metrics-grid{gap:.875rem;grid-template-columns:repeat(2,1fr)}.stat-value{font-size:1.75rem}.health-circle{height:100px;width:100px}.health-percent{font-size:1.5rem}.card-header-modern{align-items:flex-start;flex-direction:column;gap:.875rem}.table-modern tbody td,.table-modern thead th{padding:.75rem 1rem}}@media (max-width:600px){.metrics-grid{grid-template-columns:1fr}}@media (max-width:480px){.stats-grid-main{gap:.75rem;grid-template-columns:1fr}.stat-card{padding:1.125rem}.stat-value{font-size:1.5rem}.metric-value{font-size:1.25rem}.card-header-modern,.table-pagination{padding:.875rem 1rem}}.animate-fade-in-up{animation:fadeInUp .35s ease-out forwards}.text-center{text-align:center}.p-0{padding:0!important}.py-8{padding-bottom:2rem;padding-top:2rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-2{margin-top:.5rem}.mr-1{margin-right:.25rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-2xl{font-size:1.5rem}.text-4xl{font-size:2.25rem}.text-gray-400{color:#94a3b8;color:var(--gray-400)}.text-gray-500{color:#64748b;color:var(--gray-500)}.text-gray-600{color:#475569;color:var(--gray-600)}.text-gray-700{color:#334155;color:var(--gray-700)}.text-gray-800{color:#1e293b;color:var(--gray-800)}.text-gray-900{color:#0f172a;color:var(--gray-900)}.text-blue-500{color:#3b82f6}.text-blue-600{color:#2563eb}.text-green-500{color:#22c55e}.text-green-600{color:#16a34a}.text-purple-500{color:#8b5cf6;color:var(--primary-500)}.text-purple-600{color:#7c3aed;color:var(--primary-600)}.text-pink-600{color:#db2777;color:var(--pink-600)}.bg-white{background:#fff}.bg-gray-50{background:#f8fafc;background:var(--gray-50)}.bg-blue-50{background:#eff6ff}.bg-green-50{background:#f0fdf4}.bg-purple-50{background:#f5f3ff;background:var(--primary-50)}.bg-pink-50{background:#fdf2f8}.rounded-xl{border-radius:.75rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.shadow-sm{box-shadow:0 1px 2px #0000000d}.border{border:1px solid #e2e8f0;border:1px solid var(--border-color)}.border-b{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color)}.border-gray-100{border-color:#f1f5f9;border-color:var(--gray-100)}.border-gray-200{border-color:#e2e8f0;border-color:var(--gray-200)}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1 1}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.col-span-2{grid-column:span 2/span 2}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.whitespace-nowrap{white-space:nowrap}.w-full{width:100%}.h-8{height:2rem}.w-8{width:2rem}.uppercase{text-transform:uppercase}.tracking-wider{letter-spacing:.05em}.divide-y>:not([hidden])~:not([hidden]){border-top:1px solid #e2e8f0}.divide-gray-100>:not([hidden])~:not([hidden]){border-color:#f1f5f9;border-color:var(--gray-100)}.divide-gray-200>:not([hidden])~:not([hidden]){border-color:#e2e8f0;border-color:var(--gray-200)}.transition-colors{transition:background-color,border-color,color .15s ease}.hover\:bg-gray-50:hover{background:#f8fafc;background:var(--gray-50)}.hover\:bg-blue-50:hover{background:#eff6ff}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:col-span-2{grid-column:span 2/span 2}}.sad-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:60vh}.sad-loading p{color:#64748b;color:var(--gray-500);font-size:.9rem;font-weight:500}.sad-spinner{animation:spin .8s linear infinite;border:3px solid #ede9fe;border-top-color:#7c3aed;border:3px solid var(--primary-100);border-radius:50%;border-top-color:var(--primary-600);height:44px;width:44px}.sad-wrapper{display:flex;flex-direction:column;gap:1.5rem;padding:0}.sad-header{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:1rem;border-radius:var(--radius-xl);box-shadow:0 1px 3px #00000012;flex-wrap:wrap;justify-content:space-between;padding:1.25rem 1.75rem}.sad-header,.sad-header-left,.sad-header-right{align-items:center;display:flex;gap:1rem}.sad-header-right{flex-wrap:wrap}.sad-greeting{align-items:center;display:flex;gap:.75rem}.sad-greeting-wave{font-size:1.75rem;line-height:1}.sad-greeting h1{color:#0f172a;color:var(--gray-900);font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin:0}.sad-greeting p{color:#64748b;color:var(--gray-500);font-size:.8125rem;margin:.125rem 0 0}.sad-live-time{font-feature-settings:"tnum";align-items:center;background:#f5f3ff;background:var(--primary-50);border:1px solid #ede9fe;border:1px solid var(--primary-100);border-radius:9999px;color:#6d28d9;color:var(--primary-700);display:flex;font-size:.875rem;font-variant-numeric:tabular-nums;font-weight:700;gap:.5rem;letter-spacing:.02em;padding:.4rem .875rem}.sad-live-time i{font-size:.75rem}.sad-last-updated{color:#94a3b8;color:var(--gray-400);font-size:.8rem;font-weight:500;white-space:nowrap}.sad-refresh-btn{align-items:center;background:linear-gradient(135deg,#7c3aed,#ec4899);background:var(--accent-gradient);border:none;border-radius:.5rem;border-radius:var(--radius-md);box-shadow:0 2px 8px #7c3aed4d;color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.5rem 1.125rem;transition:all .2s ease}.sad-refresh-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.sad-refresh-btn:active{transform:translateY(0)}.sad-stats-grid{grid-gap:1.125rem;display:grid;gap:1.125rem;grid-template-columns:repeat(6,1fr)}.sad-stat-card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:1rem;border-radius:var(--radius-xl);box-shadow:0 1px 3px #00000012;display:flex;flex-direction:column;gap:.625rem;overflow:hidden;padding:1.375rem 1.25rem;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1)}.sad-stat-card:before{border-radius:1rem 1rem 0 0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0}.sad-stat-card:hover{box-shadow:0 10px 24px #0000001f;transform:translateY(-4px)}.sad-clickable{cursor:pointer}.sad-stat-blue:before{background:linear-gradient(90deg,#3b82f6,#1d4ed8)}.sad-stat-green:before{background:linear-gradient(90deg,#22c55e,#16a34a)}.sad-stat-purple:before{background:linear-gradient(90deg,#8b5cf6,#6d28d9);background:linear-gradient(90deg,var(--primary-500),var(--primary-700))}.sad-stat-cyan:before{background:linear-gradient(90deg,#06b6d4,#0891b2)}.sad-stat-orange:before{background:linear-gradient(90deg,#f59e0b,#d97706)}.sad-stat-pink:before{background:linear-gradient(90deg,#ec4899,#be185d);background:linear-gradient(90deg,var(--pink-500),var(--pink-700))}.sad-stat-top{gap:.625rem}.sad-stat-icon,.sad-stat-top{align-items:center;display:flex}.sad-stat-icon{border-radius:.5rem;border-radius:var(--radius-md);flex-shrink:0;font-size:.9rem;height:36px;justify-content:center;width:36px}.sad-icon-blue{background:#dbeafe;color:#1d4ed8}.sad-icon-green{background:#d1fae5;color:#16a34a}.sad-icon-purple{background:#ede9fe;background:var(--primary-100);color:#6d28d9;color:var(--primary-700)}.sad-icon-cyan{background:#cffafe;color:#0891b2}.sad-icon-orange{background:#fef3c7;color:#d97706}.sad-icon-pink{background:#fce7f3;background:var(--pink-100);color:#be185d;color:var(--pink-700)}.sad-stat-label{color:#64748b;color:var(--gray-500);font-size:.75rem;font-weight:600;letter-spacing:.04em;line-height:1.3;text-transform:uppercase}.sad-stat-value{color:#0f172a;color:var(--gray-900);font-size:clamp(1.375rem,2vw,1.875rem);font-weight:800;letter-spacing:-.03em;line-height:1}.sad-stat-footer{align-items:center;display:flex;font-size:.75rem;font-weight:600;gap:.375rem;margin-top:.25rem}.sad-footer-success{color:#16a34a}.sad-footer-live{color:#7c3aed;color:var(--primary-600)}.sad-footer-neutral{color:#64748b;color:var(--gray-500)}.sad-footer-danger{color:#dc2626}.sad-stat-footer i{font-size:.65rem}.sad-content-grid{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:1fr 360px}.sad-col-main{gap:1.5rem}.sad-col-main,.sad-col-side{display:flex;flex-direction:column}.sad-col-side{gap:1.25rem}.sad-card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:1rem;border-radius:var(--radius-xl);box-shadow:0 1px 3px #00000012;overflow:hidden}.sad-card-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);display:flex;gap:.75rem;justify-content:space-between;padding:1rem 1.375rem}.sad-card-title{align-items:center;display:flex;gap:.625rem}.sad-card-title i{color:#7c3aed;color:var(--primary-600);font-size:.9375rem}.sad-card-title h2{color:#0f172a;color:var(--gray-900);font-size:.9375rem;font-weight:700;letter-spacing:-.02em;margin:0}.sad-badge{background:#ede9fe;background:var(--primary-100);border-radius:9999px;color:#6d28d9;color:var(--primary-700);font-size:.6875rem;font-weight:700;letter-spacing:.02em;padding:.125rem .5rem}.sad-view-all{align-items:center;background:none;border:none;border-radius:.5rem;border-radius:var(--radius-md);color:#7c3aed;color:var(--primary-600);cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:600;gap:.375rem;padding:.375rem .625rem;transition:background .15s ease}.sad-view-all:hover{background:#f5f3ff;background:var(--primary-50)}.sad-view-all i{font-size:.6875rem}.sad-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.sad-table{border-collapse:collapse;width:100%}.sad-table thead tr{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-color)}.sad-table thead th{color:#64748b;color:var(--gray-500);font-size:.6875rem;font-weight:700;letter-spacing:.07em;padding:.75rem 1.125rem;text-align:left;text-transform:uppercase;white-space:nowrap}.sad-table tbody tr{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--gray-100);transition:background .12s ease}.sad-table tbody tr:last-child{border-bottom:none}.sad-table tbody tr:hover td{background:#f5f3ff;background:var(--primary-50)}.sad-table tbody td{color:#334155;color:var(--gray-700);font-size:.875rem;padding:.875rem 1.125rem;vertical-align:middle}.sad-org-cell{gap:.75rem}.sad-org-avatar,.sad-org-cell{align-items:center;display:flex}.sad-org-avatar{border-radius:.5rem;border-radius:var(--radius-md);flex-shrink:0;font-size:.9rem;font-weight:800;height:34px;justify-content:center;width:34px}.sad-org-name{color:#0f172a;color:var(--gray-900);font-size:.875rem;font-weight:600}.sad-org-slug{color:#94a3b8;color:var(--gray-400);font-size:.75rem;margin-top:.075rem}.sad-type-badge{align-items:center;border-radius:.375rem;border-radius:var(--radius-sm);display:inline-flex;font-size:.75rem;font-weight:600;gap:.375rem;padding:.25rem .625rem;text-transform:capitalize}.sad-type-badge i{font-size:.675rem}.sad-plan-badge{background:#f5f3ff;background:var(--primary-50);border:1px solid #ddd6fe;border:1px solid var(--primary-200);color:#6d28d9;color:var(--primary-700);display:inline-block;font-weight:600;padding:.2rem .625rem}.sad-plan-badge,.sad-status-badge{border-radius:9999px;font-size:.75rem}.sad-status-badge{align-items:center;display:inline-flex;font-weight:700;gap:.375rem;padding:.25rem .625rem;text-transform:capitalize}.sad-status-active{background:#dcfce7;color:#16a34a}.sad-status-inactive{background:#fee2e2;color:#dc2626}.sad-status-dot{background:currentColor;border-radius:50%;flex-shrink:0;height:6px;width:6px}.sad-status-active .sad-status-dot{box-shadow:0 0 0 2px #16a34a33}.sad-status-inactive .sad-status-dot{box-shadow:0 0 0 2px #dc262633}.sad-date-cell{color:#64748b!important;color:var(--gray-500)!important;font-size:.8125rem!important;white-space:nowrap}.sad-action-btn{align-items:center;background:#f5f3ff;background:var(--primary-50);border:1px solid #ddd6fe;border:1px solid var(--primary-200);border-radius:.5rem;border-radius:var(--radius-md);color:#7c3aed;color:var(--primary-600);cursor:pointer;display:inline-flex;font-size:.75rem;height:30px;justify-content:center;transition:all .15s ease;width:30px}.sad-action-btn:hover{background:#7c3aed;background:var(--primary-600);border-color:#7c3aed;border-color:var(--primary-600);color:#fff}.sad-empty-row{color:#94a3b8!important;color:var(--gray-400)!important;padding:2.5rem!important;text-align:center!important}.sad-empty-row i{display:block;font-size:2rem;margin-bottom:.5rem;opacity:.3}.sad-empty-row span{font-size:.875rem}.sad-distribution-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));padding:1.25rem 1.375rem}.sad-dist-item{display:flex;flex-direction:column;gap:.375rem}.sad-dist-header{align-items:center;display:flex;gap:.5rem}.sad-dist-icon{align-items:center;border-radius:.375rem;border-radius:var(--radius-sm);display:flex;flex-shrink:0;font-size:.7rem;height:26px;justify-content:center;width:26px}.sad-dist-label{color:#334155;color:var(--gray-700);flex:1 1;font-size:.8125rem;font-weight:600;text-transform:capitalize}.sad-dist-count{color:#0f172a;color:var(--gray-900);font-size:.8125rem;font-weight:700}.sad-dist-bar-track{background:#f1f5f9;background:var(--gray-100);border-radius:9999px;height:5px;overflow:hidden}.sad-dist-bar-fill{border-radius:9999px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.sad-dist-pct{color:#94a3b8;color:var(--gray-400);font-size:.6875rem;font-weight:700}.sad-services-list{display:flex;flex-direction:column;padding:.5rem 0}.sad-service-row{align-items:center;border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--gray-100);display:flex;gap:.5rem;justify-content:space-between;padding:.75rem 1.375rem;transition:background .12s ease}.sad-service-row:last-child{border-bottom:none}.sad-service-row:hover{background:#f8fafc;background:var(--gray-50)}.sad-service-left{align-items:center;display:flex;gap:.625rem}.sad-service-icon{align-items:center;background:#f1f5f9;background:var(--gray-100);border-radius:.5rem;border-radius:var(--radius-md);color:#475569;color:var(--gray-600);display:flex;flex-shrink:0;font-size:.8125rem;height:32px;justify-content:center;width:32px}.sad-service-name{color:#1e293b;color:var(--gray-800);font-size:.875rem;font-weight:600}.sad-service-right{align-items:center;display:flex;gap:.625rem}.sad-service-ping{font-feature-settings:"tnum";color:#94a3b8;color:var(--gray-400);font-size:.75rem;font-variant-numeric:tabular-nums;font-weight:500}.sad-service-status{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:700;gap:.3rem;padding:.2rem .5rem}.sad-svc-operational{background:#dcfce7;color:#16a34a}.sad-uptime-bar{border-top:1px solid #f1f5f9;border-top:1px solid var(--gray-100);padding:1rem 1.375rem 1.25rem}.sad-uptime-label{display:flex;justify-content:space-between;margin-bottom:.5rem}.sad-uptime-label span{color:#475569;color:var(--gray-600);font-size:.8125rem;font-weight:600}.sad-uptime-pct{color:#16a34a!important}.sad-uptime-track{background:#f1f5f9;background:var(--gray-100);border-radius:9999px;height:8px;overflow:hidden}.sad-uptime-fill{background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:9999px;height:100%;width:99.9%}.sad-all-good{align-items:center;background:#dcfce7;border-radius:9999px;color:#16a34a;display:inline-flex;font-size:.75rem;font-weight:700;gap:.4rem;padding:.25rem .625rem}.sad-pulse-dot{animation:sadPulse 1.5s infinite;background:#16a34a;border-radius:50%;height:7px;width:7px}@keyframes sadPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.sad-actions-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,1fr);padding:1.125rem 1.375rem}.sad-action-card{align-items:center;background:#f8fafc;background:var(--gray-50);border:1.5px solid #0000;border-radius:.75rem;border-radius:var(--radius-lg);color:#334155;color:var(--gray-700);cursor:pointer;display:flex;flex-direction:column;font-size:.8rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem .5rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.sad-action-card i{font-size:1.125rem}.sad-action-card:hover{box-shadow:0 6px 16px #0000001f;transform:translateY(-3px)}.sad-action-blue:hover{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.sad-action-purple:hover{background:#f5f3ff;background:var(--primary-50);border-color:#c4b5fd;border-color:var(--primary-300);color:#6d28d9;color:var(--primary-700)}.sad-action-green:hover{background:#f0fdf4;border-color:#86efac;color:#16a34a}.sad-action-orange:hover{background:#fffbeb;border-color:#fcd34d;color:#d97706}.sad-action-cyan:hover{background:#ecfeff;border-color:#67e8f9;color:#0891b2}.sad-action-pink:hover{background:#fce7f3;background:var(--pink-100);border-color:#f9a8d4;color:#be185d;color:var(--pink-700)}.sad-summary-list{display:flex;flex-direction:column;padding:.5rem 0}.sad-summary-row{align-items:center;border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--gray-100);display:flex;justify-content:space-between;padding:.6875rem 1.375rem;transition:background .12s ease}.sad-summary-row:last-child{border-bottom:none}.sad-summary-row:hover{background:#f8fafc;background:var(--gray-50)}.sad-summary-left{align-items:center;color:#334155;color:var(--gray-700);display:flex;font-size:.875rem;font-weight:500;gap:.625rem}.sad-summary-left i{font-size:.875rem;text-align:center;width:18px}.sad-summary-value{color:#0f172a;color:var(--gray-900);font-size:.9375rem;font-weight:700}@media (max-width:1400px){.sad-stats-grid{grid-template-columns:repeat(3,1fr)}.sad-content-grid{grid-template-columns:1fr 320px}}@media (max-width:1100px){.sad-stats-grid{grid-template-columns:repeat(3,1fr)}.sad-content-grid{grid-template-columns:1fr}.sad-col-side{flex-direction:row;flex-wrap:wrap}.sad-col-side .sad-card{flex:1 1 280px}}@media (max-width:768px){.sad-header{align-items:flex-start;flex-direction:column}.sad-header-right{justify-content:flex-start;width:100%}.sad-actions-grid,.sad-stats-grid{grid-template-columns:repeat(2,1fr)}.sad-distribution-grid{grid-template-columns:1fr}}@media (max-width:480px){.sad-stats-grid{grid-template-columns:1fr}.sad-stat-value{font-size:1.5rem}.sad-col-side{flex-direction:column}}.ad-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:60vh}.ad-loading p{color:#64748b;font-size:.9rem;font-weight:500}.ad-spinner{animation:spin .8s linear infinite;border:3px solid #ede9fe;border-radius:50%;border-top-color:#7c3aed;height:42px;width:42px}.ad-wrapper{display:flex;flex-direction:column;gap:1.375rem}.ad-header{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 1px 3px #0000000f;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1.125rem 1.625rem}.ad-header,.ad-header-left{align-items:center;display:flex}.ad-header-left{gap:.75rem}.ad-header-right{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.ad-wave{font-size:1.625rem;line-height:1}.ad-greeting{color:#0f172a;font-size:1.125rem;font-weight:800;letter-spacing:-.02em;margin:0}.ad-date{color:#94a3b8;font-size:.8125rem;margin:.1rem 0 0}.ad-live-time{font-feature-settings:"tnum";align-items:center;background:#f5f3ff;border:1px solid #ede9fe;border-radius:9999px;color:#6d28d9;display:flex;font-size:.8125rem;font-variant-numeric:tabular-nums;font-weight:700;gap:.5rem;padding:.375rem .875rem}.ad-live-time i{font-size:.7rem}.ad-date-filter{align-items:center;background:#f1f5f9;border-radius:9999px;display:flex;gap:2px;padding:3px}.ad-filter-btn{background:none;border:none;border-radius:9999px;color:#64748b;cursor:pointer;font-size:.8125rem;font-weight:600;padding:.3rem .875rem;transition:all .18s ease;white-space:nowrap}.ad-filter-btn.active{background:#fff;box-shadow:0 1px 4px #0000001a;color:#7c3aed}.ad-refresh-btn{align-items:center;background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none;border-radius:9px;box-shadow:0 2px 8px #7c3aed4d;color:#fff;cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:600;gap:.5rem;padding:.4375rem 1rem;transition:all .2s ease}.ad-refresh-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.ad-updated{color:#94a3b8;font-size:.75rem;white-space:nowrap}.ad-stats-grid{grid-gap:1.125rem;display:grid;gap:1.125rem;grid-template-columns:repeat(4,1fr)}.ad-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 1px 3px #0000000f;display:flex;flex-direction:column;gap:.5rem;overflow:hidden;padding:1.375rem 1.25rem;position:relative;transition:all .22s cubic-bezier(.4,0,.2,1)}.ad-stat-card:hover{border-color:#c4b5fd;box-shadow:0 10px 24px #0000001c;transform:translateY(-4px)}.ad-stat-strip{border-radius:14px 14px 0 0;height:3px;left:0;position:absolute;right:0;top:0}.ad-strip-purple{background:linear-gradient(90deg,#8b5cf6,#7c3aed)}.ad-strip-blue{background:linear-gradient(90deg,#3b82f6,#1d4ed8)}.ad-strip-green{background:linear-gradient(90deg,#22c55e,#16a34a)}.ad-stat-top{gap:.625rem;margin-top:.375rem}.ad-stat-icon,.ad-stat-top{align-items:center;display:flex}.ad-stat-icon{border-radius:9px;flex-shrink:0;font-size:.875rem;height:34px;justify-content:center;width:34px}.ad-icon-purple{background:#ede9fe;color:#7c3aed}.ad-icon-blue{background:#dbeafe;color:#1d4ed8}.ad-icon-green{background:#d1fae5;color:#16a34a}.ad-icon-pink{background:#fce7f3;color:#be185d}.ad-icon-cyan{background:#cffafe;color:#0891b2}.ad-icon-orange{background:#fef3c7;color:#d97706}.ad-stat-label{color:#94a3b8;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.ad-stat-value{color:#0f172a;font-size:clamp(1.375rem,2.5vw,1.875rem);font-weight:800;letter-spacing:-.03em;line-height:1}.ad-stat-footer{align-items:center;display:flex;font-size:.75rem;font-weight:600;gap:.375rem}.ad-stat-footer i{font-size:.625rem}.ad-up{color:#16a34a}.ad-down{color:#dc2626}.ad-health-card{padding-bottom:.875rem}.ad-health-body{display:flex;justify-content:center;padding-top:.25rem}.ad-health-svg{height:90px;width:90px}.ad-metrics-grid{grid-gap:1.125rem;display:grid;gap:1.125rem;grid-template-columns:repeat(4,1fr)}.ad-metric-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000f;display:flex;gap:.875rem;padding:1.125rem 1.25rem;transition:all .2s ease}.ad-metric-card:hover{border-color:#c4b5fd;box-shadow:0 6px 16px #00000017;transform:translateY(-2px)}.ad-metric-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;font-size:1rem;height:40px;justify-content:center;width:40px}.ad-metric-body{flex:1 1;min-width:0}.ad-metric-label{color:#94a3b8;font-size:.75rem;font-weight:600;letter-spacing:.04em;margin-bottom:.25rem;text-transform:uppercase}.ad-metric-value{color:#0f172a;font-size:1.375rem;font-weight:800;letter-spacing:-.025em;line-height:1}.ad-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 1px 3px #0000000f;overflow:hidden}.ad-card-header{border-bottom:1px solid #f1f5f9;gap:.75rem;justify-content:space-between;padding:1rem 1.375rem}.ad-card-header,.ad-card-title{align-items:center;display:flex}.ad-card-title{gap:.625rem}.ad-card-title i{color:#7c3aed;font-size:.9375rem}.ad-card-title h2{color:#0f172a;font-size:.9375rem;font-weight:700;letter-spacing:-.02em;margin:0}.ad-live-badge{align-items:center;background:#dcfce7;border-radius:9999px;color:#16a34a;display:inline-flex;font-size:.6875rem;font-weight:700;gap:.35rem;padding:.175rem .625rem}.ad-pulse-dot{animation:sadPulse 1.5s infinite;background:#16a34a;border-radius:50%;height:6px;width:6px}.ad-refresh-small{align-items:center;background:none;border:none;border-radius:8px;color:#7c3aed;cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:600;gap:.375rem;padding:.375rem .625rem;transition:background .15s ease}.ad-refresh-small:hover{background:#f5f3ff}.ad-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.ad-table{border-collapse:collapse;width:100%}.ad-table thead tr{background:#f8fafc;border-bottom:2px solid #f1f5f9}.ad-table thead th{color:#94a3b8;font-size:.6875rem;font-weight:700;letter-spacing:.07em;padding:.75rem 1.125rem;text-align:left;text-transform:uppercase;white-space:nowrap}.ad-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .12s ease}.ad-table tbody tr:last-child{border-bottom:none}.ad-table tbody tr:hover td{background:#f5f3ff}.ad-table tbody td{color:#334155;font-size:.875rem;padding:.875rem 1.125rem;vertical-align:middle}.ad-user-cell{gap:.625rem}.ad-user-avatar,.ad-user-cell{align-items:center;display:flex}.ad-user-avatar{background:linear-gradient(135deg,#7c3aed,#ec4899);border-radius:50%;color:#fff;flex-shrink:0;font-size:.8rem;font-weight:700;height:30px;justify-content:center;width:30px}.ad-user-name{color:#0f172a;font-weight:600}.ad-device-cell{align-items:center;color:#64748b;display:flex;gap:.5rem;text-transform:capitalize}.ad-device-cell i{color:#94a3b8;font-size:.875rem}.ad-time-cell{color:#64748b!important;font-size:.8125rem!important;white-space:nowrap}.ad-bw-cell{color:#334155!important;font-weight:700!important}.ad-status{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:700;gap:.35rem;padding:.225rem .625rem;text-transform:capitalize}.ad-active{background:#dcfce7;color:#16a34a}.ad-pending{background:#fef9c3;color:#92400e}.ad-status-dot{background:currentColor;border-radius:50%;flex-shrink:0;height:5px;width:5px}.ad-row-actions{gap:.375rem;justify-content:flex-end}.ad-btn-view,.ad-row-actions{align-items:center;display:flex}.ad-btn-view{background:#f5f3ff;border:1px solid #ede9fe;border-radius:7px;color:#7c3aed;cursor:pointer;font-size:.75rem;height:28px;justify-content:center;transition:all .15s ease;width:28px}.ad-btn-view:hover{background:#7c3aed;border-color:#7c3aed;color:#fff}.ad-btn-disc{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:7px;color:#dc2626;cursor:pointer;display:flex;font-size:.75rem;height:28px;justify-content:center;transition:all .15s ease;width:28px}.ad-btn-disc:hover{background:#dc2626;border-color:#dc2626;color:#fff}.ad-empty{align-items:center;display:flex;flex-direction:column;gap:.5rem;justify-content:center;padding:3.5rem 1.5rem;text-align:center}.ad-empty i{color:#cbd5e1;font-size:2.5rem}.ad-empty h4{color:#475569;font-size:1rem;font-weight:700;margin:0}.ad-empty p{color:#94a3b8;font-size:.875rem;margin:0}@media (max-width:1200px){.ad-metrics-grid,.ad-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.ad-header{align-items:flex-start;flex-direction:column}.ad-header-right{flex-wrap:wrap;width:100%}.ad-metrics-grid,.ad-stats-grid{grid-template-columns:repeat(2,1fr)}.ad-date-filter{display:none}}@media (max-width:480px){.ad-stats-grid{grid-template-columns:1fr}.ad-metrics-grid{grid-template-columns:repeat(2,1fr)}.ad-stat-value{font-size:1.5rem}}.logo-upload-container{margin-bottom:2rem}.logo-upload-title{color:var(--text-primary);font-size:1rem;font-weight:600;margin-bottom:1rem}.logo-upload-area{align-items:center;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:2px dashed #e2e8f0;border:2px dashed var(--border-color,#e2e8f0);border-radius:12px;display:flex;justify-content:center;min-height:200px;padding:2rem;text-align:center;transition:all .3s ease}.logo-upload-area.drag-active{background:#eff6ff;background:var(--primary-light,#eff6ff);border-color:#3b82f6;border-color:var(--primary-color,#3b82f6);transform:scale(1.02)}.logo-upload-area.square{aspect-ratio:1/1;max-width:300px}.logo-upload-area.wide{aspect-ratio:16/9;max-width:400px}.logo-preview{border-radius:8px;height:100%;overflow:hidden;position:relative;width:100%}.logo-preview-img{height:100%;max-height:250px;object-fit:contain;width:100%}.logo-preview-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.logo-preview:hover .logo-preview-overlay{opacity:1}.logo-placeholder{padding:2rem}.logo-placeholder i{color:#94a3b8;color:var(--text-muted,#94a3b8)}.text-muted{color:#64748b;color:var(--text-muted,#64748b)}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.mb-3{margin-bottom:.75rem}.mt-3{margin-top:.75rem}.mr-2{margin-right:.5rem}.upload-progress{align-items:center;background:#eff6ff;background:var(--bg-info,#eff6ff);border-left:4px solid var--(--primary-color,#3b82f6);border-radius:8px;display:flex;gap:.75rem;margin-top:1rem;padding:1rem}.spinner-small{animation:spin .8s linear infinite;border:2px solid #e2e8f0;border-top-color:#3b82f6;border:2px solid var(--border-color,#e2e8f0);border-radius:50%;border-top-color:var(--primary-color,#3b82f6);height:20px;width:20px}.btn{border:none;border-radius:6px;font-weight:500;justify-content:center;padding:.5rem 1rem;text-decoration:none}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:#3b82f6;background:var(--primary-color,#3b82f6)}.btn-primary:hover:not(:disabled){background:#2563eb;background:var(--primary-dark,#2563eb);transform:translateY(-1px)}@media (max-width:768px){.logo-upload-area{min-height:150px;padding:1.5rem 1rem}.logo-upload-area.square,.logo-upload-area.wide{max-width:100%}.logo-placeholder{padding:1rem}.logo-placeholder i{font-size:2rem!important}}@media (prefers-color-scheme:dark){.logo-upload-area{background:#1e293b;background:var(--bg-secondary-dark,#1e293b);border-color:#334155;border-color:var(--border-dark,#334155)}.logo-upload-area.drag-active{background:#1e40af;background:var(--primary-dark,#1e40af);border-color:#3b82f6;border-color:var(--primary-color,#3b82f6)}.logo-upload-title{color:#f1f5f9;color:var(--text-primary-dark,#f1f5f9)}.text-muted{color:#94a3b8;color:var(--text-muted-dark,#94a3b8)}.upload-progress{background:#1e3a5f;background:var(--bg-info-dark,#1e3a5f)}}.modal-tabs{gap:1rem;padding:0 1.5rem}.modal-tab-btn{font-size:.9rem;gap:.5rem;padding:1rem .5rem}.portal-config-grid{grid-template-columns:1fr 1.2fr}.logo-uploads{display:flex;flex-direction:column;gap:1.5rem}.color-input-wrapper{margin-top:.5rem}input[type=color]{border-radius:8px;height:45px;overflow:hidden;width:45px}.checkbox-container{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;gap:.75rem;padding:1rem;transition:all .2s}.checkbox-container:hover{background:#eff6ff;border-color:#3b82f6}.checkbox-label{color:#334155;font-weight:600}.info-box-modern{align-items:center;background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;color:#0369a1;display:flex;gap:1rem;padding:1.5rem}.info-box-modern i{font-size:1.5rem}[data-theme=dark] .checkbox-container{background:#1e293b;border-color:#334155}[data-theme=dark] .checkbox-label{color:#e2e8f0}[data-theme=dark] .info-box-modern{background:#0c4a6e20;border-color:#0c4a6e40;color:#38bdf8}.isp-features-section{background:linear-gradient(135deg,#eff6ff,#f5f3ff);border:1.5px solid #3b82f620;border-radius:12px}[data-theme=dark] .isp-features-section{background:linear-gradient(135deg,#1e3a5f20,#2d1b6920);border-color:#3b82f640}.section-badge{background:linear-gradient(135deg,#3b82f6,#7c3aed);border-radius:20px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.08em;margin-left:10px;padding:2px 8px;text-transform:uppercase;vertical-align:middle}.isp-features-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:16px}@media (max-width:640px){.isp-features-grid{grid-template-columns:1fr}}.isp-feature-card{background:#ffffffb3;border:1px solid #e2e8f0;border-radius:10px;display:flex;gap:12px;padding:14px}[data-theme=dark] .isp-feature-card{background:#1e1e3280;border-color:#ffffff10}.isp-feature-icon{align-items:center;border-radius:10px;color:#fff;display:flex;flex-shrink:0;font-size:16px;height:40px;justify-content:center;width:40px}.isp-feature-icon.payment{background:linear-gradient(135deg,#10b981,#059669)}.isp-feature-icon.plans{background:linear-gradient(135deg,#3b82f6,#2563eb)}.isp-feature-icon.radius{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.isp-feature-icon.orders{background:linear-gradient(135deg,#f59e0b,#d97706)}.isp-feature-content h4{color:#1e293b;color:var(--text-primary,#1e293b);font-size:13px;font-weight:700;margin:0 0 4px}.isp-feature-content p{color:#64748b;color:var(--text-secondary,#64748b);font-size:11.5px;line-height:1.5;margin:0 0 8px}.payment-gateways-list{display:flex;flex-wrap:wrap;gap:6px}.gateway-badge{border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.05em;padding:2px 8px}.gateway-badge.cashfree{background:#ecfdf5;border:1px solid #059669;color:#059669}.gateway-badge.razorpay{background:#eff6ff;border:1px solid #2563eb;color:#2563eb}.gateway-badge.phonepe{background:#f5f3ff;border:1px solid #7c3aed;color:#7c3aed}.gateway-badge.paytm{background:#fffbeb;border:1px solid #d97706;color:#d97706}.isp-config-note{align-items:flex-start;background:#3b82f614;border-left:3px solid #3b82f6;border-radius:8px;color:#475569;color:var(--text-secondary,#475569);display:flex;font-size:12.5px;gap:10px;line-height:1.5;padding:12px 16px}.isp-config-note i{color:#3b82f6;flex-shrink:0;margin-top:2px}.isp-config-note strong{color:#1e293b;color:var(--text-primary,#1e293b)}.hotel-features-section{background:linear-gradient(135deg,#fffbeb,#fdf4ff);border-color:#f59e0b20}[data-theme=dark] .hotel-features-section{background:linear-gradient(135deg,#451a0320,#2d1b6920);border-color:#f59e0b40}.hotel-badge{background:linear-gradient(135deg,#f59e0b,#ec4899)}.action-btn-icon.branding{background-color:#f5f3ff;color:#8b5cf6}.action-btn-icon.branding:hover{background-color:#8b5cf6;color:#fff}[data-theme=dark] .action-btn-icon.branding{background-color:#8b5cf620}[data-theme=dark] .action-btn-icon.branding:hover{background-color:#8b5cf6}.modal-modern{max-width:800px;width:95%}.modal-tabs{-ms-overflow-style:none;border-bottom:1px solid #e5e7eb;display:flex;gap:.25rem;margin-bottom:2rem;overflow-x:auto;padding:0 1rem;scrollbar-width:none}.modal-tabs::-webkit-scrollbar{display:none}.modal-tab-btn{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;font-size:.85rem;font-weight:600;gap:.4rem;padding:.875rem .75rem;transition:all .2s;white-space:nowrap}.modal-tab-btn:hover{color:#3b82f6}.modal-tab-btn.active{border-bottom-color:#3b82f6;color:#3b82f6}.portal-config-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1.5fr}.branding-section,.messages-section{display:flex;flex-direction:column;gap:1.5rem}.section-subtitle{align-items:center;color:#374151;display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin-bottom:.5rem}.logo-uploads{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}.color-pickers{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.color-input-wrapper{align-items:center;display:flex;gap:1rem}input[type=color]{border:none;border-radius:4px;height:40px;padding:0;width:40px}.pms-config{display:flex;flex-direction:column;gap:.75rem}.integration-warning{align-items:flex-start;background:#fffbeb;border:1px solid #fef3c7;border-radius:8px;color:#92400e;display:flex;font-size:.9rem;gap:.75rem;margin-bottom:1.5rem;padding:1rem}.integration-warning i{margin-top:2px}[data-theme=dark] .modal-tabs{border-bottom-color:#374151}[data-theme=dark] .modal-tab-btn{color:#9ca3af}[data-theme=dark] .modal-tab-btn.active{border-bottom-color:#60a5fa;color:#60a5fa}[data-theme=dark] .section-subtitle{color:#e5e7eb}[data-theme=dark] .integration-warning{background:#78350f20;border-color:#78350f40;color:#fbbf24}@media (max-width:768px){.portal-config-grid{grid-template-columns:1fr}}.isp-success,.isp-verifying{align-items:center;display:flex;flex-direction:column;gap:1rem;padding:2.5rem 1rem;text-align:center}.isp-success-icon{font-size:4rem;line-height:1}.isp-plans-section{padding:0 .25rem}.isp-no-plans{color:#94a3b8;padding:2rem 0;text-align:center}.isp-plans-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:8px}@media (max-width:480px){.isp-plans-grid{grid-template-columns:1fr}}.isp-plan-card{background:#fff;border:2px solid #e2e8f0;border-radius:14px;cursor:pointer;padding:16px 14px 14px;position:relative;transition:border-color .2s,transform .15s,box-shadow .2s;-webkit-user-select:none;user-select:none}.isp-plan-card:hover{box-shadow:0 6px 20px #00000014;transform:translateY(-2px)}.isp-plan-card.selected{box-shadow:0 6px 24px #0000001f}.plan-popular-badge{border-radius:20px;color:#fff;font-size:10px;font-weight:700;left:50%;letter-spacing:.05em;padding:2px 10px;position:absolute;top:-10px;transform:translateX(-50%);white-space:nowrap}.plan-name{font-size:14px;font-weight:700;margin-bottom:6px}.plan-price{font-size:24px;font-weight:800;line-height:1.1;margin-bottom:10px}.plan-price-sub{font-size:13px;font-weight:500;opacity:.7}.plan-features{color:#64748b;display:flex;flex-direction:column;font-size:12px;gap:4px}.plan-features span{align-items:center;display:flex;gap:6px}.plan-features i{opacity:.7;text-align:center;width:14px}.plan-selected-tick{font-size:18px;position:absolute;right:10px;top:8px}.isp-selected-plan-summary{align-items:center;border:2px solid;border-radius:10px;display:flex;font-size:14px;gap:12px;margin-bottom:16px;padding:12px 16px}.isp-selected-plan-summary i{font-size:20px}.isp-selected-plan-summary div{flex:1 1}.isp-change-plan-btn{background:none;border:none;cursor:pointer;font-size:12px;font-weight:600;padding:0;text-decoration:underline}.portal-container{background:linear-gradient(135deg,#f0f4f8,#d9e2ec);padding:1.5rem}.portal-container,.portal-loading{align-items:center;display:flex;justify-content:center;min-height:100vh}.portal-loading{background:#fff;flex-direction:column}.portal-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:var(--radius-2xl);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:450px;padding:2.5rem;width:100%}.portal-header{margin-bottom:2rem;text-align:center}.brand-logo{height:80px;margin-bottom:1.5rem;object-fit:contain}.default-brand-icon{align-items:center;background:var(--primary-100);border-radius:var(--radius-xl);color:var(--primary-600);display:flex;font-size:2rem;height:64px;justify-content:center;margin:0 auto 1.5rem;width:64px}.portal-header h1{color:var(--gray-900);font-size:1.75rem;font-weight:800;margin-bottom:.5rem}.welcome-msg{color:var(--gray-600);font-size:1rem}.login-tabs{grid-gap:.5rem;background:var(--gray-100);border-radius:var(--radius-lg);display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));margin-bottom:2rem;padding:.25rem}.tab-btn{border-radius:var(--radius-md);color:var(--gray-500);flex-direction:column;font-size:.75rem;font-weight:700;padding:.75rem .5rem;transition:all .2s ease}.tab-btn i{font-size:1.25rem}.tab-btn.active{box-shadow:var(--shadow-sm);color:var(--primary-600)}.portal-form{display:flex;flex-direction:column;gap:1.25rem}.input-with-icon{position:relative}.input-with-icon i{color:var(--gray-400);left:1rem;position:absolute;top:50%;transform:translateY(-50%)}.input-with-icon .input{background:#fff;border:1.5px solid var(--gray-200);border-radius:var(--radius-lg);font-size:1rem;height:52px;padding-left:2.75rem}.input-with-icon .input:focus{border-color:var(--primary-500);box-shadow:0 0 0 4px var(--primary-50)}.terms-container{margin-top:.5rem}.checkbox-wrapper{align-items:center;cursor:pointer;display:flex;gap:.75rem}.checkbox-text{color:var(--gray-600);font-size:.875rem}.checkbox-text a{color:var(--primary-600);font-weight:600;text-decoration:none}.portal-footer{color:var(--gray-400);font-size:.875rem;margin-top:2.5rem;text-align:center}.conflict-card{max-width:400px;padding:2rem;width:100%}.existing-sessions{display:flex;flex-direction:column;gap:1rem}.session-item{align-items:center;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);display:flex;justify-content:space-between;padding:1rem}.device-mac{color:var(--gray-800);font-size:.875rem}.session-start{color:var(--gray-500);font-size:.75rem}@media (max-width:480px){.portal-card{padding:1.5rem}.login-tabs{grid-template-columns:repeat(2,1fr)}}.welcome-container{background:linear-gradient(135deg,#e0e7ff,#f1f5f9);padding:1.5rem}.welcome-container,.welcome-loading{align-items:center;display:flex;justify-content:center;min-height:100vh}.welcome-loading{background:#fff;flex-direction:column}.status-card{background:#fff;border-radius:var(--radius-3xl);box-shadow:0 25px 50px -12px #0000001a;max-width:500px;padding:3rem;width:100%}.status-header{margin-bottom:3rem;text-align:center}.live-indicator{align-items:center;background:#ecfdf5;border-radius:var(--radius-full);color:#059669;display:inline-flex;font-size:.75rem;font-weight:800;gap:.5rem;letter-spacing:.05em;margin-bottom:1.5rem;padding:.5rem 1rem}.pulse-dot{animation:welcome-pulse 2s infinite;background:#10b981;border-radius:50%;height:8px;width:8px}@keyframes welcome-pulse{0%{box-shadow:0 0 0 0 #10b981b3;transform:scale(.95)}70%{box-shadow:0 0 0 10px #10b98100;transform:scale(1)}to{box-shadow:0 0 0 0 #10b98100;transform:scale(.95)}}.status-header h1{color:var(--gray-900);font-size:2rem;font-weight:800;margin-bottom:.5rem}.status-header p{color:var(--gray-500);font-size:1.125rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr);margin-bottom:2.5rem}.stat-item label{color:var(--gray-400);display:block;font-size:.75rem;font-weight:700;letter-spacing:.025em;margin-bottom:.5rem;text-transform:uppercase}.stat-item p{color:var(--gray-800);font-size:1.125rem;font-weight:700;margin:0}.stat-item .highlight{color:var(--primary-600);font-family:var(--font-mono)}.usage-progress{margin-bottom:3rem}.usage-progress .progress-bar{background:var(--gray-100);border-radius:var(--radius-full);height:10px;margin-bottom:.75rem}.usage-progress .progress-fill{background:linear-gradient(90deg,var(--primary-500),var(--primary-600));border-radius:var(--radius-full);height:100%;transition:width 1s ease-out}.usage-progress p{color:var(--gray-500);font-size:.875rem;font-weight:600;text-align:right}.welcome-actions{display:flex;flex-direction:column;gap:1.5rem;margin-top:2rem}.help-text{color:var(--gray-400);font-size:.875rem;text-align:center}.help-text a{color:var(--primary-600);font-weight:700;text-decoration:none}@media (max-width:480px){.status-card{padding:2rem}.stats-grid{grid-template-columns:1fr}}.theme-demo-container{margin:0 auto;max-width:1400px;padding:2rem}.demo-header{background:var(--accent-gradient);border-radius:var(--radius-2xl);color:#fff;margin-bottom:4rem;padding:3rem 0;text-align:center}.demo-header h1{font-size:3rem;font-weight:800;margin-bottom:.5rem;text-shadow:0 2px 10px #0003}.demo-header p{font-size:1.25rem;opacity:.9}.demo-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);margin-bottom:3rem;padding:2rem}.demo-section h2{border-bottom:2px solid var(--primary-200);color:var(--text-primary);font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;padding-bottom:.75rem}.demo-badges,.demo-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.mt-4{margin-top:1rem}.gap-4{gap:1.5rem}.p-0{padding:0}.templates-page{margin:0 auto;max-width:1600px;padding:2rem}.templates-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));margin-top:1.5rem}.template-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 1px 3px 0 #0000001a;display:flex;flex-direction:column;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.template-card:hover{border-color:#a855f7;box-shadow:0 10px 25px -5px #a855f71a,0 4px 10px -2px #a855f70d;transform:translateY(-4px)}.template-preview{align-items:center;background:linear-gradient(135deg,#f9fafb,#fff);border-bottom:1px solid #e5e7eb;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:200px;padding:2rem}.template-logo{border-radius:8px;max-height:80px;max-width:80px;object-fit:contain}.template-logo-placeholder{align-items:center;background:#f3f4f6;border:2px dashed #e5e7eb;border-radius:8px;color:#d1d5db;display:flex;height:80px;justify-content:center;width:80px}.template-heading{font-size:1.125rem;font-weight:700;margin:.5rem 0;text-align:center}.template-button-preview{border:none;border-radius:8px;box-shadow:0 2px 8px #0000001a;cursor:default;font-size:.938rem;font-weight:600;padding:.75rem 2rem}.template-info{display:flex;flex:1 1;flex-direction:column;padding:1.5rem}.template-name{color:#1f2937;font-size:1.125rem;font-weight:700;margin:0 0 1rem}.template-details{display:flex;flex:1 1;flex-direction:column;gap:.75rem}.detail-item{align-items:center;color:#6b7280;display:flex;font-size:.875rem;gap:.5rem}.detail-item svg{color:#a855f7;flex-shrink:0}.template-actions{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:.75rem;justify-content:center;padding:1rem 1.5rem}.template-actions .action-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem;transition:all .3s ease}.template-actions .action-btn.edit{background:#eef2ff;color:#6366f1}.template-actions .action-btn.edit:hover{background:#6366f1;color:#fff;transform:translateY(-2px)}.template-actions .action-btn.delete{background:#fee2e2;color:#ef4444}.template-actions .action-btn.delete:hover{background:#ef4444;color:#fff;transform:translateY(-2px)}.modal-modern.modal-large{max-height:90vh;max-width:900px}.fields-selector{grid-gap:.75rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr);padding:1rem}.field-checkbox{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:.5rem;padding:.5rem;transition:all .2s ease}.field-checkbox:hover{background:#fff}.field-checkbox input[type=checkbox]{accent-color:#a855f7;cursor:pointer;height:18px;width:18px}.field-checkbox span{color:#4b5563;font-size:.875rem;font-weight:500}.login-methods-selector{grid-gap:.75rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:.75rem;grid-template-columns:repeat(3,1fr);padding:1rem}.method-checkbox{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#4b5563;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.625rem .75rem;position:relative;transition:all .2s ease}.method-checkbox:hover{background:#faf5ff;border-color:#a855f7;color:#7c3aed}.method-checkbox.checked{background:linear-gradient(135deg,#faf5ff,#f3e8ff);border-color:#a855f7;color:#7c3aed}.method-checkbox input[type=checkbox]{accent-color:#a855f7;cursor:pointer;flex-shrink:0;height:16px;width:16px}.method-icon{flex-shrink:0;font-size:1rem}input[type=color]{border:1px solid #d1d5db;border-radius:var(--border-radius);cursor:pointer;height:42px}input[type=color]::-webkit-color-swatch-wrapper{padding:4px}input[type=color]::-webkit-color-swatch{border:none;border-radius:6px}.logo-upload-section{display:flex;flex-direction:column;gap:1rem}.logo-preview-container{margin:0 auto;position:relative;width:-webkit-fit-content;width:fit-content}.logo-preview-image{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;max-height:200px;max-width:200px;object-fit:contain;padding:1rem}.logo-remove-btn{align-items:center;background:#ef4444;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 8px #0003;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:-8px;top:-8px;transition:all .3s ease;width:32px}.logo-remove-btn:hover{background:#dc2626;transform:scale(1.1)}.logo-upload-placeholder{align-items:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:12px;color:#9ca3af;display:flex;flex-direction:column;gap:.5rem;justify-content:center;padding:2rem}.logo-upload-options{align-items:center;display:flex;gap:1rem}.file-upload-btn{align-items:center;background:linear-gradient(135deg,#a855f7,#ec4899);border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:.938rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease;white-space:nowrap}.file-upload-btn:hover{box-shadow:0 4px 12px #a855f74d;transform:translateY(-2px)}.file-upload-btn i,.upload-or{font-size:.875rem}.upload-or{color:#9ca3af;font-weight:500}.logo-url-input{border:1px solid #d1d5db;border-radius:8px;flex:1 1;font-size:.938rem;padding:.75rem 1rem;transition:all .3s ease}.logo-url-input:focus{border-color:#a855f7;box-shadow:0 0 0 3px #a855f71a;outline:none}.input-hint{margin:0}.input-hint:before{margin-right:.5rem}@media (max-width:768px){.logo-upload-options{align-items:stretch;flex-direction:column}.file-upload-btn{justify-content:center;width:100%}.upload-or{text-align:center}.logo-preview-image{max-height:150px;max-width:150px}}.preview-toggle{border-top:1px solid #e5e7eb;margin-top:1.5rem;padding-top:1.5rem}.template-preview-container{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-top:1.5rem;padding:2rem}.template-preview-frame{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin:0 auto;max-width:400px;padding:2rem;text-align:center}.preview-logo{margin-bottom:1.5rem;max-height:100px;max-width:100px;object-fit:contain}.template-preview-frame h1{font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.template-preview-frame p{font-size:.938rem;margin:0 0 1.5rem}.preview-fields{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.preview-fields input{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;font-size:.938rem;padding:.75rem}.template-preview-frame button{border:none;border-radius:8px;cursor:not-allowed;font-size:.938rem;font-weight:600;padding:.875rem;width:100%}@media (min-width:1920px){.templates-grid{gap:2rem;grid-template-columns:repeat(5,1fr)}}@media (min-width:1440px) and (max-width:1919px){.templates-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width:1024px) and (max-width:1439px){.templates-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:768px) and (max-width:1023px){.templates-page{padding:1.5rem}.templates-grid{gap:1.25rem;grid-template-columns:repeat(2,1fr)}.modal-modern.modal-large{max-width:90%}.fields-selector,.login-methods-selector{grid-template-columns:1fr}}@media (min-width:480px) and (max-width:767px){.templates-page{padding:1rem}.templates-grid{gap:1rem;grid-template-columns:1fr}.template-preview{min-height:160px;padding:1.5rem}.template-logo,.template-logo-placeholder{height:60px;width:60px}.template-heading{font-size:1rem}.fields-selector,.login-methods-selector{grid-template-columns:repeat(2,1fr)}.modal-modern.modal-large{max-width:95%}.form-grid{grid-template-columns:1fr!important}}@media (max-width:479px){.templates-page{padding:.75rem}.templates-grid{gap:.75rem;grid-template-columns:1fr}.template-card{border-radius:12px}.template-preview{min-height:140px;padding:1.25rem}.template-logo,.template-logo-placeholder{height:50px;width:50px}.template-heading{font-size:.938rem}.template-button-preview{font-size:.875rem;padding:.625rem 1.5rem}.template-info{padding:1rem}.template-name{font-size:1rem}.template-actions{flex-direction:column;padding:.75rem 1rem}.template-actions .action-btn{width:100%}.fields-selector,.login-methods-selector{grid-template-columns:1fr}.modal-modern.modal-large{border-radius:16px 16px 0 0;max-height:95vh;max-width:100%}.form-grid{grid-template-columns:1fr!important}.template-preview-container{padding:1rem}.template-preview-frame{padding:1.5rem}.header-content{align-items:stretch!important;flex-direction:column;gap:1rem}.btn-primary-modern{justify-content:center;width:100%}}@media print{.templates-page{padding:0}.filters-section,.page-header-modern button,.template-actions{display:none!important}.templates-grid{gap:1rem;grid-template-columns:repeat(2,1fr)}.template-card{border:1px solid #e5e7eb;box-shadow:none;break-inside:avoid;page-break-inside:avoid}.template-card:hover{transform:none}}@media (hover:none) and (pointer:coarse){.field-checkbox,.template-actions .action-btn{min-height:44px}.template-card:active{transform:scale(.98)}.template-card:hover{box-shadow:0 1px 3px 0 #0000001a;transform:none}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.template-card{border-width:.5px}.template-name{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.template-logo{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}}.template-card{animation:fadeInUp .3s ease-out}.template-card:first-child{animation-delay:.05s}.template-card:nth-child(2){animation-delay:.1s}.template-card:nth-child(3){animation-delay:.15s}.template-card:nth-child(4){animation-delay:.2s}.template-card:nth-child(5){animation-delay:.25s}.field-checkbox:focus-within,.template-actions .action-btn:focus,input[type=color]:focus{outline:2px solid #a855f7;outline-offset:2px}.devices-page{margin:0 auto;max-width:1600px;padding:2rem}.devices-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));margin-top:1.5rem}.device-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 1px 3px 0 #0000001a;display:flex;flex-direction:column;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.device-card:hover{border-color:#a855f7;box-shadow:0 10px 25px -5px #a855f71a,0 4px 10px -2px #a855f70d;transform:translateY(-4px)}.device-card-header{align-items:center;background:linear-gradient(135deg,#f9fafb,#fff);border-bottom:1px solid #e5e7eb;display:flex;gap:1rem;padding:1.5rem}.device-icon{align-items:center;background:linear-gradient(135deg,#a855f7,#ec4899);border-radius:12px;box-shadow:0 4px 12px #a855f74d;color:#fff;display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.device-info{flex:1 1;min-width:0}.device-mac{color:#1f2937;font-family:Monaco,Courier New,monospace;font-size:1rem;font-weight:700;letter-spacing:.5px;margin-bottom:.25rem}.device-meta{color:#6b7280;font-size:.813rem}.delete-btn{align-items:center;background:#fee2e2;border:none;border-radius:8px;color:#ef4444;cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:all .3s ease;width:36px}.delete-btn:hover{background:#ef4444;color:#fff;transform:scale(1.1)}.device-card-body{flex:1 1;padding:1.5rem}.status-badge-container{margin-bottom:1rem}.status-badge.whitelisted{background:#d1fae5;color:#065f46}.status-badge.whitelisted .badge-dot{background:#10b981}.status-badge.blacklisted{background:#fee2e2;color:#991b1b}.status-badge.blacklisted .badge-dot{background:#ef4444}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.pending .badge-dot{background:#f59e0b}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.device-notes{align-items:flex-start;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:.75rem;padding:1rem}.device-notes i{color:#a855f7;flex-shrink:0;margin-top:.125rem}.device-notes span{color:#4b5563;font-size:.875rem;line-height:1.5}.device-notes.empty{background:#0000;border:1px dashed #d1d5db}.device-notes.empty span{color:#9ca3af;font-style:italic}.device-card-footer{align-items:center;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.5rem}.footer-item i{color:#a855f7}.mac-input{font-family:Monaco,Courier New,monospace!important;letter-spacing:1px;text-transform:uppercase}.input-hint{align-items:center;color:#9ca3af;display:flex;font-size:.75rem;gap:.5rem;margin-top:.5rem}.input-hint:before{content:"ℹ️";font-size:.875rem}.stat-icon.red{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.stat-icon.orange{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}@media (min-width:1920px){.devices-grid{gap:2rem;grid-template-columns:repeat(4,1fr)}.device-card-body,.device-card-header{padding:2rem}}@media (min-width:1440px) and (max-width:1919px){.devices-grid{gap:1.75rem;grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px) and (max-width:1439px){.devices-grid{gap:1.5rem;grid-template-columns:repeat(2,1fr)}}@media (min-width:768px) and (max-width:1023px){.devices-page{padding:1.5rem}.devices-grid{gap:1.5rem;grid-template-columns:repeat(2,1fr)}.device-card-header{padding:1.25rem}.device-icon{height:48px;width:48px}}@media (min-width:480px) and (max-width:767px){.devices-page{padding:1rem}.devices-grid{gap:1rem;grid-template-columns:1fr}.device-card-body,.device-card-header{padding:1rem}.device-icon{height:44px;width:44px}.device-mac{font-size:.875rem}}@media (max-width:479px){.devices-page{padding:.75rem}.devices-grid{gap:.75rem;grid-template-columns:1fr}.device-card{border-radius:12px}.device-card-header{flex-wrap:wrap;padding:1rem}.device-icon{height:40px;width:40px}.device-info{flex-basis:calc(100% - 100px);flex-grow:1;flex-shrink:1}.device-mac{font-size:.813rem;word-break:break-all}.device-meta{font-size:.75rem}.delete-btn{height:32px;width:32px}.device-card-body{padding:1rem}.device-notes{padding:.75rem}.device-card-footer{font-size:.75rem;padding:.75rem 1rem}.header-content{align-items:stretch!important;flex-direction:column;gap:1rem}.btn-primary-modern{justify-content:center;width:100%}}@media print{.devices-page{padding:0}.delete-btn,.filters-section,.page-header-modern .btn-primary-modern{display:none!important}.devices-grid{gap:1rem;grid-template-columns:repeat(2,1fr)}.device-card{border:1px solid #e5e7eb;box-shadow:none;break-inside:avoid;page-break-inside:avoid}.device-card:hover{transform:none}.device-icon{background:#6b7280!important}.status-badge{border:1px solid}}.device-card.skeleton{pointer-events:none;-webkit-user-select:none;user-select:none}.device-card.skeleton .device-mac,.device-card.skeleton .device-meta,.device-card.skeleton .device-notes span{animation:loading 1.5s ease-in-out infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:4px;color:#0000}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (hover:none) and (pointer:coarse){.delete-btn{min-height:44px;min-width:44px}.device-card:active{transform:scale(.98)}.device-card:hover{box-shadow:0 1px 3px 0 #0000001a;transform:none}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.device-card{border-width:.5px}.device-mac{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@media (prefers-color-scheme:dark){.devices-page.dark-mode .device-card{background:#1f2937;border-color:#374151;color:#f9fafb}.devices-page.dark-mode .device-card-header{background:linear-gradient(135deg,#111827,#1f2937);border-color:#374151}.devices-page.dark-mode .device-mac{color:#f9fafb}.devices-page.dark-mode .device-meta{color:#9ca3af}.devices-page.dark-mode .device-card-footer,.devices-page.dark-mode .device-notes{background:#111827;border-color:#374151}}.campaigns-page{margin:0 auto;max-width:1600px;padding:2rem}.tabs-container{background:#f3f4f6;border-radius:12px;display:flex;gap:.5rem;margin-bottom:1.5rem;padding:.5rem;width:-webkit-fit-content;width:fit-content}.tab-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-size:.938rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;position:relative;transition:all .3s ease}.tab-btn:hover{background:#ffffff80;color:#374151}.tab-btn.active{background:#fff;box-shadow:0 1px 3px 0 #0000001a;color:#a855f7}.tab-badge{background:linear-gradient(135deg,#a855f7,#ec4899);border-radius:12px;color:#fff;font-size:.75rem;font-weight:700;min-width:24px;padding:.125rem .5rem;text-align:center}.tab-btn:not(.active) .tab-badge{background:#d1d5db;color:#6b7280}.campaigns-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));margin-top:1.5rem}.campaign-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 1px 3px 0 #0000001a;display:flex;flex-direction:column;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.campaign-card:hover{border-color:#a855f7;box-shadow:0 10px 25px -5px #a855f71a,0 4px 10px -2px #a855f70d;transform:translateY(-4px)}.campaign-card-header{align-items:center;background:linear-gradient(135deg,#f9fafb,#fff);border-bottom:1px solid #e5e7eb;display:flex;gap:1rem;padding:1.5rem}.campaign-icon{align-items:center;background:linear-gradient(135deg,#a855f7,#ec4899);border-radius:12px;box-shadow:0 4px 12px #a855f74d;color:#fff;display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.campaign-info{flex:1 1;min-width:0}.campaign-name{color:#1f2937;font-size:1rem;font-weight:700;margin-bottom:.25rem}.campaign-type{color:#6b7280;font-size:.813rem;text-transform:capitalize}.campaign-actions{display:flex;gap:.5rem}.action-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .3s ease;width:36px}.action-btn.edit{background:#eef2ff;color:#6366f1}.action-btn.edit:hover{background:#6366f1;color:#fff;transform:scale(1.1)}.action-btn.delete{background:#fee2e2;color:#ef4444}.action-btn.delete:hover{background:#ef4444;color:#fff;transform:scale(1.1)}.campaign-card-body{flex:1 1;padding:1.5rem}.status-badge{align-items:center;border-radius:8px;display:inline-flex;font-size:.813rem;font-weight:600;gap:.5rem;margin-bottom:1.25rem;padding:.5rem 1rem;text-transform:capitalize}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.active .badge-dot{background:#10b981}.status-badge.inactive{background:#fee2e2;color:#991b1b}.status-badge.inactive .badge-dot{background:#ef4444}.status-badge.draft{background:#fef3c7;color:#92400e}.status-badge.draft .badge-dot{background:#f59e0b}.badge-dot{animation:pulse 2s ease-in-out infinite;height:8px;width:8px}.campaign-metrics{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.metric-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;padding:1rem;text-align:center}.metric-item svg{color:#a855f7;margin-bottom:.5rem}.metric-label{color:#6b7280;font-size:.75rem;margin-bottom:.25rem}.metric-value{color:#1f2937;font-size:1.25rem;font-weight:700}.campaign-card-footer{align-items:center;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.5rem}.footer-item{align-items:center;color:#6b7280;display:flex;font-size:.813rem;gap:.5rem}.footer-item svg{color:#a855f7}.leads-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-top:1.5rem}.lead-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 1px 3px 0 #0000001a;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.lead-card:hover{border-color:#a855f7;box-shadow:0 10px 25px -5px #a855f71a,0 4px 10px -2px #a855f70d;transform:translateY(-4px)}.lead-card-header{background:linear-gradient(135deg,#f9fafb,#fff);border-bottom:1px solid #e5e7eb;gap:1rem;padding:1.5rem}.lead-avatar,.lead-card-header{align-items:center;display:flex}.lead-avatar{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;box-shadow:0 4px 12px #6366f14d;color:#fff;flex-shrink:0;height:48px;justify-content:center;width:48px}.lead-info{flex:1 1;min-width:0}.lead-name{color:#1f2937;font-size:1rem;font-weight:700;margin-bottom:.25rem}.lead-source{color:#6b7280;font-size:.813rem}.lead-card-body{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem}.lead-detail{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:.75rem;padding:.75rem}.lead-detail svg{color:#a855f7;flex-shrink:0}.lead-detail span{color:#4b5563;font-size:.875rem}.lead-detail.empty{background:#0000;border:1px dashed #d1d5db;justify-content:center}.lead-detail.empty span{color:#9ca3af;font-style:italic}.lead-card-footer{align-items:center;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.5rem}.stat-icon.purple{background:linear-gradient(135deg,#a855f7,#9333ea);color:#fff}@media (min-width:1920px){.campaigns-grid{gap:2rem;grid-template-columns:repeat(4,1fr)}.leads-grid{gap:2rem;grid-template-columns:repeat(5,1fr)}}@media (min-width:1440px) and (max-width:1919px){.campaigns-grid{grid-template-columns:repeat(3,1fr)}.leads-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width:1024px) and (max-width:1439px){.campaigns-grid,.leads-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px) and (max-width:1023px){.campaigns-page{padding:1.5rem}.campaigns-grid,.leads-grid{gap:1.25rem;grid-template-columns:repeat(2,1fr)}.campaign-metrics{gap:.75rem;grid-template-columns:repeat(3,1fr)}.metric-item{padding:.75rem}}@media (min-width:480px) and (max-width:767px){.campaigns-page{padding:1rem}.campaigns-grid,.leads-grid{gap:1rem;grid-template-columns:1fr}.campaign-metrics{grid-template-columns:repeat(2,1fr)}.tabs-container{justify-content:space-between;width:100%}.tab-btn{flex:1 1;justify-content:center}}@media (max-width:479px){.campaigns-page{padding:.75rem}.campaigns-grid,.leads-grid{gap:.75rem;grid-template-columns:1fr}.campaign-card,.lead-card{border-radius:12px}.campaign-card-header,.lead-card-header{padding:1rem}.campaign-icon{height:44px;width:44px}.lead-avatar{height:40px;width:40px}.campaign-name,.lead-name{font-size:.938rem}.campaign-actions{flex-wrap:wrap}.action-btn{height:32px;width:32px}.campaign-card-body,.lead-card-body{padding:1rem}.campaign-metrics{gap:.5rem;grid-template-columns:1fr}.metric-item{flex-direction:row;justify-content:space-between;padding:.75rem}.metric-item svg{margin-bottom:0}.metric-label{flex:1 1;text-align:left}.campaign-card-footer,.lead-card-footer{align-items:flex-start;flex-direction:column;gap:.5rem;padding:.75rem 1rem}.tabs-container{padding:.375rem;width:100%}.tab-btn{flex:1 1;flex-direction:column;font-size:.813rem;gap:.25rem;padding:.625rem .75rem}.tab-badge{margin-top:.25rem;position:static}.header-content{align-items:stretch!important;flex-direction:column;gap:1rem}.btn-primary-modern,.btn-secondary-modern{justify-content:center;width:100%}}@media print{.campaigns-page{padding:0}.action-btn,.campaign-actions,.filters-section,.page-header-modern button,.tabs-container{display:none!important}.campaigns-grid,.leads-grid{gap:1rem;grid-template-columns:repeat(2,1fr)}.campaign-card,.lead-card{border:1px solid #e5e7eb;box-shadow:none;break-inside:avoid;page-break-inside:avoid}.campaign-card:hover,.lead-card:hover{transform:none}}@media (hover:none) and (pointer:coarse){.action-btn,.tab-btn{min-height:44px;min-width:44px}.campaign-card:active,.lead-card:active{transform:scale(.98)}.campaign-card:hover,.lead-card:hover{box-shadow:0 1px 3px 0 #0000001a;transform:none}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.campaign-card,.lead-card{border-width:.5px}.campaign-name,.lead-name{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.billing-page{margin:0 auto;max-width:1600px;padding:2rem}.billing-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));margin-top:1.5rem}.billing-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 1px 3px 0 #0000001a;display:flex;flex-direction:column;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.billing-card:hover{border-color:#a855f7;box-shadow:0 10px 25px -5px #a855f71a,0 4px 10px -2px #a855f70d;transform:translateY(-4px)}.billing-card-header{align-items:center;background:linear-gradient(135deg,#f9fafb,#fff);border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.tenant-info{flex:1 1;gap:1rem;min-width:0}.tenant-avatar,.tenant-info{align-items:center;display:flex}.tenant-avatar{background:linear-gradient(135deg,#a855f7,#ec4899);border-radius:12px;box-shadow:0 4px 12px #a855f74d;color:#fff;flex-shrink:0;height:48px;justify-content:center;width:48px}.tenant-name{color:#1f2937;font-size:1rem;font-weight:700;margin:0 0 .25rem}.tenant-company,.tenant-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-company{color:#6b7280;font-size:.813rem;margin:0}.plan-badge{border-radius:6px;flex-shrink:0;font-size:.75rem;font-weight:700;letter-spacing:.5px;padding:.375rem .75rem}.plan-badge.gray{background:#f3f4f6;color:#6b7280}.plan-badge.blue{background:#eff6ff;color:#2563eb}.plan-badge.purple{background:#f3e8ff;color:#7e22ce}.plan-badge.pink{background:#fce7f3;color:#be185d}.billing-card-body{display:flex;flex:1 1;flex-direction:column;gap:1rem;padding:1.5rem}.billing-detail{align-items:flex-start;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:.75rem;padding:.75rem;transition:all .2s ease}.billing-detail:hover{background:#faf5ff;border-color:#f3e8ff}.detail-icon{align-items:center;background:linear-gradient(135deg,#a855f7,#ec4899);border-radius:8px;color:#fff;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.billing-detail>div{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.detail-label{color:#9ca3af;font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.detail-value{color:#1f2937;font-size:.938rem;font-weight:600}.billing-card-footer{align-items:center;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.5rem}.status-indicator{align-items:center;border-radius:6px;display:inline-flex;font-size:.813rem;font-weight:600;gap:.5rem;padding:.5rem .75rem}.status-indicator.active{background:#d1fae5;color:#065f46}.status-indicator.warning{background:#fef3c7;color:#92400e}.status-indicator.expired{background:#fee2e2;color:#991b1b}.status-indicator svg{flex-shrink:0}.btn-edit-subscription{align-items:center;background:linear-gradient(135deg,#a855f7,#ec4899);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:.813rem;font-weight:600;gap:.5rem;padding:.5rem 1rem;transition:all .3s ease;white-space:nowrap}.btn-edit-subscription:hover{box-shadow:0 4px 12px #a855f766;transform:translateY(-2px)}@media (min-width:1920px){.billing-grid{gap:2rem;grid-template-columns:repeat(4,1fr)}}@media (min-width:1440px) and (max-width:1919px){.billing-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px) and (max-width:1439px){.billing-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px) and (max-width:1023px){.billing-page{padding:1.5rem}.billing-grid{gap:1.25rem;grid-template-columns:repeat(2,1fr)}.billing-card-footer{align-items:stretch;flex-direction:column}.btn-edit-subscription{justify-content:center}}@media (min-width:480px) and (max-width:767px){.billing-page{padding:1rem}.billing-grid{gap:1rem;grid-template-columns:1fr}.billing-card-header{padding:1.25rem}.tenant-avatar{height:40px;width:40px}.billing-card-body{padding:1.25rem}.billing-card-footer{align-items:stretch;flex-direction:column}.btn-edit-subscription{justify-content:center;width:100%}}@media (max-width:479px){.billing-page{padding:.75rem}.billing-grid{gap:.75rem;grid-template-columns:1fr}.billing-card{border-radius:12px}.billing-card-header{align-items:stretch;flex-direction:column;gap:1rem;padding:1rem}.tenant-info{align-items:center;flex-direction:column;text-align:center}.plan-badge{align-self:center}.tenant-avatar{height:36px;width:36px}.billing-card-body{gap:.75rem;padding:1rem}.billing-detail{align-items:flex-start;flex-direction:column}.billing-card-footer{align-items:stretch;flex-direction:column;padding:.75rem 1rem}.btn-edit-subscription{justify-content:center;width:100%}.header-content{align-items:stretch!important;flex-direction:column;gap:1rem}}@media print{.billing-page{padding:0}.btn-edit-subscription,.filters-section,.page-header-modern button{display:none!important}.billing-grid{gap:1rem;grid-template-columns:repeat(2,1fr)}.billing-card{border:1px solid #e5e7eb;box-shadow:none;break-inside:avoid;page-break-inside:avoid}.billing-card:hover{transform:none}}@media (hover:none) and (pointer:coarse){.btn-edit-subscription{min-height:44px}.billing-card:active{transform:scale(.98)}.billing-card:hover{box-shadow:0 1px 3px 0 #0000001a;transform:none}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.billing-card{border-width:.5px}.tenant-name{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.billing-card{animation:fadeInUp .3s ease-out}.billing-card:first-child{animation-delay:.05s}.billing-card:nth-child(2){animation-delay:.1s}.billing-card:nth-child(3){animation-delay:.15s}.billing-card:nth-child(4){animation-delay:.2s}.billing-card:nth-child(5){animation-delay:.25s}.btn-edit-subscription:focus{outline:2px solid #a855f7;outline-offset:2px}.rooms-page{box-sizing:border-box;display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:1400px;padding:2rem;width:100%}.rooms-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.rooms-header-text h1{align-items:center;color:var(--text-primary);display:flex;font-size:1.625rem;font-weight:800;gap:.625rem;margin:0 0 .25rem}.rooms-header-text h1 i{color:var(--violet-600)}.rooms-header-text p{color:var(--text-secondary);font-size:.9rem;margin:0}.rooms-stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(5,1fr)}@media (max-width:1024px){.rooms-stats-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:640px){.rooms-stats-grid{grid-template-columns:repeat(2,1fr)}}.rooms-stat-card{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-sm);display:flex;gap:1rem;padding:1.125rem 1.25rem;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;-webkit-user-select:none;user-select:none}.rooms-stat-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.rooms-stat-card:active{transform:translateY(0)}.rooms-stat-icon{align-items:center;border-radius:10px;color:#fff;display:flex;flex-shrink:0;font-size:1.125rem;height:44px;justify-content:center;width:44px}.rooms-stat-icon.purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.rooms-stat-icon.blue{background:linear-gradient(135deg,#3b82f6,#2563eb)}.rooms-stat-icon.green{background:linear-gradient(135deg,#10b981,#059669)}.rooms-stat-icon.amber{background:linear-gradient(135deg,#f59e0b,#d97706)}.rooms-stat-icon.red{background:linear-gradient(135deg,#ef4444,#dc2626)}.rooms-stat-info{flex:1 1;min-width:0}.rooms-stat-value{color:var(--text-primary);font-size:1.625rem;font-weight:800;line-height:1;margin-bottom:.25rem}.rooms-stat-label{color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.rooms-toolbar{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:1rem;padding:.875rem 1.25rem}.rooms-filters{display:flex;flex:1 1;flex-wrap:wrap;gap:.5rem}.filter-chip{background:#0000;border:1.5px solid var(--border-color);border-radius:999px;border-radius:var(--radius-full,999px);color:var(--text-secondary);cursor:pointer;font-size:.8125rem;font-weight:600;padding:.3125rem .875rem;transition:all .18s ease;white-space:nowrap}.filter-chip:hover{background:var(--primary-light);border-color:var(--primary-color);color:var(--primary-color)}.filter-chip.active{background:var(--gradient-brand);border-color:#0000;box-shadow:var(--shadow-brand);color:#fff}.view-toggle{border:1px solid var(--border-color);border-radius:var(--radius-sm);display:flex;flex-shrink:0;overflow:hidden}.view-toggle button{align-items:center;background:#0000;border:none;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;height:36px;justify-content:center;transition:all .18s ease;width:36px}.view-toggle button:hover{background:var(--gray-100);color:var(--text-primary)}.view-toggle button.active{background:var(--primary-color);color:#fff}.rooms-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.room-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.room-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.room-card-header{align-items:center;background:var(--bg-muted);border-bottom:1px solid var(--border-color);border-left:4px solid #0000;display:flex;justify-content:space-between;padding:.875rem 1.125rem}.room-number-badge{align-items:center;border-radius:var(--radius-sm);display:inline-flex;font-size:.9375rem;font-weight:800;gap:.375rem;letter-spacing:.02em;padding:.3125rem .75rem}.room-status-pill{border-radius:999px;font-size:.6875rem;font-weight:700;letter-spacing:.06em;padding:.25rem .625rem;text-transform:uppercase}.room-status-pill.small{font-size:.6875rem;padding:.1875rem .5rem}.room-card-body{display:flex;flex:1 1;flex-direction:column;gap:.875rem;padding:1rem 1.125rem}.room-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.room-type-badge{background:var(--violet-50);border:1px solid var(--violet-200);border-radius:var(--radius-sm);color:var(--violet-600);font-size:.6875rem;font-weight:700;letter-spacing:.04em;padding:.1875rem .625rem;text-transform:capitalize}[data-theme=dark] .room-type-badge{background:#8b5cf626;border-color:#8b5cf64d;color:var(--violet-300)}.room-floor{align-items:center;color:var(--text-secondary);display:flex;font-size:.75rem;gap:.25rem}.room-floor i{font-size:.625rem}.guest-info-card{align-items:flex-start;background:var(--info-light);border:1px solid #3b82f633;border-radius:var(--radius-sm);display:flex;gap:.75rem;padding:.75rem}[data-theme=dark] .guest-info-card{background:#3b82f61a;border-color:#3b82f640}.guest-avatar{align-items:center;background:linear-gradient(135deg,#3b82f6,#7c3aed);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1rem;font-weight:800;height:36px;justify-content:center;width:36px}.guest-details{flex:1 1;min-width:0}.guest-name{color:var(--text-primary);font-size:.875rem;font-weight:700;margin-bottom:.125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guest-contact{font-size:.75rem;margin-bottom:.25rem}.guest-checkout,.guest-contact{align-items:center;color:var(--text-secondary);display:flex;gap:.3rem}.guest-checkout{flex-wrap:wrap;font-size:.7rem}.guest-checkout.urgent{color:#ef4444}.days-badge{background:#f59e0b26;border-radius:999px;color:#d97706;display:inline-block;font-size:.675rem;font-weight:700;margin-left:.25rem;padding:.125rem .5rem}.guest-checkout.urgent .days-badge{background:#ef444426;color:#ef4444}.room-vacant-msg{align-items:center;background:var(--gray-50);border:1px dashed var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);display:flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:.875rem}[data-theme=dark] .room-vacant-msg{background:#ffffff0a}.amenities-row{flex-wrap:wrap;gap:.375rem;margin-top:auto;padding-top:.25rem}.amenities-row,.amenity-dot{align-items:center;display:flex}.amenity-dot{background:var(--gray-100);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.625rem;height:26px;justify-content:center;transition:background .15s ease;width:26px}.amenity-dot:hover{background:var(--violet-50);color:var(--violet-600)}[data-theme=dark] .amenity-dot{background:#ffffff12}.room-card-footer{align-items:center;background:var(--bg-muted);border-top:1px solid var(--border-color);display:flex;gap:.5rem;justify-content:space-between;padding:.75rem 1.125rem}.room-action-btn{align-items:center;border:none;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:700;gap:.375rem;padding:.4375rem .875rem;transition:all .18s ease;white-space:nowrap}.room-action-btn.sm{font-size:.75rem;padding:.3125rem .625rem}.room-action-btn.checkin{background:var(--success-light);color:#065f46}.room-action-btn.checkin:hover{background:#10b981;box-shadow:0 4px 12px #10b98159;color:#fff}.room-action-btn.checkout{background:var(--warning-light);color:var(--warning-dark)}.room-action-btn.checkout:hover{background:var(--warning-color);box-shadow:0 4px 12px #f59e0b59;color:#fff}.room-action-btn.available{background:var(--info-light);color:var(--info-dark)}.room-action-btn.available:hover{background:var(--info-color);box-shadow:0 4px 12px #3b82f659;color:#fff}.room-icon-actions{align-items:center;display:flex;gap:.375rem;margin-left:auto}.rooms-list{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.room-list-header{grid-gap:.5rem;background:var(--gray-50);border-bottom:1px solid var(--border-color);color:var(--text-secondary);display:grid;font-size:.6875rem;font-weight:700;gap:.5rem;grid-template-columns:100px 100px 120px 1fr 110px 100px 130px;letter-spacing:.07em;padding:.75rem 1.25rem;text-transform:uppercase}[data-theme=dark] .room-list-header{background:#ffffff0a}.room-list-row{grid-gap:.5rem;align-items:center;border-bottom:1px solid var(--border-color);color:var(--text-primary);display:grid;font-size:.875rem;gap:.5rem;grid-template-columns:100px 100px 120px 1fr 110px 100px 130px;padding:.875rem 1.25rem;transition:background .15s ease}.room-list-row:last-child{border-bottom:none}.room-list-row:hover{background:var(--gray-50)}[data-theme=dark] .room-list-row:hover{background:#ffffff08}.room-number-text{font-weight:700}.room-type-text{color:var(--text-secondary);font-size:.8125rem;text-transform:capitalize}.guest-name-text{font-weight:500}.text-right{text-align:right}.room-row-actions{align-items:center;display:flex;gap:.375rem;justify-content:flex-end}.amenities-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.amenity-chip{align-items:center;background:var(--bg-muted);border:1.5px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.8125rem;font-weight:600;gap:.5rem;padding:.5rem .75rem;text-transform:capitalize;transition:all .15s ease;-webkit-user-select:none;user-select:none}.amenity-chip input{display:none}.amenity-chip i{color:var(--text-muted);font-size:.75rem;transition:color .15s}.amenity-chip:hover{background:var(--primary-light);border-color:var(--primary-color);color:var(--primary-color)}.amenity-chip.active{background:var(--gradient-brand);border-color:#0000;box-shadow:var(--shadow-brand);color:#fff}.amenity-chip.active i{color:#ffffffd9}.checkin-info-note{align-items:flex-start;background:#3b82f614;border-left:3px solid #3b82f6;border-radius:var(--radius-sm);color:var(--text-secondary);display:flex;font-size:.8125rem;gap:.75rem;line-height:1.5;margin-top:.5rem;padding:.875rem 1rem}.checkin-info-note i{color:#3b82f6;flex-shrink:0;font-size:1rem;margin-top:.125rem}.checkin-info-note strong{color:var(--text-primary)}.warning-box{align-items:flex-start;background:var(--warning-light);border-left:4px solid var(--warning-color);border-radius:var(--radius-sm);display:flex;gap:1rem;padding:1rem 1.25rem}.warning-box i{color:var(--warning-dark);flex-shrink:0;font-size:1.25rem;margin-top:.125rem}.warning-box p{color:var(--text-primary);font-size:.9rem;margin:0 0 .25rem}.warning-box p:last-child{margin:0}.warning-text{color:var(--text-secondary)!important;font-size:.8125rem!important}.modal-header-modern.danger{background:linear-gradient(135deg,#fef2f2,#fff1f2);border-bottom-color:#fecaca}[data-theme=dark] .modal-header-modern.danger{background:#ef444414;border-bottom-color:#ef444433}.warning-box.danger-box{background:var(--danger-light);border-left-color:var(--danger-color)}.warning-box.danger-box i{color:var(--danger-dark)}.btn-danger-modern{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:var(--radius-sm);box-shadow:0 4px 12px #ef44444d;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:700;gap:.5rem;justify-content:center;padding:.6875rem 1.5rem;transition:all .2s ease}.btn-danger-modern:hover{box-shadow:0 8px 20px #ef444473;transform:translateY(-1px)}.btn-danger-modern:disabled{opacity:.6;pointer-events:none}.rooms-no-branch{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:60vh;text-align:center}.rooms-no-branch i{color:var(--primary-color);font-size:3.5rem;opacity:.5}.rooms-no-branch h3{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin:0}.rooms-no-branch p{font-size:.9rem;margin:0;max-width:320px}.form-section{border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:1rem;margin-bottom:.5rem;padding-bottom:1.25rem}.form-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-title{align-items:center;color:var(--text-primary);display:flex;font-size:.875rem;font-weight:700;gap:.5rem;margin:0}.section-title i{color:var(--primary-color)}.form-grid{grid-gap:.875rem;display:grid;gap:.875rem;grid-template-columns:1fr 1fr}@media (max-width:520px){.form-grid{grid-template-columns:1fr}}.form-group-modern{display:flex;flex-direction:column;gap:.375rem}.form-group-modern.full-width,.full-width{grid-column:1/-1}.form-group-modern label{color:var(--text-secondary);font-size:.8125rem;font-weight:600}.form-group-modern input,.form-group-modern select,.form-group-modern textarea{background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:.875rem;outline:none;padding:.5625rem .875rem;transition:border-color .18s ease,box-shadow .18s ease}.form-group-modern input:focus,.form-group-modern select:focus,.form-group-modern textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #7c3aed1a}.form-group-modern input:disabled{background:var(--gray-100);color:var(--text-muted);cursor:not-allowed}[data-theme=dark] .form-group-modern input:disabled{background:#ffffff0d}.form-group-modern textarea{min-height:64px;resize:vertical}.required{color:#ef4444;margin-left:2px}[data-theme=dark] .room-card,[data-theme=dark] .rooms-list,[data-theme=dark] .rooms-stat-card,[data-theme=dark] .rooms-toolbar{background:var(--bg-card);border-color:var(--border-color)}[data-theme=dark] .room-card-footer{background:#ffffff08}[data-theme=dark] .room-card-header{background:#ffffff0a}[data-theme=dark] .room-vacant-msg{background:#ffffff0d;border-color:#ffffff14}[data-theme=dark] .form-group-modern input,[data-theme=dark] .form-group-modern select,[data-theme=dark] .form-group-modern textarea{background:#ffffff0f;border-color:#ffffff1f;color:var(--text-primary)}[data-theme=dark] .amenity-chip{background:#ffffff0d;border-color:#ffffff1a}[data-theme=dark] .checkin-info-note{background:#3b82f61a}[data-theme=dark] .warning-box{background:#f59e0b1f}.pms-mode-banner{align-items:center;background:linear-gradient(135deg,#3b82f614,#8b5cf614);border:1.5px solid #3b82f640;border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:.875rem 1.25rem}[data-theme=dark] .pms-mode-banner{background:linear-gradient(135deg,#3b82f61f,#8b5cf61f);border-color:#3b82f64d}.pms-banner-left{align-items:center;display:flex;flex:1 1;gap:.875rem;min-width:0}.pms-banner-icon{align-items:center;background:linear-gradient(135deg,#3b82f6,#7c3aed);border-radius:10px;color:#fff;display:flex;flex-shrink:0;font-size:1rem;height:40px;justify-content:center;width:40px}.pms-banner-left>div>strong{color:var(--text-primary);display:block;font-size:.9rem;font-weight:700;margin-bottom:.125rem}.pms-banner-left>div>p{color:var(--text-secondary);font-size:.8125rem;line-height:1.4;margin:0}.pms-last-sync{color:#3b82f6;font-weight:600}.pms-sync-btn{align-items:center;background:#0000;border:1.5px solid #3b82f6;border-radius:var(--radius-sm);color:#3b82f6;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.875rem;font-weight:700;gap:.5rem;padding:.5rem 1.125rem;transition:all .18s ease;white-space:nowrap}.pms-sync-btn:hover{background:#3b82f6;box-shadow:0 4px 12px #3b82f659;color:#fff}.pms-sync-btn.syncing{opacity:.7;pointer-events:none}.pms-sync-btn:disabled{cursor:not-allowed;opacity:.6}.pms-synced-badge{align-items:center;background:linear-gradient(135deg,#3b82f626,#8b5cf626);border:1px solid #3b82f64d;border-radius:999px;color:#3b82f6;display:inline-flex;font-size:.625rem;font-weight:700;gap:.25rem;letter-spacing:.04em;padding:.1875rem .5rem;text-transform:uppercase}[data-theme=dark] .pms-synced-badge{background:#3b82f633;border-color:#3b82f659;color:#60a5fa}.pms-sync-time{align-items:center;color:#3b82f6;display:flex;font-size:.6875rem;font-weight:500;gap:.25rem;margin-top:.25rem}[data-theme=dark] .pms-sync-time{color:#60a5fa}.pms-checkin-note{align-items:flex-start;background:linear-gradient(135deg,#3b82f614,#8b5cf60f);border-left:3px solid #3b82f6;border-radius:var(--radius-sm);display:flex;gap:.75rem;margin-bottom:.75rem;padding:.875rem 1rem}.pms-checkin-note i{color:#3b82f6;flex-shrink:0;font-size:1rem;margin-top:.125rem}.pms-checkin-note>div>strong{color:var(--text-primary);display:block;font-size:.8125rem;font-weight:700;margin-bottom:.25rem}.pms-checkin-note>div>p{color:var(--text-secondary);font-size:.7875rem;line-height:1.5;margin:0}[data-theme=dark] .pms-checkin-note{background:#3b82f61a}@media (max-width:768px){.rooms-page{gap:1rem;padding:1rem}.rooms-header{flex-direction:column}.rooms-header .btn-primary-modern{justify-content:center;width:100%}.rooms-toolbar{align-items:stretch;flex-direction:column}.rooms-filters{order:2}.view-toggle{align-self:flex-end;order:3}.rooms-grid{grid-template-columns:1fr 1fr}.room-list-header,.room-list-row{grid-template-columns:80px 90px 1fr 100px}.room-list-header span:nth-child(2),.room-list-header span:nth-child(5),.room-list-header span:nth-child(6),.room-list-row span:nth-child(2),.room-list-row span:nth-child(5),.room-list-row span:nth-child(6){display:none}}@media (max-width:480px){.rooms-grid{grid-template-columns:1fr}.amenities-grid{grid-template-columns:repeat(2,1fr)}}.integ-stats-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:1.5rem}.integ-stat-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;gap:1rem;padding:1rem 1.25rem}.integ-stat-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;font-size:1.1rem;height:44px;justify-content:center;width:44px}.integ-stat-label{color:#64748b;font-size:.78rem;margin:0 0 2px}.integ-stat-value{color:#1e293b;font-size:1.6rem;font-weight:700;line-height:1;margin:0}.integ-cards-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.integ-branch-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 1px 3px #0000000f;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .2s,transform .2s}.integ-branch-card:hover{box-shadow:0 6px 20px #0000001a;transform:translateY(-2px)}.integ-card-header{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between;padding:1rem 1.25rem .5rem}.integ-card-title{align-items:center;display:flex;gap:.75rem}.integ-card-icon{align-items:center;background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:8px;color:#fff;display:flex;flex-shrink:0;font-size:.9rem;height:36px;justify-content:center;width:36px}.integ-card-title h3{color:#1e293b;font-size:.95rem;font-weight:600;margin:0}.integ-code-badge{background:#f1f5f9;border-radius:4px;color:#475569;font-family:monospace;font-size:.7rem;font-weight:600;letter-spacing:.5px;margin-left:6px;padding:1px 6px}.integ-card-location{color:#94a3b8;font-size:.78rem;margin:0;padding:0 1.25rem .5rem}.integ-card-location i{margin-right:4px}.integ-status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.72rem;font-weight:600;gap:5px;padding:3px 10px;white-space:nowrap}.integ-status-badge i{font-size:.45rem}.integ-status-badge.active{background:#dcfce7;color:#16a34a}.integ-status-badge.idle{background:#dbeafe;color:#2563eb}.integ-status-badge.none{background:#f1f5f9;color:#94a3b8}.integ-card-body{flex:1 1;padding:.75rem 1.25rem}.integ-provider-chip{align-items:center;background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;color:#0369a1;display:inline-flex;font-size:.78rem;font-weight:600;gap:6px;margin-bottom:.75rem;padding:3px 10px}.integ-detail-row{align-items:center;border-bottom:1px solid #f8fafc;display:flex;gap:.5rem;justify-content:space-between;padding:4px 0}.integ-detail-label{color:#64748b;flex-shrink:0;font-size:.75rem}.integ-detail-value{color:#1e293b;font-size:.78rem;font-weight:500;max-width:180px;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.integ-mono{color:#475569;font-family:monospace;font-size:.72rem}.integ-env-badge{border-radius:4px;font-size:.7rem;font-weight:600;padding:2px 8px}.integ-env-badge.prod{background:#dcfce7;color:#15803d}.integ-env-badge.uat{background:#fef9c3;color:#a16207}.integ-not-configured{align-items:center;color:#cbd5e1;display:flex;flex-direction:column;gap:.5rem;justify-content:center;padding:1.5rem 0;text-align:center}.integ-not-configured i{font-size:1.8rem}.integ-not-configured p{color:#94a3b8;font-size:.82rem;margin:0}.integ-card-footer{border-top:1px solid #f1f5f9;padding:.75rem 1.25rem 1rem}.integ-provider-banner{align-items:flex-start;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;color:#0369a1;display:flex;gap:.75rem;margin-bottom:1.25rem;padding:12px 14px}.integ-provider-banner i{flex-shrink:0;font-size:1.1rem;margin-top:2px}.integ-provider-banner strong{display:block;font-size:.88rem}.integ-provider-banner p{color:#0284c7;font-size:.78rem;margin:2px 0 0}.integ-toggle-row{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem;padding:.75rem 0}.integ-toggle-label{color:#1e293b;font-size:.88rem;font-weight:600;margin:0 0 2px}.integ-toggle-sub{color:#64748b;font-size:.75rem;margin:0}.integ-saved-hint{color:#94a3b8;font-size:.7rem;font-weight:400;margin-left:6px}[data-theme=dark] .integ-branch-card,[data-theme=dark] .integ-stat-card{background:#1e293b;border-color:#334155}[data-theme=dark] .integ-card-title h3,[data-theme=dark] .integ-detail-value,[data-theme=dark] .integ-stat-value{color:#f1f5f9}[data-theme=dark] .integ-card-location,[data-theme=dark] .integ-detail-label,[data-theme=dark] .integ-stat-label{color:#94a3b8}[data-theme=dark] .integ-code-badge{background:#334155;color:#94a3b8}[data-theme=dark] .integ-detail-row{border-bottom-color:#334155}[data-theme=dark] .integ-provider-banner{background:#1e3a5f;border-color:#1e4d7b}[data-theme=dark] .integ-toggle-row{border-bottom-color:#334155}.integ-load-defaults-btn{align-items:center;background:#0000;border:1.5px solid #7c3aed;border-radius:6px;color:#7c3aed;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.78rem;font-weight:700;gap:.375rem;padding:.3125rem .75rem;transition:all .18s ease;white-space:nowrap}.integ-load-defaults-btn:hover{background:#7c3aed;color:#fff}.integ-load-defaults-btn:disabled{opacity:.6;pointer-events:none}:root{--sidebar-width:260px;--sb-bg:#0f172a;--sb-bg-hover:#ffffff0f;--sb-bg-active:#8b5cf62e;--sb-border:#ffffff12;--sb-text:#94a3b8;--sb-text-hover:#f1f5f9;--sb-active:#a78bfa;--sb-accent:#7c3aed}.sidebar{background:#0f172a;background:var(--sb-bg);border-right:1px solid #ffffff12;border-right:1px solid var(--sb-border);box-shadow:4px 0 24px #0000002e;flex-direction:column;height:100vh;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:260px;width:var(--sidebar-width);z-index:50}.sidebar,.sidebar-header{display:flex;flex-shrink:0}.sidebar-header{align-items:center;border-bottom:1px solid #ffffff12;border-bottom:1px solid var(--sb-border);height:68px;justify-content:space-between;padding:0 1.25rem}.sidebar-header .flex{align-items:center;display:flex;gap:.75rem}.sidebar-header .w-8{align-items:center;background:linear-gradient(135deg,#7c3aed,#ec4899);border-radius:10px;box-shadow:0 4px 14px #7c3aed80;color:#fff;display:flex;flex-shrink:0;font-size:1.125rem;font-weight:800;height:38px;justify-content:center;transition:transform .3s cubic-bezier(.34,1.56,.64,1);width:38px}.sidebar-header .w-8:hover{transform:scale(1.1) rotate(8deg)}.sidebar-header h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#a78bfa,#f472b6);-webkit-background-clip:text;background-clip:text;font-size:1.25rem;font-weight:800;letter-spacing:-.03em;margin:0;white-space:nowrap}.close-btn{align-items:center;background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;color:#94a3b8;cursor:pointer;display:none;flex-shrink:0;height:34px;justify-content:center;transition:all .2s ease;width:34px}.close-btn:hover{background:#ffffff24;color:#fff}.sidebar-content{display:flex;flex:1 1;flex-direction:column;overflow-x:hidden;overflow-y:auto;padding:1rem .875rem;scrollbar-color:#ffffff1a #0000;scrollbar-width:thin}.sidebar-content::-webkit-scrollbar{width:3px}.sidebar-content::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:99px}.user-profile-mini{align-items:center;background:#ffffff0d;border:1px solid #ffffff12;border:1px solid var(--sb-border);border-radius:12px;display:flex;gap:.75rem;margin-bottom:1.25rem;padding:.875rem .75rem;transition:background .2s ease}.user-profile-mini:hover{background:#ffffff14}.avatar-circle{align-items:center;border-radius:9px;box-shadow:0 3px 10px #0000004d;color:#fff;display:flex;flex-shrink:0;font-size:.9rem;font-weight:700;height:36px;justify-content:center;width:36px}.user-info{min-width:0}.user-info .name{color:#f1f5f9;font-size:.875rem;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-badge{font-size:.6875rem;font-weight:700;letter-spacing:.05em;margin-top:2px;opacity:.85;text-transform:uppercase}.sidebar-nav{flex:1 1}.sidebar-nav ul{display:flex;flex-direction:column;gap:1px;list-style:none}.menu-divider{align-items:center;color:#94a3b880;display:flex;font-size:.625rem;font-weight:700;gap:.5rem;letter-spacing:.12em;padding:1.25rem .5rem .375rem;text-transform:uppercase}.menu-divider:after{background:#ffffff12;background:var(--sb-border);content:"";flex:1 1;height:1px}.menu-link{align-items:center;border-radius:9px;color:#94a3b8;color:var(--sb-text);display:flex;font-size:.875rem;font-weight:500;gap:.75rem;letter-spacing:-.01em;overflow:hidden;padding:.6875rem .875rem;position:relative;text-decoration:none;transition:all .18s ease;white-space:nowrap}.menu-link:hover{background:#ffffff0f;background:var(--sb-bg-hover);color:#f1f5f9;color:var(--sb-text-hover)}.menu-link:hover .icon-box{transform:translateX(2px)}.icon-box{display:flex;flex-shrink:0;font-size:.9375rem;justify-content:center;transition:transform .18s ease;width:20px}.menu-link.active{background:#8b5cf62e;background:var(--sb-bg-active);color:#a78bfa;color:var(--sb-active);font-weight:600}.menu-link.active .icon-box{color:#7c3aed;color:var(--sb-accent)}.active-indicator{background:linear-gradient(180deg,#a78bfa,#ec4899);border-bottom-right-radius:4px;border-top-right-radius:4px;height:55%;left:0;position:absolute;top:50%;transform:translateY(-50%);width:3px}.sidebar-footer{border-top:1px solid #ffffff12;border-top:1px solid var(--sb-border);margin-top:auto;padding-bottom:.5rem;padding-top:.75rem}.logout-btn{align-items:center;background:#ef444414;border:1px solid #ef444433;border-radius:10px;color:#fca5a5;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.625rem;justify-content:center;padding:.75rem;transition:all .2s ease;width:100%}.logout-btn:hover{background:#ef44442e;border-color:#ef444466;color:#ef4444;transform:translateY(-1px)}@media (max-width:1024px){.sidebar{box-shadow:none;height:100vh;left:-270px;left:calc(var(--sidebar-width)*-1 - 10px);position:fixed;top:0;transition:left .3s cubic-bezier(.4,0,.2,1);z-index:300}.sidebar.open{box-shadow:8px 0 40px #0006;left:0}.close-btn{display:flex}.sidebar-header{height:64px}}@media (max-width:768px){.sidebar{width:256px}.menu-link{font-size:.875rem;padding:.75rem .875rem}}@media (max-width:480px){.sidebar{max-width:300px;width:100%}}@media (max-height:600px) and (orientation:landscape){.sidebar-header{height:56px}.user-profile-mini{margin-bottom:.75rem;padding:.5rem .75rem}.menu-link{padding:.5rem .875rem}.logout-btn{padding:.5rem}}.header-modern{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000f,0 1px 0 #00000008;box-sizing:border-box;height:68px;padding:0 1.75rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content,.header-modern{align-items:center;display:flex;width:100%}.header-content{gap:1.25rem;justify-content:space-between}.header-left{flex:1 1;gap:1rem;min-width:0}.header-actions,.header-left{align-items:center;display:flex}.header-actions{flex-shrink:0;gap:.5rem}.menu-btn{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#64748b;cursor:pointer;display:none;flex-shrink:0;font-size:1rem;height:40px;justify-content:center;transition:all .2s ease;width:40px}.menu-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#334155}.branch-selector{align-items:center;display:flex;position:relative}.branch-button{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#334155;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;height:40px;max-width:220px;padding:0 .875rem;transition:all .2s ease;white-space:nowrap}.branch-button:hover{background:#f1f5f9;border-color:#c4b5fd;box-shadow:0 0 0 3px #8b5cf614}.branch-label{color:#94a3b8;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.branch-name{color:#334155;font-weight:600;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branch-button i{color:#94a3b8;flex-shrink:0;font-size:.75rem;margin-left:.125rem}.branch-dropdown{animation:dropdownFadeIn .18s ease;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 10px 30px #0f172a1f;left:0;min-width:240px;overflow:hidden;position:absolute;top:calc(100% + .5rem);z-index:1000}.branch-search-wrap{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:.5rem;padding:.5rem .875rem}.branch-search-wrap i{color:#94a3b8;flex-shrink:0;font-size:.8125rem}.branch-search-input{background:#0000;border:none;color:#334155;flex:1 1;font-family:inherit;font-size:.875rem;outline:none}.branch-search-input::placeholder{color:#cbd5e1}.branch-option{align-items:center;color:#334155;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.625rem;padding:.75rem 1rem;transition:all .15s ease}.branch-option span{flex:1 1}.branch-option:hover{background:#f5f3ff;color:#6d28d9}.branch-option.active{background:linear-gradient(135deg,#7c3aed,#ec4899);color:#fff;font-weight:700}.branch-option.disabled{color:#94a3b8;cursor:default;font-style:italic}.branch-option-icon{color:#94a3b8;flex-shrink:0;font-size:.6875rem}.branch-option.active .branch-option-icon{color:#fffc}.branch-check{color:#ffffffe6;font-size:.75rem;margin-left:auto}.search-bar{align-items:center;display:flex;max-width:380px;position:relative;transition:width .3s ease;width:260px}.search-input{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#334155;font-family:inherit;font-size:.875rem;height:40px;padding:0 2.75rem 0 1rem;transition:all .2s ease;width:100%}.search-input:focus{background:#fff;border-color:#a78bfa;box-shadow:0 0 0 3px #8b5cf61a;outline:none}.search-input::placeholder{color:#94a3b8}.search-button{align-items:center;background:none;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;display:flex;height:30px;justify-content:center;position:absolute;right:.5rem;transition:all .2s ease;width:30px}.search-button:hover{background:#f5f3ff;color:#7c3aed}.search-button i{font-size:.875rem}.header-icon-btn{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;position:relative;transition:all .2s ease;width:40px}.header-icon-btn:hover{background:#f1f5f9;border-color:#c4b5fd;box-shadow:0 4px 10px #0000000f;color:#7c3aed;transform:translateY(-1px)}.header-icon-btn i{font-size:.9375rem}.notification-badge{align-items:center;background:#ef4444;border:2px solid #fff;border-radius:9999px;color:#fff;display:flex;font-size:.6rem;font-weight:800;height:17px;justify-content:center;min-width:17px;padding:0 3px;position:absolute;right:-4px;top:-4px}.ws-status-pill{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:9999px;display:flex;flex-shrink:0;font-size:.6875rem;font-weight:700;gap:.375rem;height:32px;letter-spacing:.03em;padding:0 .75rem;transition:background .3s}.ws-dot{border-radius:50%;flex-shrink:0;height:7px;width:7px}.ws-label{color:#64748b}.ws-connected .ws-label{color:#16a34a}.ws-disconnected .ws-label{color:#dc2626}.ws-connecting .ws-label{color:#d97706}.ws-connected .ws-dot{animation:ws-pulse 2s infinite;background:#22c55e;box-shadow:0 0 6px #22c55e99}.ws-disconnected .ws-dot{background:#ef4444}.ws-connecting .ws-dot{animation:ws-blink 1s infinite;background:#f59e0b}.ws-connected{background:#f0fdf4;border-color:#bbf7d0}.ws-disconnected{background:#fef2f2;border-color:#fecaca}.ws-connecting{background:#fffbeb;border-color:#fde68a}@keyframes ws-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes ws-blink{0%,to{opacity:1}50%{opacity:.2}}.user-profile-section{position:relative}.user-profile-btn,.user-profile-section{align-items:center;display:flex;height:40px}.user-profile-btn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;flex-shrink:0;gap:.625rem;padding:0 .75rem 0 .375rem;transition:all .2s ease}.user-profile-btn:hover{background:#f1f5f9;border-color:#c4b5fd;box-shadow:0 0 0 3px #8b5cf614}.user-profile-btn.open{background:#f5f3ff;border-color:#a78bfa}.user-avatar-header{align-items:center;background:linear-gradient(135deg,#7c3aed,#ec4899);border:2px solid #e9d5ff;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.8125rem;font-weight:700;height:30px;justify-content:center;overflow:hidden;width:30px}.user-avatar-header img{height:100%;object-fit:cover;width:100%}.user-info{align-items:flex-start;display:flex;flex-direction:column;margin-right:.25rem}.user-name{color:#1e293b;font-size:.8125rem;font-weight:700;line-height:1.2;white-space:nowrap}.user-role{color:#94a3b8;font-size:.6875rem;line-height:1;white-space:nowrap}.user-profile-btn>i{color:#94a3b8;font-size:.75rem;transition:transform .2s ease}.user-profile-btn:hover>i{color:#7c3aed;transform:translateY(1px)}.user-dropdown{animation:dropdownFadeIn .18s ease;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 16px 40px #0f172a24;min-width:240px;overflow:hidden;position:absolute;right:0;top:calc(100% + .5rem);z-index:1000}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-user-card{align-items:center;background:linear-gradient(135deg,#f8fafc,#f5f3ff);display:flex;gap:.75rem;padding:1rem 1.125rem .75rem}.dropdown-avatar{border:2px solid #e9d5ff;border-radius:50%;flex-shrink:0;height:42px;overflow:hidden;width:42px}.dropdown-avatar img{height:100%;object-fit:cover;width:100%}.dropdown-user-info{flex:1 1;min-width:0}.dropdown-user-name{color:#1e293b;font-size:.9375rem;font-weight:700}.dropdown-user-email,.dropdown-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-user-email{color:#94a3b8;font-size:.75rem;margin-top:1px}.dropdown-company{align-items:center;color:#7c3aed;display:flex;font-size:.75rem;font-weight:600;gap:5px;margin-top:4px}.dropdown-company i{font-size:.6875rem}.dropdown-role-badge{align-items:center;background:linear-gradient(135deg,#f5f3ff,#fdf4ff);border:1px solid #e9d5ff;border-radius:20px;color:#7c3aed;display:flex;font-size:.6875rem;font-weight:700;gap:6px;letter-spacing:.06em;margin:0 1.125rem .75rem;padding:4px 10px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.dropdown-role-badge i{font-size:.625rem}.dropdown-item{align-items:center;background:none;border:none;color:#334155;cursor:pointer;display:flex;font-family:inherit;font-size:.875rem;font-weight:500;gap:.75rem;padding:.75rem 1.125rem;text-align:left;transition:all .15s ease;width:100%}.dropdown-item:hover{background:#f5f3ff;color:#6d28d9}.dropdown-item i{color:#94a3b8;flex-shrink:0;font-size:.875rem;width:16px}.dropdown-item:hover i{color:#7c3aed}.dropdown-item.logout{color:#dc2626}.dropdown-item.logout:hover{background:#fef2f2}.dropdown-item.logout i{color:#ef4444}.dropdown-divider{background:#f1f5f9;height:1px;margin:.125rem 0}@media (max-width:1280px){.search-bar{width:220px}}@media (max-width:1024px){.menu-btn{display:flex}.header-modern{padding:0 1.25rem}.search-bar{width:200px}}@media (max-width:768px){.header-modern{height:60px;padding:0 1rem}.header-left{flex:1 1;gap:.625rem}.header-actions{gap:.375rem}.search-bar{flex:1 1;max-width:200px;width:auto}.search-input{height:38px}.branch-button{height:38px;padding:0 .75rem}.branch-label,.user-info,.user-profile-btn>i{display:none}.user-profile-btn{background:#0000;border:none;box-shadow:none;padding:0 .375rem}.user-avatar-header{height:34px;width:34px}.ws-label{display:none}.ws-status-pill{padding:0 .5rem}}@media (max-width:600px){.search-bar{display:none}.branch-name{max-width:110px}}@media (max-width:480px){.header-modern{height:56px;padding:0 .75rem}.header-icon-btn,.ws-status-pill{display:none}}.layout-wrapper{background:#f1f5f9;height:100vh;width:100%}.content-wrapper,.layout-wrapper{display:flex;overflow:hidden;position:relative}.content-wrapper{flex:1 1;flex-direction:column;min-width:0}.main-content{-webkit-overflow-scrolling:touch;background:#f1f5f9;flex:1 1;overflow-x:hidden;overflow-y:auto;padding:1.75rem 2rem;position:relative}.main-content::-webkit-scrollbar{width:5px}.main-content::-webkit-scrollbar-track{background:#0000}.main-content::-webkit-scrollbar-thumb{background:#7c3aed33;border-radius:99px}.main-content::-webkit-scrollbar-thumb:hover{background:#7c3aed66}.main-content>*{animation:pageIn .3s ease-out}@keyframes pageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-shell{display:flex;flex-direction:column;gap:1.5rem}.page-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.page-header-left{display:flex;flex-direction:column;gap:.25rem}.page-title{color:#0f172a;font-size:1.5rem;font-weight:800;letter-spacing:-.03em;line-height:1.2;margin:0}.page-subtitle{color:#64748b;font-size:.875rem;font-weight:400;margin:0}.page-header-actions{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:.625rem}.page-breadcrumb{align-items:center;color:#94a3b8;display:flex;font-size:.8125rem;gap:.375rem;margin-bottom:.125rem}.page-breadcrumb i{font-size:.625rem}.page-breadcrumb .crumb-active{color:#334155;font-weight:600}.btn{align-items:center;border:1.5px solid #0000;border-radius:9px;cursor:pointer;display:inline-flex;font-family:inherit;font-weight:600;gap:.5rem;line-height:1;padding:.5625rem 1.125rem;transition:all .2s ease;white-space:nowrap}.btn,.btn i{font-size:.875rem}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,#7c3aed,#6d28d9);border-color:#7c3aed;box-shadow:0 2px 8px #7c3aed4d;color:#fff}.btn-primary:hover{background:linear-gradient(135deg,#6d28d9,#5b21b6);box-shadow:0 4px 14px #7c3aed66;transform:translateY(-1px)}.btn-secondary{background:#fff;border-color:#e2e8f0;box-shadow:0 1px 3px #0000000f;color:#334155}.btn-secondary:hover{background:#f8fafc;border-color:#c4b5fd;color:#7c3aed}.btn-danger{background:#fef2f2;border-color:#fecaca;color:#dc2626}.btn-danger:hover{background:#fee2e2;border-color:#fca5a5;box-shadow:0 2px 8px #dc262626}.btn-success{background:#f0fdf4;border-color:#bbf7d0;color:#16a34a}.btn-success:hover{background:#dcfce7;border-color:#86efac}.btn-sm{border-radius:7px;font-size:.8125rem;padding:.375rem .75rem}.btn-lg{border-radius:11px;font-size:.9375rem;padding:.75rem 1.5rem}.g-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 1px 3px #0000000f;overflow:hidden}.g-card-header{border-bottom:1px solid #f1f5f9;flex-wrap:wrap;gap:.75rem;justify-content:space-between;padding:1rem 1.375rem}.g-card-header,.g-card-title{align-items:center;display:flex}.g-card-title{gap:.625rem}.g-card-title i{color:#7c3aed;font-size:.9375rem}.g-card-title h3{color:#0f172a;font-size:.9375rem;font-weight:700;letter-spacing:-.02em;margin:0}.g-card-body{padding:1.375rem}.g-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.g-table{border-collapse:collapse;width:100%}.g-table thead tr{background:#f8fafc;border-bottom:2px solid #f1f5f9}.g-table thead th{color:#94a3b8;font-size:.6875rem;font-weight:700;letter-spacing:.07em;padding:.75rem 1.125rem;text-align:left;text-transform:uppercase;white-space:nowrap}.g-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .12s ease}.g-table tbody tr:last-child{border-bottom:none}.g-table tbody tr:hover td{background:#f5f3ff}.g-table tbody td{color:#334155;font-size:.875rem;padding:.875rem 1.125rem;vertical-align:middle}.badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:700;gap:.3rem;letter-spacing:.01em;padding:.2rem .625rem}.badge-success{background:#dcfce7;color:#16a34a}.badge-danger{background:#fee2e2;color:#dc2626}.badge-warning{background:#fef9c3;color:#ca8a04}.badge-purple{background:#ede9fe;color:#7c3aed}.badge-blue{background:#dbeafe;color:#1d4ed8}.badge-gray{background:#f1f5f9;color:#64748b}.badge-dot{background:currentColor;border-radius:50%;flex-shrink:0;height:6px;width:6px}.empty-state{align-items:center;display:flex;flex-direction:column;gap:.75rem;justify-content:center;padding:4rem 1.5rem;text-align:center}.empty-state i{color:#cbd5e1;font-size:2.5rem}.empty-state h4{color:#475569;font-size:1rem;font-weight:700;margin:0}.empty-state p{color:#94a3b8;font-size:.875rem;margin:0}.g-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:40vh}.g-loading p{color:#64748b;font-size:.875rem}.g-spinner{animation:spin .8s linear infinite;border:3px solid #ede9fe;border-radius:50%;border-top-color:#7c3aed;height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:1280px){.main-content{padding:1.5rem 1.75rem}}@media (max-width:1024px){.main-content{padding:1.375rem 1.5rem}}@media (max-width:768px){.main-content{padding:1rem}.page-title{font-size:1.25rem}.page-header{align-items:flex-start;flex-direction:column}}@media (max-width:480px){.main-content{padding:.75rem}.btn,.page-header-actions{width:100%}.btn{justify-content:center}}@media print{.layout-wrapper{background:#fff}.main-content{overflow:visible;padding:0}}*,:after,:before{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth}