@font-face{font-family:InterVariable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter/InterVariable.woff2) format("woff2")}@font-face{font-family:InterVariable;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter/InterVariable-Italic.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:100;font-display:swap;src:url(/assets/fonts/inter/Inter-Thin.woff2) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:100;font-display:swap;src:url(/assets/fonts/inter/Inter-ThinItalic.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:200;font-display:swap;src:url(/assets/fonts/inter/Inter-ExtraLight.woff2) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:200;font-display:swap;src:url(/assets/fonts/inter/Inter-ExtraLightItalic.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/inter/Inter-Light.woff2) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:300;font-display:swap;src:url(/assets/fonts/inter/Inter-LightItalic.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/inter/Inter-Regular.woff2) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/inter/Inter-Italic.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/inter/Inter-Medium.woff2) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:500;font-display:swap;src:url(/assets/fonts/inter/Inter-MediumItalic.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/inter/Inter-SemiBold.woff2) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:600;font-display:swap;src:url(/assets/fonts/inter/Inter-SemiBoldItalic.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/inter/Inter-Bold.woff2) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:700;font-display:swap;src:url(/assets/fonts/inter/Inter-BoldItalic.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/inter/Inter-ExtraBold.woff2) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:800;font-display:swap;src:url(/assets/fonts/inter/Inter-ExtraBoldItalic.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(/assets/fonts/inter/Inter-Black.woff2) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:900;font-display:swap;src:url(/assets/fonts/inter/Inter-BlackItalic.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:normal;font-weight:100;font-display:swap;src:url(/assets/fonts/inter/InterDisplay-Thin.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:italic;font-weight:100;font-display:swap;src:url(/assets/fonts/inter/InterDisplay-ThinItalic.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:normal;font-weight:200;font-display:swap;src:url(/assets/fonts/inter/InterDisplay-ExtraLight.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:italic;font-weight:200;font-display:swap;src:url(/assets/fonts/inter/InterDisplay-ExtraLightItalic.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/inter/InterDisplay-Light.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:italic;font-weight:300;font-display:swap;src:url(/assets/fonts/inter/InterDisplay-LightItalic.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/inter/InterDisplay-Regular.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/inter/InterDisplay-Italic.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/inter/InterDisplay-Medium.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:italic;font-weight:500;font-display:swap;src:url(/assets/fonts/inter/InterDisplay-MediumItalic.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/inter/InterDisplay-SemiBold.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:italic;font-weight:600;font-display:swap;src:url(/assets/fonts/inter/InterDisplay-SemiBoldItalic.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/inter/InterDisplay-Bold.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:italic;font-weight:700;font-display:swap;src:url(/assets/fonts/inter/InterDisplay-BoldItalic.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/inter/InterDisplay-ExtraBold.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:italic;font-weight:800;font-display:swap;src:url(/assets/fonts/inter/InterDisplay-ExtraBoldItalic.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:normal;font-weight:900;font-display:swap;src:url(/assets/fonts/inter/InterDisplay-Black.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:italic;font-weight:900;font-display:swap;src:url(/assets/fonts/inter/InterDisplay-BlackItalic.woff2) format("woff2")}@font-feature-values InterVariable{@character-variant{cv01:1;cv02:2;cv03:3;cv04:4;cv05:5;cv06:6;cv07:7;cv08:8;cv09:9;cv10:10;cv11:11;cv12:12;cv13:13;alt-1:1;alt-3:9;open-4:2;open-6:3;open-9:4;lc-l-with-tail:5;simplified-u:6;alt-double-s:7;uc-i-with-serif:8;uc-g-with-spur:10;single-story-a:11;compact-lc-f:12;compact-lc-t:13}@styleset{ss01:1;ss02:2;ss03:3;ss04:4;ss05:5;ss06:6;ss07:7;ss08:8;open-digits:1;disambiguation:2;disambiguation-except-zero:4;round-quotes-and-commas:3;square-punctuation:7;square-quotes:8;circled-characters:5;squared-characters:6}}@font-feature-values Inter{@character-variant{cv01:1;cv02:2;cv03:3;cv04:4;cv05:5;cv06:6;cv07:7;cv08:8;cv09:9;cv10:10;cv11:11;cv12:12;cv13:13;alt-1:1;alt-3:9;open-4:2;open-6:3;open-9:4;lc-l-with-tail:5;simplified-u:6;alt-double-s:7;uc-i-with-serif:8;uc-g-with-spur:10;single-story-a:11;compact-lc-f:12;compact-lc-t:13}@styleset{ss01:1;ss02:2;ss03:3;ss04:4;ss05:5;ss06:6;ss07:7;ss08:8;open-digits:1;disambiguation:2;disambiguation-except-zero:4;round-quotes-and-commas:3;square-punctuation:7;square-quotes:8;circled-characters:5;squared-characters:6}}@font-feature-values InterDisplay{@character-variant{cv01:1;cv02:2;cv03:3;cv04:4;cv05:5;cv06:6;cv07:7;cv08:8;cv09:9;cv10:10;cv11:11;cv12:12;cv13:13;alt-1:1;alt-3:9;open-4:2;open-6:3;open-9:4;lc-l-with-tail:5;simplified-u:6;alt-double-s:7;uc-i-with-serif:8;uc-g-with-spur:10;single-story-a:11;compact-lc-f:12;compact-lc-t:13}@styleset{ss01:1;ss02:2;ss03:3;ss04:4;ss05:5;ss06:6;ss07:7;ss08:8;open-digits:1;disambiguation:2;disambiguation-except-zero:4;round-quotes-and-commas:3;square-punctuation:7;square-quotes:8;circled-characters:5;squared-characters:6}}.page-container{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100vw;background-color:#fff;padding:20px}.card{display:flex;flex-direction:column;align-items:center;background-color:#fff;border-radius:30px;padding:40px 20px;box-shadow:0 4px 20px #0000001a;border:1px solid #1976d2}.card-sm{max-width:400px;width:100%}.card-md{max-width:600px;width:100%}.card-lg{max-width:800px;width:100%}.form{width:100%;display:flex;flex-direction:column;gap:16px}.form-group{width:100%;margin-bottom:16px}.form-row{display:flex;gap:16px;align-items:center}.title{font-size:1.5rem;font-weight:700;text-align:center;margin-bottom:24px;color:#333}.subtitle{font-size:1.25rem;font-weight:600;margin-bottom:16px;color:#333}.text-center{text-align:center}.text-primary{color:#1976d2}.text-error{color:#d32f2f}.text-warning{color:#ed6c02}.text-success{color:#2e7d32}.message{font-size:.875rem;text-align:center;margin-top:8px;padding:8px;border-radius:4px}.message-loading{color:#1976d2;background-color:#e3f2fd}.message-error{color:#d32f2f;background-color:#ffebee}.message-success{color:#2e7d32;background-color:#e8f5e8}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.w-full{width:100%}.h-full{height:100%}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-center{justify-content:center}.gap-8{gap:8px}.gap-16{gap:16px}.gap-24{gap:24px}.loginPage{width:100%;min-height:100vh;background:url(/assets/images/login-bg.png) no-repeat 0 0;background-size:cover}.page-container.change-password .img-area{background:url(/assets/images/img-login.png) no-repeat center;background-size:cover;opacity:.6}:root{font-family:InterVariable,Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;--primary: #26CCD2;--secondary: #1c1c1c;--success: #3AC0A0;--successBg: #E9FAFA;--warning: #FFB37C;--warningBg: #FFF4E4;--error: #FF616D;--errorBg: #FFE2E4;--info: #26CCD2;--infoBg: #E9FAFA;--dark: #323232;--darkBg: #1c1c1c;--light: #fff;--border: #434343;--white: #fff;--cardBg: #252525;--label: #A8A8A8;--danger: #ED3241;--muted: #494A50;--textDark: #1F2024;--labelColor: #bababa;--inputBg: #161616}a{font-weight:500;color:var(--primary);text-decoration:inherit}a:hover{color:var(--primary)}body{margin:0;font-family:InterVariable,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.map-container{width:100%;height:100%;overflow:hidden;background:var(--darkBg)!important}.map-controller{position:absolute;top:20px;left:20px;overflow:hidden;margin:0;padding:0;z-index:1}.map-controller-btn{display:block;width:65px;height:30px;float:left;text-align:center;line-height:30px;cursor:pointer;background:#fff;border-radius:20rem;margin:5px}.map-video{width:95%;height:auto;border-radius:8px;border:1px solid #ccc;margin-left:2%;margin-right:0}.round-button{position:relative;display:flex;justify-content:center;align-items:center;width:60px;height:60px;float:left;text-align:center;line-height:30px;cursor:pointer;background-color:#fff;border-radius:50%;margin:8px;padding:0;box-shadow:0 4px 8px #00000026}.round-button#btnPolice:after{content:"경찰서";position:absolute;color:var(--dark);font-size:10px;bottom:2px;font-weight:600;letter-spacing:-.5px}.round-button#btnCctv:after{content:"CCTV";position:absolute;color:var(--dark);font-size:10px;bottom:2px;font-weight:600;letter-spacing:-.5px}.round-button#btnPolice.active{background:var(--primary)}.round-button#btnCctv.active{background-color:var(--darkBg)}.round-button#btnPolice.active:after,.round-button#btnCctv.active:after{color:var(--white)}.round-button img{width:24px;height:24px;margin-top:-12px}.loginPage{width:100%;min-height:100vh;background:url(/assets/images/login-bg.png) no-repeat 0 0;background-size:cover}.loginPage .loginCard{max-width:600px;width:90%;padding:80px 120px 60px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1c1c1c;border:0;border-radius:24px;box-shadow:-30.68px 51.14px 51.14px #00000026}.loginForm{gap:16px}.loginForm button[type=submit]{margin-top:24px}.loginErrorMessage,.loginLoadingMessage{margin-top:16px;font-weight:500}.login-terms-container{margin-top:70px;gap:35px;display:flex;flex-direction:row}.login-terms-container span{color:#ffffffb3;font-size:smaller;cursor:pointer}.toast-container{position:fixed;top:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:12px;pointer-events:none}.toast-container .toast{pointer-events:auto}.toast-container-center{position:fixed;bottom:40px;left:50%;transform:translate(-50%);z-index:1000;display:flex;flex-direction:column;gap:12px;pointer-events:none;align-items:center}.toast-container-center .toast{pointer-events:auto}.login-toast{margin-top:16px}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0006;display:flex;justify-content:center;align-items:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.login-loading-container{width:92px;height:92px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:40px;padding:16px;background-color:var(--primary);border-radius:50%}.loading-spinner{width:60px;height:60px;background:conic-gradient(from 0deg,transparent,var(--white));animation:spin 1s linear infinite;position:relative;background-color:var(--primary);border-radius:50%;flex-shrink:0}.loading-spinner:before{content:"";position:absolute;top:6px;left:6px;right:6px;bottom:6px;background:var(--primary);border-radius:50%}.loading-text{width:100%;color:var(--white);font-size:16px;font-weight:500;text-align:center;white-space:nowrap;margin-left:-46px}.dashboardPage{background-color:#f5f5f5;min-height:100vh}.dashboardHeader{background:#fff;border-bottom:1px solid #e0e0e0;padding:16px 24px;position:sticky;top:0;z-index:100}.dashboardContent{padding:24px;max-width:1200px;margin:0 auto}.dashboardCard{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px;margin-bottom:24px}.siren-animation{height:auto;animation:siren-flash 1.5s ease-in-out infinite}@keyframes siren-flash{0%{filter:brightness(1) drop-shadow(0 0 0 rgba(237,50,65,0))}20%{filter:brightness(1.3) drop-shadow(0 0 8px rgba(237,50,65,.8))}40%{filter:brightness(1) drop-shadow(0 0 0 rgba(237,50,65,0))}60%{filter:brightness(1.5) drop-shadow(0 0 12px rgba(255,100,100,.9))}80%{filter:brightness(1) drop-shadow(0 0 0 rgba(237,50,65,0))}to{filter:brightness(1) drop-shadow(0 0 0 rgba(237,50,65,0))}}.marker-pulse-animation{position:relative}.marker-pulse-animation:before{content:"";position:absolute;top:calc(50% + 20px);left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background-color:#ff616d;border-radius:50%;animation:pulse1 1.5s ease-in-out infinite;z-index:-1}.marker-pulse-animation:after{content:"";position:absolute;top:calc(50% + 20px);left:50%;transform:translate(-50%,-50%);width:25px;height:25px;background-color:#ff616d66;border-radius:50%;animation:pulse2 2s ease-out infinite .5s;z-index:-2}.marker-pulse-animation.disabled:before{background-color:#8f9098!important}.marker-pulse-animation.disabled:after{background-color:#8f909866!important}@keyframes pulse1{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}30%{opacity:1;transform:translate(-50%,-50%) scale(1.5)}60%{opacity:1;transform:translate(-50%,-50%) scale(2)}to{opacity:0;transform:translate(-50%,-50%) scale(2)}}@keyframes pulse2{0%{opacity:0;transform:translate(-50%,-50%) scale(1)}50%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(4)}}.destination-info-overlay{position:relative;background-color:var(--darkBg);border-radius:20px;padding:8px 16px;box-shadow:0 2px 16px #00000026}.destination-info-overlay:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-top:9px solid var(--darkBg);z-index:-1}.destination-info-overlay:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid var(--darkBg)}.destination-text{font-size:12px;font-weight:600;color:var(--white);white-space:nowrap;text-align:center}.placeinfo_wrap{position:relative;width:250px;cursor:default}.placeinfo{position:relative;background:#fff;border-radius:16px;padding:12px;font-size:12px;line-height:1.4;box-shadow:0 2px 24px #0000001f}.placeinfo .title{font-weight:600;font-size:14px;border-radius:16px 16px 0 0;margin:-12px -12px 0;padding:8px 8px 8px 16px;color:var(--white);text-align:left;background-color:var(--darkBg)}.placeinfo span{display:block;font-size:12px;color:var(--darkBg);margin:8px 0 0;white-space:break-spaces}.placeinfo .jibun{color:var(--muted);font-size:12px;white-space:normal;word-break:auto-phrase}.placeinfo .tel{color:var(--error);font-weight:500}.placeinfo_wrap .after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid var(--white)}.placeinfo .after:after{content:"";position:absolute;top:-10px;left:-10px;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:8px solid #fff}.placeinfo-actions{padding-top:16px;display:flex;justify-content:flex-start}.placeinfo-actions .button.button-small{min-height:28px;width:100%;border-radius:28px;font-size:12px;font-weight:600}.cctv-marker,.police-marker{position:relative;z-index:1}.cctv-marker.active,.police-marker.active{z-index:10}.cctv-marker{width:38px;height:38px;padding:8px;border-radius:50%;filter:drop-shadow(0 0 6px rgba(0,0,0,.2))}.cctv-marker.active{background-color:var(--darkBg)}.cctv-marker img{width:16px;height:16px}.cctv-marker:hover{filter:drop-shadow(0 0 12px rgba(0,0,0,.2));transform:scale(1.1);transition:all .2s ease}.police-marker{width:33px;height:33px;border-radius:50%;background-color:var(--primary);filter:drop-shadow(0 0 6px rgba(0,0,0,.2));display:flex;justify-content:center;align-items:center}.police-marker img{width:16px;height:16px}.police-marker:hover{filter:drop-shadow(0 0 12px rgba(38,204,210,.6));transform:scale(1.1);transition:all .2s ease}.police-marker .placeinfo .title{background-color:var(--primary)}.settingsPage{background-color:#f8f9fa;min-height:100vh}.settingsContainer{max-width:800px;margin:0 auto;padding:24px}.settingsCard{background:#fff;border-radius:12px;padding:32px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a}.settingsSection{margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid #e0e0e0}.settingsSection:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.settingsSectionTitle{font-size:1.25rem;font-weight:600;color:#333;margin-bottom:16px}.error-page{min-height:100vh;background:var(--darkBg);display:flex;align-items:center;justify-content:center;font-family:InterVariable,Inter,sans-serif;position:relative;overflow:hidden}.error-container{position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:1200px;padding:20px}.error-background{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1}.error-background img{width:100%;height:auto;max-width:800px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.error-content{position:relative;z-index:2;text-align:center;color:#fff}.error-title{font-size:3rem;font-weight:700;color:#fff;margin:0 0 16px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.error-subtitle{font-size:1.25rem;color:#ffffffbf;margin:0 0 40px;font-weight:400}.error-button{display:inline-flex;align-items:center;gap:8px;background:#ef4444;color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:InterVariable,Inter,sans-serif}.error-button:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.error-button img{width:20px;height:20px}@media(max-width:768px){.loginPage .loginCard,.dashboardCard,.errorCard,.settingsCard{margin:16px;padding:24px 16px;border-radius:16px}.dashboardContent,.settingsContainer{padding:16px}.loginTitle,.errorTitle{font-size:1.25rem}.profileAvatar{width:80px;height:80px}.profileName{font-size:1.25rem}.toast-container-center{bottom:20px;left:50%;transform:translate(-50%);width:calc(100% - 32px);max-width:400px}.error-title{font-size:2rem}.error-subtitle{font-size:1rem}.error-button{padding:10px 20px;font-size:.9rem}.error-background img{max-width:600px}}.page-container.change-password{background-color:var(--darkBg);display:flex;align-items:center;justify-content:space-between;padding:0}.page-container.change-password .img-area,.page-container.change-password .login-area{width:50%;height:100vh;flex:1}.page-container.change-password .img-area{background:url(/assets/images/img-login.png) no-repeat center;background-size:cover;opacity:.6}.page-container.change-password .login-area{display:flex;align-items:center;flex-direction:column;justify-content:center}.page-container.change-password .login-area form{max-width:400px}.button-group{display:flex;gap:8px;align-items:center}.button-group button{margin-top:24px}.version-container{position:absolute;right:0;bottom:0;margin:10px;font-size:14px;color:#ffffffb3}@media(max-width:768px){.page-container.change-password .img-area{display:none}.page-container.change-password .login-area{width:100%}}.combobox-wrapper{position:relative;width:100%}.combobox-input{border:1px solid var(--border);border-radius:12px;font-family:inherit;font-weight:400;color:var(--white);background-color:#141414;transition:all .2s ease-in-out;outline:none;box-sizing:border-box;padding:8px 16px;font-size:.9rem;min-height:40px;cursor:pointer;display:flex;align-items:center;justify-content:space-between}.combobox-input:hover{opacity:.7}.combobox-input:focus{border-color:var(--primary, #26ccd2)}.combobox-text{flex:1;color:var(--white)}.combobox-arrow{width:16px;height:16px;transition:transform .2s ease;pointer-events:none}.combobox-dropdown{position:absolute;top:100%;left:0;right:0;background-color:#141414;border:1px solid var(--border);border-radius:0 0 12px 12px;border-top:none;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:0 4px 6px #0000001a}.combobox-option{padding:8px 16px;font-size:.9rem;color:var(--white);cursor:pointer;transition:background-color .2s ease}.combobox-option:hover{background-color:#ffffff1a}.combobox-option.selected{background-color:var(--primary, #26ccd2);color:#141414}.combobox-option:last-child{border-bottom-left-radius:12px;border-bottom-right-radius:12px}.checkbox-wrapper{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-wrapper.checkbox-disabled{cursor:not-allowed;opacity:.6}.checkbox-input{position:absolute;opacity:0;width:16px;height:16px;margin:0;cursor:pointer}.checkbox-custom{display:inline-block;width:16px;height:16px;border:1px solid var(--border, #434343);border-radius:4px;background-color:transparent;position:relative;transition:all .2s ease;flex-shrink:0}.checkbox-custom:after{content:"";position:absolute;left:4px;top:0;width:6px;height:10px;border:solid var(--white);border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transform-origin:center;transition:transform .2s ease}.checkbox-input:checked+.checkbox-label .checkbox-custom{background-color:var(--primary, #26CCD2);border-color:var(--primary, #26CCD2)}.checkbox-input:checked+.checkbox-label .checkbox-custom:after{transform:rotate(45deg) scale(1)}.checkbox-wrapper:hover:not(.checkbox-disabled) .checkbox-custom{border-color:var(--primary, #26CCD2)}.checkbox-input:focus+.checkbox-label .checkbox-custom{box-shadow:0 0 0 2px #26ccd233;outline:none}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:inherit;font-size:14px;line-height:1.4}.checkbox-text{color:var(--white, #fff)}.checkbox-small .checkbox-custom{width:14px;height:14px}.checkbox-small .checkbox-custom:after{width:5px;height:8px}.checkbox-small .checkbox-text{font-size:12px}.checkbox-medium .checkbox-custom{width:16px;height:16px}.checkbox-medium .checkbox-custom:after{width:6px;height:10px}.checkbox-medium .checkbox-text{font-size:14px}.checkbox-large .checkbox-custom{width:20px;height:20px}.checkbox-large .checkbox-custom:after{width:7px;height:12px}.checkbox-large .checkbox-text{font-size:16px}.checkbox-disabled .checkbox-custom{border-color:#666;background-color:#333}.checkbox-disabled .checkbox-text{color:#666}.checkbox-disabled .checkbox-input:checked+.checkbox-label .checkbox-custom{background-color:#666;border-color:#666}@media(max-width:768px){.checkbox-wrapper,.checkbox-label{gap:6px}}.button{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s ease-in-out;text-decoration:none;outline:none;box-sizing:border-box}.button:disabled{cursor:not-allowed;opacity:.6}button:focus,button:focus-visible{outline:none}.button-small{padding:6px 12px;font-size:.875rem;min-height:32px;border-radius:8px}.button-medium{padding:8px 16px;font-size:.9rem;min-height:40px;border-radius:12px}.button-large{padding:12px 24px;font-size:1rem;min-height:56px;border-radius:16px}.button-fullWidth{width:100%}.button-primary{background-color:var(--primary);color:#fff;border:1px solid var(--primary)}.button-primary:hover:not(:disabled){background-color:var(--primary);border-color:var(--primary);transform:scale(.95)}.button-primary:active:not(:disabled){background-color:var(--primary);border-color:var(--primary)}.button-secondary{background-color:transparent;color:var(--primary);border:1px solid var(--primary)}.button-secondary:hover:not(:disabled){background-color:transparent;transform:scale(.95)}.button-secondary:active:not(:disabled){background-color:transparent}.button-danger{background-color:var(--danger);color:#fff;border:1px solid var(--danger)}.button-danger:hover:not(:disabled){background-color:var(--error);border-color:var(--error);transform:scale(.95)}.button-danger:active:not(:disabled){background-color:var(--error);border-color:var(--error)}.button-success{background-color:var(--success);color:#fff;border:1px solid var(--success)}.button-success:hover:not(:disabled){background-color:var(--success);border-color:var(--success);transform:scale(.95)}.button-success:active:not(:disabled){background-color:var(--success);border-color:var(--success)}.button-warning{background-color:var(--warning);color:#fff;border:1px solid var(--warning)}.button-warning:hover:not(:disabled){background-color:var(--warning);border-color:var(--warning);transform:scale(.95)}.button-warning:active:not(:disabled){background-color:var(--warning);border-color:var(--warning)}.button-dark{background-color:var(--dark);color:#fff;border:1px solid var(--dark)}.button-dark:hover:not(:disabled){background-color:var(--dark);border-color:var(--dark);transform:scale(.95)}.button-dark:active:not(:disabled){background-color:var(--dark);border-color:var(--dark)}.button-loading{position:relative;color:transparent}.button-loading:after{content:"";position:absolute;width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;color:#fff}.button-withIcon{gap:8px}.button-iconOnly{padding:8px;aspect-ratio:1}.button-icon{display:inline-flex;align-items:center}.button-wrapper{position:relative;display:contents;width:100%}.tooltip{position:absolute;top:-30px;left:50%;transform:translate(-50%);background:#000;color:#fff;font-size:12px;padding:4px 8px;border-radius:4px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .1s ease-in-out}.button-wrapper:hover .tooltip{opacity:1}.mui-button{border:none;cursor:pointer;font-family:inherit;font-weight:700;transition:background-color .2s,color .2s;text-align:center;text-decoration:none;display:inline-block;outline:none}.mui-button:disabled{cursor:not-allowed;opacity:.6}.mui-button-default{background-color:var(--primary);color:var(--white);border-radius:8px;padding:8px 16px;font-size:1rem}.mui-button-default:hover:not(:disabled){background-color:var(--primaryHover)}.mui-button-login{background-color:var(--primary);color:var(--white);border-radius:80px;padding:10px 30px;font-size:1rem;margin-bottom:30px}.mui-button-login:hover:not(:disabled){background-color:var(--primaryHover)}.mui-button-passwordChange{border:1px solid white;color:#fff;font-size:.9rem;padding:4px 8px;background-color:transparent;border-radius:4px}.mui-button-passwordChange:hover:not(:disabled){background-color:#ffffff1a}.mui-button-logout{border:1px solid white;color:#fff;font-size:.9rem;padding:4px 8px;background-color:transparent;border-radius:4px}.mui-button-logout:hover:not(:disabled){background-color:#ffffff1a}.mui-button-reportButton{font-size:10px;padding:4px 8px;border-radius:4px;background-color:var(--error);color:var(--white);font-weight:700}.mui-button-reportButton:disabled{background-color:var(--gray)}.mui-button-reportButton:hover:not(:disabled){background-color:var(--errorHover)}.mui-button-mapController{position:absolute;top:20px;left:50%;transform:translate(-50%);overflow:hidden;margin:0;padding:0;z-index:1}.close-button{position:absolute;right:8px;top:8px;background:none;border:none;cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s;color:#9e9e9e}.close-button:hover{background-color:#0000000a}.close-button:active{background-color:#00000014}.close-button:focus{outline:2px solid #1976d2;outline-offset:2px}.close-button-icon{width:16px;height:16px;display:block}.close-button-small{padding:4px}.close-button-small .close-button-icon{width:14px;height:14px}.close-button-medium{padding:8px}.close-button-medium .close-button-icon{width:18px;height:18px}.close-button-large{padding:12px}.close-button-large .close-button-icon{width:22px;height:22px}.logo{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s ease}.logo-image{width:100%;height:100%;object-fit:contain;display:block}.logo-small{width:40px;height:40px}.logo-medium{width:56px;height:56px}.logo-large{width:80px;height:80px}.logo-xlarge{width:96px;height:117px}.logo[role=button]{cursor:pointer;border-radius:8px;padding:4px;transition:all .2s ease}.logo[role=button]:hover{transform:scale(1.05);background-color:#1976d20a}.logo[role=button]:active{transform:scale(.98);background-color:#1976d21f}.logo[role=button]:focus{outline:2px solid #1976d2;outline-offset:2px}.logo-login{margin-bottom:24px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.logo-header{margin-right:12px}.logo-sidebar{margin-bottom:16px;align-self:center}.logo-footer{opacity:.8;filter:grayscale(20%)}.logo-loading{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.logo-dark{filter:brightness(.9) contrast(1.1)}@media(max-width:768px){.logo-large{width:64px;height:64px}.logo-xlarge{width:96px;height:96px}}@media(max-width:480px){.logo-medium{width:48px;height:48px}.logo-large{width:56px;height:56px}.logo-xlarge{width:80px;height:80px}}.brand{display:flex;flex-shrink:0;transition:all .3s ease}.brand-vertical{flex-direction:column;gap:24px}.brand-horizontal{flex-direction:row;gap:16px;align-items:center}.brand-align-left{align-items:flex-start;text-align:left}.brand-align-center{align-items:center;text-align:center}.brand-align-right{align-items:flex-end;text-align:right}.brand-logo{flex-shrink:0}.brand-text{display:flex;flex-direction:column;gap:8px}.brand-title{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:6500;font-size:1.5rem;line-height:1.2;color:var(--primary);transition:color .3s ease}.brand-subtitle{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:.875rem;line-height:1.4;color:#ffffffb3;opacity:.8}.brand-login{margin-bottom:40px}.brand-login .brand-title{font-size:1.5rem;font-weight:500;color:var(--primary)}.brand-login .brand-logo{filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.brand-header{gap:12px}.brand-header .brand-title{font-size:1.25rem;font-weight:600;color:var(--primary)}.brand-sidebar{margin-bottom:24px;padding:16px}.brand-sidebar .brand-title{font-size:1.125rem;font-weight:600;color:#fff}.brand-footer .brand-title{font-size:1rem;font-weight:500;color:#666;opacity:.8}.brand-footer .brand-logo{opacity:.8;filter:grayscale(20%)}.brand-compact{gap:8px}.brand-compact .brand-title{font-size:1.125rem;font-weight:500}.brand-compact .brand-subtitle{font-size:.75rem}.brand-light .brand-title{color:#fff}.brand-light .brand-subtitle{color:#fffc}.brand-dark .brand-title{color:#fff}.brand-dark .brand-subtitle{color:#ffffffb3}.brand-dark .brand-logo{filter:brightness(1.1) contrast(.9)}.brand-loading{animation:brandPulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes brandPulse{0%,to{opacity:1}50%{opacity:.7}}.brand-fade-in{animation:brandFadeIn .6s ease-out}@keyframes brandFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.brand-hover-scale:hover{transform:scale(1.02)}.brand-hover-glow:hover .brand-title{color:#1565c0;text-shadow:0 0 8px rgba(21,101,192,.3)}.input-wrapper{display:flex;flex-direction:column;gap:4px;width:100%}.input:-webkit-autofill,.input:-webkit-autofill:hover,.input:-webkit-autofill:focus,.input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px #141414 inset!important;-webkit-text-fill-color:var(--white)!important;background-color:#141414!important;border:1px solid var(--border)!important}.input:-internal-autofill-selected{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;background-image:none!important;background-color:#141414!important;color:var(--white)!important}.input-label{font-size:.875rem;font-weight:500;color:#374151;margin-bottom:4px}.input{border:1px solid var(--border);border-radius:12px;font-family:inherit;font-weight:400;color:var(--white);background-color:#141414;transition:all .2s ease-in-out;outline:none;box-sizing:border-box}.input:focus{border-color:var(--primary, #26ccd2)}.input:hover:not(:disabled){opacity:.7}.input::placeholder{color:#727272}.input-small{padding:6px 12px;font-size:.875rem;min-height:32px}.input-medium{padding:8px 16px;font-size:.9rem;min-height:40px}.input-large{padding:16px;font-size:1rem;min-height:56px}.input-fullWidth{width:100%}.input-error{border-color:var(--error)}.input-error:focus{border-color:var(--error);box-shadow:0 0 0 3px #ef44441a}.input-disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed;opacity:.6}.input-disabled:hover{border-color:#d1d5db}.input-helper{display:block;font-size:14px;color:#ffffffb3;margin-top:4px;font-weight:400}.input-helper-error{color:var(--error)}.input-wrapper:has(.input-error) .input-label{color:var(--error)}.input-with-icon{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:16px;top:16px;width:24px;height:24px;z-index:1;pointer-events:none}.input-with-clear .input{padding-left:44px;padding-right:40px}.input-clear-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);padding:0;background:none;border:none;cursor:pointer;width:20px;height:20px;display:flex;align-items:center;justify-content:center;z-index:10;transition:opacity .2s ease;opacity:.8}.input-clear-btn img{width:20px;height:20px}.input-clear-btn:hover{opacity:1}.input-clear-btn:focus{outline:none;opacity:1}.guide-text{display:block;font-size:14px;margin-top:8px;color:var(--white);font-weight:400;opacity:.8}.username-input-container{position:relative;width:100%}.username-input-container .input-large{padding:16px 40px 16px 52px}.password-input-container{position:relative;width:100%}.password-input-container .input-large{padding:16px 80px 16px 52px}.password-toggle-btn{position:absolute;right:12px;top:17px;padding:0;background:none;border:none;cursor:pointer;width:20px;height:20px;display:flex;align-items:center;justify-content:center;z-index:10;transition:opacity .2s ease;opacity:.7}.password-toggle-btn img{width:20px;height:20px}.password-toggle-btn:hover{opacity:1}.password-toggle-btn:focus{outline:none;opacity:1}@media(max-width:768px){.input-large{padding:10px 16px;font-size:.9rem;min-height:44px}.input-medium{padding:8px 14px;font-size:.875rem;min-height:38px}.input-small{padding:6px 10px;font-size:.8rem;min-height:30px}}.cctv-list-container{display:flex;flex-direction:column;gap:16px;margin-top:24px;height:100%;overflow-y:auto}.cctv-no-data{color:red;font-size:14px;text-align:center;padding:20px}.cctv-list-item{display:flex;flex-direction:column;gap:8px}.cctv-list-header{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#ffffffb3;font-weight:400;padding:0}.cctv-video-container{display:flex;justify-content:center;padding:8px 0}.cctv-video{width:100%;height:auto;border-radius:12px;background-color:#000}.cctv-detail-button{font-size:.8rem;padding:4px 8px;min-width:unset;margin-right:4%}.cctv-list-container::-webkit-scrollbar{width:6px}.cctv-list-container::-webkit-scrollbar-track{background:#fff3;border-radius:3px}.cctv-list-container::-webkit-scrollbar-thumb{background:#777;border-radius:3px}.cctv-list-container::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.common-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:9999}.common-modal-container{background:var(--darkBg, #1c1c1c);padding:24px;border-radius:16px;box-shadow:0 10px 25px #00000080;animation:modalFadeIn .2s ease-out}.common-modal-content{margin-bottom:16px;font-size:16px;line-height:1.4;color:var(--white, #ffffff);text-align:center;font-weight:400;word-break:keep-all;max-height:80vh;overflow:auto}.modal-header{padding:0 0 16px;border-bottom:1px solid rgba(255,255,255,.15);flex-shrink:0}.modal-title{font-size:24px;font-weight:500;margin:0;color:var(--white, #ffffff);line-height:1.4}.common-modal-button-group{margin-top:24px;display:flex;justify-content:center;gap:8px}.common-modal-button-group button{min-width:100px}.common-modal-button:hover{transform:translateY(-1px)}.common-modal-button:active{transform:translateY(0)}.common-modal-confirm-button{background:var(--primary, #3B82F6);color:var(--white, #ffffff);border:1px solid var(--primary, #3B82F6)}.common-modal-confirm-button:hover{background:var(--primaryHover, #2563EB);border-color:var(--primaryHover, #2563EB)}.common-modal-cancel-button{background:transparent;color:var(--white, #ffffff);border:1px solid var(--borderColor, #3e3e3e)}.common-modal-cancel-button:hover{background:var(--dark, #2a2a2a);border-color:var(--borderColor, #555)}.common-modal-container.modal-type-error .common-modal-content{color:var(--danger, #EF4444)}.common-modal-container.modal-type-success .common-modal-content{color:var(--success, #10B981)}.common-modal-container.modal-type-info .common-modal-content{color:var(--info, #3B82F6)}.modal-small{width:340px;max-width:90vw}.modal-medium{width:640px;max-width:90vw}.modal-large{width:800px;max-width:90vw}.modal-xlarge{width:1200px;max-width:95vw}.modal-extra-large{width:1400px;max-width:95vw}.terms-modal-container{max-width:600px;width:95%;max-height:85vh}.terms-modal-content{margin-bottom:16px;font-size:14px;line-height:1.4;color:var(--white, #ffffff);font-weight:400;word-break:keep-all;max-height:70vh;overflow:auto;padding:15px}.terms-modal-content .circled-number{display:inline-block;transform:scale(.65);transform-origin:center}.terms-modal-content strong{font-weight:600;color:var(--neutralDarkDarkest);display:block;margin:0 0 -8px;font-size:14px;line-height:1}.terms-modal-content strong:first-child{margin-top:0}.terms-modal-content table.terms-table{width:100%;border-collapse:collapse;font-size:10px;color:inherit}.terms-modal-content .terms-table th,.terms-modal-content .terms-table td{border:1px solid currentColor;padding:8px;text-align:left;vertical-align:top}.terms-modal-content .terms-table thead th{font-weight:600}.terms-modal-content::-webkit-scrollbar{width:6px}.terms-modal-content::-webkit-scrollbar-track{background:#fff3;border-radius:3px}.terms-modal-content::-webkit-scrollbar-thumb{background:#777;border-radius:3px}.terms-modal-content::-webkit-scrollbar-thumb:hover{background:#a1a1a1}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.9) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:480px){.common-modal-container{width:280px;padding:20px}.common-modal-content{font-size:14px}.common-modal-button{padding:8px 12px;font-size:13px}}.event-popup-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#ed324166;display:flex;justify-content:center;align-items:center;z-index:1000;animation:emergencyBlink 1.5s ease-in-out infinite}@keyframes emergencyBlink{0%{background-color:#ed32414d}25%{background-color:#ed324199}50%{background-color:#ed324166}75%{background-color:#ed3241b3}to{background-color:#ed32414d}}.event-popup-container{background-color:var(--darkBg);border-radius:16px;padding:24px 24px 24px 204px;max-width:90%;width:560px;max-height:80vh;overflow-y:auto;position:relative;box-shadow:0 0 30px #ed324166;animation:emergencyPulse 2s ease-in-out infinite}@keyframes emergencyPulse{0%{box-shadow:0 0 20px #ed32414d;transform:scale(1)}50%{box-shadow:0 0 40px #ed324199;transform:scale(1.02)}to{box-shadow:0 0 20px #ed32414d;transform:scale(1)}}.event-popup-container:before{content:"";position:absolute;top:0;left:0;width:180px;height:100%;background:var(--danger) url(/assets/images/img-event-popup.svg) no-repeat center}.event-popup-header{position:relative;margin-bottom:20px}.event-popup-title{font-size:1.125rem;font-weight:600;text-align:left;color:var(--white);margin:0;padding-right:40px}.event-popup-header .close-button{top:-10px;right:-10px}.event-popup-content{display:flex;flex-direction:column;gap:16px}.event-popup-info{display:flex;flex-direction:column;gap:16px;margin-top:16px}.event-popup-info-item,.event-popup-location-item{display:flex;align-items:center;padding:0;margin:0}.event-popup-label{width:24%;color:var(--labelColor);font-size:12px;font-weight:400}.event-popup-location{display:flex;flex-direction:column;gap:16px}.event-popup-value{color:var(--white);font-size:.825rem;font-weight:400}.event-popup-button-container{display:flex;justify-content:center;margin-top:20px}.event-popup-button{font-size:1rem;padding:10px 30px;background-color:#1976d2;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .2s}.event-popup-button:hover{background-color:#1565c0}.event-popup-button:active{background-color:#0d47a1}.event-popup-container::-webkit-scrollbar{width:6px}.event-popup-container::-webkit-scrollbar-track{background:#0000001a;border-radius:3px}.event-popup-container::-webkit-scrollbar-thumb{background:#0000004d;border-radius:3px}.event-popup-container::-webkit-scrollbar-thumb:hover{background:#00000080}@media(max-width:600px){.event-popup-container{width:95%;padding:16px}.event-popup-title{font-size:1.5rem}.event-popup-info-item,.event-popup-location-item{font-size:1rem}.event-popup-button{padding:8px 24px;font-size:.9rem}}.loading-spinner-container{position:relative;display:flex;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto;border-radius:50%;background-color:#26ccd2}.loading-spinner{width:40px;height:40px;border-radius:50%;background:conic-gradient(from 0deg,transparent,#fff);animation:spin 1s linear infinite;position:relative;flex-shrink:0}.loading-spinner:before{content:"";position:absolute;top:4px;left:4px;right:4px;bottom:4px;background:#26ccd2;border-radius:50%}.loading-text{position:absolute;top:120%;left:50%;transform:translate(-50%);font-size:14px;color:#bababa;font-weight:400;white-space:nowrap}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner-container.small{width:40px;height:40px}.loading-spinner-container.large{width:80px;height:80px}.loading-spinner.small{width:24px;height:24px;border-width:3px}.loading-spinner.large{width:60px;height:60px;border-width:6px}.placeholder-media{display:flex;justify-content:center;align-items:center;height:100px;min-height:100px;width:100%;color:#666;font-size:.875rem;background-color:#ffffff0d;border-radius:8px;border:1px dashed rgba(255,255,255,.2)}.placeholder-text{text-align:center;color:#fff9;font-size:14px;font-weight:400;line-height:1.2}.dashboard-header-container{display:flex;justify-content:space-between;align-items:center;background-color:var(--darkBg);color:var(--white-color);padding:10px 20px}.main-header{height:80px;background-color:var(--darkBg);display:flex;align-items:center;justify-content:space-between;padding:16px 28px;position:fixed;top:0;width:100%;z-index:1000;border-bottom:1px solid var(--border);box-shadow:0 2px 4px #0000001a}.main-header-right,.main-header-right-language{display:flex;align-items:center;gap:24px}.header-info-item{display:flex;align-items:center;gap:8px;color:#fff;font-size:14px}.header-info-item.today{min-width:240px;padding:8px 16px;background-color:var(--dark);border-radius:22px}.header-info-item.monitor{padding:8px 16px;background-color:var(--dark);border-radius:22px;cursor:pointer}.header-info-item.mobile{display:none}.header-info-item.option{cursor:pointer}.header-button{color:#fff;display:flex;align-items:center;gap:8px;padding-left:28px;background:none;border:none;cursor:pointer;border-radius:4px;transition:background-color .2s ease;font-size:14px}.header-button.change-password{background:url(/assets/images/icon-password.svg) no-repeat 0 center;background-size:20px 20px}.header-button.logout{background:url(/assets/images/icon-logout.svg) no-repeat 0 center;background-size:20px 20px}.header-button:hover,.combobox-option:hover{color:var(--primary)}.header-button.change-password:hover{background:url(/assets/images/icon-password-active.svg) no-repeat 0 center;background-size:20px 20px}.header-button.logout:hover{background:url(/assets/images/icon-logout-active.svg) no-repeat 0 center;background-size:20px 20px}.header-brand{display:flex;align-items:center}.header-title{color:#26ccd2;font-size:20px;margin:0;font-family:InterVariable,Inter,sans-serif}.header-dropdown{position:absolute;top:80%;right:25px;width:200px;background-color:#141414;border:1px solid var(--border);border-radius:12px;max-height:200px;overflow-y:auto;z-index:9999;box-shadow:0 4px 6px #0000004d;overflow-x:hidden}.header-dropdown .bottom-line,.header-dropdown .user-name,.header-dropdown .back-button{white-space:normal;cursor:default!important}.header-dropdown .back-button{cursor:pointer!important;color:#888;font-size:12px}.header-dropdown .back-button:hover{color:#fff}.header-dropdown .bottom-line{border-bottom:1px solid var(--border)}.header-dropdown .bottom-line:hover,.header-dropdown .user-name:hover{background:none!important;color:inherit!important}.combobox-option .before-at,.combobox-option .after-at{display:inline-block;word-break:break-all}.combobox-option .after-at{white-space:normal;word-break:break-word;max-width:100%}.flex-between{display:flex;justify-content:space-between;align-items:center}.combobox-option-container{transition:transform .3s ease}.combobox-language-option-container,.combobox-time-option-container{width:100%;background-color:#141414;transition:transform .3s ease;cursor:default}.combobox-option-container.slide-left{position:absolute;top:0;left:0;width:100%}.combobox-language-option-container.slide-right,.combobox-time-option-container.slide-right{position:absolute;top:0;left:0;height:100%}.slide-left{transform:translate(-100%)}.slide-right{transform:translate(100%)}.combobox-option-arrow{width:20px;height:20px;transform:rotate(270deg)}.user-name-mobile{display:none}.header-dropdown::-webkit-scrollbar{width:6px;height:6px}.header-dropdown::-webkit-scrollbar-track{background:#fff3;border-radius:3px}.header-dropdown::-webkit-scrollbar-thumb{background:#777;border-radius:3px}.header-dropdown::-webkit-scrollbar-thumb:hover{background:#a1a1a1}@media(max-width:1000px){.header-dropdown{width:250px}.user-name-pc{display:none}.user-name-mobile{display:block}.header-info-item.option{display:none}.header-info-item.mobile{display:flex;cursor:pointer}.header-info-item.monitor{padding:8px}}@media(max-width:768px){.header-info-item.today{display:none}}.event-list-card{min-width:280px;margin-bottom:10px;border:none;cursor:pointer;flex-shrink:0}.event-list-card.selected{border:1px solid var(--primary, #26CCD2);border-radius:12px}.event-card{border-radius:12px;background-color:var(--dark);box-shadow:0 1px 3px #0000001f;transition:box-shadow .3s ease}.event-card:hover{box-shadow:0 2px 8px #00000026}.event-card-content{padding:16px;font-size:smaller;line-height:1.4;color:#333}.event-card-actions{padding:8px 16px 16px;display:flex;justify-content:flex-start}.tag-container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.tag-container>span{display:flex;gap:8px}.tag{display:inline-block;min-width:40px;padding:4px 8px;font-size:10px;font-weight:600;border-radius:12px;text-align:center;white-space:nowrap}.tag.deep-dark{font-size:12px;background-color:#161616;color:#b9b9b9}.tag.dark{background-color:#545454;color:#b0b0b0}.tag.light{background-color:var(--white);color:var(--textDark)}.tag.error{background-color:var(--errorBg);color:var(--danger)}.card-header{margin-bottom:8px}.card-body{line-height:1.5}.member-name{display:block;color:var(--white);font-size:14px;font-weight:400}.member-info{color:var(--white);font-size:12px;margin-top:4px;display:flex;align-items:center;font-weight:400}.member-info>span+span:before{content:"";display:inline-block;width:1px;height:10px;margin:0 8px;background-color:#ffffff4d;vertical-align:middle}.address{font-weight:400;margin-top:4px;color:var(--white);font-size:12px;word-break:keep-all}.contact-info{color:var(--white);font-size:12px;font-weight:400;margin-top:4px;display:flex;align-items:center}.contact-info>div{flex:1;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:400}.contact-info>div .label{color:var(--labelColor)}.event-card-actions .button.button-small{min-height:28px;width:100%;border-radius:28px;font-size:12px;font-weight:600}.cctv-monitoring-container{display:flex;flex-direction:column;gap:16px;height:calc(100vh - 184px);overflow:hidden}.cctv-refresh-button-container{display:flex;justify-content:flex-end}.cctv-refresh-button{font-size:.8rem;padding:4px 8px;min-width:unset}.status-info-container{display:flex;flex-direction:column;gap:8px;width:100%;height:100%}.status-info-header{display:flex;align-items:center;gap:8px}.status-info-header h2{margin:0;padding:0;color:var(--white);font-size:14px;font-weight:600;line-height:1}.status-info-content{display:flex;gap:16px;height:calc(100% - 32px);overflow:auto}.status-info-table-section{flex:3;height:100%;overflow:hidden;min-width:200px}.status-info-table-section::-webkit-scrollbar{width:6px;background-color:transparent}.status-info-table-section::-webkit-scrollbar-track{background:#0000000d;border-radius:3px}.status-info-table-section::-webkit-scrollbar-thumb{background:#0003;border-radius:3px;transition:background-color .2s}.status-info-table-section::-webkit-scrollbar-thumb:hover{background:#0000004d}.status-info-media-section{flex:1;width:100%;min-width:200px;height:100%;padding:16px;background-color:var(--dark);border-radius:12px;display:flex;flex-direction:column;justify-content:space-between}.status-info-media-section h3{display:block;width:100%;margin:0;padding:0;color:var(--white);font-size:12px;font-weight:400}.status-info-video-container{display:flex;justify-content:center;align-items:flex-start;width:100%;height:100%;overflow:hidden;margin-top:8px;border-radius:16px}.status-info-video-element{width:100%;height:100%;border-radius:16px;border:1px solid rgba(0,0,0,.15)}video:fullscreen{object-fit:fill}.status-info-image-element{height:100%;max-width:100%;border:1px solid rgba(0,0,0,.15);display:block;transition:transform .2s ease;-webkit-user-select:none;user-select:none;object-fit:contain}.zoomable-container{position:relative;cursor:zoom-in;max-width:300px;border-radius:6px;overflow:hidden}.zoom-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0003;opacity:0;display:flex;justify-content:center;align-items:center;transition:opacity .2s ease;pointer-events:none}.zoomable-container:hover .zoom-overlay{opacity:1}:fullscreen .zoom-overlay{display:none;cursor:default}.zoom-hint-overlay{position:absolute;bottom:50px;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:12px 16px;border-radius:8px;font-size:16px;animation:fadeInOut 3s ease forwards;pointer-events:none}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%) translateY(10px)}10%{opacity:1;transform:translate(-50%) translateY(0)}90%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(10px)}}.status-info-section{padding:16px;border:1px solid #ccc;border-radius:8px;background-color:#fff}.status-info-media{width:100%;height:auto;border-radius:8px;border:1px solid #ccc}.status-info-profile-image{width:100px;height:100px;border-radius:50%;object-fit:cover;border:2px solid #ccc}.status-info-placeholder{display:flex;justify-content:center;align-items:center;height:100px;color:#666;font-size:.875rem}.status-info-textholder{justify-content:center;align-items:center;height:20px;color:#666;font-size:1rem}.status-info-item{display:flex;justify-content:space-between;padding:8px 16px;background-color:#fff;border-radius:8px;border:1px solid #ddd}.status-info-title{font-weight:700;color:#333;width:200px}.status-info-value{color:#555}.event-detail-cards{display:flex;gap:12px;width:100%;height:100%;justify-content:space-between;flex-direction:row}.event-detail-card{background-color:var(--dark);border-radius:12px;overflow:hidden;flex:1}.event-detail-card-header{padding:16px 16px 8px;display:none}.event-detail-card-header h3{margin:0;padding:0;font-size:12px;font-weight:400;color:var(--labelColor);line-height:1}.event-detail-boxes{display:flex;flex-direction:column;gap:8px;width:100%;height:100%;padding:16px;overflow-y:auto}.event-detail-box{display:flex;justify-content:flex-start;align-items:center;padding:0;background-color:transparent;color:var(--white)}.event-detail-label{font-weight:400;font-size:12px;color:var(--labelColor);max-width:100px;min-width:54px;flex-shrink:0;width:30%;white-space:nowrap}.event-detail-value{font-size:12px;color:var(--white);text-align:left;word-break:keep-all}.event-detail-cards::-webkit-scrollbar,.status-info-content::-webkit-scrollbar,.event-detail-boxes::-webkit-scrollbar{width:6px;height:6px}.event-detail-cards::-webkit-scrollbar-track,.status-info-content::-webkit-scrollbar-track,.event-detail-boxes::-webkit-scrollbar-track{background:#fff3;border-radius:3px}.event-detail-cards::-webkit-scrollbar-thumb,.status-info-content::-webkit-scrollbar-thumb,.event-detail-boxes::-webkit-scrollbar-thumb{background:#777;border-radius:3px}.event-detail-cards::-webkit-scrollbar-thumb:hover,.status-info-content::-webkit-scrollbar-thumb:hover,.event-detail-boxes::-webkit-scrollbar-thumb:hover{background:#a1a1a1}@media(max-width:1260px){.event-detail-cards{flex-direction:column;overflow:auto}.event-detail-card{overflow:visible}}.dashboard-container{display:grid;width:100%;height:calc(100vh - 125px);position:fixed;top:80px;left:0;right:0;grid-template-columns:360px 1fr;grid-template-areas:"component4 component2";background-color:var(--darkBg);padding:0;margin:0;gap:0;overflow:hidden}.dashboard-container.open-event{grid-template-columns:360px 1fr 280px;grid-template-areas:"component4 component2 component1";gap:0}.dashboard-container.open-event:not(.has-cctv){grid-template-columns:360px 1fr;grid-template-areas:"component4 component2";gap:0}.component-box{width:100%;height:100%}.component-box.component4{position:relative;grid-area:component4;width:360px;height:calc(100vh - 125px);padding:0;margin:0}.component-box.component4 .header-row{width:100%;padding:8px 16px;display:flex;align-items:center;justify-content:space-between}.component-box.component4 .header-row .list-conut{color:#777;font-size:14px;font-weight:400}.dashboard-container.open-event .component-box.component3{position:fixed;bottom:40px;left:400px;width:calc(100vw - 720px);max-width:1200px;min-width:465px;min-height:200px;max-height:260px;background-color:var(--darkBg);border-radius:24px;box-shadow:0 10px 20px #00000026;z-index:1000;padding:24px;margin:0;transition:bottom .3s ease-in-out}.dashboard-container.open-event:not(.has-cctv) .component-box.component3{width:calc(100vw - 440px);max-width:100%}.dashboard-container.open-event .component-box.component3{bottom:50px}.component-box.component2{grid-area:component2;width:100%;height:100%;background-color:var(--darkBg);margin:0;padding:0}.component-box.component1{grid-area:component1;width:280px;height:100%;padding:16px 16px 0}.component-box.component1 .cctv-count{position:relative;width:100%;display:flex;align-items:center;gap:8px;color:var(--white);font-size:14px;font-weight:500}.component-box.component1 .cctv-count i.icon{display:inline-block;width:24px;height:24px;background:url(/assets/images/icon-cctv-primary.svg) no-repeat 0 0;background-size:contain}.component-box.component1 .cctv-count .event-stats-count{position:absolute;right:0}.component-box.component1 .event-address{display:flex;align-items:flex-start;gap:8px;margin-top:16px;color:var(--white);font-size:12px;font-weight:400;word-break:keep-all}.component-box.component1 .event-address i.icon{display:inline-block;width:24px;height:24px;background:url(/assets/images/icon-location-primary.svg) no-repeat 0 0;background-size:contain}.dashboard-card{position:relative;background-color:var(--darkBg);border-radius:0;padding:0;width:100%;height:100%;box-shadow:none;overflow:hidden;display:flex;flex-direction:column;gap:0}.dashboard-card>*{margin:0;padding:0}.dashboard-card .event-stats-container{position:relative;width:100%;height:54px;border-bottom:1px solid #3e3e3e}.dashboard-card .event-stats-container .event-stats-row{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:24px}.dashboard-card .event-stats-container .event-stats-row>span{display:flex;justify-content:space-around;padding:8px;background-color:var(--dark);border-radius:12px;color:var(--white);font-size:14px;font-weight:400;width:92%}.dashboard-card .event-stats-count{display:inline-block;min-width:22px;margin-left:8px;padding:2px 4px;background-color:var(--white);color:#1f2024;font-size:12px;text-align:center;font-weight:900;border-radius:20px}.dashboard-card form{position:relative;width:100%;padding:16px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid #3e3e3e}.dashboard-card form .form-header{width:100%;display:flex;align-items:center;justify-content:space-between;max-height:40px}.dashboard-card form .form-header h2{color:var(--white);font-size:14px;font-weight:600}.dashboard-card form .form-header>div{display:flex;gap:8px}.dashboard-card form .search-form-label{display:none}.dashboard-header-container{display:flex;justify-content:space-between;align-items:center;background-color:#1f2937;color:#fff;padding:10px 20px}.dashboard-header-left-section{display:flex;align-items:center;gap:20px;font-size:2px}.dashboard-header-right-section{font-size:5px;font-weight:700}.dashboard-header-item{display:flex;align-items:center;gap:5px;font-size:10px}.dashboard-header-circle{width:10px;height:10px;border-radius:50%}.dashboard-header-text{font-size:12px;font-weight:400;color:#fff}.header-row{display:flex;justify-content:space-between;align-items:center;width:100%}.event-list-container{flex:1;position:relative;width:100%;height:calc(100vh - 388px);min-height:0;padding:8px 16px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.pinned-event-container{max-height:60%;min-height:0;overflow-y:auto;overflow-x:hidden;margin-bottom:8px;flex-shrink:0}.unpinned-event-container{flex:1;min-height:0;max-height:calc(100vh - 400px);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:8px}.pinned-event-container::-webkit-scrollbar,.unpinned-event-container::-webkit-scrollbar{width:6px}.pinned-event-container::-webkit-scrollbar-track,.unpinned-event-container::-webkit-scrollbar-track{background:#fff3;border-radius:3px}.pinned-event-container::-webkit-scrollbar-thumb,.unpinned-event-container::-webkit-scrollbar-thumb{background:#777;border-radius:3px}.pinned-event-container::-webkit-scrollbar-thumb:hover,.unpinned-event-container::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.no-items-message,.no-results-message{display:flex;align-items:center;justify-content:center;padding:80px 20px 40px;text-align:center;color:var(--white);font-size:14px;font-weight:400;background-color:transparent;border-radius:8px;min-height:100px;background:url(/assets/images/icon-no-results.svg) no-repeat center 20px;background-size:40px 40px;opacity:.7}@media(max-width:960px){.dashboard-container.open-event{grid-template-columns:1fr 1fr;grid-template-areas:"component4 component2"}.component-box.component3{width:calc(100vw - 40px);left:20px;transform:none}}@media(max-width:600px){.dashboard-container.open-event{grid-template-columns:1fr;grid-template-areas:"component2" "component4"}.component-box.component3{width:calc(100vw - 20px);left:10px;bottom:10px}}.toast{position:relative;max-width:400px;min-width:300px;padding:16px;border-radius:8px;box-shadow:0 4px 12px #00000026;font-family:inherit;animation:slideIn .3s ease-out}.toast-content{display:flex;align-items:center;gap:16px}.toast-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.toast-icon-img{width:100%;height:100%;object-fit:contain}.toast-message{flex:1;font-size:14px;line-height:1.4;word-break:break-word}.toast-close-btn{flex-shrink:0;background:none;border:none;cursor:pointer;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;opacity:.7;padding:2px}.toast-close-icon{width:100%;height:100%;object-fit:contain}.toast-close-btn:hover{opacity:1;background-color:#0000001a}.toast-close-btn:focus{outline:none;opacity:1;background-color:#0000001a}.toast-success{background-color:var(--successBg, #E9FAFA)}.toast-success .toast-message{color:var(--muted, #494A50)}.toast-warning{background-color:var(--warningBg, #FFF4E4)}.toast-warning .toast-message{color:var(--muted, #494A50)}.toast-error{background-color:var(--errorBg, #FFE2E4)}.toast-error .toast-message{color:var(--muted, #494A50)}.toast-info{background-color:var(--infoBg, #E9FAFA)}.toast-info .toast-message{color:var(--muted, #494A50)}@keyframes slideIn{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideOut{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}.toast.slide-out{animation:slideOut .3s ease-in forwards}@media(max-width:768px){.toast{max-width:100%;min-width:280px;margin:0 16px}}.main-footer{background-color:var(--darkBg);display:flex;flex-direction:column;justify-content:flex-start;padding:10px 25px;position:fixed;bottom:0;width:100%;z-index:1000;border-top:1px solid var(--border);box-shadow:0 -2px 4px #0000001a;transition:max-height .3s ease;overflow:hidden;max-height:45px}.main-container{display:flex;justify-content:space-between}.main-footer.open{max-height:220px}.terms-container{display:flex;align-items:center;gap:40px}.main-footer span{color:#bbb;font-size:smaller;text-decoration:none}.main-footer span:hover{color:#fff;cursor:pointer}.footer-toggle{cursor:pointer}.copyrights-container{display:flex;justify-content:space-between;gap:30px;font-size:13px;color:#aaa;padding-top:8px}.copyrights-container span{white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none}.copyrights-container img{width:14px;height:14px;cursor:pointer;transition:transform .2s ease}.combobox-arrow.open{transform:rotate(180deg)}.yiwoo-info{color:#aaa;font-size:12px;line-height:1.4;margin-top:8px;opacity:0;transition:opacity .3s ease}.yiwoo-info.show{opacity:1}.biz-btn{margin-left:6px;padding:3px 10px;font-size:8px;color:#00b5ad;border:1px solid #00b5ad;border-radius:6px;background-color:#fff;cursor:pointer;transition:all .2s ease}.biz-btn:hover{background-color:#00b5ad;color:#fff}@media(max-width:1000px){.terms-container span{display:none}.terms-container-mobile{display:flex;gap:20px;margin-bottom:15px}}.toggle-switch-container{display:flex;align-items:center;gap:8px}.toggle-switch-label{font-size:14px;color:var(--labelColor);font-weight:400;-webkit-user-select:none;user-select:none;cursor:pointer}.toggle-switch-wrapper{position:relative;display:inline-block;width:28px;height:16px}.toggle-switch-input{opacity:0;width:0;height:0;position:absolute}.toggle-switch-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--dark);border-radius:24px;transition:all .3s ease}.toggle-switch-slider:before{position:absolute;content:"";height:16px;width:16px;left:-2px;bottom:0;background-color:#fff;border-radius:50%;transition:all .3s ease;box-shadow:0 2px 4px #0003}.toggle-switch-input:checked+.toggle-switch-slider{background-color:var(--primary)}.toggle-switch-input:focus+.toggle-switch-slider{box-shadow:0 0 1px var(--primary)}.toggle-switch-input:checked+.toggle-switch-slider:before{transform:translate(14px)}.toggle-switch-wrapper:hover .toggle-switch-slider{opacity:.8}.toggle-switch-input:disabled+.toggle-switch-slider{opacity:.5;cursor:not-allowed}.toggle-switch-input:disabled+.toggle-switch-slider:before{background-color:#f5f5f5}
