@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{color-scheme:dark;--bg-main: #0f1419;--bg-sidebar: #0f172a;--bg-card: #161b22;--bg-card-solid: #1c2128;--bg-input: #21262d;--text-primary: #f0f6fc;--text-secondary: #8b949e;--text-table: #c9d1d9;--text-link: #58a6ff;--border-subtle: #30363d;--border-input: #484f58;--border-table: #30363d;--card-shadow: none;--accent-blue-bg: rgba(56, 139, 253, .15);--bg-hover: rgba(255, 255, 255, .02);--bg-hover-strong: rgba(148, 163, 184, .1);--bg-active-nav: rgba(59, 130, 246, .14);--btn-primary-bg: #3b82f6;--btn-primary-hover: #2563eb;--accent-green-bg: rgba(34, 197, 94, .15);--accent-green-text: #4ade80;--accent-cyan-bg: rgba(6, 182, 212, .15);--accent-cyan-text: #22d3ee;--accent-purple-bg: rgba(168, 85, 247, .15);--accent-purple-text: #c084fc;--accent-red-bg: rgba(239, 68, 68, .15);--accent-red-text: #f87171;--glass-table-bg: linear-gradient(145deg, rgba(255, 255, 255, .03), rgba(255, 255, 255, .015));--glass-table-border: rgba(255, 255, 255, .3);--glass-table-shadow: 0 8px 30px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .04);--glass-th-bg: rgba(255, 255, 255, .05);--glass-th-border: rgba(255, 255, 255, .3);--glass-td-border: rgba(255, 255, 255, .2);--glass-th-text: rgba(255, 255, 255, .7);--glass-td-text: rgba(255, 255, 255, .9);--glass-row-hover: rgba(255, 255, 255, .03);--font-family: "Inter", sans-serif}body.light-theme{color-scheme:light;--bg-main: #f0f2f5;--bg-sidebar: #0f172a;--bg-card: #ffffff;--bg-card-solid: #ffffff;--bg-input: #ffffff;--text-primary: #1e293b;--text-secondary: #64748b;--text-table: #334155;--text-link: #2563eb;--border-subtle: #e2e8f0;--border-input: #cbd5e1;--border-table: #e2e8f0;--card-shadow: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--accent-blue-bg: rgba(37, 99, 235, .1);--bg-hover: #f8fafc;--bg-hover-strong: #e2e8f0;--bg-active-nav: #eff6ff;--btn-primary-bg: #2563eb;--btn-primary-hover: #1d4ed8;--accent-green-bg: #dcfce7;--accent-green-text: #16a34a;--accent-cyan-bg: #cffafe;--accent-cyan-text: #0891b2;--accent-purple-bg: #f3e8ff;--accent-purple-text: #9333ea;--accent-red-bg: #fee2e2;--accent-red-text: #dc2626;--glass-table-bg: #ffffff;--glass-table-border: #e2e8f0;--glass-table-shadow: var(--card-shadow);--glass-th-bg: #f8fafc;--glass-th-border: #e2e8f0;--glass-td-border: #e2e8f0;--glass-th-text: #475569;--glass-td-text: #0f172a;--glass-row-hover: #f1f5f9}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background:var(--bg-main);color:var(--text-primary);display:flex;justify-content:center;align-items:center;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input,button,select,textarea{font-family:inherit;font-size:100%}select option{background-color:var(--bg-card-solid);color:var(--text-primary)}.login-page-wrapper{position:absolute;top:0;left:0;width:100vw;min-height:100vh;display:flex;justify-content:center;align-items:center;background:#f1f5f9;z-index:1000;color-scheme:light}.login-page-with-footer{flex-direction:column;justify-content:center;padding:24px 16px;box-sizing:border-box}.login-brand-logo{display:flex;justify-content:center;width:100%}.login-container{display:flex;width:1000px;min-height:600px;background:#fff;border-radius:24px;box-shadow:0 10px 12px #635e5e;overflow:hidden}.login-form-section{flex:1.1;padding:60px 80px;display:flex;flex-direction:column;justify-content:center}.login-header{margin-bottom:40px}.login-header h1{font-size:32px;font-weight:700;margin-bottom:8px;color:#111827}.login-header p{color:#6b7280;font-size:15px}.login-container .form-group{margin-bottom:24px}.login-container .form-group label{display:block;font-size:14px;font-weight:600;color:#374151;margin-bottom:8px}.login-container .form-group input[type=email],.login-container .form-group input[type=password]{width:100%;padding:14px 16px;background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;font-size:15px;outline:none;transition:border-color .2s ease;color:#111827;box-sizing:border-box}.login-container .form-group input:-webkit-autofill,.login-container .form-group input:-webkit-autofill:hover,.login-container .form-group input:-webkit-autofill:focus,.login-container .form-group input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px white inset!important;-webkit-text-fill-color:#111827!important}.login-container .form-group input::placeholder{color:#9ca3af}.login-container .form-group input:focus{border-color:#3b82f6}.form-options{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.remember-me{display:flex;align-items:center;gap:8px;font-size:14px;color:#6b7280;cursor:pointer}.remember-me input{width:16px;height:16px;cursor:pointer;accent-color:#3b82f6;border-radius:4px}.forgot-password{font-size:14px;color:#3b82f6;text-decoration:none;font-weight:500}.forgot-password:hover{text-decoration:underline}.login-btn{width:100%;padding:16px;background-color:#161e31;color:#fff;border:none;border-radius:20px;font-size:16px;font-weight:600;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:8px;transition:background-color .2s ease;margin-bottom:32px}.login-btn:hover{background-color:#0b1120}.login-footer{text-align:center;font-size:14px;color:#6b7280;border-top:1px solid #f3f4f6;padding-top:24px}.login-footer a{color:#3b82f6;text-decoration:none;font-weight:500}.login-footer a:hover{text-decoration:underline}.login-banner-section{flex:.9;background:#0b1120;padding:60px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;position:relative;overflow:hidden}.login-banner-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at top right,rgba(59,130,246,.2),transparent 60%);pointer-events:none}.brand{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:700;z-index:1}.brand-icon{color:#818cf8}.banner-content{margin-top:80px;z-index:1}.banner-content h2{font-size:38px;font-weight:700;margin-bottom:24px;line-height:1.2}.banner-description{font-size:15px;line-height:1.6;color:#d1d5db;padding-left:20px;border-left:3px solid #3b82f6;max-width:320px}.banner-footer{z-index:1;margin-top:auto}.status-pill{display:inline-flex;align-items:center;gap:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:12px 24px;border-radius:100px;font-size:13px;font-weight:600;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.status-pill .trend-icon{color:#60a5fa}.status-pill .shield-icon{color:#3b82f6}@media(max-width:1024px){.login-container{width:90%;min-height:500px}.login-form-section,.login-banner-section{padding:40px}}@media(max-width:768px){.login-container{flex-direction:column}.login-banner-section{display:none}}.dashboard-wrapper{background:var(--bg-main);height:100vh;width:100vw;color:var(--text-primary);position:absolute;top:0;left:0;font-family:Inter,sans-serif;overflow:hidden}.dashboard-layout{display:grid;grid-template-columns:280px 1fr;height:100vh;overflow:hidden}.dashboard-sidebar{--bg-sidebar: #0f172a;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-link: #60a5fa;--border-subtle: rgba(148, 163, 184, .15);--border-table: rgba(255, 255, 255, .06);--bg-hover: rgba(255, 255, 255, .04);--bg-hover-strong: rgba(148, 163, 184, .12);--bg-active-nav: rgba(59, 130, 246, .18);--accent-green-text: #4ade80;background:#0f172a;padding:32px 24px;border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.logo-brand{display:block;margin-bottom:28px;padding:0 4px}.sidebar-section{flex:1}.nav-menu{display:grid;gap:6px}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;border:1px solid var(--border-table);color:var(--text-secondary);text-decoration:none;font-size:15px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.nav-item:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,rgba(255,255,255,.04),transparent);transform:translate(-100%);transition:transform .4s ease;z-index:0}.nav-item:hover:after{transform:translate(0)}.nav-item>*{z-index:1}.nav-item:hover:not(.active){background:var(--bg-hover);border-color:#ffffff1a;color:var(--text-primary);transform:translate(6px);box-shadow:0 4px 12px #00000026}.nav-item.active{background:var(--bg-active-nav);border-color:#3b82f64d;color:var(--text-link);box-shadow:0 4px 15px #3b82f633}.sidebar-icon-box{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;transition:all .2s ease}.nav-item:not(.active) .icon-blue{color:#60a5fa;background-color:#3b82f626}.nav-item:not(.active) .icon-purple{color:#c084fc;background-color:#a855f726}.nav-item:not(.active) .icon-green{color:#4ade80;background-color:#22c55e26}.nav-item:not(.active) .icon-red{color:#f87171;background-color:#ef444426}.nav-item:not(.active) .icon-cyan{color:#22d3ee;background-color:#06b6d426}.nav-item:not(.active) .icon-amber{color:#fbbf24;background-color:#f59e0b26}.nav-item:not(.active) .icon-pink{color:#f472b6;background-color:#ec489926}.nav-item:not(.active) .icon-violet{color:#a78bfa;background-color:#8b5cf626}.nav-item:not(.active) .icon-emerald{color:#34d399;background-color:#10b98126}.nav-item:not(.active) .icon-slate{color:#94a3b8;background-color:#64748b26}.sidebar-footer{margin-top:12px;margin-bottom:16px;padding:20px;background:var(--bg-hover);border:1px solid var(--border-table);border-radius:16px;font-size:13px;line-height:1.8;color:var(--text-secondary)}.sidebar-footer strong{color:var(--text-primary);display:block;margin-bottom:8px;font-size:14px}.theme-toggle-wrapper{padding:0 0 8px;margin-top:12px}.theme-toggle-btn{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:16px;color:#e2e8f0;cursor:pointer;font-weight:600;font-size:14px;font-family:inherit;transition:background .2s,border-color .2s;box-shadow:none}.theme-toggle-btn:hover{background:#ffffff1a;color:#f8fafc}.theme-toggle-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:#ffffff1a;color:#e2e8f0;flex-shrink:0}.theme-toggle-btn.is-light .theme-toggle-icon{background:#fef08a;color:#a16207}.theme-toggle-label{flex:1;text-align:left;color:#f8fafc;font-weight:600}.theme-toggle-switch{width:36px;height:20px;border-radius:10px;background:#94a3b859;position:relative;flex-shrink:0;transition:background .3s}.theme-toggle-btn.is-light .theme-toggle-switch{background:#ca8a04}.theme-toggle-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .3s cubic-bezier(.4,0,.2,1)}.theme-toggle-btn.is-light .theme-toggle-knob{left:18px}.dashboard-main{height:100vh;overflow:hidden;box-sizing:border-box;background:var(--bg-main);display:flex;flex-direction:column}.dashboard-main-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:24px 32px;display:flex;flex-direction:column;min-height:0}.dashboard-main-content{flex:1 0 auto;display:flex;flex-direction:column;min-height:min-content}.dashboard-topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:40px}.page-title h2{font-size:24px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.page-title p{color:var(--text-secondary);margin:0;font-size:13px}.topbar-actions{display:flex;align-items:center;gap:12px}.action-pill{display:flex;align-items:center;gap:8px;background:var(--bg-card);border:1px solid var(--border-subtle);padding:8px 16px;border-radius:100px;font-size:13px;color:var(--text-secondary)}.action-button{display:flex;align-items:center;gap:8px;background:var(--btn-primary-bg);color:#fff;border:none;padding:8px 16px;border-radius:100px;font-size:13px;font-weight:500;cursor:pointer;text-decoration:none;transition:background .2s;font-family:inherit}.action-button:hover{background:var(--btn-primary-hover)}@media(max-width:768px){.dashboard-layout{grid-template-columns:1fr}.dashboard-sidebar{display:none}.dashboard-main{padding:20px}.topbar-actions{display:none}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-sidebar)}::-webkit-scrollbar-thumb{background:var(--bg-hover-strong);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.back-to-admin-fab{position:fixed;bottom:20px;right:40px;display:flex;align-items:center;gap:8px;background-color:var(--btn-primary-bg);color:#fff;border:none;padding:12px 20px;border-radius:100px;font-size:14px;font-weight:600;box-shadow:0 4px 14px #3b82f64d;cursor:pointer;z-index:100;transition:all .3s ease;font-family:inherit}.back-to-admin-fab:hover{background-color:var(--btn-primary-hover);transform:translateY(-2px);box-shadow:0 6px 20px #3b82f680}@media(max-width:768px){.back-to-admin-fab{bottom:20px;right:20px;padding:10px 16px}}.traffic-dashboard{display:flex;flex-direction:column;gap:20px}.page-badges{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.page-badges-3{grid-template-columns:repeat(3,minmax(0,1fr))}.page-badges-4{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{display:flex;align-items:flex-start;gap:14px;background:var(--bg-card);border-radius:12px;padding:18px 20px;border:1px solid var(--border-subtle);box-shadow:var(--card-shadow);transition:transform .2s ease,box-shadow .2s ease}.metric-icon{flex-shrink:0;width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center}.metric-icon-blue{background:var(--accent-blue-bg, rgba(59, 130, 246, .12));color:#3b82f6}.metric-icon-purple{background:var(--accent-purple-bg);color:var(--accent-purple-text)}.metric-icon-green{background:var(--accent-green-bg);color:var(--accent-green-text)}.metric-icon-cyan{background:var(--accent-cyan-bg);color:var(--accent-cyan-text)}.metric-icon-red{background:var(--accent-red-bg, rgba(239, 68, 68, .12));color:var(--accent-red-text, #ef4444)}.metric-body{min-width:0}.metric-card h3{font-size:12px;font-weight:500;color:var(--text-secondary);margin:0 0 4px}.metric-card strong{display:block;font-size:26px;font-weight:700;color:var(--text-primary);line-height:1.2;margin-bottom:4px}.metric-card span{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary)}.trend-up{color:var(--accent-green-text)!important}.trend-down{color:var(--accent-red-text)!important}.traffic-row{display:grid;gap:20px}.traffic-row-3{grid-template-columns:1.15fr 1fr .85fr}.traffic-row-2{grid-template-columns:1.65fr 1fr}.card{background:var(--bg-card);border-radius:12px;padding:20px 22px;border:1px solid var(--border-subtle);box-shadow:var(--card-shadow);transition:box-shadow .2s ease,border-color .2s ease}.card:hover{border-color:var(--border-input);box-shadow:0 4px 20px #0f172a14}body:not(.light-theme) .card:hover{box-shadow:0 4px 24px #00000040}.metric-card:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0f172a1a}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card-header h3{margin:0;font-size:15px;font-weight:600;color:var(--text-primary)}.traffic-loading,.traffic-error{padding:48px 24px;text-align:center;color:var(--text-secondary);background:var(--bg-card);border-radius:12px;border:1px solid var(--border-subtle)}.traffic-error{color:var(--accent-red-text)}.traffic-filters-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.filter-chip{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--text-secondary);font-weight:500}.filter-chip select,.filter-chip input{padding:8px 12px;border-radius:8px;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-primary);font-size:13px;min-width:140px}.filter-refresh-btn{padding:8px 16px;border-radius:8px;border:none;background:var(--btn-primary-bg);color:#fff;cursor:pointer;font-size:13px;font-weight:600}.link-btn{background:none;border:none;padding:0;color:var(--text-link);cursor:pointer;font-size:13px;font-weight:500}.link-btn:hover{text-decoration:underline}.chart-row{display:flex;gap:20px;align-items:flex-start}.chart-row-center{align-items:center}.donut-chart{width:110px;height:110px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.donut-lg{width:130px;height:130px}.donut-chart span{background:var(--bg-card-solid);width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--text-primary)}.donut-lg span{width:68px;height:68px;font-size:12px}.chart-legend{list-style:none;margin:0;padding:0;flex:1;font-size:13px}.chart-legend li{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;margin-bottom:8px;color:var(--text-table)}.chart-legend .dot{width:8px;height:8px;border-radius:50%}.legend-ip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,monospace;font-size:12px}.legend-val{color:var(--text-secondary);font-size:12px}.area-chart-wrap{height:200px;position:relative}.area-chart-svg{width:100%;height:calc(100% - 24px);display:block}.area-chart-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--text-secondary);padding-top:6px}.chart-empty{padding:60px 0;text-align:center}.host-bars{display:flex;flex-direction:column;gap:12px}.host-bar-row{display:grid;grid-template-columns:minmax(100px,1fr) 2fr auto;gap:10px;align-items:center;font-size:12px}.host-ip{color:var(--text-primary);font-family:ui-monospace,monospace;font-size:11px;overflow:hidden;text-overflow:ellipsis}.host-bar-track{height:8px;background:var(--bg-hover-strong);border-radius:4px;overflow:hidden}.host-bar-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:4px}.host-hits{color:var(--text-secondary);font-size:12px;white-space:nowrap}.alerts-list{list-style:none;margin:0;padding:0}.alerts-list li{padding:12px 14px;border-radius:8px;margin-bottom:10px;background:var(--bg-hover);border:1px solid var(--border-subtle);border-left-width:3px}.alerts-list li.alert-high{border-left-color:#ef4444}.alerts-list li.alert-medium{border-left-color:#f59e0b}.alerts-list li.alert-info{border-left-color:#64748b}.alert-badge{font-size:10px;font-weight:700;letter-spacing:.04em;margin-bottom:4px;color:var(--text-secondary)}.alerts-list li.alert-high .alert-badge{color:#ef4444}.alerts-list li.alert-medium .alert-badge{color:#f59e0b}.alerts-list p{margin:0 0 4px;font-size:13px;color:var(--text-primary);line-height:1.4}.alerts-list small{color:var(--text-secondary);font-size:11px}.table-wrap{overflow-x:auto}.traffic-table{width:100%;border-collapse:collapse;font-size:13px}.traffic-table th,.traffic-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border-subtle)}.traffic-table th{color:var(--text-secondary);font-weight:600;font-size:12px;background:var(--bg-hover)}.traffic-table tbody tr:hover{background:var(--bg-hover)}.traffic-table .mono{font-family:ui-monospace,monospace;font-size:12px}.full-page-card{margin-top:0}.muted{color:var(--text-secondary);font-size:13px}.live-dot{display:inline-block;width:8px;height:8px;background:#22c55e;border-radius:50%;margin-left:8px;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.live-traffic-card .live-metrics{margin-bottom:28px}@media(max-width:1200px){.traffic-row-3{grid-template-columns:1fr 1fr}.traffic-row-3 .card:last-child{grid-column:1 / -1}.traffic-row-2{grid-template-columns:1fr}}@media(max-width:900px){.page-badges{grid-template-columns:repeat(2,1fr)}.traffic-row-3{grid-template-columns:1fr}}@media(max-width:560px){.page-badges{grid-template-columns:1fr}}.bar-chart{display:flex;align-items:flex-end;gap:4px;height:160px;padding-top:8px}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;min-width:0}.bar-fill{width:100%;background:linear-gradient(180deg,#3b82f6,#2563eb);border-radius:4px 4px 0 0;margin-top:auto}.bar-col span{font-size:9px;color:var(--text-secondary);margin-top:4px}.alerts-full .alert-row-top{display:flex;justify-content:space-between;margin-bottom:4px}.settings-view .settings-block{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border-subtle)}.settings-view label{display:block;margin-bottom:12px;color:var(--text-secondary);font-size:13px}.settings-view select{display:block;width:100%;max-width:320px;margin-top:6px;padding:10px;border-radius:8px;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-primary)}.settings-toggle{display:flex!important;align-items:center;gap:10px;color:var(--text-primary)!important}.muted-box{background:var(--bg-hover);padding:16px;border-radius:12px;font-size:13px;color:var(--text-secondary);border:1px solid var(--border-subtle)}.muted-box p{margin:6px 0}.settings-page{display:flex;flex-direction:column;gap:20px;max-width:720px}.settings-card{margin:0}.settings-save-btn{align-self:flex-start;padding:12px 24px}body.nexora-compact-tables .traffic-table th,body.nexora-compact-tables .traffic-table td{padding:6px 10px;font-size:12px}.router-status-card .card-header{margin-bottom:12px}.router-status-hint{font-size:12px;color:var(--text-secondary);font-weight:500}.router-status-empty{margin:0;padding:24px 8px;text-align:center;color:var(--text-secondary);font-size:14px}.router-status-table-wrap{overflow-x:auto}.router-status-table{width:100%;border-collapse:collapse;font-size:13px}.router-status-table th{text-align:left;padding:10px 12px;color:var(--text-secondary);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-subtle)}.router-status-table td{padding:12px;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);vertical-align:middle}.router-status-table tbody tr:last-child td{border-bottom:none}.router-host{font-weight:600}.router-ip,.router-last{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;color:var(--text-secondary)}.router-uptime{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary)}.router-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em}.router-pill-online{background:#22c55e26;color:#16a34a}.router-pill-offline{background:#ef44441f;color:#dc2626}.router-pill-disabled{background:#64748b26;color:#64748b}.dashboard-light-note{margin:0;font-size:12px;color:var(--text-secondary);line-height:1.45}.db-status-card .card-header h3{display:flex;align-items:center}.db-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.db-status-item{background:var(--bg-input, rgba(148, 163, 184, .08));border:1px solid var(--border-subtle);border-radius:10px;padding:12px 14px}.db-status-item span{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:4px}.db-status-item strong{display:block;font-size:18px;font-weight:700;color:var(--text-primary)}.db-status-item.db-status-free strong{color:#16a34a}.db-status-bar{height:8px;background:var(--border-subtle, rgba(148, 163, 184, .2));border-radius:4px;overflow:hidden}.db-status-bar .storage-fill{height:100%;border-radius:4px}.db-status-bar .storage-fill.ok{background:linear-gradient(90deg,#22c55e,#4ade80)}.db-status-bar .storage-fill.caution{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.db-status-bar .storage-fill.warn{background:linear-gradient(90deg,#ef4444,#f87171)}@media(max-width:900px){.page-badges,.page-badges-3,.page-badges-4{grid-template-columns:1fr}.db-status-grid{grid-template-columns:1fr 1fr}}.traffic-logs-view .filter-bar-card{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:16px;background:var(--bg-card);border-radius:12px;border:1px solid var(--border-table)}.traffic-logs-view .filter-input{padding:10px 12px;border-radius:8px;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-primary)}.traffic-logs-view .filter-input.wide{flex:1;min-width:200px}.logs-count{color:var(--text-secondary);font-size:14px;margin-bottom:12px}.logs-hint{color:var(--text-secondary);font-size:12px;line-height:1.45;margin:0 0 12px}.sub-badge{display:inline-block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:2px 6px;border-radius:4px;margin-right:6px;vertical-align:middle}.sub-badge.sub-pppoe{background:var(--accent-blue-bg);color:var(--text-link)}.sub-badge.sub-static{background:var(--accent-green-bg);color:var(--accent-green-text)}.sub-badge.sub-hotspot{background:var(--accent-purple-bg);color:var(--accent-purple-text)}.traffic-logs-view .logs-table-container{overflow-x:auto;border-radius:12px;border:1px solid var(--border-table)}.traffic-logs-view .logs-table{width:100%;border-collapse:collapse;font-size:13px}.traffic-logs-view .logs-table th,.traffic-logs-view .logs-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-table);color:var(--text-table)}.traffic-logs-view .logs-table th{background:var(--bg-hover);color:var(--text-secondary);font-weight:600}.traffic-logs-view .center{text-align:center;padding:24px}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px}.pagination button{padding:8px 16px;border-radius:8px;border:1px solid var(--border-table);background:var(--bg-card);color:var(--text-primary);cursor:pointer}.pagination button:disabled{opacity:.4;cursor:not-allowed}.nat-cell{font-weight:600;color:var(--text-link);white-space:nowrap}.filter-refresh-btn.secondary{background:transparent;border:1px solid var(--border-subtle);color:var(--text-link);display:inline-flex;align-items:center;gap:6px}.subscriber-multi{flex:1 1 280px;min-width:260px;max-width:420px}.subscriber-multi-head{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.subscriber-search{flex:1;min-width:140px;padding:8px 10px;border-radius:8px;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-primary);font-size:13px}.sub-mini-btn{padding:6px 10px;border-radius:6px;border:1px solid var(--border-subtle);background:var(--bg-hover);color:var(--text-primary);font-size:11px;cursor:pointer}.sub-mini-btn:disabled{opacity:.45;cursor:not-allowed}.subscriber-multi-meta{margin:6px 0 4px;font-size:11px;color:var(--text-secondary)}.subscriber-multi-list{max-height:160px;overflow-y:auto;border:1px solid var(--border-subtle);border-radius:8px;padding:6px 8px;background:var(--bg-input)}.subscriber-check{display:flex;align-items:center;gap:8px;font-size:12px;padding:4px 2px;cursor:pointer;color:var(--text-primary)}.subscriber-check input{flex-shrink:0}.subscriber-empty{font-size:12px;color:var(--text-secondary)}.traffic-filters-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.traffic-filters-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;justify-content:flex-end}.filter-chip{display:flex;flex-direction:column;gap:4px;font-size:10px;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.filter-chip select,.filter-chip input{padding:8px 12px;border-radius:8px;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-primary);font-size:13px;min-width:130px}.filter-refresh-btn{padding:8px 18px;border-radius:8px;border:none;background:var(--btn-primary-bg);color:#fff;cursor:pointer;font-size:13px;font-weight:600;height:38px}.filter-refresh-btn:hover{background:var(--btn-primary-hover)}.filter-advanced-toggle{display:flex;align-items:center;gap:6px;padding:8px 14px;height:38px;border-radius:8px;border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer}.filter-advanced-toggle:hover{border-color:var(--text-link);color:var(--text-primary)}.traffic-filters-advanced{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;padding:14px 16px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;box-shadow:var(--card-shadow);max-width:100%}.advanced-group{display:flex;flex-direction:column;gap:6px}.advanced-label{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-secondary)}.quick-date-btns{display:flex;gap:6px;flex-wrap:wrap}.quick-date-btns button{padding:6px 12px;border-radius:6px;border:1px solid var(--border-subtle);background:var(--bg-hover);color:var(--text-primary);font-size:12px;cursor:pointer}.quick-date-btns button:hover{border-color:var(--text-link);color:var(--text-link)}.advanced-select{padding:8px 12px;border-radius:8px;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-primary);font-size:13px;min-width:140px}.filter-export-btn{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;border:1px solid var(--border-subtle);background:transparent;color:var(--text-link);font-size:13px;font-weight:500;cursor:pointer;margin-left:auto}.filter-export-btn:hover{background:var(--bg-hover)}.filter-chip.compact select,.filter-chip.compact input{min-width:110px}.exact-time-group{min-width:220px}.exact-time-toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-primary);cursor:pointer}.exact-time-row{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin-top:6px}.advanced-text{padding:8px 10px;border-radius:8px;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-primary);font-size:13px;min-width:120px}.range-dash{color:var(--text-secondary);padding-bottom:8px}.advanced-customers{flex:1 1 100%}.traffic-filters-advanced{width:100%;justify-content:flex-start}.system-status-panel{margin-top:12px;margin-bottom:16px;padding:16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:12px;font-size:12px;color:#94a3b8}.system-status-panel strong{display:block;color:#f8fafc;font-size:13px;margin-bottom:12px}.status-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px}.status-pill{font-size:11px;font-weight:600;padding:2px 8px;border-radius:100px}.status-pill.ok{background:#22c55e26;color:#4ade80}.status-pill.err{background:#ef444426;color:#f87171}.status-val{font-weight:600;color:#e2e8f0;font-size:11px}.status-val.caution{color:#fbbf24}.status-val.warn{color:#f87171}.storage-bar{height:6px;background:#ffffff14;border-radius:3px;overflow:hidden;margin-bottom:8px}.storage-fill{height:100%;border-radius:3px;transition:width .4s ease}.storage-fill.ok{background:linear-gradient(90deg,#22c55e,#4ade80)}.storage-fill.caution{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.storage-fill.warn{background:linear-gradient(90deg,#ef4444,#f87171)}.status-foot{margin:8px 0 0;font-size:10px;color:#94a3b8;opacity:.9}.disk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:4px}.disk-cell{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:6px 8px;min-width:0}.disk-cell em{display:block;font-style:normal;font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;margin-bottom:2px}.disk-cell b{display:block;font-size:11px;font-weight:700;color:#f1f5f9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.disk-cell b.disk-free{color:#4ade80}.app-footer{flex-shrink:0;width:100%;box-sizing:border-box;display:flex;justify-content:center}.app-footer--dashboard{margin-top:20px;padding:0 0 8px}.app-footer--login{margin-top:16px;padding:0 16px 4px}.app-footer-inner{width:100%;max-width:560px;margin:0 auto;text-align:center;padding:12px 16px;border-top:1px solid var(--border-subtle)}.app-footer-line{margin:0;font-size:12px;line-height:1.45;color:var(--text-secondary)}.app-footer-line+.app-footer-line{margin-top:4px}.app-footer-line strong{font-weight:600;color:var(--text-primary)}.app-footer-line--meta{font-size:11px;color:var(--text-table)}.app-footer-sep{margin:0 .35em;opacity:.4;-webkit-user-select:none;user-select:none}.app-footer-link{color:var(--text-link);text-decoration:none;font-weight:500}.app-footer-link:hover{text-decoration:underline}@media(max-width:480px){.app-footer-inner{padding:10px 12px}.app-footer-sep{display:none}.app-footer-line span:not(.app-footer-sep){display:block;margin-top:2px}.app-footer-line strong{display:block}}.nexora-logo{display:block;height:auto;object-fit:contain;object-position:left center}.nexora-logo--sidebar{width:100%;max-width:220px;margin:0 0 4px}.nexora-logo--login{width:100%;max-width:320px;margin:0 auto 24px;object-position:center}.nexora-logo--footer{width:100%;max-width:180px;margin:0 auto 8px;object-position:center;opacity:.95}body{margin:0;padding:0;font-family:Inter,sans-serif;background:linear-gradient(135deg,#eef2ff,#f8fafc,#e0f2fe);min-height:100vh}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.admin-card{position:relative;overflow:hidden;background:var(--bg-card, rgba(255, 255, 255, .03));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border-table, rgba(255, 255, 255, .08));border-radius:24px;padding:16px;height:125px;display:flex;flex-direction:column;box-sizing:border-box;box-shadow:0 4px 10px #0000001a,0 12px 30px #00000026;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease,background .35s ease}.admin-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4);opacity:0;transition:opacity .3s ease}.admin-card:hover{transform:translateY(-8px);border-color:#3b82f640;box-shadow:0 10px 25px #00000014,0 20px 40px #3b82f61f}.admin-card:hover:before{opacity:1}.admin-card-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.admin-icon-wrapper{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .3s ease,box-shadow .3s ease}.admin-card:hover .admin-icon-wrapper{transform:scale(1.08) rotate(-5deg);box-shadow:0 8px 18px #0000001f}.admin-card-info h3{margin:0 0 4px;font-size:15px;font-weight:700;letter-spacing:-.3px;color:var(--text-primary, #ffffff)}.admin-card-info p{margin:0;font-size:12px;line-height:1.4;color:var(--text-secondary, #94a3b8)}.admin-card-btn{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;border:1px solid var(--border-table, rgba(255, 255, 255, .1));background:var(--bg-hover, rgba(255, 255, 255, .05));color:var(--text-primary, #ffffff);font-size:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.admin-card-btn:hover{background:var(--bg-hover-strong, rgba(255, 255, 255, .1));border-color:#3b82f666;transform:translateY(-2px);box-shadow:0 8px 18px #0003}.bg-green{background:#22c55e26;color:#16a34a}.text-green{color:#16a34a}.bg-blue{background:#3b82f626;color:#2563eb}.text-blue{color:#2563eb}.bg-purple{background:#a855f726;color:#9333ea}.text-purple{color:#9333ea}.bg-red{background:#ef444426;color:#dc2626}.text-red{color:#dc2626}.bg-cyan{background:#06b6d426;color:#0891b2}.text-cyan{color:#0891b2}.bg-orange{background:#f9731626;color:#ea580c}.text-orange{color:#ea580c}.bg-gray{background:#64748b26;color:#64748b}.text-gray{color:#64748b}@media(max-width:768px){.admin-grid{grid-template-columns:1fr}.admin-card{min-height:auto}}.companies-view{animation:fadeIn .4s ease}.companies-view .btn-outline{background:transparent;border:1px solid var(--border-input);color:var(--text-table);padding:0 12px;height:28px;border-radius:6px;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.companies-view .btn-outline:hover{background:var(--bg-hover);border-color:var(--border-subtle);color:var(--text-primary)}.companies-view .btn-primary{background:var(--btn-primary-bg);border:none;color:#fff;padding:0 12px;height:28px;border-radius:6px;font-size:11px;font-weight:500;cursor:pointer;box-shadow:0 4px 12px #3b82f64d;transition:all .2s;display:flex;align-items:center;justify-content:center}.companies-view .btn-primary:hover{background:var(--btn-primary-hover);transform:translateY(-1px);box-shadow:0 6px 16px #3b82f666}.companies-table-container{margin-top:28px;background:var(--glass-table-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:24px;overflow-x:auto;overflow-y:hidden;border:1px solid var(--glass-table-border);box-shadow:var(--glass-table-shadow)}.companies-table{width:100%;border-collapse:collapse;text-align:left}.companies-table th{padding:14px 18px;font-size:11px;font-weight:700;color:var(--glass-th-text);text-transform:uppercase;letter-spacing:1px;background:var(--glass-th-bg);border-bottom:1px solid var(--glass-th-border)}.companies-table td{padding:16px 18px;font-size:13.5px;color:var(--glass-td-text);border-bottom:1px solid var(--glass-td-border);transition:all .3s ease}.companies-table th:not(:last-child),.companies-table td:not(:last-child){border-right:1px solid var(--glass-td-border)}.companies-table tr{transition:all .3s ease}.companies-table tr:hover td{background:var(--glass-row-hover)}.companies-table tr:last-child td{border-bottom:none}@media(max-width:768px){.search-bar-card{flex-direction:column;align-items:stretch}.search-actions{width:100%}.companies-view .btn-outline,.companies-view .btn-primary{flex:1}.companies-table-container{overflow-x:auto}.companies-table{min-width:700px}}.create-company-view{animation:fadeIn .4s ease;padding-bottom:120px;position:relative}.create-company-view:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top left,rgba(59,130,246,.08),transparent 35%),radial-gradient(circle at bottom right,rgba(168,85,247,.08),transparent 35%);pointer-events:none;z-index:0}.form-card{background:linear-gradient(145deg,#ffffff08,#ffffff04);border-radius:24px;border:1px solid rgba(255,255,255,.08);padding:24px;box-sizing:border-box;min-width:0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 8px 30px #0000002e,inset 0 1px #ffffff0d;transition:all .3s ease;position:relative;overflow:hidden}.form-card:hover{transform:translateY(-4px);border-color:#3b82f640;box-shadow:0 14px 40px #00000040,0 0 20px #3b82f614}.form-card-icon{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;box-shadow:0 4px 12px #3b82f659}.form-card-header h3{margin:0;font-size:17px;font-weight:700;color:var(--text-primary);letter-spacing:.2px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group label{font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px}.form-input,.form-textarea,.form-file{background:#ffffff08;border:1px solid rgba(255,255,255,.08);padding:12px 14px;border-radius:12px;color:var(--text-primary);font-size:14px;outline:none;transition:all .25s ease;font-family:inherit;width:100%;box-sizing:border-box;min-width:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-input::placeholder,.form-textarea::placeholder{color:#ffffff59}.form-textarea{min-height:90px;resize:vertical}.form-input:hover,.form-textarea:hover,.form-file:hover{border-color:#3b82f640;background:#ffffff0b}.form-input:focus,.form-textarea:focus{border-color:#3b82f6;background:#3b82f614;box-shadow:0 0 0 3px #3b82f626,0 0 18px #3b82f626;transform:scale(1.01)}.form-file{padding:8px;font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-file::file-selector-button{background:linear-gradient(135deg,#3b82f6,#6366f1);border:none;color:#fff;padding:8px 14px;border-radius:8px;cursor:pointer;margin-right:12px;transition:all .25s ease;font-weight:600}.form-file::file-selector-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.status-badge{display:inline-flex;align-items:center;padding:8px 18px;background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3);border-radius:100px;font-size:13px;font-weight:700;cursor:pointer;align-self:flex-start;transition:all .25s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.status-badge:hover{transform:translateY(-2px);box-shadow:0 6px 16px #22c55e33}.form-actions-footer{position:fixed;bottom:0;left:280px;right:0;padding:18px 40px;background:#0f172abf;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:16px;z-index:10;box-shadow:0 -8px 30px #00000040}@media(max-width:768px){.form-actions-footer{left:0;padding:16px 20px}}.franchises-view{animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.search-bar-card{background:#ffffffbf;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.25);border-radius:24px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 8px 20px #0000000d,0 18px 40px #00000014;transition:all .3s ease}.search-bar-card:hover{transform:translateY(-2px)}.search-input{flex:1;background:#ffffffb3;border:1px solid #dbe2ea;height:44px;padding:0 16px;border-radius:14px;color:#111827;font-size:14px;outline:none;transition:all .3s ease}.search-input::placeholder{color:#94a3b8}.search-input:focus{border-color:#000;background:#fff;box-shadow:0 0 0 4px #0000000d}.franchises-view .btn-outline{background:transparent;border:1px solid var(--border-input);color:var(--text-table);padding:0 12px;height:28px;border-radius:6px;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.franchises-view .btn-outline:hover{background:var(--bg-hover);border-color:var(--border-subtle);color:var(--text-primary)}.franchises-view .btn-primary{background:var(--btn-primary-bg);border:none;color:#fff;padding:0 12px;height:28px;border-radius:6px;font-size:11px;font-weight:500;cursor:pointer;box-shadow:0 4px 12px #3b82f64d;transition:all .2s;display:flex;align-items:center;justify-content:center}.franchises-view .btn-primary:hover{background:var(--btn-primary-hover);transform:translateY(-1px);box-shadow:0 6px 16px #3b82f666}.franchises-table-container{margin-top:28px;background:var(--glass-table-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:24px;overflow-x:auto;overflow-y:hidden;border:1px solid var(--glass-table-border);box-shadow:var(--glass-table-shadow)}.franchises-table{width:100%;border-collapse:collapse;text-align:left}.franchises-table th{padding:14px 18px;font-size:11px;font-weight:700;color:var(--glass-th-text);text-transform:uppercase;letter-spacing:1px;background:var(--glass-th-bg);border-bottom:1px solid var(--glass-th-border)}.franchises-table td{padding:16px 18px;font-size:13.5px;color:var(--glass-td-text);border-bottom:1px solid var(--glass-td-border);transition:all .3s ease}.franchises-table th:not(:last-child),.franchises-table td:not(:last-child){border-right:1px solid var(--glass-td-border)}.franchises-table tr{transition:all .3s ease}.franchises-table tr:hover td{background:var(--glass-row-hover)}.franchises-table tr:last-child td{border-bottom:none}.action-buttons{display:flex;gap:10px;justify-content:flex-start}.btn-icon{width:32px;height:32px;background:var(--bg-hover, rgba(255, 255, 255, .02));border:1px solid var(--border-table, rgba(255, 255, 255, .1));color:var(--text-secondary, #94a3b8);border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s ease}.btn-icon:hover{transform:translateY(-2px);background:var(--bg-hover-strong, rgba(255, 255, 255, .1));color:var(--text-primary, #ffffff);border-color:#3b82f666;box-shadow:0 8px 18px #00000026}.btn-icon.delete:hover{background:#ef4444;border-color:#ef4444;color:#fff}@media(max-width:768px){.search-bar-card{flex-direction:column;align-items:stretch}.search-actions{width:100%}.franchises-view .btn-outline,.franchises-view .btn-primary{flex:1}.franchises-table-container{overflow-x:auto}.franchises-table{min-width:700px}}.create-franchise-view{animation:fadeIn .4s ease;padding-bottom:120px;position:relative}.create-franchise-view:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top left,rgba(59,130,246,.08),transparent 35%),radial-gradient(circle at bottom right,rgba(168,85,247,.08),transparent 35%);pointer-events:none;z-index:0}.wizard-stepper-container{margin-bottom:32px;position:relative;z-index:1}.wizard-steps{display:flex;gap:14px;overflow-x:auto;padding-bottom:12px;scrollbar-width:thin}.wizard-steps::-webkit-scrollbar{height:4px}.wizard-steps::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:100px}.wizard-step{display:flex;align-items:center;gap:12px;padding:13px 22px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:100px;white-space:nowrap;transition:all .25s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 4px 18px #0000001f}.wizard-step:hover{transform:translateY(-2px);border-color:#3b82f640;background:#ffffff0d}.wizard-step.active{border-color:#3b82f680;background:#3b82f614;box-shadow:0 0 0 1px #3b82f666,0 6px 18px #3b82f626}.step-icon{color:var(--text-secondary);display:flex;align-items:center;transition:all .25s ease}.wizard-step.active .step-icon{color:#3b82f6;transform:scale(1.1)}.step-label{font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:.2px}.step-badge{font-size:10px;font-weight:700;padding:4px 9px;border-radius:100px;letter-spacing:.6px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.step-badge.pending{background:#3b82f626;color:#60a5fa}.step-badge.done{background:#22c55e26;color:#4ade80}.wizard-progress{margin-top:18px;background:#ffffff08;border-radius:16px;border:1px solid rgba(255,255,255,.08);padding:18px 22px;display:flex;align-items:center;gap:16px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 6px 20px #00000024}.progress-text{font-size:13px;font-weight:600;color:var(--text-secondary)}.progress-bar-container{flex:1;height:7px;background:#ffffff0f;border-radius:100px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:100px;transition:width .35s ease;box-shadow:0 0 12px #3b82f659}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;position:relative;z-index:1}@media(max-width:1024px){.form-grid{grid-template-columns:1fr}}.form-column{display:flex;flex-direction:column;gap:24px}.form-card{background:linear-gradient(145deg,#ffffff08,#ffffff04);border-radius:24px;border:1px solid rgba(255,255,255,.08);padding:24px;box-sizing:border-box;min-width:0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 8px 30px #0000002e,inset 0 1px #ffffff0a;transition:all .3s ease;overflow:hidden;position:relative}.form-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:2px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.8),transparent);transition:.5s}.form-card:hover:before{left:100%}.form-card:hover{transform:translateY(-4px);border-color:#3b82f640;box-shadow:0 14px 40px #00000040,0 0 18px #3b82f614}.form-card-header{display:flex;align-items:center;gap:14px;margin-bottom:24px}.form-card-icon{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;box-shadow:0 4px 12px #3b82f64d}.form-card-header h3{margin:0;font-size:17px;font-weight:700;color:var(--text-primary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;min-width:0}.form-group{display:flex;flex-direction:column;gap:8px;min-width:0}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.7px}.form-group label span{color:var(--color-danger, #ef4444)}.form-input,.form-select{background:#ffffff0a;border:1.5px solid rgba(148,163,184,.35);padding:12px 14px;border-radius:12px;color:var(--text-primary);font-size:14px;outline:none;transition:all .25s ease;font-family:inherit;width:100%;box-sizing:border-box;min-width:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 1px 2px #ffffff0a,0 1px 3px #00000014}.form-input:hover,.form-select:hover{border-color:#3b82f673;background:#ffffff0f}.form-input:focus,.form-select:focus{border-color:#3b82f6;background:#3b82f614;box-shadow:0 0 0 3px #3b82f626,0 0 18px #3b82f61f}.form-input::placeholder{color:#64748bb3}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:42px}.form-actions-footer{position:fixed;bottom:0;left:280px;right:0;padding:20px 40px;background:var(--bg-card-solid);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border-table);display:flex;align-items:center;justify-content:flex-start;gap:16px;z-index:10}.btn-secondary{background:var(--bg-hover);border:1px solid var(--border-table);color:var(--text-table);padding:10px 24px;border-radius:100px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--bg-hover-strong);color:var(--text-primary)}.btn-disabled{background:var(--bg-hover);border:none;color:var(--text-secondary);padding:10px 24px;border-radius:100px;font-size:14px;font-weight:500;cursor:not-allowed}@media(max-width:768px){.form-actions-footer{left:0;padding:16px 20px;flex-wrap:wrap}}.staff-view{animation:fadeIn .3s ease}.search-bar-card{background:var(--bg-card);border:1px solid var(--border-table);border-radius:16px;padding:12px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 20px #0003}.search-input{flex:1;background:var(--bg-input);border:1px solid var(--border-input);padding:0 12px;height:28px;border-radius:6px;color:var(--text-primary);font-size:11px;outline:none;transition:border-color .2s,background .2s;width:100%;box-sizing:border-box}.search-input::placeholder{color:var(--text-secondary)}.search-input:focus{border-color:var(--btn-primary-bg);background:var(--bg-hover-strong)}.search-actions{display:flex;gap:12px;align-items:center}.btn-outline{background:transparent;border:1px solid var(--border-input);color:var(--text-table);padding:0 12px;height:28px;border-radius:6px;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-outline:hover{background:var(--bg-hover);border-color:var(--border-subtle);color:var(--text-primary)}.btn-primary{background:var(--btn-primary-bg);border:none;color:#fff;padding:0 12px;height:28px;border-radius:6px;font-size:11px;font-weight:500;cursor:pointer;box-shadow:0 4px 12px #3b82f64d;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-primary:hover{background:var(--btn-primary-hover);transform:translateY(-1px);box-shadow:0 6px 16px #3b82f666}.staff-table-container{margin-top:24px;background:var(--glass-table-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:24px;overflow-x:auto;overflow-y:hidden;border:1px solid var(--glass-table-border);box-shadow:var(--glass-table-shadow)}.staff-table{width:100%;border-collapse:collapse;text-align:left}.staff-table th{padding:14px 18px;font-size:11px;font-weight:700;color:var(--glass-th-text);text-transform:uppercase;letter-spacing:1px;background:var(--glass-th-bg);border-bottom:1px solid var(--glass-th-border);white-space:nowrap}.staff-table td{padding:16px 18px;font-size:13.5px;color:var(--glass-td-text);border-bottom:1px solid var(--glass-td-border);white-space:nowrap;transition:all .3s ease}.staff-table th:not(:last-child),.staff-table td:not(:last-child){border-right:1px solid var(--glass-td-border)}.staff-table tr{transition:all .3s ease}.staff-table tr:hover td{background:var(--glass-row-hover)}.staff-table tr:last-child td{border-bottom:none}.action-buttons{display:flex;gap:8px;justify-content:flex-start}.btn-icon{background:var(--bg-hover);border:1px solid var(--border-table);color:var(--text-secondary);padding:6px;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background:var(--bg-hover-strong);color:var(--text-primary)}.btn-icon.delete:hover{background:#ef444433;color:#ef4444;border-color:#ef44444d}.role-badge{background:#c084fc26;color:#c084fc;padding:4px 10px;border-radius:8px;font-size:11px;font-weight:600;display:inline-block;text-transform:uppercase}.status-badge.active{background:#34d39926;color:#34d399}.status-badge.inactive{background:#ef444426;color:#ef4444}.staff-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.staff-side-panel.floating-panel{width:220px;background:var(--bg-card);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:14px;box-shadow:0 16px 48px #0000004d,inset 0 1px #ffffff1a;animation:scaleIn .3s cubic-bezier(.16,1,.3,1)}@keyframes scaleIn{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.panel-header{display:flex;justify-content:space-between;align-items:flex-start}.panel-profile{display:flex;gap:10px;align-items:center}.panel-avatar{width:28px;height:28px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;box-shadow:0 4px 10px #ef44444d}.panel-info{display:flex;flex-direction:column;gap:2px}.panel-company{font-size:8px;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.panel-name{font-size:12px;font-weight:700;color:var(--text-primary)}.panel-contact{font-size:9px;color:var(--text-secondary)}.close-panel-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-panel-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.panel-section{display:flex;flex-direction:column;gap:6px}.panel-section h4{font-size:10px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;margin:0 0 2px;letter-spacing:.8px;opacity:.8}.action-list{display:flex;flex-direction:column;gap:6px}.action-item{display:flex;align-items:center;gap:10px;padding:6px 10px;background:var(--bg-hover);border:1px solid var(--border-table);border-radius:8px;cursor:pointer;transition:all .25s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden}.action-item:hover{background:var(--bg-hover-strong);border-color:#3b82f64d;transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}.action-icon{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:transform .25s}.action-item:hover .action-icon{transform:scale(1.1)}.action-icon.access{background:#a855f726;color:#a855f7}.action-icon.edit{background:#3b82f626;color:#3b82f6}.action-icon.login{background:#22c55e26;color:#22c55e}.action-icon.deactivate{background:#f59e0b26;color:#f59e0b}.action-icon.delete{background:#ef444426;color:#ef4444}.action-text{display:flex;flex-direction:column;gap:2px}.action-title{font-size:11px;font-weight:700;color:var(--text-primary);letter-spacing:-.2px}.action-desc{font-size:9px;color:var(--text-secondary);font-weight:500}.password-item{justify-content:space-between}.secure-badge{background:#3b82f626;color:#3b82f6;padding:2px 4px;border-radius:6px;font-size:7px;font-weight:700;text-transform:uppercase}.delete-item{border-color:#ef444433;background:#ef44440d}.delete-item:hover{background:#ef44441a;border-color:#ef44444d}.create-staff-view{animation:fadeIn .4s ease;padding-bottom:120px;display:flex;flex-direction:column;gap:24px;position:relative}.create-staff-view:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top left,rgba(59,130,246,.08),transparent 35%),radial-gradient(circle at bottom right,rgba(168,85,247,.08),transparent 35%);pointer-events:none;z-index:0}.staff-header-row{display:flex;justify-content:space-between;align-items:flex-start;position:relative;z-index:1}.staff-title-group{display:flex;flex-direction:column;gap:12px}.staff-title-group h2{margin:0;font-size:26px;font-weight:700;color:var(--text-primary);letter-spacing:.3px}.staff-header-badges{display:flex;gap:12px}.staff-badge{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);padding:7px 16px;border-radius:100px;font-size:13px;font-weight:600;color:var(--text-primary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .25s ease}.staff-badge:hover{transform:translateY(-2px);border-color:#3b82f640}.summary-banner{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffffff14;border-radius:20px;border:1px solid rgba(255,255,255,.08);overflow:hidden;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 24px #00000024;position:relative;z-index:1}.summary-block{background:#ffffff08;padding:22px 24px;display:flex;flex-direction:column;gap:6px}.summary-label{font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.7px}.summary-value{font-size:15px;font-weight:600;color:var(--text-primary)}.staff-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative;z-index:1}@media(max-width:1024px){.staff-steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.staff-steps{grid-template-columns:1fr}}.staff-step-btn{display:flex;align-items:center;gap:16px;padding:18px 20px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:18px;text-align:left;cursor:pointer;transition:all .25s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 18px #0000001f}.staff-step-btn:hover{transform:translateY(-3px);border-color:#3b82f640}.staff-step-btn.active{border-color:#3b82f680;background:#3b82f614;box-shadow:0 0 0 1px #3b82f659,0 8px 20px #3b82f61f}.step-btn-icon{width:40px;height:40px;border-radius:12px;background:#ffffff0d;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0;transition:all .25s ease}.staff-step-btn.active .step-btn-icon{background:#3b82f633;color:#60a5fa;transform:scale(1.08)}.step-btn-info{display:flex;flex-direction:column;gap:3px}.step-btn-title{font-size:14px;font-weight:600;color:var(--text-primary)}.step-btn-desc{font-size:12px;color:var(--text-secondary)}.warning-banner{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;z-index:1}.warning-text{font-size:13px;color:var(--text-secondary)}.mode-badge{background:#38bdf826;color:#38bdf8;border:1px solid rgba(56,189,248,.3);padding:5px 12px;border-radius:100px;font-size:11px;font-weight:700;letter-spacing:.5px}.staff-form-card{background:linear-gradient(145deg,#ffffff08,#ffffff04);border-radius:24px;border:1px solid rgba(255,255,255,.08);padding:32px;box-sizing:border-box;min-width:0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 8px 30px #0000002e,inset 0 1px #ffffff0a;position:relative;overflow:hidden;transition:all .3s ease;z-index:1}.staff-form-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:2px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.8),transparent);transition:.5s}.staff-form-card:hover:before{left:100%}.staff-form-card:hover{transform:translateY(-4px);border-color:#3b82f640}.staff-form-header{display:flex;align-items:center;gap:16px;margin-bottom:32px}.staff-form-icon{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #3b82f64d}.staff-form-title h3{margin:0 0 4px;font-size:19px;font-weight:700;color:var(--text-primary)}.staff-form-title p{margin:0;font-size:13px;color:var(--text-secondary)}.staff-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media(max-width:768px){.staff-form-grid{grid-template-columns:1fr}}.staff-form-group.full-width{grid-column:1 / -1}.staff-form-group{display:flex;flex-direction:column;gap:8px;min-width:0}.field-header{display:flex;justify-content:space-between;align-items:center}.field-label-badge{background:#38bdf826;color:#38bdf8;border:1px solid rgba(56,189,248,.2);padding:4px 10px;border-radius:100px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.field-hint-right{font-size:12px;color:var(--text-secondary)}.staff-form-group label{font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.6px}.staff-form-group label span{color:var(--color-danger, #ef4444)}.staff-input{background:#ffffff0a;border:1.5px solid rgba(148,163,184,.35);padding:12px 14px;border-radius:12px;color:var(--text-primary);font-size:14px;outline:none;transition:all .25s ease;width:100%;box-sizing:border-box;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 1px 2px #ffffff0a,0 1px 3px #00000014}.staff-input:hover{border-color:#3b82f673;background:#ffffff0f}.staff-input:focus{border-color:#3b82f6;background:#3b82f614;box-shadow:0 0 0 3px #3b82f626,0 0 18px #3b82f61f}.staff-input::placeholder{color:#64748bb3}.field-helper{font-size:12px;color:var(--text-secondary)}.staff-footer{position:fixed;bottom:0;left:280px;right:0;padding:20px 40px;background:#0f172ac7;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;z-index:10;box-shadow:0 -8px 30px #00000040}.footer-info h4{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--text-primary)}.footer-info p{margin:0;font-size:13px;color:var(--text-secondary)}.footer-actions{display:flex;align-items:center;gap:16px}.create-staff-view .btn-primary{background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;border:none;padding:11px 24px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 12px #3b82f640}.create-staff-view .btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 18px #3b82f64d}.create-staff-view .btn-outline{background:#ffffff08;color:var(--text-table);border:1px solid rgba(255,255,255,.08);padding:11px 20px;border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;transition:all .25s ease;display:flex;align-items:center;gap:8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.create-staff-view .btn-outline:hover{background:#ffffff0f;color:var(--text-primary);transform:translateY(-2px);border-color:#3b82f640}@media(max-width:768px){.staff-footer{left:0;padding:16px 20px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.permissions-view-container{display:flex;flex-direction:column;gap:20px;width:100%}.permissions-header-card{display:flex;justify-content:space-between;align-items:center;background:var(--bg-card);border:1px solid var(--border-table);border-radius:16px;padding:24px;box-shadow:0 4px 6px -1px #0000000d}.permissions-header-left{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.permissions-header-left h2{font-size:24px;font-weight:800;color:var(--text-primary);margin:0}.btn-add-permission{background:#2563eb;color:#fff;border:none;padding:0 12px;height:28px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-add-permission:hover{background:#1d4ed8;transform:translateY(-1px)}.permissions-stats{display:flex;gap:16px}.stat-box{display:flex;flex-direction:column;align-items:flex-start;background:var(--bg-card);border:1px solid var(--border-table);border-radius:12px;padding:12px 16px;min-width:90px}.stat-label{font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.stat-value{font-size:20px;font-weight:800;color:var(--text-primary)}.permissions-content-card{background:var(--bg-card);border:1px solid var(--border-table);border-radius:16px;padding:24px;box-shadow:0 4px 6px -1px #0000000d;display:flex;flex-direction:column;gap:20px}.content-card-title{font-size:16px;font-weight:800;color:var(--text-primary);margin:0}.permissions-split-layout{display:flex;gap:24px}.template-preview-pane{flex:1;background:var(--bg-hover);border:1px solid var(--border-table);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:24px;min-height:200px}.preview-header{display:flex;justify-content:space-between;align-items:center}.preview-header h4{margin:0;font-size:15px;font-weight:700;color:var(--text-primary)}.badge-pill{background:var(--border-table);color:var(--text-secondary);font-size:12px;font-weight:600;padding:4px 10px;border-radius:12px}.preview-body p{margin:0;font-size:13px;color:var(--text-secondary)}.template-list-pane{flex:2;display:flex;flex-direction:column;gap:16px}.list-toolbar{display:flex;justify-content:space-between;align-items:center}.search-wrapper{position:relative;width:250px}.search-wrapper .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-secondary)}.search-wrapper input{width:100%;background:transparent;border:1px solid var(--border-table);border-radius:6px;padding:0 12px 0 36px;height:28px;font-size:11px;color:var(--text-primary);outline:none;transition:border-color .2s}.search-wrapper input:focus{border-color:#3b82f6}.template-count{font-size:12px;color:var(--text-secondary);font-weight:500}.table-responsive{width:100%;overflow-x:auto}.templates-table{width:100%;border-collapse:collapse}.templates-table th{text-align:left;font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:10px 14px;border-bottom:1px solid var(--border-table);border-top:1px solid var(--border-table)}.templates-table td{padding:10px 14px;font-size:13px;color:var(--text-primary);border-bottom:1px solid var(--border-table);vertical-align:middle}.templates-table th:not(:last-child),.templates-table td:not(:last-child){border-right:1px solid var(--border-table)}.fw-bold{font-weight:700}.templates-table .action-buttons{display:flex;gap:8px;justify-content:flex-end}.btn-action{background:var(--bg-hover-strong);color:var(--text-primary);border:1px solid var(--border-table);padding:0 12px;height:28px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-action:hover{background:var(--border-table)}.btn-action.outline{background:transparent}.btn-action.outline:hover{background:#ef44441a;color:#ef4444;border-color:#ef444433}.create-template-container{display:flex;flex-direction:column;gap:20px;width:100%}.create-template-header{display:flex;justify-content:space-between;align-items:center;background:var(--bg-card);border:1px solid var(--border-table);border-radius:16px;padding:24px;box-shadow:0 4px 6px -1px #0000000d}.header-title-section{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.header-title-section h2{font-size:24px;font-weight:800;color:var(--text-primary);margin:0}.header-title-section p{font-size:13px;color:var(--text-secondary);margin:0 0 8px}.btn-back-templates{background:var(--bg-hover-strong);color:var(--text-primary);border:1px solid var(--border-table);padding:6px 16px;border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-back-templates:hover{background:var(--border-table)}.header-stats-section{display:flex;gap:16px}.template-stat-box{display:flex;flex-direction:column;align-items:flex-start;background:var(--bg-card);border:1px solid var(--border-table);border-radius:12px;padding:12px 16px;min-width:90px}.template-stat-box .stat-label{font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.template-stat-box .stat-value{font-size:20px;font-weight:800;color:var(--text-primary)}.create-template-body{background:var(--bg-card);border:1px solid var(--border-table);border-radius:16px;padding:24px;box-shadow:0 4px 6px -1px #0000000d;display:flex;flex-direction:column;gap:24px}.template-toolbar{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-sidebar);border:1px solid var(--border-table);border-radius:24px;position:sticky;top:20px;z-index:10;box-shadow:0 4px 12px #0006}.toolbar-input-group{flex:1;min-width:250px}.template-name-input{width:100%;background:transparent;border:1px solid var(--border-table);border-radius:20px;padding:10px 16px;font-size:14px;color:var(--text-primary);outline:none;transition:border-color .2s}.template-name-input:focus{border-color:#3b82f6}.toolbar-actions-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.search-permissions-wrapper{position:relative;width:220px}.search-permissions-wrapper .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-secondary)}.search-permissions-wrapper input{width:100%;background:transparent;border:1px solid var(--border-table);border-radius:20px;padding:8px 12px 8px 36px;font-size:13px;color:var(--text-primary);outline:none;transition:border-color .2s}.search-permissions-wrapper input:focus{border-color:#3b82f6}.btn-toolbar{background:var(--bg-hover-strong);color:var(--text-primary);border:1px solid var(--border-table);padding:8px 16px;border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.btn-toolbar:hover{background:var(--border-table)}.btn-save-template{background:#2563eb;color:#fff;border:none;padding:8px 24px;border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-left:8px}.btn-save-template:hover{background:#1d4ed8;transform:translateY(-1px)}.permissions-masonry-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;align-items:start}.permission-group-card{background:var(--bg-card);border:1px solid var(--border-table);border-radius:16px;display:flex;flex-direction:column;overflow:hidden}.group-card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--bg-hover);border-bottom:1px solid var(--border-table)}.group-card-title-area{display:flex;align-items:center;gap:12px}.group-card-title-area h4{margin:0;font-size:14px;font-weight:800;color:var(--text-primary)}.selection-pill{background:var(--border-table);color:var(--text-secondary);font-size:11px;font-weight:700;padding:4px 10px;border-radius:12px}.group-card-actions{display:flex;align-items:center;gap:12px}.btn-group-action{background:var(--bg-hover-strong);color:var(--text-primary);border:1px solid var(--border-table);padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.btn-group-action:hover{background:var(--border-table)}.btn-group-action.clear-btn{background:transparent}.select-all-label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);cursor:pointer;font-weight:500}.select-all-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.group-items-list{display:flex;flex-direction:column}.permission-item{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;border-bottom:1px dashed var(--border-table);cursor:pointer;transition:background-color .2s}.permission-item:last-child{border-bottom:none}.permission-item:hover{background:var(--bg-hover-strong)}.permission-checkbox-wrapper{padding-top:2px}.permission-checkbox-wrapper input[type=checkbox]{width:16px;height:16px;cursor:pointer}.permission-item-details{display:flex;flex-direction:column;gap:6px}.permission-label{font-size:14px;font-weight:500;color:var(--text-primary)}.permission-code-pill{align-self:flex-start;background:var(--bg-hover-strong);color:var(--text-secondary);border:1px solid var(--border-table);font-size:11px;font-weight:500;padding:2px 8px;border-radius:12px;font-family:monospace}.login-logs-view{animation:fadeIn .3s ease;display:flex;flex-direction:column;gap:24px}.filter-bar-card{background:var(--bg-card);border:1px solid var(--border-table);border-radius:16px;padding:12px 16px;display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;box-shadow:var(--card-shadow, 0 4px 20px rgba(0, 0, 0, .2))}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.filter-input{background:var(--bg-input);border:1px solid var(--border-input);padding:0 12px;height:28px;border-radius:6px;color:var(--text-primary);font-size:11px;outline:none;transition:all .2s;min-width:140px}select.filter-input{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;min-width:120px}select.filter-input option{background:var(--bg-card-solid);color:var(--text-primary)}.filter-group.search-group{flex:1;min-width:200px}.search-group .filter-input{width:100%}.filter-input:focus{border-color:var(--btn-primary-bg);background:var(--bg-hover-strong)}.filter-input::-webkit-calendar-picker-indicator{filter:invert(.6);cursor:pointer}.filter-actions{display:flex;gap:12px;align-items:center}.filter-actions .btn-primary{padding:0 12px;height:28px;border-radius:6px;background:var(--btn-primary-bg);color:#fff;border:none;font-size:11px;font-weight:600;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center}.filter-actions .btn-primary:hover{background:var(--btn-primary-hover)}.filter-actions .btn-outline{padding:0 12px;height:28px;border-radius:6px;background:transparent;color:var(--text-primary);border:1px solid var(--border-input);font-size:11px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.filter-actions .btn-outline:hover{background:var(--bg-hover);border-color:var(--text-secondary)}.logs-table-container{background:var(--bg-card);border-radius:20px;border:1px solid var(--border-table);overflow-x:auto}.logs-table{width:100%;border-collapse:collapse}.logs-table th{padding:10px 14px;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-table);background:var(--bg-hover);text-align:left}.logs-table td{padding:10px 14px;font-size:13px;color:var(--text-primary);border-bottom:1px solid var(--border-table)}.logs-table th:not(:last-child),.logs-table td:not(:last-child){border-right:1px solid var(--border-table)}.logs-table tr:last-child td{border-bottom:none}.logs-table tr:hover td{background:var(--bg-hover)}
