:root{color-scheme:light;--color-brand-50:#effafa;--color-brand-100:#d7f2f1;--color-brand-200:#afe3e1;--color-brand-300:#76cfcc;--color-brand-400:#39b4b1;--color-brand-500:#168f8e;--color-brand-600:#087b7b;--color-brand-700:#01696a;--color-brand-800:#075758;--color-brand-900:#0b4849;--color-brand-950:#032b2c;--color-white:#ffffff;--color-neutral-50:#f8fafc;--color-neutral-100:#f1f5f9;--color-neutral-200:#e2e8f0;--color-neutral-300:#cbd5e1;--color-neutral-400:#94a3b8;--color-neutral-500:#64748b;--color-neutral-600:#475569;--color-neutral-700:#334155;--color-neutral-800:#1e293b;--color-neutral-900:#0f172a;--color-neutral-950:#020617;--color-primary:var(--color-brand-700);--color-primary-hover:var(--color-brand-800);--color-primary-active:var(--color-brand-900);--color-primary-muted:var(--color-brand-100);--color-primary-contrast:var(--color-white);--color-background:#f3f7f7;--color-surface:var(--color-white);--color-surface-elevated:var(--color-white);--color-surface-muted:#f7f9f9;--color-text:#172122;--color-text-secondary:#46595a;--color-text-muted:#6d7f80;--color-text-inverse:#ffffff;--color-border:#d8e2e2;--color-border-strong:#b7c8c8;--color-focus:var(--color-brand-500);--color-success:#167044;--color-success-muted:#e7f6ed;--color-success-on-dark:#a7efc5;--color-warning:#9a5b08;--color-warning-muted:#fff5db;--color-warning-on-dark:#fed7aa;--color-danger:#b4232f;--color-danger-muted:#fdecef;--color-danger-on-dark:#fecaca;--color-info:#2563a8;--color-info-muted:#eaf2fb;--color-info-on-dark:#b9d8f5;--font-family-sans:Inter,"Segoe UI",Arial,sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-2xl:1.875rem;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.65;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:0.5rem;--radius-md:0.75rem;--radius-lg:1rem;--radius-xl:1.375rem;--radius-full:999px;--shadow-sm:0 2px 10px rgba(3,43,44,0.06);--shadow-md:0 12px 32px rgba(3,43,44,0.09);--shadow-lg:0 24px 64px rgba(3,43,44,0.14);--transition-fast:140ms ease;--transition-normal:220ms ease;--content-width:1600px;--sidebar-width:280px;--header-height:72px;--touch-target:44px;--bic-color-bg:var(--color-background);--bic-color-surface:var(--color-surface);--bic-color-text:var(--color-text);--bic-color-muted:var(--color-text-muted);--bic-color-accent:var(--color-primary);--bic-color-danger:var(--color-danger);--bic-border:var(--color-border);--bic-space-page:var(--space-8);--bic-radius-card:var(--radius-xl);--bic-shadow-card:var(--shadow-md);--bic-touch-target:var(--touch-target);--bic-mobile-topbar-height:64px;--bic-mobile-bottom-nav-height:72px;--bic-z-topbar:90;--bic-z-bottom-nav:90;--bic-z-drawer:120}@media (max-width:900px){:root{--bic-space-page:var(--space-4);--bic-radius-card:var(--radius-lg)}}html{accent-color:var(--color-primary)}body,html{background:var(--color-background)}body{color:var(--color-text);font-family:var(--font-family-sans);font-size:var(--font-size-md);line-height:var(--line-height-normal)}::selection{background:var(--color-brand-200);color:var(--color-brand-950)}:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid color-mix(in srgb,var(--color-focus) 52%,transparent);outline-offset:2px}:where(input,select,textarea){border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-text)}:where(input,select,textarea):disabled{background:var(--color-surface-muted);color:var(--color-text-muted)}.uiButton{min-height:var(--touch-target);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.7rem 1rem;border:1px solid transparent;border-radius:var(--radius-md);font-weight:750;line-height:1.2;text-decoration:none;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.uiButton:not(:disabled):active{transform:translateY(1px)}.uiButton:disabled{opacity:.55;cursor:not-allowed}.uiButtonPrimary{background:var(--color-primary);color:var(--color-primary-contrast)}.uiButtonPrimary:hover:not(:disabled){background:var(--color-primary-hover)}.uiButtonPrimary:active:not(:disabled){background:var(--color-primary-active)}.uiButtonSecondary{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text)}.uiButtonSecondary:hover:not(:disabled){border-color:var(--color-brand-300);background:var(--color-brand-50);color:var(--color-brand-900)}.uiButtonGhost{background:transparent;color:var(--color-text-secondary)}.uiButtonGhost:hover:not(:disabled){background:var(--color-surface-muted);color:var(--color-text)}.uiButtonDanger{background:var(--color-danger);color:var(--color-white)}.uiButtonDanger:hover:not(:disabled){filter:brightness(.92)}.uiButtonIcon{width:var(--touch-target);padding:0}.uiButtonFull{width:100%}.uiCard{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm)}.uiCardInteractive{color:inherit;text-align:left;transition:border-color var(--transition-normal),transform var(--transition-normal),box-shadow var(--transition-normal)}.uiCardInteractive:hover{border-color:var(--color-brand-300);box-shadow:var(--shadow-md);transform:translateY(-2px)}.uiBadge{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;min-height:1.65rem;padding:.2rem .6rem;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:800;line-height:1.2}.uiBadgeNeutral{background:var(--color-surface-muted);color:var(--color-text-secondary)}.uiBadgeBrand{background:var(--color-primary-muted);color:var(--color-brand-900)}.uiBadgeSuccess{background:var(--color-success-muted);color:var(--color-success)}.uiBadgeWarning{background:var(--color-warning-muted);color:var(--color-warning)}.uiBadgeDanger{background:var(--color-danger-muted);color:var(--color-danger)}.uiBadgeInfo{background:var(--color-info-muted);color:var(--color-info)}.uiPageHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-8)}.uiPageHeaderEyebrow{margin:0 0 var(--space-2);color:var(--color-primary);font-size:var(--font-size-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.uiPageHeader h1{margin:0;color:var(--color-text);font-size:clamp(1.75rem,2.5vw,2.25rem);line-height:var(--line-height-tight)}.uiPageHeaderActions{display:flex;flex-wrap:wrap;gap:var(--space-3)}@media (max-width:760px){.uiButton{min-height:44px}.uiPageHeader{flex-direction:column;gap:var(--space-4)}.uiPageHeaderActions{width:100%}}*{box-sizing:border-box}html{min-width:320px;background:var(--bic-color-bg)}body{margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}.loginPage{min-height:100vh;display:grid;place-items:center;padding:var(--space-4);background:radial-gradient(circle at top,var(--color-brand-100),transparent 42%),var(--color-background)}.loginCard{width:min(430px,100%);background:var(--color-surface);padding:40px;border-radius:28px;box-shadow:var(--shadow-lg)}.loginLogo{width:52px;height:52px;background:var(--color-primary);color:var(--color-primary-contrast);border-radius:16px;display:grid;place-items:center;font-size:26px;font-weight:900;margin-bottom:22px}.loginCard h1{margin:0 0 10px;font-size:38px}.loginCard p{margin:0 0 24px;color:var(--color-text-muted)}.loginCard input{margin-bottom:12px;border-radius:14px;border:1px solid var(--color-border-strong)}.loginCard button,.loginCard input{width:100%;padding:15px;font-size:15px}.loginCard button{border:0;border-radius:14px;background:var(--color-primary);color:var(--color-primary-contrast);font-weight:800}.loginError{margin-top:14px;color:var(--color-danger);font-weight:700}.app{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:radial-gradient(circle at 15% 5%,color-mix(in srgb,var(--color-brand-500) 28%,transparent),transparent 28%),var(--color-brand-950);color:var(--color-text-inverse);padding:24px;display:flex;flex-direction:column}.brand{display:flex;gap:14px;align-items:center;margin-bottom:36px}.brandIcon{width:44px;height:44px;border-radius:14px;background:var(--color-primary-contrast);color:var(--color-brand-800);display:grid;place-items:center;font-weight:800;font-size:22px}.brandTitle{font-size:20px;font-weight:800}.brandSub{color:var(--color-brand-200);font-size:13px}.nav{display:grid;grid-gap:8px;gap:8px}.navItem{color:color-mix(in srgb,var(--color-text-inverse) 76%,var(--color-brand-300));text-decoration:none;padding:13px 14px;border-radius:14px;cursor:default}.navItem.active,.navItem:hover{background:color-mix(in srgb,var(--color-brand-500) 24%,transparent);color:var(--color-text-inverse)}.sidebarStatus{margin-top:32px;padding:16px;border-radius:18px;background:color-mix(in srgb,var(--color-brand-800) 72%,transparent);display:grid;grid-gap:7px;gap:7px;color:var(--color-brand-100);font-size:13px}.sidebarStatus div{color:var(--color-text-inverse);font-weight:800;margin-bottom:4px}.sidebarStatus span{color:var(--color-brand-200)}.sidebarFooter{margin-top:auto;display:flex;align-items:center;gap:12px;padding-top:24px;border-top:1px solid color-mix(in srgb,var(--color-brand-300) 22%,transparent)}.userAvatar{width:36px;height:36px;border-radius:14px;background:var(--color-brand-100);color:var(--color-brand-800);display:grid;place-items:center;font-weight:900}.userName{font-weight:700}.userRole{color:var(--color-text-muted);font-size:13px}.sidebar .userRole{color:var(--color-brand-200)}.content{flex:1 1;padding:32px;overflow:auto}.mobileBottomNavigation,.mobileDrawerLayer,.mobileTopBar{display:none}.navigationBadge{min-width:22px;height:22px;padding:0 6px;display:grid;place-items:center;border-radius:999px;background:var(--color-primary);color:var(--color-primary-contrast);font-size:11px;line-height:1}.topbar{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:28px}.eyebrow{margin:0 0 8px;color:var(--color-primary);font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}h1{margin:0;font-size:36px}.topActions{display:flex;gap:12px}button{cursor:pointer;border:0;border-radius:14px;padding:12px 16px;font-weight:700}.ghostBtn{background:var(--color-surface);color:var(--color-text)}.primaryBtn{background:var(--color-primary);color:var(--color-primary-contrast)}.primaryBtn:hover:not(:disabled){background:var(--color-primary-hover)}.hero{background:radial-gradient(circle at 88% 18%,color-mix(in srgb,var(--color-brand-300) 24%,transparent),transparent 30%),linear-gradient(135deg,var(--color-brand-950),var(--color-brand-700));color:var(--color-text-inverse);border-radius:30px;padding:34px;display:flex;justify-content:space-between;gap:24px;margin-bottom:24px}.pill{display:inline-flex;padding:8px 12px;background:rgba(255,255,255,.12);border-radius:999px;font-size:13px;margin-bottom:18px}.hero .pill{color:var(--color-text-inverse)}.hero h2{margin:0;font-size:42px}.hero p{color:color-mix(in srgb,var(--color-text-inverse) 78%,var(--color-brand-200));font-size:18px;max-width:720px}.heroCard{min-width:260px;background:color-mix(in srgb,var(--color-surface) 12%,transparent);border-radius:24px;padding:24px;display:grid;grid-gap:10px;gap:10px;align-content:center}.heroCard small,.heroCard span{color:var(--color-brand-100)}.heroCard strong{font-size:28px}.stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px;margin-bottom:28px}.statCard{background:var(--color-surface);border-radius:22px;padding:22px;box-shadow:0 10px 30px rgba(15,23,42,.06)}.statCard span{color:var(--color-text-muted);font-size:14px}.statCard strong{display:block;font-size:28px;margin:8px 0}.statCard p{margin:0;color:var(--color-text-muted)}.sectionHeader{margin:10px 0 18px}.sectionHeader h3{margin:0 0 6px;font-size:24px}.sectionHeader p{margin:0;color:var(--color-text-muted)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:18px;gap:18px}.moduleCard{width:100%;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);text-align:left;border-radius:22px;padding:22px;display:flex;gap:16px;align-items:center;box-shadow:0 10px 30px rgba(15,23,42,.06);transition:.2s ease}.moduleCard:hover{transform:translateY(-2px);border-color:var(--color-brand-300);box-shadow:var(--shadow-md)}.moduleIcon{width:48px;height:48px;border-radius:16px;background:var(--color-brand-100);color:var(--color-brand-800);display:grid;place-items:center;font-weight:800;font-size:20px}.moduleTitle{font-size:19px;font-weight:800}.moduleStatus{color:var(--color-text-muted);margin-top:4px}@media (max-width:900px){.app{display:block}.sidebar{width:auto}.stats{grid-template-columns:1fr}.hero,.topbar{flex-direction:column}.loginCard{width:calc(100vw - 32px)}:root{--bic-space-page:16px;--bic-radius-card:20px}body{font-size:16px}.app{min-height:100dvh;display:block;padding:calc(var(--bic-mobile-topbar-height) + env(safe-area-inset-top)) 0 calc(var(--bic-mobile-bottom-nav-height) + env(safe-area-inset-bottom))}.sidebar{display:none}.content{width:100%;min-height:calc(100dvh - var(--bic-mobile-topbar-height) - var(--bic-mobile-bottom-nav-height));padding:16px;overflow-x:clip}.topbar{display:none}.mobileTopBar{position:fixed;z-index:var(--bic-z-topbar);top:0;left:0;right:0;height:calc(var(--bic-mobile-topbar-height) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;grid-gap:10px;gap:10px;border-bottom:1px solid color-mix(in srgb,var(--color-border) 84%,transparent);background:color-mix(in srgb,var(--color-surface) 96%,transparent);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobileBackButton,.mobileMenuButton{width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center;border-radius:14px;background:var(--color-brand-50);color:var(--color-brand-800);font-size:23px}.mobileBrandMark{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:var(--color-primary);color:var(--color-primary-contrast);font-size:18px;font-weight:900}.mobileTopBarTitle{min-width:0;display:grid;grid-gap:1px;gap:1px}.mobileTopBarTitle span{color:var(--bic-color-muted);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.mobileTopBarTitle strong{overflow:hidden;color:var(--color-text);font-size:17px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.mobileBottomNavigation{position:fixed;z-index:var(--bic-z-bottom-nav);left:0;right:0;bottom:0;min-height:calc(var(--bic-mobile-bottom-nav-height) + env(safe-area-inset-bottom));padding:6px 8px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid color-mix(in srgb,var(--color-border) 84%,transparent);background:color-mix(in srgb,var(--color-surface) 97%,transparent);box-shadow:0 -10px 28px rgba(3,43,44,.08);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobileBottomNavigation>a,.mobileBottomNavigation>button{position:relative;min-width:0;min-height:56px;padding:5px 3px;display:grid;place-items:center;align-content:center;grid-gap:2px;gap:2px;border-radius:14px;background:transparent;color:var(--color-text-muted);text-decoration:none}}@media (max-width:900px){.mobileBottomNavigation>:is(a,button).active{background:var(--color-brand-50);color:var(--color-primary)}.mobileBottomNavigation>:is(a,button)>span{font-size:21px;line-height:1}.mobileBottomNavigation small{max-width:100%;overflow:hidden;font-size:11px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.mobileBottomNavigation .navigationBadge{position:absolute;top:2px;left:calc(50% + 8px)}.mobileDrawerLayer{position:fixed;z-index:var(--bic-z-drawer);inset:0;display:grid;align-items:end}.mobileDrawerBackdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border-radius:0;background:rgba(3,43,44,.56)}.mobileDrawer{position:relative;width:100%;max-height:min(84dvh,760px);padding:14px 14px max(18px,env(safe-area-inset-bottom));overflow:auto;border-radius:26px 26px 0 0;background:var(--color-surface);box-shadow:0 -20px 60px rgba(3,43,44,.24)}.mobileDrawer>header{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;grid-gap:11px;gap:11px;padding:4px 2px 14px;border-bottom:1px solid var(--color-border)}.mobileDrawer>header>div:nth-child(2){min-width:0;display:grid}.mobileDrawer>header span,.mobileDrawer>header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobileDrawer>header span{color:var(--color-text-muted);font-size:13px}.mobileDrawer>header>button{width:44px;height:44px;padding:0;background:var(--color-surface-muted);color:var(--color-text-secondary);font-size:26px}.mobileDrawer>nav{display:grid;grid-gap:7px;gap:7px;padding:14px 0}.mobileDrawer>nav a{min-height:50px;padding:10px 13px;display:flex;align-items:center;gap:13px;border-radius:14px;color:var(--color-text-secondary);text-decoration:none;font-weight:750}.mobileDrawer>nav a.active{background:var(--color-brand-50);color:var(--color-primary)}.mobileDrawer>nav a span{width:28px;text-align:center;font-size:20px}.mobileModeSwitch{padding:5px;display:grid;grid-template-columns:1fr 1fr;grid-gap:5px;gap:5px;border-radius:15px;background:var(--color-surface-muted)}.mobileModeSwitch button{min-height:44px;background:transparent;color:var(--color-text-muted)}.mobileModeSwitch button.active{background:var(--color-surface);color:var(--color-primary);box-shadow:0 4px 15px rgba(15,23,42,.08)}.mobileLogoutButton{width:100%;min-height:48px;margin-top:12px;background:var(--color-danger-muted);color:var(--color-danger)}:where(.content) button,:where(.content) input,:where(.content) select{min-height:var(--bic-touch-target)}:where(.content) input,:where(.content) select,:where(.content) textarea{font-size:16px}.hero{padding:22px 18px;border-radius:22px}.hero h2{max-width:100%;font-size:clamp(26px,7vw,32px);line-height:1.28;overflow-wrap:anywhere}}@media (min-width:601px) and (max-width:900px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:380px){.content{padding-inline:12px}.mobileBottomNavigation small{font-size:10px}}.vpnLayout{display:grid;grid-template-columns:420px 1fr;grid-gap:24px;gap:24px;align-items:start}.vpnCard{background:white;border-radius:24px;padding:24px;box-shadow:0 10px 30px rgba(15,23,42,.06)}.vpnCard h2{margin:0 0 20px;font-size:24px}.formGrid{display:grid;grid-template-columns:1fr;grid-gap:14px;gap:14px}.formGrid label,.fullLabel{display:grid;grid-gap:8px;gap:8px;color:var(--color-text-secondary);font-weight:700;font-size:14px}.formGrid input,.formGrid select,.fullLabel textarea{width:100%;border:1px solid var(--color-border-strong);border-radius:14px;padding:13px 14px;font-size:15px;background:white;color:var(--color-text)}.formGrid input:disabled{background:var(--color-surface-muted);color:var(--color-text-muted)}.fullLabel{margin:14px 0}.fullLabel textarea{min-height:120px;resize:vertical}.formMessage{margin-top:14px;font-weight:800;color:var(--color-brand-800)}.tableWrap{overflow-x:auto}.vpnTable{width:100%;border-collapse:collapse;font-size:14px}.vpnTable td,.vpnTable th{text-align:left;padding:13px 12px;border-bottom:1px solid var(--color-border);vertical-align:top}.vpnTable th{color:var(--color-text-muted);font-size:13px}.statusBadge{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900}.statusBadge.pending{background:var(--color-warning-muted);color:var(--color-warning)}.statusBadge.approved{background:var(--color-success-muted);color:var(--color-success)}.statusBadge.rejected{background:var(--color-danger-muted);color:var(--color-danger)}.tableActions{display:flex;gap:8px;flex-wrap:wrap}.tableActions button{padding:8px 10px;border-radius:10px;background:var(--color-neutral-100);color:var(--color-neutral-900)}.tableActions button:disabled{opacity:.5;cursor:not-allowed}.emptyState{padding:20px;border-radius:18px;background:var(--color-surface-muted);color:var(--color-text-muted);font-weight:700}.adminBlock{margin-top:24px}@media (max-width:1100px){.vpnLayout{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.calendarLayout{display:grid;grid-gap:24px;gap:24px}.calendarIntro{background:linear-gradient(135deg,var(--color-neutral-900),var(--color-brand-800));color:white;border-radius:30px;padding:32px}.calendarIntro p{color:var(--color-brand-100);margin:12px 0 0;font-size:17px}.calendarCard{background:white;border-radius:24px;padding:24px;box-shadow:0 10px 30px rgba(15,23,42,.06)}.calendarHeader{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}.calendarHeader h2{margin:0 0 6px;font-size:24px}.calendarHeader p{margin:0;color:var(--color-text-muted)}.eventsList{display:grid;grid-gap:14px;gap:14px}.eventCard{display:grid;grid-template-columns:180px 1fr;grid-gap:18px;gap:18px;padding:18px;border:1px solid var(--color-border);border-radius:20px;background:var(--color-surface-muted)}.eventDate{display:grid;grid-gap:6px;gap:6px;align-content:start}.eventDate strong{color:var(--color-neutral-900)}.eventDate span{color:var(--color-text-muted);font-weight:700}.eventBody h3{margin:0 0 10px;font-size:20px}.eventBody p{margin:8px 0 0}.eventMeta{font-weight:700}.eventMeta,.muted{color:var(--color-text-muted)}.errorText{color:var(--color-danger);font-weight:800}@media (max-width:760px){.calendarHeader{flex-direction:column}.eventCard{grid-template-columns:1fr}}.calendarSourceBadge{display:inline-flex;margin-top:18px;padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.14);color:var(--color-brand-100);font-size:13px;font-weight:800}.calendarToolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.calendarMonthTitle{font-size:24px;font-weight:900;text-transform:capitalize}.calendarTabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}.calendarTab{background:var(--color-neutral-100);color:var(--color-neutral-900);border-radius:999px;padding:10px 14px;font-weight:800;display:inline-flex;align-items:center;gap:8px}.calendarTab.active{background:var(--color-neutral-900);color:white}.calendarColorDot{width:10px;height:10px;border-radius:999px;display:inline-block}.eventBadges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.eventCalendarBadge,.eventReadOnlyBadge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:900}.eventReadOnlyBadge{background:var(--color-neutral-100);color:var(--color-text-muted)}@media (max-width:760px){.calendarToolbar{flex-direction:column;align-items:stretch}.calendarMonthTitle{text-align:center}}.calendarHeaderActions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}button:disabled{opacity:.55;cursor:not-allowed}.successText{margin:0 0 16px;padding:14px 16px;border-radius:16px;background:var(--color-success-muted);color:var(--color-success);font-weight:900}.calendarCreateForm{margin-bottom:22px;padding:20px;border-radius:22px;background:var(--color-surface-muted);border:1px solid var(--color-border)}.calendarCreateHeader{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.calendarCreateHeader h3{margin:0 0 6px;font-size:22px}.calendarCreateHeader p{margin:0;color:var(--color-text-muted)}.calendarFormGrid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px;gap:14px}.calendarFormGrid label,.calendarFullLabel{display:grid;grid-gap:8px;gap:8px;color:var(--color-text-secondary);font-weight:800;font-size:14px}.calendarFormGrid input,.calendarFullLabel textarea{width:100%;border:1px solid var(--color-border-strong);border-radius:14px;padding:13px 14px;font-size:15px;background:white;color:var(--color-text)}.calendarFullLabel{margin-top:14px}.calendarFullLabel textarea{min-height:110px;resize:vertical}.calendarCreateActions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}@media (max-width:760px){.calendarCreateHeader,.calendarHeaderActions{flex-direction:column;align-items:stretch}.calendarFormGrid{grid-template-columns:1fr}}.calendarViewSwitch{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--color-neutral-100)}.calendarViewSwitch button{padding:8px 12px;border-radius:999px;background:transparent;color:var(--color-text-muted);font-size:13px}.calendarViewSwitch button.active{background:var(--color-neutral-900);color:white}.calendarMonthGrid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));grid-gap:8px;gap:8px}.calendarWeekDay{padding:8px 10px;color:var(--color-text-muted);font-size:13px;font-weight:900;text-align:center}.calendarDayCell{min-height:130px;padding:10px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-white);display:grid;grid-template-rows:auto 1fr;grid-gap:8px;gap:8px}.calendarDayCell.empty{background:var(--color-surface-muted);border-style:dashed}.calendarDayCell.today{border-color:var(--color-brand-800);box-shadow:inset 0 0 0 1px var(--color-brand-800)}.calendarDayNumber{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:var(--color-neutral-100);color:var(--color-neutral-900);font-weight:900}.calendarDayCell.today .calendarDayNumber{background:var(--color-neutral-900);color:white}.calendarDayEvents{display:grid;grid-gap:6px;gap:6px;align-content:start}.calendarGridEvent{min-width:0;padding:7px 8px;border-radius:10px;background:var(--color-surface-muted);display:grid;grid-gap:2px;gap:2px}.calendarGridEvent span{color:var(--color-text-muted);font-size:11px;font-weight:800}.calendarGridEvent strong{color:var(--color-neutral-900);font-size:12px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendarMoreEvents{color:var(--color-text-muted);font-size:12px;font-weight:900;padding:2px 4px}@media (max-width:1200px){.calendarMonthGrid{grid-template-columns:repeat(7,minmax(95px,1fr))}.calendarDayCell{min-height:115px}}@media (max-width:900px){.calendarMonthGrid{display:grid;grid-template-columns:1fr}.calendarDayCell.empty,.calendarWeekDay{display:none}.calendarDayCell{min-height:auto}}.eventCard.clickable{cursor:pointer;transition:.18s ease}.eventCard.clickable:hover{transform:translateY(-1px);border-color:var(--color-border-strong);box-shadow:0 12px 26px rgba(15,23,42,.08)}.calendarGridEvent{text-align:left;cursor:pointer;border:0;border-left:4px solid var(--color-brand-800)}.calendarGridEvent:hover{background:#eef2ff}.calendarEventModalOverlay{position:fixed;inset:0;z-index:50;background:rgba(15,23,42,.45);display:grid;place-items:center;padding:24px}.calendarEventModal{width:min(620px,100%);background:white;border-radius:26px;padding:24px;box-shadow:0 24px 70px rgba(15,23,42,.28)}.calendarEventModalHeader{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}.calendarEventModalHeader h3{margin:0;font-size:26px}.calendarEventDetails{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px;gap:14px}.calendarEventDescription,.calendarEventDetails div{padding:14px;border-radius:16px;background:var(--color-surface-muted)}.calendarEventDescription span,.calendarEventDetails span{display:block;color:var(--color-text-muted);font-size:13px;font-weight:900;margin-bottom:6px}.calendarEventDetails strong{color:var(--color-neutral-900)}.calendarEventDescription{margin-top:14px}.calendarEventDescription p{margin:0;color:var(--color-neutral-900);line-height:1.5}@media (max-width:760px){.calendarEventDetails,.calendarEventModalHeader{grid-template-columns:1fr;flex-direction:column}}.modeSwitch{margin-top:auto;margin-bottom:18px;padding:6px;display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:16px}.modeBtn{border:0;border-radius:12px;padding:10px 8px;cursor:pointer;color:var(--color-border-strong);background:transparent;font-weight:700;transition:all .25s ease}.modeBtn:hover{background:rgba(255,255,255,.08);transform:translateY(-1px)}.modeBtn.active{color:var(--color-neutral-900);background:var(--color-brand-100);box-shadow:0 10px 24px color-mix(in srgb,var(--color-info) 25%,transparent)}.modeBtn.active.admin{color:var(--color-white);background:linear-gradient(135deg,var(--color-primary),var(--color-brand-600))}.modeOverlay{position:fixed;inset:0;z-index:9999;overflow:hidden;background:radial-gradient(circle at center,color-mix(in srgb,var(--color-brand-400) 25%,transparent),transparent 28%),var(--color-brand-950);display:grid;place-items:center;animation:overlayIn 1.4s ease forwards}.modeOverlay.admin{background:radial-gradient(circle at center,color-mix(in srgb,var(--color-brand-500) 35%,transparent),transparent 30%),radial-gradient(circle at center,color-mix(in srgb,var(--color-brand-300) 20%,transparent),transparent 42%),var(--color-brand-950)}.modeOverlay.employee{background:radial-gradient(circle at center,color-mix(in srgb,var(--color-brand-400) 32%,transparent),transparent 30%),radial-gradient(circle at center,color-mix(in srgb,var(--color-primary) 18%,transparent),transparent 42%),var(--color-brand-950)}.modeGrid{position:absolute;inset:0;background-image:linear-gradient(rgba(148,163,184,.08) 1px,transparent 0),linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 0);background-size:42px 42px;-webkit-mask-image:radial-gradient(circle at center,black,transparent 70%);mask-image:radial-gradient(circle at center,black,transparent 70%);animation:gridPulse 1.15s ease forwards}.modeCore{position:absolute;width:54px;height:54px;border-radius:18px;background:var(--color-white);box-shadow:0 0 30px var(--color-white),0 0 70px var(--color-brand-400),0 0 130px var(--color-brand-600);animation:coreBurst 1.15s ease forwards}.modeParticles{position:absolute;inset:0}.modeCube{position:absolute;left:50%;top:50%;width:var(--s);height:var(--s);border-radius:4px;background:linear-gradient(135deg,var(--color-brand-400),var(--color-brand-600));box-shadow:0 0 14px color-mix(in srgb,var(--color-brand-400) 80%,transparent),inset 0 0 8px rgba(255,255,255,.35);transform:translate(-50%,-50%) scale(.15) rotate(0deg);opacity:0;animation:cubeScatter 1.05s cubic-bezier(.16,1,.3,1) forwards;animation-delay:var(--d)}.modeTitle{position:relative;z-index:2;text-align:center;color:white;transform:translateY(28px) scale(.94);opacity:0;animation:titlePunch 1.15s ease forwards}.modeTitle strong{display:block;font-size:clamp(42px,7vw,96px);letter-spacing:.08em;line-height:1;text-shadow:0 0 18px rgba(255,255,255,.8),0 0 42px color-mix(in srgb,var(--color-brand-600) 85%,transparent);animation:titleGlow 1.4s ease forwards}.modeTitle span{display:block;margin-top:18px;color:var(--color-border-strong);font-size:18px;font-weight:700}@keyframes overlayIn{0%{opacity:0}10%{opacity:1}82%{opacity:1}to{opacity:1}}@keyframes gridPulse{0%{opacity:0;transform:scale(.9)}35%{opacity:1;transform:scale(1)}to{opacity:.35;transform:scale(1.08)}}@keyframes coreBurst{0%{transform:scale(.1) rotate(0deg);opacity:0}22%{transform:scale(1.2) rotate(45deg);opacity:1}45%{transform:scale(.45) rotate(160deg);opacity:1}to{transform:scale(18) rotate(1turn);opacity:0}}@keyframes cubeScatter{0%{opacity:0;transform:translate(-50%,-50%) scale(.1) rotate(0deg)}18%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--x) * 58vw),calc(-50% + var(--y) * 58vh)) scale(1.35) rotate(540deg)}}@keyframes titlePunch{0%{opacity:0;transform:translateY(50px) scale(.75);filter:blur(16px)}25%{opacity:0;transform:translateY(30px) scale(.82);filter:blur(12px)}42%{opacity:1;transform:translateY(0) scale(1.08);filter:blur(0)}85%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes titleGlow{0%,30%{text-shadow:0 0 18px rgba(255,255,255,.8),0 0 42px color-mix(in srgb,var(--color-brand-600) 85%,transparent)}50%,85%{text-shadow:0 0 26px rgba(255,255,255,1),0 0 70px var(--color-brand-600),0 0 120px color-mix(in srgb,var(--color-brand-400) 90%,transparent)}to{text-shadow:0 0 12px rgba(255,255,255,.5),0 0 28px color-mix(in srgb,var(--color-brand-600) 40%,transparent)}}.modeOverlay:after{content:"";position:absolute;inset:0;background:white;opacity:0;pointer-events:none;animation:finalFlash 1.4s ease forwards}@keyframes finalFlash{0%,85%{opacity:0}93%{opacity:.95}to{opacity:0}}.modeTitle strong{animation:titleGlow 1.4s ease forwards,titlePulse .72s ease-in-out infinite}.modeTitle span{animation:subtitlePulse .9s ease-in-out infinite}@keyframes titlePulse{0%,to{transform:scale(1);letter-spacing:.08em}50%{transform:scale(1.045);letter-spacing:.11em}}@keyframes subtitlePulse{0%,to{opacity:.72;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.matrixRain{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:.22}.matrixColumn{position:absolute;top:-100%;display:flex;flex-direction:column;gap:6px;color:var(--color-success);font-family:monospace;font-size:18px;font-weight:700;text-shadow:0 0 8px rgba(34,197,94,.8),0 0 16px rgba(34,197,94,.5);animation:matrixFall linear infinite}.matrixColumn span{opacity:.35;animation:matrixBlink .7s ease-in-out infinite alternate}.matrixColumn span:first-child{color:var(--color-success-muted);opacity:1;text-shadow:0 0 12px var(--color-success-muted),0 0 24px var(--color-success)}@keyframes matrixFall{0%{transform:translateY(-120%)}to{transform:translateY(220%)}}@keyframes matrixBlink{0%{opacity:.25}to{opacity:.9}}.provStats{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));grid-gap:14px;gap:14px;margin:20px 0}.provDetailsCard,.provListCard,.provStatCard{border:1px solid rgba(148,163,184,.18);background:rgba(15,23,42,.58);border-radius:18px;box-shadow:0 18px 45px rgba(0,0,0,.18)}.provStatCard{padding:18px}.provStatCard span{display:block;font-size:12px;color:var(--color-neutral-400);margin-bottom:8px}.provStatCard strong{font-size:30px}.provGrid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(360px,.8fr);grid-gap:18px;gap:18px;align-items:start}.provDetailsCard,.provListCard{padding:16px}.provRow,.provTableHeader{display:grid;grid-template-columns:1.5fr 1fr .8fr .5fr 1fr;grid-gap:12px;gap:12px;align-items:center}.provTableHeader{padding:10px 12px;font-size:12px;color:var(--color-neutral-400);border-bottom:1px solid rgba(148,163,184,.14)}.provRow{width:100%;border:0;color:inherit;background:transparent;text-align:left;padding:14px 12px;border-radius:12px;cursor:pointer}.provRow.active,.provRow:hover{background:color-mix(in srgb,var(--color-info) 12%,transparent)}.provRow small{display:block;color:var(--color-neutral-400);margin-top:3px}.provStatus{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px}.provStatus_pending{background:rgba(250,204,21,.14);color:var(--color-warning-muted)}.provStatus_processing{background:color-mix(in srgb,var(--color-info) 16%,transparent);color:var(--color-info-on-dark)}.provStatus_success{background:rgba(34,197,94,.16);color:#86efac}.provStatus_failed{background:rgba(239,68,68,.16);color:#fca5a5}.provStatus_cancelled{background:rgba(148,163,184,.16);color:var(--color-border-strong)}.provDetailsHeader{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:18px}.provDetailsHeader h2{margin:0 0 4px}.provDetailsHeader p{margin:0;color:var(--color-neutral-400)}.provDetailsList{display:grid;grid-gap:10px;gap:10px;margin-bottom:18px}.provDetailsList div{display:grid;grid-template-columns:110px minmax(0,1fr);grid-gap:10px;gap:10px}.provDetailsList span{color:var(--color-neutral-400)}.provDetailsList code{white-space:normal;word-break:break-all}.provActions{display:flex;gap:10px;margin:18px 0}.provJson{max-height:240px;overflow:auto;padding:12px;border-radius:12px;background:rgba(2,6,23,.55);border:1px solid rgba(148,163,184,.14);font-size:12px}.dangerBtn{border:0;border-radius:12px;padding:10px 14px;background:rgba(239,68,68,.16);color:var(--color-danger-on-dark);cursor:pointer}.dangerBtn:disabled,.primaryBtn:disabled,.secondaryBtn:disabled{opacity:.5;cursor:not-allowed}.errorBox{margin:12px 0;padding:12px 14px;border-radius:12px;background:rgba(239,68,68,.12);color:var(--color-danger-on-dark);border:1px solid rgba(239,68,68,.22)}@media (max-width:1100px){.provStats{grid-template-columns:repeat(2,minmax(120px,1fr))}.provGrid{grid-template-columns:1fr}.provRow,.provTableHeader{grid-template-columns:1.3fr 1fr .8fr}.provRow span:nth-child(4),.provRow span:nth-child(5),.provTableHeader span:nth-child(4),.provTableHeader span:nth-child(5){display:none}}