@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Poppins:wght@400;500;600;700&display=swap";:root{color-scheme:light;--bs-primary: #8c1532;--bs-primary-hover: #a81c3c;--bs-primary-active: #6e0f27;--bs-primary-soft: #f9eef1;--bs-secondary: #344054;--bs-secondary-soft: #f2f4f7;--bs-body-bg: #f8f9fb;--bs-surface: #ffffff;--bs-surface-alt: #f5f7fa;--bs-surface-hover: #eef2f6;--bs-text: #101828;--bs-text-secondary: #475467;--bs-text-muted: #667085;--bs-text-disabled: #98a2b3;--bs-text-white: #ffffff;--bs-success: #16a34a;--bs-success-bg: #ecfdf3;--bs-warning: #d97706;--bs-warning-bg: #fff7ed;--bs-danger: #dc2626;--bs-danger-bg: #fef2f2;--bs-info: #0284c7;--bs-info-bg: #f0f9ff;--bs-border-color: #e4e7ec;--bs-border-light: #f2f4f7;--bs-radius: 0;--bs-radius-sm: 0;--bs-radius-lg: 0;--bs-radius-xl: 0;--bs-shadow-xs: 0 1px 2px rgba(16, 24, 40, .03);--bs-shadow-sm: 0 2px 8px rgba(16, 24, 40, .05);--bs-shadow: 0 6px 18px rgba(16, 24, 40, .06);--bs-shadow-lg: 0 12px 30px rgba(16, 24, 40, .08);--bs-font-family: "Inter", "Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--bs-font-size-xs: .75rem;--bs-font-size-sm: .875rem;--bs-font-size: 1rem;--bs-font-size-lg: 1.125rem;--bs-font-size-xl: 1.25rem;--bs-font-size-2xl: 1.5rem;--bs-font-weight-normal: 400;--bs-font-weight-medium: 500;--bs-font-weight-semibold: 600;--bs-font-weight-bold: 700;--bs-line-height: 1.5;--bs-spacing-xs: .25rem;--bs-spacing-sm: .5rem;--bs-spacing-md: 1rem;--bs-spacing-lg: 1.5rem;--bs-spacing-xl: 2rem;--bs-spacing-2xl: 3rem;--primary: var(--bs-primary);--primary-dk: var(--bs-primary-active);--primary-lt: var(--bs-primary-hover);--primary-soft: var(--bs-primary-soft);--secondary: var(--bs-secondary);--secondary-dk: #1d2939;--secondary-lt: var(--bs-secondary-soft);--accent: var(--bs-primary);--accent-lt: var(--bs-primary-hover);--c-primary: var(--bs-primary);--c-primary-dk: var(--bs-primary-active);--c-primary-lt: var(--bs-primary-hover);--c-secondary: var(--bs-secondary);--c-secondary-dk: #1d2939;--c-secondary-lt: var(--bs-secondary-soft);--c-accent: var(--bs-primary);--c-accent-lt: var(--bs-primary-hover);--grad-warm: var(--bs-primary);--grad-cool: var(--bs-primary);--grad-hero: rgba(140, 21, 50, .9);--grad-cta: var(--bs-primary);--c-white: var(--bs-text-white);--c-bg: var(--bs-body-bg);--c-bg-alt: var(--bs-surface-alt);--c-surface: var(--bs-surface);--c-surface-hover: var(--bs-surface-hover);--c-border: var(--bs-border-color);--c-border-light: var(--bs-border-light);--c-gray-300: #d0d5dd;--c-gray-500: var(--bs-text-muted);--c-text: var(--bs-text);--c-text-secondary: var(--bs-text-secondary);--c-text-muted: var(--bs-text-muted);--panel: var(--bs-surface);--line: var(--bs-border-color);--muted: var(--bs-text-muted);--f-display: "Poppins", "Inter", system-ui, -apple-system, sans-serif;--f-body: "Inter", "Poppins", system-ui, -apple-system, sans-serif;--sp-xs: .5rem;--sp-sm: 1rem;--sp-md: 2rem;--sp-lg: 3.5rem;--sp-xl: 6rem;--r-sm: var(--bs-radius);--r-md: var(--bs-radius);--r-lg: var(--bs-radius);--r-xl: var(--bs-radius);--shadow-sm: var(--bs-shadow-sm);--shadow-md: var(--bs-shadow);--shadow-lg: var(--bs-shadow-lg);--shadow: var(--bs-shadow);--shadow-col: 0 10px 0 rgba(140, 21, 50, .12);--t-fast: .12s linear;--t-base: .2s linear;--t-slow: .32s linear;--topbar-h: 2.3rem;--nav-h: 72px;--navbar-total-h: calc(var(--topbar-h) + var(--nav-h));--max-w: 1280px;--success: var(--bs-success);--success-bg: var(--bs-success-bg);--warning: var(--bs-warning);--warning-bg: var(--bs-warning-bg);--error: var(--bs-danger);--danger: var(--bs-danger);--danger-bg: var(--bs-danger-bg);--info: var(--bs-info);--info-bg: var(--bs-info-bg)}*{box-sizing:border-box;border-radius:var(--bs-radius)}html{font-family:var(--bs-font-family)}body{margin:0;min-height:100vh;color:var(--bs-text);background:var(--bs-body-bg);font-family:var(--bs-font-family);font-size:14px;line-height:var(--bs-line-height);overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea,optgroup,option{font-family:var(--bs-font-family);font-size:inherit;line-height:inherit;color:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--bs-font-family);font-weight:700;margin:0}h1{font-size:26px;line-height:1.2}h2{font-size:20px;line-height:1.3}h3{font-size:17px;line-height:1.3}code,pre,kbd,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.875em}.app-shell{display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto;min-height:100vh;min-width:0}.app-shell.desktop{grid-template-columns:280px 1fr;grid-template-rows:1fr}.app-shell.desktop.sidebar-collapsed{grid-template-columns:80px 1fr}.desktop-sidebar{display:none}.app-shell.desktop .desktop-sidebar{display:flex;flex-direction:column;padding:0;background:var(--bs-primary);color:#fff;border-right:none;transition:width var(--t-base);overflow:hidden;height:100vh;position:sticky;top:0;box-shadow:2px 0 12px #8c153226}.sidebar-content{flex:1;display:flex;flex-direction:column;padding:28px 22px;overflow-y:auto;min-height:0}.brand{display:flex;flex-direction:column;gap:6px;margin-bottom:28px;flex-shrink:0}.app-shell.desktop.sidebar-collapsed .brand{align-items:center;gap:0}.brand strong{font-family:var(--f-display);font-size:18px;letter-spacing:.02em;text-transform:uppercase;color:#fff;font-weight:700}.app-shell.desktop.sidebar-collapsed .brand strong{font-size:13px;white-space:normal}.brand span{font-size:11px;color:#fff9;text-transform:uppercase;letter-spacing:.06em}.app-shell.desktop.sidebar-collapsed .brand span,.app-shell.desktop.sidebar-collapsed .brand div{display:none}.nav-links{display:grid;gap:8px;flex-shrink:0}.nav-link{display:flex;align-items:center;gap:10px;padding:10px 14px;background:transparent;color:#ffffffbf;border:none;cursor:pointer;text-align:left;transition:all .18s ease;font-size:13.5px;font-weight:500;text-decoration:none;flex-shrink:0;min-width:0;border-radius:6px;margin-bottom:2px}.nav-link:hover{background:#ffffff1f;color:#fff}.nav-link.active{background:#ffffff2e;color:#fff;border-left:3px solid rgba(255,255,255,.9);padding-left:11px;font-weight:600}.nav-logout{width:100%;background:transparent;color:#ffffffa6}.nav-logout:hover{color:#fff;background:#ffffff1a}.nav-logout.active{color:#fff}.app-shell.sidebar-collapsed .nav-link{justify-content:center;gap:0;padding:12px 8px;border-radius:6px}.app-shell.sidebar-collapsed .nav-link.active{border-left:none;border-bottom:2px solid rgba(255,255,255,.8);padding-left:8px}.nav-icon{font-size:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:inherit;width:24px;height:24px}.nav-icon svg{width:20px;height:20px;stroke:currentColor}.icon-svg{width:100%;height:100%;stroke:currentColor}.nav-label{font-size:13px;white-space:nowrap}.app-shell.sidebar-collapsed .nav-label{display:none}.sidebar-toggle{padding:10px;background:#ffffff1a;color:#fffc;border:1px solid rgba(255,255,255,.18);cursor:pointer;transition:all .18s ease;margin:12px;border-radius:6px}.sidebar-toggle:hover{background:#ffffff2e;color:#fff}.sidebar-toggle .icon-svg{width:18px;height:18px;display:block}.mobile-nav{display:flex;overflow-x:auto;overflow-y:hidden;gap:0;background:var(--bs-primary);border-top:none;box-shadow:0 -2px 12px #8c15322e;padding:0;position:fixed;bottom:0;left:0;right:0;z-index:100;-webkit-overflow-scrolling:touch}.app-shell.desktop .mobile-nav{display:none}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 12px;color:#ffffffa6;text-decoration:none;font-size:10px;transition:all .15s ease;border-bottom:2px solid transparent;flex:1;min-width:0;white-space:nowrap}.mobile-nav-item:hover{color:#ffffffe6;background:#ffffff0f}.mobile-nav-item.active{color:#fff;background:#ffffff1f;border-bottom-color:#ffffffd9}.mobile-nav-icon{font-size:20px;display:flex;align-items:center;justify-content:center;color:inherit}.mobile-nav-icon svg{width:24px;height:24px;stroke:currentColor}.mobile-nav-label{font-size:10px;text-transform:uppercase;letter-spacing:.03em;text-align:center;line-height:1}.main-content{padding:28px;background:var(--bs-body-bg);overflow-y:auto;min-width:0}.app-shell.mobile .main-content{padding:16px 16px 80px}@media(max-width:1023px){.app-shell{grid-template-columns:1fr;grid-template-rows:1fr auto}.desktop-sidebar{display:none!important}.mobile-nav{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;justify-content:flex-start}.main-content{padding-bottom:80px}}@media(min-width:1024px){.app-shell{grid-template-columns:280px 1fr;grid-template-rows:1fr}.desktop-sidebar{display:flex!important}.mobile-nav{display:none!important}.main-content{padding:28px}}.page-card{background:var(--c-surface);border:1px solid var(--c-border);box-shadow:var(--shadow-md);padding:24px;min-width:0}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.page-header h1{margin:0}.page-header p{margin:4px 0 0;color:var(--c-text-muted);font-size:13px}.actions{display:flex;gap:10px;flex-wrap:wrap}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}@media(max-width:1024px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.grid-3{grid-template-columns:1fr}}.metric{background:var(--bs-surface);border:1px solid var(--bs-border-color);box-shadow:var(--bs-shadow-sm);padding:20px;transition:box-shadow .18s ease}.metric:hover{box-shadow:var(--bs-shadow)}.metric span{color:var(--bs-text-muted);display:block;margin-bottom:8px;font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:600}.metric strong{font-size:30px;font-weight:700;color:var(--bs-primary);display:block;line-height:1.15}.table-shell{width:100%;overflow-x:auto;border:1px solid var(--c-border);background:var(--c-surface);min-width:0}.table-shell .table{min-width:760px}.users-table .table{min-width:900px}.table{width:100%;border-collapse:collapse;font-size:13px}.table thead{background:var(--bs-surface-alt);border-bottom:1px solid var(--bs-border-color)}.table th{padding:11px 12px;text-align:left;font-weight:600;color:var(--bs-text-secondary);text-transform:uppercase;font-size:11px;letter-spacing:.06em}.table td{padding:12px;border-bottom:1px solid var(--bs-border-light);color:var(--bs-text)}.table tbody tr:hover{background:var(--bs-primary-soft)}@media(max-width:767px){.table-shell{margin-inline:-16px;border-left:0;border-right:0}.table-shell .table th,.table-shell .table td{white-space:nowrap}}.input,.textarea,.select{width:100%;border:1px solid var(--bs-border-color);padding:10px 14px;background:var(--bs-surface);color:var(--bs-text);font-size:14px;font-family:var(--bs-font-family);transition:border-color .15s ease,box-shadow .15s ease;border-radius:0}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--bs-primary);box-shadow:0 0 0 3px #8c15321f}.input::placeholder,.textarea::placeholder{color:var(--bs-text-disabled)}.textarea{resize:vertical;min-height:100px;font-family:var(--bs-font-family)}.btn{display:inline-flex;align-items:center;gap:7px;padding:10px 18px;border:1px solid transparent;background:var(--bs-primary);color:#fff;font-weight:600;font-size:13px;font-family:var(--bs-font-family);cursor:pointer;transition:all .18s ease;letter-spacing:.01em;border-radius:0}.btn:hover:not(:disabled){background:var(--bs-primary-hover);box-shadow:0 2px 8px #8c153240}.btn:active:not(:disabled){background:var(--bs-primary-active);box-shadow:none;transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--bs-primary);color:#fff;border:1px solid var(--bs-primary)}.btn-primary:hover:not(:disabled){background:var(--bs-primary-hover);border-color:var(--bs-primary-hover);box-shadow:0 2px 8px #8c15324d}.btn-secondary{background:#fff;color:var(--bs-text);border:1px solid var(--bs-border-color)}.btn-secondary:hover:not(:disabled){background:var(--bs-surface-alt);border-color:var(--bs-primary);color:var(--bs-primary)}.btn-danger{background:var(--bs-danger);color:#fff;border:1px solid var(--bs-danger)}.btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.btn-success{background:var(--bs-success);color:#fff;border:1px solid var(--bs-success)}.btn-success:hover:not(:disabled){background:#15803d;border-color:#15803d}.badge{display:inline-flex;align-items:center;padding:4px 9px;background:var(--bs-primary-soft);color:var(--bs-primary);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;border:1px solid rgba(140,21,50,.2);border-radius:2px}.badge-success{background:var(--bs-success-bg);color:var(--bs-success);border-color:#16a34a40}.badge-warning{background:var(--bs-warning-bg);color:var(--bs-warning);border-color:#d9770640}.badge-error{background:var(--bs-danger-bg);color:var(--bs-danger);border-color:#dc262640}.badge-info{background:var(--bs-info-bg);color:var(--bs-info);border-color:#0284c740}.toast-stack{position:fixed;top:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:10px;max-width:400px}.toast{background:var(--bs-surface);border-left:4px solid var(--bs-primary);border:1px solid var(--bs-border-color);padding:16px;box-shadow:var(--bs-shadow);display:flex;align-items:center;gap:12px;font-size:13px;animation:slideIn .2s ease-out;border-radius:0}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{border-left-color:var(--bs-success);color:var(--bs-text)}.toast-error{border-left-color:var(--bs-danger);color:var(--bs-text)}.toast-info{border-left-color:var(--bs-info);color:var(--bs-text)}.timeline{display:grid;gap:12px}.timeline-item{padding:14px 16px;background:var(--bs-surface);border-radius:0;border:1px solid var(--bs-border-color);color:var(--bs-text)}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(460px,100%);background:var(--panel);border:1px solid var(--line);border-radius:0;padding:28px;box-shadow:var(--shadow);min-width:0}.form-grid{display:grid;gap:14px}.toast-stack{position:fixed;top:20px;right:20px;display:grid;gap:12px;width:min(360px,calc(100vw - 40px));z-index:1000}.toast-header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:6px}.toast-body{color:var(--bs-text-muted);font-size:14px;line-height:1.45}.toast-close{border:0;background:transparent;color:var(--bs-text-muted);font-size:20px;line-height:1;cursor:pointer;padding:0}@media(max-width:960px){.app-shell{grid-template-columns:1fr}.toast-stack{right:12px;left:12px;width:auto}.sidebar{border-bottom:1px solid rgba(255,255,255,.08)}.grid-3{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start}.actions{width:100%}.actions .btn{flex:1 1 140px}.page-card,.auth-card,.metric,.badge,.btn,.nav-link,.mobile-nav-item,.toast,.toast-body,.page-header p,.metric strong,.metric span{overflow-wrap:anywhere;word-break:break-word}}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}.admin-tabs{display:flex;gap:0;border-bottom:2px solid var(--bs-border-color);margin-bottom:24px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;min-width:0}.admin-tab{padding:11px 16px;border:none;background:transparent;color:var(--bs-text-muted);cursor:pointer;font-size:13px;font-weight:600;white-space:nowrap;flex:0 0 auto;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s ease}.admin-tab:hover{color:var(--bs-primary)}.admin-tab.active{background:transparent;color:var(--bs-primary);border-bottom-color:var(--bs-primary)}@media(max-width:960px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.summary-grid{grid-template-columns:1fr}.admin-tabs{flex-wrap:wrap;overflow-x:hidden;border-bottom:0;gap:8px}.admin-tab{border:1px solid var(--bs-border-color);background:var(--bs-surface);white-space:normal;flex:1 1 140px;min-width:0;border-bottom:none;margin-bottom:0}.admin-tab.active{background:var(--bs-primary-soft);border-color:var(--bs-primary);color:var(--bs-primary)}}.install-bottom-banner{position:fixed;bottom:0;left:0;right:0;z-index:120;background:#0b1a2af5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.14);box-shadow:0 -8px 28px #0006;padding:10px 16px;animation:slideUpInstall .32s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideUpInstall{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:1023px){.install-bottom-banner.above-mobile-nav{bottom:53px;bottom:calc(53px + env(safe-area-inset-bottom,0px));border-bottom:1px solid rgba(255,255,255,.08)}}.install-banner-content{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.install-banner-brand{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.install-banner-icon-wrap{position:relative;width:42px;height:42px;border-radius:10px;background:#ffffff0f;border:1px solid rgba(217,119,6,.4);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 0 12px #d9770633}.install-banner-icon{width:30px;height:30px;object-fit:contain;border-radius:6px}.install-pulse-dot{position:absolute;top:-2px;right:-2px;width:8px;height:8px;background:#10b981;border:2px solid var(--bs-surface);border-radius:50%;box-shadow:0 0 6px #10b981}.install-banner-text{display:flex;flex-direction:column;min-width:0;overflow:hidden}.install-banner-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.install-banner-title{font-weight:700;font-size:14px;color:#fff;letter-spacing:-.01em;white-space:nowrap}.install-badge{font-size:10px;font-weight:700;text-transform:uppercase;background:#d9770638;color:#fbbf24;border:1px solid rgba(217,119,6,.5);padding:1px 6px;border-radius:9999px;letter-spacing:.04em}.install-banner-subtitle{font-size:12px;color:#e2e8f0d9;margin:2px 0 0;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.install-banner-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.btn-install-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(135deg,#d97706,#b45309);color:#fff!important;font-weight:600;font-size:13px;padding:8px 18px;border-radius:8px;border:none;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #d9770666;text-decoration:none}.btn-install-primary:hover{background:linear-gradient(135deg,#f59e0b,#d97706);transform:translateY(-1px);box-shadow:0 4px 12px #d977068c}.btn-install-primary.full-width{width:100%}.btn-install-dismiss{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:#ffffff14;color:#e2e8f0b3;border:none;cursor:pointer;transition:all .2s ease}.btn-install-dismiss:hover{background:#ffffff2e;color:#fff}.install-btn-icon{width:16px;height:16px}.nav-install-btn{background:none;border:none;width:100%;text-align:left;cursor:pointer;color:#fbbf24}.nav-install-btn:hover{background:#d977061f;color:#f59e0b}.mobile-nav-install-btn{background:none;border:none;cursor:pointer;font-family:inherit;color:#fbbf24!important}.mobile-nav-install-btn:hover{color:#f59e0b!important}.install-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#0b1a2abf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .2s ease}.install-modal-card{background:#3d0714;color:#f4f1e9;border:1px solid rgba(255,255,255,.15);box-shadow:0 20px 40px #00000080;border-radius:14px;width:100%;max-width:460px;overflow:hidden;animation:scaleUp .25s cubic-bezier(.16,1,.3,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.install-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff08}.install-modal-close{background:none;border:none;color:#ffffffb3;font-size:18px;cursor:pointer;padding:4px;border-radius:6px;transition:all .2s ease}.install-modal-close:hover{color:#fff;background:#ffffff1a}.install-modal-body{padding:20px}.install-guide-intro{margin:0 0 16px;font-size:13px;color:#e2e8f0d9;line-height:1.45}.install-step-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.install-step-list li{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.4;color:#e2e8f0}.install-step-list .step-num{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#d97706;color:#fff;font-weight:700;font-size:12px;flex-shrink:0;margin-top:1px}.install-step-list .step-bullet{font-size:18px;flex-shrink:0}.install-step-list .step-info{flex:1}.install-step-list .step-badge{display:inline-flex;align-items:center;gap:5px;background:#ffffff1a;padding:2px 8px;border-radius:6px;margin-left:6px;font-size:12px;font-weight:600;vertical-align:middle}.install-modal-footer{padding:14px 20px 20px}@media(max-width:480px){.install-banner-subtitle{display:none}.install-banner-title{font-size:13px}.btn-install-primary{padding:6px 12px;font-size:12px}}.profile-tabs-nav{display:flex;gap:0;border-bottom:1px solid var(--c-border);margin-bottom:24px}.profile-tab-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--c-text-muted);font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease-in-out}.profile-tab-btn:hover{color:var(--c-text);background:#0b1a2a08}.profile-tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);background:#0b1a2a0a}.profile-tab-count{display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;font-size:11px;font-weight:700;background:var(--c-border);color:var(--c-text);border-radius:9999px}.profile-tab-btn.active .profile-tab-count{background:var(--primary);color:var(--secondary)}.activity-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:20px}.activity-stat-card{padding:16px;background:var(--c-surface);border:1px solid var(--c-border);display:flex;flex-direction:column;gap:4px;transition:border-color .15s ease,transform .15s ease}.activity-stat-card:hover{border-color:var(--primary)}.activity-stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--c-text-muted);font-weight:600}.activity-stat-value{font-size:26px;font-weight:700;color:var(--c-text);line-height:1.1}.activity-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;padding:12px 16px;background:var(--c-bg-alt);border:1px solid var(--c-border)}.activity-filter-group{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.activity-filter-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);cursor:pointer;transition:all .15s ease}.activity-filter-pill:hover{border-color:var(--primary)}.activity-filter-pill.active{background:var(--primary);color:var(--secondary);border-color:var(--primary)}.activity-search-box{display:flex;align-items:center;gap:8px;flex:1 1 240px;max-width:380px}.activity-search-input{width:100%;padding:6px 10px;font-size:13px;border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text)}.activity-search-input:focus{outline:none;border-color:var(--primary)}.activity-timeline{display:flex;flex-direction:column;gap:12px}.activity-item-card{position:relative;display:flex;gap:16px;padding:16px 20px;background:var(--c-surface);border:1px solid var(--c-border);border-left:4px solid var(--c-border);transition:all .15s ease}.activity-item-card:hover{border-color:#0b1a2a40;box-shadow:0 2px 8px #0000000a}.activity-item-card.cat-grievance{border-left-color:#10b981}.activity-item-card.cat-status{border-left-color:#3b82f6}.activity-item-card.cat-comment{border-left-color:#f59e0b}.activity-item-card.cat-auth{border-left-color:#64748b}.activity-item-card.cat-admin{border-left-color:#8b5cf6}.activity-icon-wrap{flex-shrink:0;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid var(--c-border);background:var(--c-bg-alt);color:var(--c-text)}.activity-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.activity-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.activity-title{font-size:14px;font-weight:700;color:var(--c-text);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.activity-ticket-link{font-size:11px;font-weight:700;padding:2px 7px;background:#3b82f61a;color:#2563eb;border:1px solid rgba(59,130,246,.25);cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:all .15s ease;text-decoration:none}.activity-ticket-link:hover{background:#2563eb;color:#fff}.activity-timestamp{font-size:12px;color:var(--c-text-muted);white-space:nowrap}.activity-description{font-size:13px;color:var(--c-text);line-height:1.45}.activity-metadata-box{margin-top:4px;padding:8px 12px;background:var(--c-bg-alt);border:1px solid var(--c-border);font-size:12px;color:var(--c-text);display:flex;flex-wrap:wrap;gap:12px;align-items:center}.activity-badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;text-transform:capitalize;border-radius:2px}.activity-badge.badge-success{background:#10b9811f;color:#059669}.activity-badge.badge-info{background:#3b82f61f;color:#2563eb}.activity-badge.badge-warning{background:#f59e0b1f;color:#d97706}.activity-badge.badge-secondary{background:#64748b1f;color:#475569}.activity-badge.badge-primary{background:#0b1a2a1a;color:var(--primary)}.activity-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid var(--c-border);flex-wrap:wrap}@media(max-width:640px){.activity-toolbar{flex-direction:column;align-items:stretch}.activity-search-box{max-width:none}.activity-filter-group{overflow-x:auto;padding-bottom:4px;flex-wrap:nowrap}}.users-table{display:block}.user-cards-mobile{display:none}@media(max-width:767px){.users-table{display:none!important}.user-cards-mobile{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}}.user-card-mobile{background:var(--bs-surface);border:1px solid var(--bs-border-color);box-shadow:var(--bs-shadow-sm);overflow:hidden;transition:box-shadow .15s ease}.user-card-mobile:hover{box-shadow:var(--bs-shadow)}.ucm-header{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bs-surface-alt);border-bottom:1px solid var(--bs-border-color)}.ucm-avatar{width:38px;height:38px;border-radius:50%;background:var(--bs-primary);color:#fff;font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ucm-meta{flex:1;min-width:0}.ucm-name{font-weight:600;font-size:14px;color:var(--bs-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ucm-username{font-size:11px;color:var(--bs-text-muted);background:transparent;padding:0;font-family:monospace}.ucm-body{padding:12px 16px;display:grid;gap:8px}.ucm-row{display:flex;align-items:baseline;gap:8px;font-size:13px}.ucm-label{font-size:11px;font-weight:600;color:var(--bs-text-muted);text-transform:uppercase;letter-spacing:.05em;min-width:44px;flex-shrink:0}.ucm-val{color:var(--bs-text);word-break:break-word;min-width:0;flex:1}.ucm-actions{display:flex;gap:8px;padding:10px 16px;border-top:1px solid var(--bs-border-color);background:var(--bs-surface-alt)}@media(max-width:767px){.mobile-card-table table,.mobile-card-table thead,.mobile-card-table tbody,.mobile-card-table th,.mobile-card-table td,.mobile-card-table tr{display:block}.mobile-card-table thead{display:none}.mobile-card-table tbody tr{background:var(--bs-surface);border:1px solid var(--bs-border-color);margin-bottom:10px;padding:12px}.mobile-card-table td{padding:5px 0;border:none;display:flex;gap:8px;font-size:13px}.mobile-card-table td:before{content:attr(data-label);font-size:11px;font-weight:600;color:var(--bs-text-muted);text-transform:uppercase;letter-spacing:.05em;min-width:90px;flex-shrink:0}}.grievances-table-desktop,.asset-table-desktop{display:block}.grievance-cards-mobile,.asset-cards-mobile{display:none}@media(max-width:767px){.grievances-table-desktop,.asset-table-desktop{display:none!important}.grievance-cards-mobile,.asset-cards-mobile{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}}.grievance-card-mobile{background:var(--bs-surface);border:1px solid var(--bs-border-color);box-shadow:var(--bs-shadow-sm);padding:14px 16px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;display:flex;flex-direction:column;gap:10px}.grievance-card-mobile:hover,.grievance-card-mobile:active{box-shadow:var(--bs-shadow);border-color:var(--bs-primary);transform:translateY(-1px)}.gcm-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.gcm-ticket{font-weight:700;font-size:13px;color:var(--bs-primary);letter-spacing:.02em}.gcm-badges{display:flex;align-items:center;gap:6px}.gcm-subject{font-size:14px;font-weight:600;color:var(--bs-text);line-height:1.4;word-break:break-word}.gcm-body{display:grid;gap:6px;padding-top:8px;border-top:1px solid var(--bs-border-color)}.gcm-row{display:flex;align-items:baseline;gap:8px;font-size:12.5px}.gcm-label{font-size:11px;font-weight:600;color:var(--bs-text-muted);text-transform:uppercase;letter-spacing:.05em;min-width:60px;flex-shrink:0}.gcm-val{color:var(--bs-text);min-width:0;flex:1;word-break:break-word}.admin-config-table{display:block}.config-cards-mobile{display:none}@media(max-width:767px){.admin-config-table{display:none!important}.config-cards-mobile{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}}.config-card-mobile{background:var(--bs-surface);border:1px solid var(--bs-border-color);box-shadow:var(--bs-shadow-sm);overflow:hidden;transition:box-shadow .15s ease}.config-card-mobile:hover{box-shadow:var(--bs-shadow)}.ccm-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:var(--bs-surface-alt);border-bottom:1px solid var(--bs-border-color)}.ccm-title{font-size:13.5px;color:var(--bs-text);min-width:0;flex:1;word-break:break-word}.ccm-body{padding:12px 14px;display:grid;gap:6px}.ccm-row{display:flex;align-items:baseline;gap:8px;font-size:12.5px}.ccm-label{font-size:11px;font-weight:600;color:var(--bs-text-muted);text-transform:uppercase;letter-spacing:.05em;min-width:50px;flex-shrink:0}.ccm-val{color:var(--bs-text);word-break:break-word;min-width:0;flex:1}.ccm-actions{display:flex;gap:8px;padding:8px 14px;border-top:1px solid var(--bs-border-color);background:var(--bs-surface-alt)}
