:root{color-scheme:light;--background:#f5f7f9;--surface:#fff;--surface-soft:#eef3f6;--foreground:#13202b;--muted:#5b6b78;--soft-muted:#8fa6b8;--line:#e2e8ed;--brand-dark:#0f2438;--accent:#15a08c;--accent-dark:#0f6d63;--blue:#2f80c4;--amber:#d9a015;--red:#d64545;--green:#1f9d57}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{background:var(--background);color:var(--foreground);font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.appShell{display:grid;grid-template-columns:276px minmax(0,1fr);min-height:100vh}.appShellMenuHidden{grid-template-columns:minmax(0,1fr)}.sidebar{background:var(--brand-dark);color:#eef5f8;display:flex;flex-direction:column;gap:20px;padding:18px 14px}.menuFab{border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 24px rgba(15,23,42,.18);height:42px;left:16px;padding:0;position:fixed;top:78px;width:42px;z-index:60}.menuFab,.menuFabInline{align-items:center;background:#fff;display:inline-flex;justify-content:center}.menuFabInline{border:1px solid var(--line);border-radius:8px;gap:8px;height:38px;min-width:72px;padding:0 8px}.menuFabInline span:last-child{color:var(--foreground);font-size:13px;font-weight:700;line-height:1}.menuFabDots{display:grid;grid-gap:3px;gap:3px;grid-template-columns:repeat(3,1fr);width:16px}.menuFabDots i{background:var(--accent-dark);border-radius:999px;display:block;height:4px;width:4px}.sidebarBackdrop{background:rgba(15,23,42,.45);border:0;inset:0;position:fixed;z-index:45}.brand{background:#fff;border:1px solid #d7e1e8;box-shadow:0 6px 16px rgba(7,20,33,.16);border-radius:12px;gap:8px;min-height:72px;padding:9px 10px}.brand,.brandMark{align-items:center;display:flex;justify-content:center}.brandMark{background:#f1f5f9;border-radius:8px;color:#102033;font-weight:800;height:40px;width:40px}.brandMarkImage{display:block;height:44px;width:44px}.brand span,.brand strong{display:block;letter-spacing:0}.brandTitleImageWrap{margin-bottom:2px}.brandTitleImage{display:block;height:40px;max-width:202px;filter:none;width:100%}.brand span{color:var(--brand-dark);text-align:center;font-size:11px;font-weight:700;letter-spacing:.09em;margin-top:2px;text-transform:uppercase}.moduleNav{display:grid;grid-gap:4px;gap:4px}.navItem{align-items:center;background:transparent;border:0;border-radius:8px;color:#dbe6ef;display:flex;gap:10px;min-height:42px;padding:0 10px;text-align:left}.navItem:hover,.navItemActive{background:rgba(21,160,140,.2);color:#fff}.workspace{display:grid;grid-gap:16px;gap:16px;grid-template-rows:auto auto 1fr auto;min-width:0;padding:18px 20px}.topbar{background:#fff;border:1px solid var(--line);border-radius:10px;gap:16px;justify-content:space-between;padding:12px 14px}.topbar,.topbarActions{align-items:center;display:flex}.topbarActions{flex-wrap:nowrap;gap:8px;justify-content:flex-end}.topbarActions .primaryButton,.topbarActions .secondaryButton{white-space:nowrap}.eyebrow{color:var(--accent-dark);font-size:12px;font-weight:700;letter-spacing:0;margin:0 0 4px;text-transform:uppercase}h1,h2,p{margin:0;letter-spacing:0}h1{font-size:28px}h2{font-size:18px}.iconButton,.primaryButton,.secondaryButton{align-items:center;border-radius:8px;display:inline-flex;gap:8px;justify-content:center;min-height:38px}.primaryButton{background:var(--accent);border:1px solid var(--accent);color:#fff;font-weight:700;padding:0 14px}.primaryButton:hover{background:var(--accent-dark)}.secondaryButton{background:var(--surface);border:1px solid var(--line);color:var(--foreground);padding:0 12px}.secondaryButton:hover{border-color:var(--accent);color:var(--accent-dark)}.iconButton{background:var(--surface);border:1px solid var(--line);color:var(--foreground);height:34px;padding:0;width:34px}.dangerIcon{color:var(--red)}.metricsGrid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(4,minmax(120px,1fr))}.metric,.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px}.metric{display:grid;grid-gap:6px;gap:6px;min-height:82px;padding:16px}.detailList span,.metric span,.panelHeader p,.profileHeader p,.userCell span{color:var(--muted);font-size:13px}.metric strong{color:var(--brand-dark);font-size:26px}.contentGrid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr) 340px;min-height:0}.panel{min-width:0;overflow:hidden}.panelHeader{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:12px;justify-content:space-between;min-height:72px;padding:14px 16px}.filters{flex-wrap:wrap;justify-content:flex-end}.filters,.searchControl{align-items:center;display:flex;gap:8px}.searchControl{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-height:38px;padding:0 10px}.searchControl input{border:0;min-width:170px;outline:0}.formGrid input,select{background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--foreground);min-height:38px;padding:0 10px}.tableWrap{overflow:auto}table{border-collapse:collapse;min-width:820px;width:100%}td,th{border-bottom:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:middle}th{background:#f8fbfd;color:var(--muted);font-size:12px;text-transform:uppercase}tbody tr{cursor:pointer}.selectedRow,tbody tr:hover{background:#edf7f5}.userCell{align-items:center;display:flex;gap:10px}.userCell span,.userCell strong{display:block}.avatar{align-items:center;background:#d8efeb;border-radius:8px;color:var(--accent-dark);display:flex;font-weight:800;height:36px;justify-content:center;width:36px}.avatarLarge{height:54px;width:54px}.statusActive,.statusIdle{border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;min-height:26px;padding:5px 10px}.statusActive{background:#ddf5e8;color:var(--green)}.statusIdle{background:#edf2f6;color:var(--muted)}.rowActions{display:flex;gap:6px}.detailPanel{padding:18px}.profileHeader{align-items:center;display:flex;gap:12px}.detailList{display:grid;grid-gap:12px;gap:12px;margin:22px 0}.collaboratorGrid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}.collaboratorProfileGrid{grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr)}.collaboratorPanel{min-height:100%}.collaboratorDetails,.profileSections{padding:0 18px 18px}.profileSections{display:grid;grid-gap:16px;gap:16px}.profileSection{border:1px solid var(--line);border-radius:8px;overflow:hidden}.profileSection h3{font-size:15px;margin:0}.profileSectionToggle{align-items:center;background:#f8fafc;border:0;border-bottom:1px solid var(--line);color:var(--foreground);display:flex;justify-content:space-between;min-height:44px;padding:10px 12px;text-align:left;width:100%}.profileSectionToggle span{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.certificateLayout{display:grid;grid-gap:18px;gap:18px;padding:18px}.certificatePanel{display:grid;grid-gap:18px;gap:18px;padding-bottom:18px}.certificatePanel .panelHeader{padding-inline:22px}.certificateGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.certificateActions{display:flex;flex-wrap:wrap;gap:8px}.certificateActionsCentered{justify-content:center;padding:8px 22px 0}.certificateModeGrid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px 22px 0}.certificateModeCard{border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;padding:12px}.certificateModeCard h3{font-size:15px;margin:0}.certificateButton{min-height:56px;min-width:min(100%,320px);padding-inline:22px}.certificateAdminBlock{display:grid;grid-gap:12px;gap:12px;padding:0 22px}.certificateDocumentField{color:var(--muted);display:grid;font-size:13px;font-weight:700;grid-gap:6px;gap:6px;max-width:440px}.certificateDocumentField input{min-height:38px;padding:0 10px}.certificateBulkField,.certificateDocumentField input{background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--foreground)}.certificateBulkField{min-height:126px;padding:10px;resize:vertical}.formNote{color:var(--muted);font-size:13px;line-height:1.5;margin:0;padding:0 22px}.detailList div{border-bottom:1px solid var(--line);display:grid;grid-gap:4px;gap:4px;padding-bottom:10px}.drawerActions,.profileActions{display:flex;flex-wrap:wrap;gap:8px}.permissionsPanel{overflow:auto}.roleSummary{display:flex;flex-wrap:wrap;gap:8px;padding:14px 16px 0}.rolePill{align-items:center;background:var(--surface-soft);border-radius:999px;display:inline-flex;gap:8px;min-height:32px;padding:0 10px}.rolePill span{font-size:13px}.permissionGrid{display:grid;grid-template-columns:220px repeat(var(--permission-columns),minmax(120px,1fr));min-width:900px;padding:16px}.permissionHeader,.permissionRow{display:contents}.permissionHeader{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.moduleName,.permission,.permissionGrid>.permissionHeader{align-items:center;border-bottom:1px solid var(--line);display:flex;min-height:44px;padding:8px}.moduleName{gap:8px;font-weight:700}.permission{border-radius:0;font-size:12px;font-weight:700;justify-content:center;padding:6px 8px}.permissionAdmin{color:var(--red)}.permissionManage{color:var(--accent-dark)}.permissionRead{color:var(--blue)}.permissionNone{color:#94a3b8}.permissionSelect{background:transparent;border:1px solid var(--line);border-radius:6px;color:inherit;font-size:12px;font-weight:700;min-height:30px;min-width:108px;padding:0 6px;width:100%}.drawerOverlay{background:rgba(15,23,42,.3);bottom:0;display:flex;justify-content:flex-end;left:0;position:fixed;right:0;top:0;z-index:10}.drawerOverlayCentered{align-items:center;justify-content:center;padding:14px}.globalLoadingOverlay{align-items:center;background:rgba(15,23,42,.6);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:50}.globalLoadingContent{align-items:center;background:hsla(0,0%,100%,.96);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 44px rgba(15,23,42,.26);color:var(--foreground);display:grid;grid-gap:10px;gap:10px;justify-items:center;min-width:260px;padding:20px 24px;text-align:center}.globalLoadingSpinner{animation:spin .9s linear infinite;border-radius:999px;border:3px solid #d9e2ec;border-top:3px solid var(--accent);height:36px;width:36px}@keyframes spin{to{transform:rotate(1turn)}}.drawer{box-shadow:-16px 0 42px rgba(15,23,42,.16);grid-template-rows:auto 1fr auto auto;max-width:520px;width:min(100%,520px)}.drawer,.passwordModal{background:var(--surface);display:grid;overflow:auto;padding:18px}.passwordModal{border:1px solid var(--line);border-radius:12px;box-shadow:0 22px 48px rgba(15,23,42,.22);grid-gap:12px;gap:12px;max-height:calc(100vh - 28px);width:min(100%,480px)}.drawerHeader{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:18px}.formGrid{display:grid;grid-gap:12px;gap:12px}.formGrid label{color:var(--muted);display:grid;grid-gap:6px;gap:6px}.formError,.formGrid label{font-size:13px;font-weight:700}.formError{background:#fee2e2;border-radius:8px;color:var(--red);margin-top:12px;padding:10px}.drawerActions{border-top:1px solid var(--line);justify-content:flex-end;margin-top:18px;padding-top:14px}.emptyState{color:var(--muted)}.authShell{background:var(--brand-dark)}.authShell,.loadingScreen{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.loadingScreen{background:radial-gradient(circle at top,#173652 0,#0f2438 58%)}.loadingCard{align-items:center;background:hsla(0,0%,100%,.96);border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 48px rgba(2,18,34,.3);display:grid;grid-gap:12px;gap:12px;justify-items:center;min-width:320px;padding:22px 24px}.loadingLogo{height:auto;max-width:250px;width:100%}.loadingText{color:var(--muted);font-size:14px;font-weight:700}.authPanel{background:var(--surface);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:18px;gap:18px;max-width:440px;padding:24px;width:100%}.authBrand{border-bottom:1px solid var(--line);display:flex;justify-content:center;margin:-4px -4px 2px;padding:0 0 14px}.authLogo{display:block;height:auto;max-width:300px;width:100%}.authCopy{color:var(--muted);margin-top:8px}.authTabs{background:var(--surface-soft);border-radius:8px;display:grid;grid-template-columns:1fr 1fr;padding:4px}.authTab{background:transparent;border:0;border-radius:6px;color:var(--muted);min-height:36px}.authTabActive{background:var(--surface);color:var(--foreground);font-weight:700}.authForm{display:grid;grid-gap:12px;gap:12px}.authForm label{color:var(--muted);display:grid;font-size:13px;font-weight:700;grid-gap:6px;gap:6px}.authForm input{border:1px solid var(--line);border-radius:8px;min-height:40px;padding:0 10px}.restrictedPanel{align-items:center;color:var(--muted);display:grid;justify-items:center;min-height:260px;padding:24px;text-align:center}.restrictedPanel h2{color:var(--foreground)}.modulePlaceholder{align-content:center;color:var(--accent-dark);display:grid;justify-items:center;min-height:420px;padding:32px;text-align:center}.modulePlaceholder h2{color:var(--foreground);font-size:32px;margin-top:14px}@media (max-width:1100px){.appShell{grid-template-columns:1fr}.sidebar{bottom:0;left:0;max-width:312px;overflow:auto;padding:12px;position:fixed;top:0;transform:translateX(-104%);transition:transform .2s ease;width:min(82vw,300px);z-index:50}.brand{min-height:68px;padding:8px 9px}.brandMarkImage{height:40px;width:40px}.brandTitleImage{height:35px;max-width:184px}.sidebarOpen{transform:translateX(0)}.moduleNav{display:grid;overflow-x:visible}.navItem{flex:0 0 auto}.certificateGrid,.certificateModeGrid,.collaboratorGrid,.collaboratorProfileGrid,.contentGrid{grid-template-columns:1fr}.workspace{padding:70px 16px 16px}.menuFabInline{order:-1}}@media (max-width:760px){.workspace{padding:64px 12px 12px}.panelHeader,.topbar{align-items:stretch;flex-direction:column}.topbar{gap:10px;padding:10px 11px}.topbarActions{flex-wrap:wrap;justify-content:flex-start}.topbarActions .primaryButton,.topbarActions .secondaryButton{min-width:38px;padding-inline:10px}.menuFabInline{min-width:38px;padding:0}.brand{min-height:62px;padding:7px 8px}.brandMarkImage{height:34px;width:34px}.brandTitleImage{height:30px;max-width:164px}.brand span{font-size:10px}.menuFabInline span:last-child{display:none}.metricsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{justify-content:stretch}.filters>*,.searchControl,.searchControl input{width:100%}h1{font-size:24px}.passwordModal{border-radius:10px;padding:14px;width:min(100%,420px)}.authBrand{margin:0 0 2px;padding-bottom:12px}.authLogo{max-width:260px}}@media (min-width:1101px){.menuFab{bottom:16px;left:16px;top:auto}.appShellMenuHidden .sidebar{display:none}.workspace{padding-top:66px}.menuFabInline,.sidebarBackdrop{display:none}}