@keyframes globalSettingsFadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.global-settings-card{position:relative;overflow:hidden;display:flex;flex-direction:column;width:100%;height:100%;min-height:200px;border:none;border-radius:8px;background-color:#fff;box-shadow:0 2px 8px #0000001f,0 1px 2px #0000000f;transition:all .3s cubic-bezier(.4,0,.2,1);animation:globalSettingsFadeInUp .4s cubic-bezier(.4,0,.2,1)}.global-settings-card:hover{box-shadow:0 4px 16px #00000029,0 2px 4px #00000014}.global-settings-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,#1976d280,#1976d200);pointer-events:none;z-index:0}.global-settings-card-content{flex:1;display:flex;flex-direction:column;position:relative;z-index:1;overflow:visible}.global-settings-card-dropdown-host{position:relative;overflow:visible;width:100%;padding-top:6px}.global-settings-card-dropdown-host .MuiFormControl-root{overflow:visible}.global-settings-card .MuiAutocomplete-popper,.global-settings-card .MuiAutocomplete-popperDisablePortal{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;z-index:2}.global-settings-card .MuiAutocomplete-popper .MuiPaper-root{width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.global-settings-card .MuiAutocomplete-listbox{max-height:none;overflow:visible;padding-top:0;padding-bottom:0}.global-settings-card .MuiAutocomplete-option{min-height:40px;padding-top:8px;padding-bottom:8px}.global-settings-card .MuiAutocomplete-option[aria-selected=true]{background-color:#1976d21f}.global-settings-card .MuiAutocomplete-option.Mui-focused{background-color:#1976d214}.global-settings-card-header{display:flex;align-items:center;gap:16px;margin-bottom:1px}.global-settings-card-icon{width:56px;height:56px;min-width:56px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:linear-gradient(135deg,#1976d24d,#1976d233);box-shadow:0 4px 12px #0000001a}.global-settings-card-icon svg{font-size:36px;color:#1976d2}.global-settings-card-title{font-family:Roboto,Helvetica,Arial,sans-serif!important;font-size:1.25rem!important;font-weight:600!important;line-height:1.6!important;color:#ff9800!important}.global-settings-card-action{display:flex;align-items:center}.global-settings-card-inner{flex:1;display:flex;flex-direction:column}.global-settings-grid-item{flex-basis:calc(50% - 8px);max-width:calc(50% - 8px)}@media(max-width:600px){.global-settings-grid-item{flex-basis:100%;max-width:100%}}@media(min-width:600px)and (max-width:960px){.global-settings-grid-item{flex-basis:100%;max-width:100%}}@media(min-width:960px){.global-settings-grid-item{flex-basis:calc(50% - 8px);max-width:calc(50% - 8px)}}.MuiStack-root>*:not(style):not(style){margin:0}.global-settings-card .MuiOutlinedInput-root,.global-settings-card .MuiInputBase-root,.global-settings-input.MuiOutlinedInput-root,.global-settings-input{min-height:56px;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:8px;padding-left:12px;padding-right:12px;box-sizing:border-box}.global-settings-card .global-settings-input.MuiOutlinedInput-root,.global-settings-input.MuiOutlinedInput-root{height:72px!important;min-height:72px}.global-settings-card .MuiOutlinedInput-root input,.global-settings-card .MuiInputBase-root input,.global-settings-input input{flex:1;min-width:0}.company-logo-card{position:relative;overflow:hidden;display:flex;flex-direction:column;width:100%;height:100%;min-height:200px;border:none;border-radius:8px;background-color:#fff;box-shadow:0 2px 8px #0000001f,0 1px 2px #0000000f;transition:all .3s cubic-bezier(.4,0,.2,1);animation:fadeInUp .4s cubic-bezier(.4,0,.2,1)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.company-logo-card:hover{box-shadow:0 4px 16px #00000029,0 2px 4px #00000014}.company-logo-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,#1976d280,#1976d200);pointer-events:none;z-index:0}.company-logo-card-content{flex:1;display:flex;flex-direction:column;position:relative;z-index:1}.company-logo-header{display:flex;align-items:center;gap:16px;margin-bottom:1px}.company-logo-icon{width:72px;height:72px;min-width:72px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:linear-gradient(135deg,#1976d24d,#1976d233);box-shadow:0 4px 12px #0000001a}.company-logo-icon svg{font-size:40px;color:#1976d2}.company-logo-title-container{flex:1;display:flex;align-items:center;justify-content:space-between}.company-logo-title-wrapper{flex:1;display:flex;align-items:center;gap:8px}.company-logo-title{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:1.25rem;font-weight:600;line-height:1.6;color:#ff9800}.company-logo-action{display:flex;align-items:center}.company-logo-content{flex:1;display:flex;flex-direction:column}.logo-preview-container{display:flex;flex-direction:row;gap:16px;align-items:center}.logo-preview-box{position:relative;width:120px;height:120px;border:2px solid;border-color:#0000001f;border-radius:16px;display:flex;align-items:center;justify-content:center;background-color:#00000005;overflow:hidden}.logo-preview-img{max-width:100%;max-height:100%;object-fit:contain}.logo-custom-badge{position:absolute;top:4px;right:4px;font-size:.65rem}.logo-upload-controls{flex:1;display:flex;flex-direction:column;gap:8px}.logo-upload-button,.logo-remove-button{width:100%;text-transform:none}.company-logo-grid-item{flex-basis:calc(50% - 8px);max-width:calc(50% - 8px)}@media(max-width:600px){.company-logo-grid-item{flex-basis:100%;max-width:100%}.logo-preview-container{flex-direction:column}}@media(min-width:600px)and (max-width:960px){.company-logo-grid-item{flex-basis:100%;max-width:100%}}@media(min-width:960px){.company-logo-grid-item{flex-basis:calc(50% - 8px);max-width:calc(50% - 8px)}.logo-preview-container{flex-direction:row}}.dashboard-layout-wrapper{height:100vh;display:flex;flex-direction:column;overflow:hidden}.dashboard-layout{flex:1;min-height:0;display:flex;background-color:#fff;width:100%;overflow:hidden}.main-content{flex:1;min-height:0;display:flex;flex-direction:column;margin-left:240px;transition:margin-left .3s ease;min-width:0;overflow:hidden}.main-content.sidebar-collapsed{margin-left:60px}.content-area{flex:1;min-height:0;padding:1rem .5rem;background:#f2f2f2;min-width:0;overflow-x:hidden;box-sizing:border-box;display:flex;flex-direction:column}.recordings-right-panel{overflow:hidden!important;scrollbar-width:none;-ms-overflow-style:none}.recordings-right-panel::-webkit-scrollbar{display:none!important}.recordings-right-panel .MuiCardContent-root{overflow:hidden!important;min-height:0}.recordings-right-panel .cam360-root,.recordings-right-panel .MuiPaper-root{max-width:100%;min-width:0}.recordings-right-panel:fullscreen{width:100vw;height:100vh;max-width:100vw;max-height:100vh;display:flex;flex-direction:column}@media print{@page{margin:0;size:auto}html:has(body.drawing-print-mode),body.drawing-print-mode{margin:0!important;padding:0!important;width:100%!important;height:auto!important}body.drawing-print-mode *{visibility:hidden!important}body.drawing-print-mode .recordings-drawing-print-area,body.drawing-print-mode .recordings-drawing-print-area *,body.drawing-print-mode .drawing-print-area,body.drawing-print-mode .drawing-print-area *{visibility:visible!important}body.drawing-print-mode .recordings-drawing-print-area .timelapse-print-hide-toolbar,body.drawing-print-mode .recordings-drawing-print-area .timelapse-print-hide-toolbar *,body.drawing-print-mode .drawing-print-area .timelapse-print-hide-toolbar,body.drawing-print-mode .drawing-print-area .timelapse-print-hide-toolbar *{visibility:hidden!important;display:none!important}body.drawing-print-mode .recordings-drawing-print-area,body.drawing-print-mode .drawing-print-area{position:fixed!important;left:0!important;top:0!important;right:0!important;bottom:0!important;width:100vw!important;max-width:100%!important;min-height:100vh!important;height:100vh!important;max-height:100vh!important;overflow:visible!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;box-sizing:border-box!important;padding:4mm!important;margin:0!important;background:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}body.drawing-print-mode .recordings-drawing-print-area *,body.drawing-print-mode .drawing-print-area *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}body.drawing-print-mode .recordings-print-caption{display:block!important;visibility:visible!important;flex-shrink:0!important;width:100%!important;max-width:100%!important;text-align:center!important;margin:0 auto 6px!important;padding:0 4mm 6px!important;border-bottom:1px solid #ccc!important;box-sizing:border-box!important}body.drawing-print-mode .recordings-print-content-wrap{flex:1 1 auto!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;max-width:100%!important;min-height:0!important;overflow:visible!important}body.drawing-print-mode .recordings-drawing-print-area .pin-image-container-root{overflow:visible!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;flex:0 1 auto!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important}body.drawing-print-mode .recordings-drawing-print-area .pin-image-container-root>.MuiBox-root{width:100%!important;max-width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:1 1 auto!important;min-height:0!important}body.drawing-print-mode .recordings-drawing-print-area .inline-image-print-scroll,body.drawing-print-mode .drawing-print-area .inline-image-print-scroll{overflow:visible!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;flex:1 1 auto!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;background:#fff!important}body.drawing-print-mode .recordings-drawing-print-area .inline-image-print-padding-wrap,body.drawing-print-mode .drawing-print-area .inline-image-print-padding-wrap{padding:0!important;margin:0 auto!important;min-width:0!important;min-height:0!important;width:auto!important;max-width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important}body.drawing-print-mode .recordings-drawing-print-area .inline-image-print-scale-wrap,body.drawing-print-mode .drawing-print-area .inline-image-print-scale-wrap{width:auto!important;height:auto!important;max-width:100%!important;max-height:100vh!important;display:flex!important;align-items:center!important;justify-content:center!important}body.drawing-print-mode .recordings-drawing-print-area .inline-image-print-transform,body.drawing-print-mode .drawing-print-area .inline-image-print-transform{transform:none!important;transition:none!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100vh!important;position:relative!important;margin:0 auto!important}body.drawing-print-mode .recordings-drawing-print-area .inline-image-print-img,body.drawing-print-mode .drawing-print-area .inline-image-print-img{max-width:100%!important;width:auto!important;height:auto!important;max-height:100vh!important;object-fit:contain!important;box-shadow:none!important;margin:0 auto!important;display:block!important}}.header{background:#212121;padding:1rem 2rem;height:80px;display:flex;justify-content:space-between;position:sticky;top:0;align-content:center;align-items:center;z-index:50;border-radius:8px;margin:.5rem;margin-bottom:0}.header-left{display:flex;align-items:center;gap:1rem}.mobile-menu-btn{display:none;background:none;border:none;font-size:1.25rem;color:#374151;cursor:pointer;padding:.5rem;border-radius:.375rem}.mobile-menu-btn:hover{background:#f3f4f6}.page-title{font-weight:400;font-size:30px;line-height:45px;letter-spacing:0px;color:#2932e5;margin:0}.header-title{font-weight:400;font-size:30px;line-height:45px;letter-spacing:0px;color:#fff;margin:0}.page-subtitle{font-weight:400;font-style:Regular;font-size:14px;leading-trim:NONE;line-height:21px;letter-spacing:0px;color:#4a5565}.logo-time{color:#2932e5}.logo-machine,.current-page{color:#1f2937}.header-right{display:flex;align-items:center}.header-actions{display:flex;align-items:center;gap:1rem}.notification-btn{background:none;border:none;font-size:1.25rem;color:#fff;cursor:pointer;padding:.5rem;border-radius:.375rem;transition:background-color .2s ease;display:flex;align-items:center;justify-content:center}.notification-btn:hover{background:#ffffff1a;color:#fff}.user-menu{position:relative}.user-menu-btn{display:flex;align-items:center;gap:.75rem;background:none;border:none;cursor:pointer;padding:.5rem 1rem;border-radius:.5rem;transition:background-color .2s ease}.user-menu-btn:hover{background:#f3f4f6}.user-avatar{width:40px;height:40px;border-radius:50%;background:#2932e5;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;border:2px solid #E5E7EB}.user-name{font-weight:500;color:#374151;font-size:.875rem}.dropdown-arrow{color:#9ca3af;font-size:.75rem;transition:transform .2s ease}.user-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;min-width:200px;z-index:100}.dropdown-header{padding:1rem}.dropdown-user-info{text-align:left}.dropdown-user-name{font-weight:600;color:#1f2937;font-size:.875rem}.dropdown-user-email{color:#6b7280;font-size:.75rem;margin-top:.25rem}.dropdown-divider{border-top:1px solid #e5e7eb}.dropdown-menu{padding:.5rem 0}.dropdown-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:none;border:none;text-align:left;color:#374151;font-size:.875rem;cursor:pointer;transition:background-color .2s ease}.dropdown-item:hover{background:#f3f4f6}.dropdown-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10}.sidebar{position:fixed;left:0;top:0;height:100vh;width:240px;background:#212121;color:#fff;display:flex;flex-direction:column;transition:width .3s ease;z-index:1000;box-shadow:2px 0 10px #0000001a;border-radius:20px 20px 0 0}.sidebar.collapsed{width:80px}.sidebar-header{display:flex;align-items:center;justify-content:center;min-height:80px}.logo{display:flex;align-items:center;gap:.75rem;height:48px;width:120px}.logo-icon{font-size:1.5rem;width:32px;text-align:center}.logo-text{font-size:1.5rem;font-weight:700;letter-spacing:-.025em;color:#2932e5}.sidebar-nav{flex:1;padding:1rem 0}.nav-list{list-style:none;margin:0;padding:0}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:none;border:none;color:#fff;text-decoration:none;transition:all .2s ease;cursor:pointer;width:100%;text-align:left;font-size:.875rem}.nav-link:hover{background:#ffffff1a;color:#fff}.nav-link.active{background:#ff855533;border-right:3.2px solid #FF8555;color:#fff;font-weight:500;position:relative}.nav-link.active:after{position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);width:0;height:0;border-left:8px solid #2932E5;border-top:8px solid transparent;border-bottom:8px solid transparent}.nav-link.has-submenu{position:relative}.submenu-arrow{margin-left:auto;font-size:12px;transition:transform .2s ease}.submenu-arrow.expanded{transform:rotate(180deg)}.submenu{list-style:none;padding:0;margin:8px 0 0;background-color:#f3f4f6;border-radius:8px;overflow:hidden}.submenu-item{margin:0}.submenu-link{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem .5rem 3rem;background:none;border:none;color:#6b7280;text-decoration:none;cursor:pointer;transition:all .2s ease;font-size:.8rem;text-align:left;width:100%;border-radius:4px}.submenu-link:hover{background-color:#e5e7eb;color:#374151;transform:translate(4px)}.submenu-link.active{color:#2932e5;font-weight:500}.submenu-icon{font-size:14px}.submenu-label{white-space:nowrap}.nav-icon{font-size:1.125rem;width:20px;text-align:center;flex-shrink:0;color:#fff}.nav-icon svg{color:#fff;stroke:#fff}.nav-label{flex:1;white-space:nowrap;overflow:hidden}.sidebar-footer{padding:1rem 1.5rem;border-top:1px solid #E5E7EB}.footer{background-color:#fafafa;border-top:1px solid #F3F4F6;margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding:0 1rem;position:sticky;width:100%;bottom:0;z-index:100}.footer-content{display:flex;justify-content:space-between;align-items:center;padding:0 1rem;width:100%}.footer-left{flex:1;text-align:left}.footer-center{flex:1;text-align:center}.footer-right{flex:1;text-align:right}.ready-text{font-size:.875rem;color:#6b7280;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.copyright-text{font-size:.875rem;color:#6b7280;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.allcad-logo{display:inline-flex;align-items:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:600;font-size:1rem}.logo-image{width:auto;max-width:14rem;object-fit:contain}.logo-text-fallback{display:inline-flex;align-items:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:600;font-size:1rem}.logo-a{color:#3b82f6;position:relative}.logo-a:before{content:"";position:absolute;top:-2px;left:-3px;width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:4px solid #ef4444}.logo-ll{color:#10b981}.logo-cad{color:#1e40af}@media(max-width:768px){.main-content,.main-content.sidebar-collapsed{margin-left:0;width:100vw}.header{padding:0 1rem}.mobile-menu-btn{display:block}.page-title{font-size:1.25rem}.footer-content{flex-direction:column;gap:.5rem;text-align:center}.footer-left,.footer-center,.footer-right{flex:none;text-align:center}.ready-text,.copyright-text{font-size:.75rem}.allcad-logo{font-size:.875rem}.user-name{display:none}.sidebar{transform:translate(-100%);transition:transform .3s ease}.sidebar.open{transform:translate(0)}.sidebar.collapsed{width:280px;transform:translate(-100%)}}html,body{overscroll-behavior:none}body{font-family:Roboto,sans-serif;font-weight:400;font-style:Regular;font-size:14px;line-height:1.5}.login-container{position:relative;width:100vw;height:100vh;display:flex;overflow:hidden;background:#fff}.login-left-panel{position:relative;width:60%;height:100%;display:flex;align-items:center;color:#fff;background:url(/assets/login-background-DklAg9Ho.png) center/cover no-repeat;overflow:hidden}.login-left-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url(/assets/login-background-DklAg9Ho.png) center/cover no-repeat;opacity:.8;z-index:-1}.login-branding{max-width:550px;margin-left:3rem}.logo-image{width:120px;height:48px;object-fit:contain;position:relative}.logo-footer{max-width:10rem;object-fit:contain;padding:.5rem}.login-copyright{font-size:1rem;color:#6b7280;text-align:center;margin-top:2rem}.set-password-message{font-size:1rem;color:#6b7280;text-align:center;margin:0 0 1.5rem}.brand-title{font-family:Inter,sans-serif;font-weight:900;font-size:72px;line-height:1.2;color:#f26a56;margin-bottom:8vh;text-align:start}.brand-subtitle{font-size:4rem;font-weight:500;bottom:4rem;position:absolute;font-style:italic}.brand-features{margin-bottom:10vh;font-size:18px;line-height:1.8}.feature-item{margin-bottom:6px;margin-left:16px}.feature-item-bullet{margin-right:8px}.brand-tagline{font-size:28px;color:#f26a56}.login-right-panel{width:40%;background:#fff;display:flex;align-items:center;justify-content:center}.login-form-container{width:360px;text-align:left}.form-title{font-family:Inter,sans-serif;font-size:28px;font-weight:700;margin-bottom:8vh;color:#333;text-align:start;display:flex;justify-content:center}.form-subtitle{margin-bottom:10px}.form-description{margin-bottom:20px}.title-orange{color:#f26a56}.login-form{display:flex;flex-direction:column;gap:20px;margin-top:1.5rem}.form-group input:not([type=checkbox]){width:100%;padding:12px 14px;border:1px solid #ccc;border-radius:6px;font-size:15px;font-family:Inter,sans-serif;transition:all .3s ease}.form-group input:not([type=checkbox]):focus{outline:none;border-color:#5055f5}.form-group input:not([type=checkbox]).error{border-color:#ef4444}.form-group-checkbox{margin-top:-8px}.remember-me-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#374151}.remember-me-label input[type=checkbox]{width:16px;height:16px;min-width:16px;min-height:16px;padding:0;margin:0;flex-shrink:0;cursor:pointer;accent-color:#5055f5}.error-message{color:#dc2626;font-size:12px;margin-top:4px;margin-bottom:1rem}.otp-sent-message{background-color:#e6ffed;color:#057a55;font-size:.95rem;text-align:center;padding:10px 14px;border-radius:8px;border:1px solid #a7f3d0;animation:fadeIn .3s ease-in-out}.login-button{background-color:#5055f5;color:#fff;font-weight:700;border:none;padding:14px;border-radius:6px;cursor:pointer;transition:all .3s ease;box-shadow:1px 10px 20px #00000024}.login-button:hover:not(:disabled){background-color:#3d4af0;transform:translateY(-1px)}.login-button:disabled{opacity:.6;cursor:not-allowed}.error-alert{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#f87171;padding:10px 15px;border-radius:8px;text-align:center;font-size:14px}.session-conflict-alert{background:#fee2e2;border:none;color:#991b1b;padding:20px 22px;border-radius:12px;font-size:14px;line-height:1.5;text-align:left}.session-conflict-alert-title{margin:0 0 8px;font-weight:700;color:#991b1b}.session-conflict-alert-body{margin:0;font-weight:400;color:#991b1b}.login-action-row{display:flex;gap:12px}.login-button-secondary{flex:1;background:#fff;color:#111827;font-weight:600;border:1px solid #d1d5db;padding:14px;border-radius:6px;cursor:pointer;transition:all .2s ease}.login-button-secondary:hover:not(:disabled){background:#f9fafb}.login-button-secondary:disabled{opacity:.6;cursor:not-allowed}.login-action-row .login-button{flex:1}.session-ended-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100001;background:#111827b8;display:flex;align-items:center;justify-content:center;padding:24px;pointer-events:auto;touch-action:none;margin:0;border:none;width:auto;height:auto;max-width:none;max-height:none;color:inherit}.session-ended-modal{width:min(420px,100%);background:#fff;border-radius:16px;padding:40px 32px 32px;text-align:center;box-shadow:0 24px 48px #0000002e}.session-ended-icon-wrap{display:flex;justify-content:center;margin-bottom:16px}.session-ended-icon{font-size:48px!important;color:#f59e0b}.session-ended-title{margin:0 0 16px;font-size:22px;font-weight:700;color:#111827}.session-ended-primary{margin:0 0 8px;font-size:15px;font-weight:500;color:#374151;line-height:1.5}.session-ended-secondary{margin:0 0 8px;font-size:15px;font-weight:400;color:#6b7280;line-height:1.5}.session-ended-line{margin:0 0 8px;font-size:15px;color:#6b7280;line-height:1.5}.session-ended-login-btn{margin-top:28px;min-width:160px;background:#5055f5;color:#fff;font-weight:700;border:none;padding:12px 32px;border-radius:10px;cursor:pointer;font-size:15px}.session-ended-login-btn:hover{background:#3d4af0}.auth-boot-loader{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#6b7280;background:#fff}.auth-boot-loader p{margin:0;font-size:14px}.login-footer{margin-top:20px;display:flex;align-items:center;gap:8px;font-size:14px}.forgot-text{color:#333;font-weight:400}.forgot-link{color:#333;font-weight:700;text-decoration:underline;transition:color .3s ease}.forgot-link:hover{color:#5055f5}.users-page,.roles-page,.permissions-page{margin:0 auto}.breadcrumbs{min-width:322.85px;min-height:49px;gap:1px;opacity:1;font-size:.875rem;color:#6b7280;padding:1rem 1.5rem;display:flex;flex-direction:column}.breadcrumb-item{font-weight:400;font-style:normal;font-size:16px;line-height:24px;letter-spacing:0px;color:#ff8555;white-space:nowrap;overflow:visible}.breadcrumb-Desc{min-height:21px;opacity:1;position:relative;top:.13px;margin-top:-7px;font-family:Roboto,sans-serif;font-weight:400;font-style:normal;font-size:14px;line-height:21px;letter-spacing:0px;color:#4a5565;white-space:nowrap;overflow:visible}.breadcrumb-item:hover{color:#374151}.breadcrumb-separator{color:#9ca3af}.page-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px;opacity:1;border-radius:10px;border:1.07px solid #f3f4f6;border-top:1.07px solid #f3f4f6;background:#f2f2f2;box-shadow:0 1px 2px -1px #0000001a,0 1px 3px #0000001a;margin-bottom:1rem}.header-left h1.page-title{font-size:2rem;font-weight:700;color:#1f2937}.page-subtitle{margin:0;color:#6b7280;font-size:1rem}.header-right .btn{padding:.3rem 1rem;border-radius:8px;border:1.07px solid #d1d5dc;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;box-shadow:none!important;font-size:14px;font-weight:500;font-style:Medium;line-height:20px;letter-spacing:0px;text-transform:none}.btn-primary{min-width:95px;padding:.75rem!important;opacity:1;border-radius:10px;border:1.07px solid #d1d5dc;background:#fafafa;color:#404040;font-family:Roboto,sans-serif;font-weight:500;font-style:normal;font-size:14px;line-height:20px;letter-spacing:0px;text-transform:none;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;transition:all .2s ease}.btn-primary:hover{background-color:#2932e5}.btn-secondary{background-color:transparent;color:#374151;border:1px solid #e5e7eb;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:5px;text-transform:none;font-size:14px;font-weight:500;font-style:normal;line-height:20px;letter-spacing:0px}.btn-secondary:hover{background-color:#ffebee;border-color:#f26a56}.btn-filters{background-color:#fafafa;border:2px solid #d1d5dc;padding:.75rem;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;white-space:nowrap;max-width:fit-content}.page-filters{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:center;flex-wrap:wrap}.search-filters-container{display:flex;align-items:center;gap:7rem;justify-content:flex-start}.search-container{position:relative;max-width:400px;min-width:200px}.search-input{width:25rem;padding:.75rem 1rem .75rem 2.5rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;background:#fff}.search-input:focus{outline:none;border-color:#2932e5;box-shadow:0 0 0 3px #f45b491a}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#9ca3af}.filter-actions{display:flex;gap:.5rem}.active-filters{display:flex;flex-direction:column;gap:.5rem;margin-right:1rem}.filter-count{background-color:#dbeafe;color:#1e40af;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500;align-self:flex-start}.filter-tags{display:flex;gap:.5rem;flex-wrap:wrap}.filter-tag{background-color:#f3f4f6;color:#374151;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:500;border:1px solid #e5e7eb}.filter-select{padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;background:#fff}.users-table-container,.roles-table-container,.permissions-table-container{background:#f2f2f2;border-radius:12px;overflow:hidden;border-top:1.07px solid #f3f4f6;box-shadow:0 1px 2px -1px #0000001a,0 1px 3px #0000001a}.roles-cards-container{width:100%}.roles-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,365.47px);gap:1.5rem;padding:1rem 0;justify-content:start}.role-card{width:365.47px;height:373.27px;opacity:1;border-radius:14px;border:1.07px solid #e5e7eb;border-top:1.07px solid #e5e7eb;background:#f2f2f2;padding:1.5rem;box-shadow:0 1px 2px -1px #0000001a,0 1px 3px #0000001a;transition:all .3s ease;display:flex;flex-direction:column;justify-content:space-between;gap:.75rem}.role-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-2px)}.role-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.role-icon{width:48px;height:48px;padding-right:0;opacity:1;border-radius:10px;display:flex;align-items:center;justify-content:center}.role-shield-icon{width:32px;height:32px;object-fit:contain}.action-dropdown-btn-vertical{background:transparent;border:none;cursor:pointer;padding:.25rem .5rem;color:#6b7280;font-size:1.5rem;line-height:1;transition:color .2s ease}.action-dropdown-btn-vertical:hover{color:#374151}.role-card-name{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0 0 .35rem}.role-card-description{font-size:.875rem;color:#6b7280;margin:0;line-height:1.5;flex:1;max-height:4.5em;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical}.role-card-field{display:flex;flex-direction:column;gap:.35rem}.role-card-field .permissions-container{display:flex;gap:.5rem;flex-wrap:wrap}.permissions-container-full{display:flex;gap:.5rem;flex-wrap:wrap;width:100%;margin-top:auto;padding-top:.5rem;min-height:60px;align-content:flex-start}.role-card-label{font-size:.75rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.role-card-value{font-size:.875rem;color:#4a5565;margin:0;line-height:1.5}.role-users-header{display:flex;justify-content:space-between;align-items:center}.role-users-count{font-size:.875rem;font-weight:600;color:#4a5565}.role-progress-bar{width:100%;height:8px;background-color:#e5e7eb;border-radius:10px;overflow:hidden;margin-top:.5rem}.role-progress-fill{height:100%;background:linear-gradient(90deg,#2932e5,#4f5bff);border-radius:10px;transition:width .3s ease}@media(max-width:1600px){.roles-cards-grid{grid-template-columns:repeat(auto-fit,365.47px);justify-content:center}}@media(max-width:1200px){.roles-cards-grid{grid-template-columns:repeat(auto-fit,minmax(320px,365.47px));justify-content:center}.role-card{width:100%;max-width:365.47px}}@media(max-width:640px){.roles-cards-grid{grid-template-columns:1fr}.role-card{width:100%;max-width:100%}}.users-table,.roles-table,.permissions-table{width:100%;border-collapse:collapse}.users-table th,.roles-table th,.permissions-table th{background-color:#f2f2f2;padding:1rem;text-align:left;font-weight:400;color:#4a5565;border-bottom:1px solid #e5e7eb;font-size:.875rem}.users-table td,.roles-table td,.permissions-table td{padding:1rem;border-bottom:1px solid #f3f4f6;vertical-align:middle;background-color:#f2f2f2;color:#4a5565;font-weight:400}.users-table tr:hover td,.roles-table tr:hover td,.permissions-table tr:hover td{background-color:#f9fafb}.users-table tr,.roles-table tr,.permissions-table tr{border-bottom:2px solid #e5e7eb}.user-info,.role-info,.permission-info{align-items:center;gap:.75rem}.user-info{position:relative}.status-indicator{width:16px;height:16px;border-radius:50%;margin-right:.5rem;flex-shrink:0}.status-indicator.active{background-color:#4caf50;size:16px}.status-indicator.inactive{background-color:#f44336}.user-avatar,.role-avatar,.permission-avatar{width:40px;height:40px;border-radius:50%;background-color:#2932e5;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}.role-avatar{background-color:#10b981}.permission-avatar{background-color:#f59e0b}.user-name,.role-name,.permission-name{font-weight:400;color:#4a5565;cursor:pointer;text-decoration:none}.roles-container,.permissions-container{display:flex;gap:.25rem;flex-wrap:wrap}.role-badge,.permission-badge{color:#4a5565;padding:.25rem .5rem;border-radius:5px;font-size:.75rem;font-weight:500;border:1px solid #e5e7eb}.status-badge{background-color:#2932e5;color:#fff;padding:.25rem .5rem;border-radius:5px;font-size:.75rem;font-weight:500;border:1px solid #2932e5}.status-badge-role{background-color:#2932e5;color:#fff!important;padding:.25rem .5rem;border-radius:5px;font-size:.75rem;font-weight:500;border:1px solid #2932e5}.status-badge.inactive{background-color:#fb2c36;border:1px solid #fb2c36}.permission-badge{background-color:#2932e515;color:#2932e5}.permission-badge.more{background-color:#0a108215;color:#2932e5}.category-badge{background-color:#ffebee;color:#2932e5;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500;border:1px solid #ffcdd2}.action-badge{background-color:#e3f2fd;color:#1976d2;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500;border:1px solid #bbdefb}.no-permissions,.no-roles{color:#9ca3af;font-style:italic;font-size:.875rem}.status-toggle{padding:.25rem .75rem;border-radius:20px;border:none;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease}.status-toggle.active{background-color:#4caf50;color:#fff}.status-toggle.inactive{background-color:#f44336;color:#fff}.action-buttons{display:flex;gap:.5rem}.btn-icon{width:16px;height:16px;opacity:1;border:none;background:transparent;font-size:16px;line-height:16px;display:inline-flex;align-items:center;justify-content:center}.btn-edit:hover{background-color:#dbeafe;transform:scale(1.05)}.btn-delete:hover{background-color:#fef2f2;transform:scale(1.05)}.action-dropdown{position:relative;display:inline-block}.action-dropdown-btn{width:2rem;height:2rem;border:none;border-radius:.375rem;background-color:transparent;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:1.2rem}.action-dropdown-btn:hover{background-color:#f3f4f6;color:#374151}.action-dropdown-menu{position:absolute;top:100%;right:0;margin-top:0;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;min-width:150px;z-index:1000!important;display:block}.action-dropdown-menu:before{content:"";position:absolute;top:-.5rem;left:0;right:0;height:.5rem;background:transparent}.action-dropdown-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:none;border:none;text-align:left;color:#374151;font-size:.875rem;cursor:pointer;transition:background-color .2s ease}.action-dropdown-item:hover{background:#f3f4f6}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:2rem 2rem 1rem;border-bottom:none}.modal-header h2{margin:0;font-size:1.5rem;font-weight:700;color:#1f2937}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:.5rem;border-radius:8px;transition:all .2s ease}.modal-close:hover{background-color:#f3f4f6;color:#374151}.modal-body{padding:1rem 2rem}.user-form,.role-form,.permission-form,.camera-form{display:flex;flex-direction:column;gap:1.5rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.75rem}.form-group label{font-weight:500;color:#6b7280;font-size:.875rem;margin-bottom:.25rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:8px;font-size:.875rem;background-color:#f9fafb;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#2932e5;background-color:#fff}.form-group textarea{resize:vertical;min-height:80px}.password-input-container{position:relative;display:flex;align-items:center}.password-input-container input{padding-right:3rem;width:100%}.password-toggle{position:absolute;right:1rem;cursor:pointer;color:#6b7280;font-size:1rem;background:transparent;border:none;padding:0;display:inline-flex;align-items:center;justify-content:center;line-height:1}.password-toggle:hover{color:#374151}.password-toggle:disabled{cursor:not-allowed;opacity:.6}.toggle-container{margin-top:.5rem}.toggle-label{display:flex;align-items:center;gap:1rem;cursor:pointer}.toggle-text{font-weight:500;color:#374151;font-size:.875rem}.toggle-switch{display:flex;align-items:center;gap:.75rem}.toggle-input{display:none}.toggle-slider{position:relative;width:60px;height:32px;background-color:#e5e7eb;border-radius:16px;transition:all .3s ease;cursor:pointer}.toggle-knob{position:absolute;top:2px;left:2px;width:28px;height:28px;background-color:#fff;border-radius:50%;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.toggle-input:checked+.toggle-slider{background-color:#4caf50}.toggle-input:checked+.toggle-slider .toggle-knob{transform:translate(28px)}.toggle-status{font-weight:500;color:#374151;font-size:.875rem;min-width:20px}.permission-builder{margin-bottom:1.5rem;padding:1rem;background-color:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.permission-builder h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:#374151}.builder-divider{text-align:center;margin:1rem 0;color:#6b7280;font-weight:500;position:relative}.builder-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background-color:#e5e7eb;z-index:1}.builder-divider:after{content:"OR";background-color:#f9fafb;padding:0 1rem;position:relative;z-index:2}.permissions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.75rem;max-height:300px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:6px;padding:1rem;justify-items:start}.checkbox-label{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:6px;cursor:pointer;transition:background-color .2s ease}.checkbox-label:hover{background-color:#f3f4f6}.checkbox-label input[type=checkbox]{margin:0;margin-top:.125rem}.checkbox-label span{font-size:.875rem;color:#374151;font-weight:500}.permission-description{display:block;font-size:14px;color:#4a5565;margin-top:.25rem;font-style:italic}.status-display{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:8px;background-color:#f9fafb}.form-sections-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.form-section{display:flex;flex-direction:column;gap:1.5rem}.form-help{color:#6b7280;font-size:.75rem;margin-top:.25rem}.form-hint{color:#6b7280;font-size:.75rem;margin-top:.25rem;font-style:italic}.field-error{color:#ef4444;font-size:.75rem;margin-top:.25rem}.form-error.submit-error{background-color:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:.75rem;border-radius:.5rem;font-size:.875rem;margin-bottom:1rem}.multi-select{min-height:100px;padding:.5rem}.multi-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem 2rem;border-top:none;background-color:transparent}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center}.loading-spinner{width:40px;height:40px;border:4px solid #f3f4f6;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state{padding:3rem;text-align:center;color:#6b7280}.pagination{display:flex;justify-content:space-between;align-items:center;padding:1rem}.pagination-info{color:#6b7280;font-size:.875rem}.pagination-controls{display:flex;align-items:center;gap:.5rem}.pagination button{padding:.5rem 1rem;border:1px solid #d1d5db;background:#fff;color:#374151;cursor:pointer;transition:all .2s ease;min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:100%}.pagination button:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}.pagination button.active{background-color:#2932e5;color:#fff;border-color:#2932e5}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination span{color:#6b7280;font-size:.875rem}.dashboard{margin:0 auto}.dashboard-header{margin-bottom:2rem}.dashboard-header h1{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.dashboard-header p{color:#6b7280;font-size:1rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;display:flex;align-items:center;gap:1rem;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}.stat-icon{font-size:2rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#2932e5;border-radius:12px;flex-shrink:0}.stat-content{flex:1}.stat-title{font-size:.875rem;color:#6b7280;margin:0 0 .5rem;font-weight:500}.stat-value{font-size:1.875rem;font-weight:700;color:#1f2937;margin-bottom:.25rem;display:block}.stat-change{font-size:.75rem;font-weight:500}.stat-change.positive{color:#059669}.stat-change.negative{color:#dc2626}.dashboard-content{margin-top:2rem}.content-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}.section-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.section-card h2{font-size:1.25rem;font-weight:600;color:#1f2937;margin-bottom:1.5rem}.chart-placeholder{height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f9fafb;border-radius:8px;border:2px dashed #d1d5db}.chart-bars{display:flex;align-items:end;gap:8px;height:120px;margin-bottom:1rem}.bar{width:20px;background:#2932e5;border-radius:2px 2px 0 0;animation:growUp .8s ease-out}@keyframes growUp{0%{height:0}to{height:var(--height, 100%)}}.chart-label{color:#6b7280;font-size:.875rem;margin:0}.activity-list{display:flex;flex-direction:column;gap:1rem}.activity-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f9fafb;border-radius:8px;transition:background-color .2s ease}.activity-item:hover{background:#f3f4f6}.activity-avatar{width:40px;height:40px;border-radius:50%;background:#2932e5;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;flex-shrink:0}.activity-content{flex:1}.activity-user{font-weight:500;color:#1f2937;font-size:.875rem}.activity-action{color:#6b7280;font-size:.75rem;margin:.25rem 0}.activity-time{color:#9ca3af;font-size:.75rem}.analytics-page{margin:0 auto}.analytics-content{margin-top:2rem}.settings-page{margin:0 auto}.settings-content{margin-top:2rem}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem}.settings-section{margin-bottom:2rem}.settings-form{display:flex;flex-direction:column;gap:1rem}.system-info{display:flex;flex-direction:column;gap:.75rem}.info-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #f3f4f6}.info-label{font-weight:500;color:#374151}.info-value{color:#6b7280}.status-online{color:#059669;font-weight:500}.form-select{padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;background:#fff}.form-select:focus{outline:none;border-color:#2932e5;box-shadow:0 0 0 3px #f45b491a}@media(max-width:768px){.dashboard-header h1{font-size:1.5rem}.stats-grid,.content-grid{grid-template-columns:1fr;gap:1rem}.stat-card,.section-card{padding:1rem}.chart-placeholder{height:200px}}@media(max-width:480px){.login-card{padding:2rem}.login-header h1{font-size:1.5rem}}.disabled{opacity:.5;cursor:not-allowed}.text-button-variant{text-transform:none;font-family:Roboto,sans-serif;font-size:14px;font-weight:500;color:#2932e5;outline:0px;margin:0;text-decoration:none;border-radius:10px;padding:5px 15px}.text-button-variant-hover{color:#2932e5}.text-button-variant-disabled{color:#9ca3af}.text-button-variant-active{color:#2932e5}.contained-button-variant{font-family:Roboto,sans-serif;font-size:14px;font-weight:500;background-color:#2932e5;color:#fff;border-radius:10px;padding:5px 15px;box-shadow:none}.contained-button-variant:hover{background-color:#1f28b8;box-shadow:none}.contained-button-variant:disabled{background-color:#c7caf5;color:#fff;opacity:1;box-shadow:none}.orange-outline-border{color:#ff8555!important;border-radius:14px!important;font-family:Roboto,sans-serif!important;cursor:pointer!important;border:1px solid rgb(255,133,85)!important;background-color:#ffe0d0!important}
