:root{color:#172033;background:#f3f5f7;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}header{color:#fff;background:#111827;justify-content:space-between;align-items:center;height:76px;padding:0 max(24px,5vw);display:flex;box-shadow:0 2px 12px #0002}.brand{align-items:center;gap:14px;display:flex}.brand>span{border:1px solid #fff5;border-radius:10px;place-items:center;width:42px;height:42px;font-size:12px;font-weight:800;display:grid}.brand div{flex-direction:column;gap:3px;display:flex}.brand small{color:#aeb7c6}.lang,header button,.welcome button{color:inherit;cursor:pointer;background:0 0;border:1px solid #fff4;border-radius:8px;padding:8px 12px}.auth{place-items:center;min-height:calc(100vh - 126px);padding:40px 20px;display:grid}.card{background:#fff;border:1px solid #dfe4ea;border-radius:14px;width:min(470px,100%);padding:28px;box-shadow:0 16px 44px #18213312}.tabs{border-bottom:1px solid #e5e7eb;grid-template-columns:1fr 1fr;margin:-8px 0 24px;display:grid}.tabs button{cursor:pointer;color:#667085;background:0 0;border:0;padding:14px}.tabs .active{color:#111827;border-bottom:2px solid #111827;font-weight:700}form,label{flex-direction:column;gap:7px;display:flex}form{gap:18px}label{font-size:14px;font-weight:600}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.grid>label{min-width:0}.grid input,.grid select{width:100%;min-width:0}.wide{grid-column:1/-1}input{background:#fff;border:1px solid #cbd2dc;border-radius:8px;padding:12px}.primary{color:#fff;cursor:pointer;background:#1d4d3b;border:0;border-radius:8px;padding:13px;font-weight:700}.primary:disabled{opacity:.6}.muted,.status{color:#667085;margin:0;font-size:13px}.status{color:#1d4d3b}.dashboard{max-width:1100px;min-height:calc(100vh - 126px);margin:0 auto;padding:48px 24px}.welcome{color:#fff;background:#1d4d3b;border-radius:14px;justify-content:space-between;align-items:center;padding:28px;display:flex}.welcome h1{margin:4px 0}.welcome p{color:#d6e3dc;margin:0}.cards{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px;display:grid}.cards article{background:#fff;border:1px solid #dfe4ea;border-radius:12px;min-height:180px;padding:22px}.cards h2{margin:14px 0 10px}.cards p{color:#667085}.num{color:#738092;font-size:12px;font-weight:800}footer{text-align:center;color:#6b7280;padding:16px;font-size:12px}@media (max-width:700px){header{height:auto;padding:16px}.brand small{display:none}.grid,.cards{grid-template-columns:1fr}.wide{grid-column:auto}.dashboard{padding:24px 16px}.welcome{align-items:flex-start;gap:20px}.auth{padding:24px 16px}}:where(.welcome,.overviewStrip,.adminTop,.visitorBoardWelcome){isolation:isolate;position:relative;overflow:hidden}:where(.welcome,.overviewStrip,.adminTop,.visitorBoardWelcome):after{content:"";z-index:-1;pointer-events:none;opacity:.96;background-image:linear-gradient(90deg,#1d4d3b 0%,#1d4d3bd6 16%,#1d4d3b75 38%,#1d4d3b1f 60%,#0000 74%),linear-gradient(#10182747,#10182747),url(/patterns/taz83-camouflage.webp);background-position:50%,50%,100%;background-repeat:no-repeat;background-size:100% 100%,100% 100%,auto 185%;position:absolute;inset:0 0 0 32%}@media (max-width:700px){:where(.welcome,.overviewStrip,.adminTop,.visitorBoardWelcome):after{opacity:.84;background-size:100% 100%,100% 100%,auto 155%;inset:0 0 0 36%}}.auth .card h1{margin-top:0}.authTextButton{color:#1d4d3b;cursor:pointer;text-align:left;background:0 0;border:0;padding:2px 0;font-weight:700}.authAlternative{margin-top:20px}.authAlternative a{color:#1d4d3b;font-weight:700}.authPrimaryLink{text-align:center;text-decoration:none;display:block}.joinPhotoDropzone{text-align:center;cursor:pointer;background:#f8fafb;border:2px dashed #aeb9c5;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:145px;padding:20px;transition:border-color .18s,background .18s,box-shadow .18s;display:flex;position:relative}.joinPhotoDropzone:hover,.joinPhotoDropzone.isDragging{background:#edf7f2;border-color:#1d5a46;box-shadow:0 0 0 4px #1d5a4618}.joinPhotoDropzone.hasPhoto{background:#f1f7f4;border-style:solid;border-color:#8cb6a3}.joinPhotoDropzone>input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.joinPhotoDropzone>strong,.dropzonePhotoSelected strong{color:#1d4d3b}.joinPhotoDropzone>span,.dropzonePhotoSelected span{color:#667085;font-weight:500}.joinPhotoDropzone>small{color:#667085;font-weight:400;line-height:1.4}.dropzonePhotoSelected{text-align:left;align-items:center;gap:14px;width:100%;display:flex}.dropzonePhotoSelected img{object-fit:cover;border-radius:10px;flex:0 0 82px;width:82px;height:82px}.dropzonePhotoSelected div{flex-direction:column;gap:4px;min-width:0;display:flex}.dropzonePhotoSelected b{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;overflow:hidden}.dropzoneRemove{color:#a1372c;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-weight:700}.joinConsent{background:#f1f7f4;border:1px solid #cdded5;border-radius:9px;flex-direction:row;align-items:flex-start;padding:13px;line-height:1.45}.joinConsent input{flex:none;width:auto;margin-top:3px}.joinConsent span{font-weight:500}.auth .card select{font:inherit;background:#fff;border:1px solid #cbd2dc;border-radius:8px;padding:12px}
html,body{max-width:100%;overflow-x:hidden}img,svg{max-width:100%;height:auto}input,select,textarea,button{min-width:0;max-width:100%}.mobileMainToggle,.mobileMainBackdrop{display:none}@media (max-width:900px){.appShell{min-height:100svh;display:block}.appContent{width:100%;min-width:0}.appSidebar{z-index:80;width:min(86vw,300px);transition:transform .2s;inset:0 auto 0 0;overflow-y:auto;transform:translate(-105%);height:100svh!important;padding:22px 16px!important;position:fixed!important}.mobileMainNavOpen .appSidebar{transform:translate(0)}.mobileMainToggle{z-index:100;color:#172033;background:#fff;border:1px solid #cbd2dc;border-radius:8px;width:42px;height:42px;font-size:20px;display:block;position:fixed;top:14px;left:14px}.mobileMainBackdrop{z-index:70;background:#10182799;border:0;display:block;position:fixed;inset:0}.appTopbar{height:70px;padding:0 14px 0 68px}.appTopbar>div{min-width:0}.appTopbar b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.demoDashboard{width:100%;padding:24px 16px}.dashboardHeading{gap:12px}.dashboardHeading h1{overflow-wrap:anywhere;font-size:clamp(23px,7vw,30px)}.profileMark{flex:0 0 44px;width:44px;height:44px}.cockpitGrid{grid-template-columns:1fr!important}.programCard{grid-column:auto!important}.cockpitCard{min-height:0;padding:17px}.quickLinks{grid-template-columns:repeat(2,minmax(0,1fr))}.quickLinks a{overflow-wrap:anywhere;gap:8px;min-width:0}.programList article{grid-template-columns:52px minmax(0,1fr)}.adminShell,.sidebarCollapsed{min-height:100svh;display:block}.adminWorkspace{width:100%;min-width:0}.adminSidebar,.sidebarCollapsed .adminSidebar{z-index:80;width:min(86vw,300px);transition:transform .2s;inset:0 auto 0 0;overflow-y:auto;transform:translate(0);height:100svh!important;padding:22px 16px!important;position:fixed!important}.sidebarCollapsed .adminSidebar{transform:translate(-105%)}.sidebarCollapsed .collapseAdmin{visibility:visible;z-index:100;color:#172033;background:#fff;border-color:#cbd2dc;width:42px;height:42px;position:fixed;top:14px;left:14px;right:auto}.adminSidebar .collapseAdmin{z-index:100;position:fixed;top:14px;left:min(86vw - 54px,246px);right:auto}.sidebarCollapsed .adminBrand,.sidebarCollapsed .adminSidebar nav,.sidebarCollapsed .viewSwitch{visibility:visible}.adminBar{height:70px;padding:0 14px 0 68px}.adminBar>div{min-width:0}.adminBar b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.adminPage{width:100%;min-height:calc(100svh - 70px);padding:20px 14px}.adminTop{flex-direction:column;align-items:flex-start;padding:18px}.adminTop h1{font-size:25px}.adminTop a,.adminTop button{text-align:center;width:100%}.adminColumns,.qrAdminGrid,.contactGrid,.weekGrid,.personnelForms{grid-template-columns:1fr!important}.adminCard{min-width:0;padding:18px}.adminList>div{grid-template-columns:minmax(0,1fr) auto}.adminList span{overflow-wrap:anywhere}.adminList select{width:100%;min-width:0}.more{grid-area:1/2/3!important}.more>div{left:auto!important;right:0!important}.stockGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.personnelTable>article,.grid{grid-template-columns:1fr}.documentItem{grid-template-columns:auto minmax(0,1fr)}.visitorList article{grid-template-columns:1fr}.presenceCard{flex-direction:column;align-items:stretch}.task>div{flex-direction:column;align-items:flex-start}.permanentQrGrid{grid-template-columns:1fr}}@media (max-width:420px){.quickLinks{grid-template-columns:1fr}.stockGrid{grid-template-columns:1fr 1fr}.cockpitCard{padding:15px}.appTopbar small,.adminBar small{display:none}.brand b{font-size:14px}.auth{padding:20px 12px}.card{padding:22px 18px}}
.brandLogos{flex:none;align-items:center;gap:.45rem;display:inline-flex}.brandLogos img{object-fit:contain;width:46px;height:46px;display:block}.brandLogosCompact img{width:38px;height:38px}.bannerBrand{align-items:center;gap:.8rem;min-width:0;display:flex}.bannerBrand>.brandLogos{border-left:1px solid #94a3b873;padding-left:.8rem}header .bannerBrand>.brandLogos{border-left-color:#ffffff4d}header .bannerBrand{flex:auto}header .brand,header .brand>div{min-width:0}header .brand b{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}@media (max-width:720px){.brandLogos{gap:.25rem}.brandLogos img,.brandLogosCompact img{width:32px;height:32px}.bannerBrand{gap:.55rem}.bannerBrand>.brandLogos{padding-left:.55rem}}@media (max-width:380px){.brandLogos img,.brandLogosCompact img{width:28px;height:28px}}
:where(.adminTop,.welcome,.overviewStrip,.visitorBoardWelcome) :where(a,button):not(.danger){color:#fff;cursor:pointer;background:#247554;border:1px solid #34916c;border-radius:8px;padding:10px 14px;font-weight:750;text-decoration:none;box-shadow:0 4px 12px #10261e2b}:where(.adminTop,.welcome,.overviewStrip,.visitorBoardWelcome) :where(a,button):not(.danger):hover{background:#1b6044;border-color:#2b8060}:where(.adminTop,.welcome,.overviewStrip,.visitorBoardWelcome) :where(a,button):disabled{cursor:not-allowed;opacity:.55}@media (max-width:760px){.adminTop{flex-direction:column}.adminTop>a,.adminTop>button,.adminTop>div:last-child{width:100%}.adminTop>div:last-child>a,.adminTop>div:last-child>button{flex:1}}
