/* MCS ICT Operations Suite v3.0 · additive styling; legacy device functions remain */
:root{--ict-bg:#080e19;--ict-ink:#eef5fc;--ict-accent:#6ce9dc;--ict-quiet:#8299b0;--ict-border:#27394d}
body{background:radial-gradient(ellipse 1150px 460px at 55% -18%,#122b435e,transparent 72%),#080e19}
body.ict-locked{overflow:hidden}
body.ict-locked .app-shell{visibility:hidden;pointer-events:none}
body:not(.ict-locked) .ict-auth-shell{display:none}
.ict-auth-shell{position:fixed;inset:0;z-index:150;background:#07101c;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(430px,.88fr);color:#edf5fb;font-family:var(--font);letter-spacing:-.03em}
.ict-auth-art{position:relative;overflow:hidden;background:radial-gradient(ellipse 520px 570px at 78% 57%,#15536550,transparent 66%),radial-gradient(ellipse 440px 450px at 32% 79%,#0b334555,transparent 75%),linear-gradient(130deg,#0a1c2d,#071221 57%,#081c2c);padding:clamp(36px,4vw,65px);border-right:1px solid #244257;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate}
.ict-auth-art:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#66b9bd0c 1px,transparent 1px),linear-gradient(90deg,#66b9bd0c 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,transparent,#000 70%);pointer-events:none;z-index:-1}
.ict-auth-brand{display:flex;align-items:center;gap:13px}.ict-brand-symbol{width:45px;height:45px;border-radius:14px;background:linear-gradient(145deg,#90f8e6,#2fb3bc);color:#082834;display:grid;place-items:center;font-size:27px;box-shadow:0 10px 33px #35c4b842}.ict-auth-brand strong{display:block;font-weight:830;font-size:22px;letter-spacing:.015em;line-height:1.14}.ict-auth-brand em{font-style:normal;color:#78ebdc}.ict-auth-brand small{display:block;font:600 9px/1.8 var(--mono);letter-spacing:.23em;color:#82a5b8}.ict-auth-art-inner{position:relative;max-width:760px;min-height:560px;display:flex;flex-direction:column;justify-content:center}.ict-eyebrow,.ict-kicker{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:#7fcdcb;display:flex;align-items:center;gap:10px;font-weight:650}.ict-ping{width:7px;height:7px;background:#66ead7;border-radius:50%;box-shadow:0 0 0 5px #65e5d212,0 0 15px #58ead48f;display:inline-block;flex-shrink:0;animation:ictPulse 2.8s infinite}@keyframes ictPulse{50%{box-shadow:0 0 0 8px #65e5d20c,0 0 17px #58ead4cc}}
.ict-auth-art-inner h1{font-size:clamp(37px,3.6vw,64px);line-height:1.26;margin:22px 0 20px;font-weight:790;letter-spacing:-.065em;z-index:2}.ict-auth-art-inner h1 span{color:#6ee8dc}.ict-auth-art-inner>p{font-size:14px;color:#a0bac8;line-height:1.94;margin:0;z-index:2}.ict-auth-foot{display:flex;gap:27px;flex-wrap:wrap;font:600 9px var(--mono);letter-spacing:.15em;color:#5a8798}.ict-auth-visual{width:400px;height:400px;position:absolute;right:-52px;top:54%;transform:translateY(-50%);opacity:.8;pointer-events:none}.ict-orbit{position:absolute;top:50%;left:50%;border-radius:50%;border:1px solid #58bfb637;transform:translate(-50%,-50%);box-shadow:0 0 65px #44b7a110 inset}.ict-orbit-a{width:180px;height:180px}.ict-orbit-b{width:300px;height:300px;border-style:dashed;animation:ictSpin 80s linear infinite}.ict-orbit-c{width:385px;height:385px;border-color:#2e92a52c}@keyframes ictSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}.ict-orbit-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:105px;height:105px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:radial-gradient(circle,#164758,#122c41 70%);border:1px solid #5cd0c778;border-radius:29px;box-shadow:0 0 75px #4cddcd3d}.ict-orbit-center svg{width:36px;height:36px;color:#93ffe7}.ict-orbit-center small{font:600 9px var(--mono);letter-spacing:.13em;color:#8dece0}.ict-satellite{position:absolute;width:12px;height:12px;border-radius:50%;background:#7bf5db;box-shadow:0 0 0 7px #73f8da19,0 0 22px #59eadb9d}.ict-satellite.is-a{left:66px;top:125px}.ict-satellite.is-b{right:32px;top:168px}.ict-satellite.is-c{right:95px;bottom:43px}.ict-satellite.is-d{left:170px;bottom:96px}
.ict-auth-side{padding:40px;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;background:radial-gradient(ellipse 550px 350px at 100% 0%,#13233969,transparent 70%),#0c1320}.ict-auth-box{width:min(410px,100%)}.ict-form-icon{width:52px;height:52px;border:1px solid #32645e;background:#183a42;border-radius:16px;display:grid;place-items:center;color:#85f9e4;margin-bottom:28px}.ict-form-icon svg{width:23px;height:23px}.ict-form-cap{font:600 10px var(--mono);letter-spacing:.17em;color:#6fe7d4}.ict-auth-box h2{font-size:32px;letter-spacing:-.052em;font-weight:760;margin:8px 0 8px}.ict-login-desc{font-size:13px;color:#92a7b8;margin:0 0 28px;line-height:1.8}.ict-role-switch{padding:5px;border:1px solid #304052;background:#111d2c;border-radius:11px;display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:0 0 25px}.ict-role-switch button{border:0;background:transparent;border-radius:7px;height:43px;color:#859cb0;font-weight:660}.ict-role-switch button.on{background:#263a4c;color:#e8fcf7;box-shadow:0 5px 15px #0005}.ict-auth-box form label{display:block;color:#c3d2e0;font-weight:670;font-size:12px;margin:0 0 9px}.ict-auth-box form>input,.ict-pw-field input{border:1px solid #304255;border-radius:9px;background:#101b29;color:#f2f9ff;outline:0;height:51px;padding:0 15px;width:100%;transition:.18s}.ict-auth-box form>input{margin-bottom:22px}.ict-auth-box input:focus{border-color:#6ee2d0;box-shadow:0 0 0 3px #4bdbbe12}.ict-auth-box input::placeholder{color:#667f93}.ict-pw-field{position:relative}.ict-pw-field button{position:absolute;right:8px;top:8px;height:35px;padding:0 10px;border:0;background:transparent;color:#8fa9b7}.ict-auth-error{font-size:12px;min-height:24px;margin:10px 0 4px;color:#fa989e}.ict-login-submit{width:100%;height:54px;border:0;border-radius:9px;background:linear-gradient(115deg,#81f3df,#65ced6);color:#06303a;font-weight:800;display:flex;align-items:center;justify-content:center;gap:13px;box-shadow:0 9px 33px #4ce9d11b;transition:transform .18s,filter .18s}.ict-login-submit:hover{filter:brightness(1.08);transform:translateY(-1px)}.ict-login-submit span{font-size:20px}.ict-login-submit:disabled{opacity:.6;cursor:wait}.ict-login-server{margin:30px 0 15px;padding:15px 0;display:flex;align-items:center;gap:9px;border-top:1px solid #253549;border-bottom:1px solid #253549;color:#8bafbd;font-size:11px}.ict-status-dot{width:8px;height:8px;border-radius:50%;background:#8494a7}.ict-status-dot.ready{background:#6de5ba;box-shadow:0 0 13px #6de5bac2}.ict-status-dot.error{background:#ec8c97}.ict-login-version{margin-left:auto;font:600 9px var(--mono);letter-spacing:.07em;color:#657f91}.ict-login-help{font-size:11px;color:#698095;line-height:1.75}.ict-auth-side-footer{position:absolute;bottom:30px;color:#4e6a7f;font:600 10px var(--mono);letter-spacing:.06em}
.app-shell{grid-template-columns:256px minmax(0,1fr)}.sidebar{background:linear-gradient(165deg,#0d1726,#0a111e 75%)}.sidebar-logo{padding-top:0}.brand-name{letter-spacing:.005em}.brand-caption{letter-spacing:.15em}.ict-nav-caption{padding:19px 13px 8px;color:#527183;font:700 9px var(--mono);letter-spacing:.17em}.side-nav{gap:5px}.nav-item{font-size:12px}.nav-item.active{background:linear-gradient(90deg,#17414a 0%,#122533);border-color:#2b5958;box-shadow:inset 3px 0 0 #71ead7}.topbar{padding:0 clamp(24px,2.5vw,50px);background:#0b1422e0}.topbar #userLoginBtn,.topbar #topAdminBtn{display:none!important}.ict-current-role{white-space:nowrap;color:#97d9d0;font-size:11px;font-weight:630;background:#143338;border:1px solid #265755;padding:7px 11px;border-radius:7px}.ict-logout-top{background:transparent;border:1px solid #304559;border-radius:8px;padding:7px 11px;color:#a7bccf;font-size:11px}.ict-logout-top:hover{color:#f4fbff;border-color:#71a5b0}
main{max-width:none;padding:32px clamp(23px,2.55vw,54px) 42px}.ict-page-lede{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 25px}.ict-page-lede h1{font-size:clamp(29px,2.2vw,41px);line-height:1.35;letter-spacing:-.06em;margin:9px 0 5px;font-weight:770}.ict-title-mute{color:#7da1b6;font-weight:460}.ict-page-lede p{color:#859baf;font-size:12px;margin:0;line-height:1.75}.ict-kicker{font-size:10px;letter-spacing:.115em;gap:9px}.ict-kicker-line{width:19px;height:1px;background:#487e86}.ict-kicker #ictTimestamp{color:#647e90;letter-spacing:0}.ict-heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.ict-connection-chip{display:flex;align-items:center;gap:9px;padding:10px 11px;color:#97c7c5;border:1px solid #28514b;border-radius:8px;background:#142c33;font:600 10px var(--mono);white-space:nowrap}.ict-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:9px;padding:0 16px;height:40px;font-size:12px;font-weight:700;white-space:nowrap;transition:.18s}.ict-btn svg{width:15px;height:15px}.ic-outline{border-color:#354659;background:#172434;color:#c8d8e5}.ic-outline:hover{border-color:#6aa69d;background:#223647}.ic-primary{background:#71e4d5;color:#0d343c;border-color:#74e6d6;box-shadow:0 8px 24px #37cebd14}.ic-primary:hover{background:#8ef5e3;transform:translateY(-1px)}
.ict-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:15px}.ict-kpi{position:relative;min-width:0;border:1px solid #294051;background:linear-gradient(150deg,#162637,#111d2c 70%);border-radius:15px;padding:18px 17px 13px;overflow:hidden;min-height:160px;box-shadow:0 15px 44px #00000016}.ict-kpi:before{content:'';position:absolute;width:100px;height:90px;right:-35px;top:-45px;background:var(--ict-light,#61d7d0);opacity:.09;filter:blur(24px);border-radius:100px}.ict-kpi-upper{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#a0b5c6;font-size:12px;font-weight:670}.ict-kpi-icon{color:var(--ict-light,#76deca);font-size:18px;font-weight:850;line-height:1}.ict-kpi-num{font:790 clamp(29px,2.2vw,41px)/1.2 var(--font);letter-spacing:-.065em;color:#ecf8fb;margin:16px 0 8px;font-variant-numeric:tabular-nums}.ict-kpi small{font-size:10px;color:#6f879b;white-space:nowrap;overflow:hidden;display:block;text-overflow:ellipsis}.ict-kpi-track{height:3px;margin-top:16px;background:#2b3949;border-radius:8px;overflow:hidden}.ict-kpi-track i{display:block;width:38%;height:100%;border-radius:8px;background:var(--ict-light,#61d7d0)}.ict-kpi.is-b{--ict-light:#8eb2ff}.ict-kpi.is-c{--ict-light:#f3c47d}.ict-kpi.is-d{--ict-light:#bb9dff}.ict-kpi.is-e{--ict-light:#fd9595}.ict-kpi.is-f{--ict-light:#72e7b6}
.ict-control-grid{display:grid;grid-template-columns:minmax(0,1.56fr) minmax(300px,.82fr);gap:14px;margin-bottom:14px}.ict-pane{border:1px solid #293d50;background:linear-gradient(155deg,#142335,#0f1a29 78%);border-radius:16px;padding:23px;min-width:0;position:relative;overflow:hidden;box-shadow:0 18px 55px #0000001a}.ict-pane-top{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:18px}.ict-pane-eyebrow{font:650 9px var(--mono);letter-spacing:.15em;color:#66c9c3;margin-bottom:6px}.ict-pane h2{font-size:16px;margin:0;color:#e6f3fc;letter-spacing:-.045em;font-weight:720}.ict-data-label{font:650 9px var(--mono);color:#648395;letter-spacing:.075em;padding:6px 9px;border:1px solid #294354;border-radius:7px;white-space:nowrap}.ict-map-pane{padding-bottom:20px}.ict-map-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(185px,.78fr);gap:14px;min-height:370px}.ict-map-stage{min-height:370px;border:1px solid #2d465b;background:radial-gradient(ellipse at 53% 41%,#17364c 0,#10283b 42%,#0d1c2c 90%);position:relative;border-radius:12px;overflow:hidden}.ict-map-graticule{position:absolute;inset:0;background-image:linear-gradient(#85b3c10c 1px,transparent 1px),linear-gradient(90deg,#85b3c10c 1px,transparent 1px);background-size:30px 30px;mask-image:radial-gradient(ellipse at 50% 45%,#000 30%,transparent 86%)}.ict-map-radial{position:absolute;width:250px;height:250px;border:1px solid #60c0c11c;border-radius:50%;left:50%;top:45%;transform:translate(-50%,-50%);box-shadow:0 0 0 50px #66c6ce08,0 0 0 100px #66c6ce05}.ict-korea-outline{height:100%;width:100%;position:absolute;inset:0;stroke:none;fill:none;filter:drop-shadow(0 20px 22px #04101ca0)}.ict-map-pins{position:absolute;inset:0;pointer-events:none}.ict-map-pin{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;background:#0f2735d9;border:1px solid #56b4b582;border-radius:9px;padding:6px 8px;cursor:pointer;color:#d6fff6;box-shadow:0 0 15px #37e3c41b;display:flex;gap:6px;align-items:center;transition:.18s}.ict-map-pin:hover,.ict-map-pin.is-active{background:#1a5356;border-color:#96fbe7;box-shadow:0 0 30px #39dcc553}.ict-map-pin:before{content:'';width:5px;height:5px;border-radius:100%;background:#73f9d9;box-shadow:0 0 0 4px #6bedc41e}.ict-map-pin strong{font:700 10px var(--font);white-space:nowrap}.ict-map-pin small{font:700 10px var(--mono);color:#8bfde6}.ict-map-compass{position:absolute;right:17px;top:16px;font:600 10px var(--mono);letter-spacing:.15em;color:#80b5b5;display:flex;flex-direction:column;align-items:center}.ict-map-compass i{width:1px;height:26px;background:linear-gradient(#79d6c9,transparent);margin-top:4px}.ict-map-disclaimer{position:absolute;bottom:13px;left:13px;right:13px;color:#648c9c;text-align:center;font-size:9px;line-height:1.5}.ict-region-list{padding:8px 5px;display:flex;flex-direction:column;min-width:0}.ict-region-title{display:flex;justify-content:space-between;gap:5px;font-size:12px;font-weight:700;color:#cbdfeb;margin:0 0 14px}.ict-region-title span{font-size:10px;color:#668597;font-weight:500}.ict-region-rows{display:grid;gap:6px;overflow:auto;max-height:310px}.ict-region-row{width:100%;border:1px solid transparent;background:transparent;color:#b2cad5;border-radius:9px;padding:9px 10px;display:flex;align-items:center;gap:9px;text-align:left;transition:.2s}.ict-region-row:hover,.ict-region-row.is-active{background:#1b3846;border-color:#2f5b63}.ict-region-row .ict-region-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:#74d8d2}.ict-region-row .ict-region-name{flex:1;font-size:11px}.ict-region-row strong{color:#eaf8fa;font:700 12px var(--mono)}.ict-region-total{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #305457;background:#19363f;color:#91ecdc;padding:10px 12px;border-radius:9px;text-align:left;font-size:11px;font-weight:700}.ict-muted{color:#7897a7;font-size:11px}
.ict-weather-pane{display:flex;flex-direction:column}.ict-weather-focus{border:1px solid #24445b;border-radius:13px;padding:20px;background:radial-gradient(ellipse at 5% 10%,#20516b8c,transparent 65%),linear-gradient(130deg,#19364b,#112336);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(105px,.8fr);gap:15px;min-height:250px}.ict-weather-left{display:flex;flex-direction:column}.ict-weather-place{color:#b0dfe9;font-size:12px;font-weight:720}.ict-weather-icon{font-size:35px;color:#ffd99b;line-height:1.4;margin-top:8px}.ict-weather-temp{font-size:57px;font-weight:730;letter-spacing:-.075em;line-height:1.16;font-variant-numeric:tabular-nums}.ict-weather-temp small{font-size:20px;vertical-align:top;margin-left:5px;color:#a1d0dd;font-weight:450}.ict-weather-left p{color:#b1d1db;font-size:11px;margin:10px 0 0}.ict-weather-right{display:flex;flex-direction:column;justify-content:center}.ict-weather-right>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #95bfd522;padding:13px 0;align-items:center}.ict-weather-right>div:last-child{border:0}.ict-weather-right span{color:#83abbb;font-size:10px}.ict-weather-right strong{color:#d8f3f5;font-size:12px;white-space:nowrap}.ict-weather-foot{margin-top:18px}.ict-weather-foot>span{display:block;color:#87a4b7;font-size:11px;margin-bottom:10px}.ict-weather-switch{display:flex;flex-wrap:wrap;gap:6px}.ict-weather-switch button{font-size:10px;background:#152a3a;border:1px solid #29445a;color:#8daabb;padding:7px 9px;border-radius:8px}.ict-weather-switch button.active{background:#21504f;color:#b9ffed;border-color:#458f81}.ict-weather-note{margin:12px 0;color:#627d90;font-size:9px;line-height:1.55}.ict-health-band{margin-top:auto;padding:13px 14px;border:1px solid #2e554e;background:#17352f69;border-radius:11px;display:flex;gap:12px;align-items:flex-start}.ict-health-pulse{width:8px;height:8px;background:#73e4ad;border-radius:50%;margin-top:5px;box-shadow:0 0 15px #5bd6a2}.ict-health-band strong{display:block;color:#a5edd2;font-size:11px}.ict-health-band p{margin:4px 0 0;color:#79a89c;font-size:10px;line-height:1.65}
.ict-lower-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:14px}.ict-link-button{font-size:11px;color:#92d9d0;border:0;background:transparent;font-weight:700}.ict-recent-list{display:grid;gap:8px}.ict-recent-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid #273c4e;background:#122335;border-radius:10px;min-width:0;cursor:pointer}.ict-recent-item:hover{background:#1a3143;border-color:#436e75}.ict-recent-icon{width:34px;height:34px;border-radius:9px;background:#284458;color:#a4e8e0;display:grid;place-items:center;font-size:16px;flex-shrink:0}.ict-recent-text{flex:1;min-width:0}.ict-recent-text strong{font-size:12px;color:#e8f2fa;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ict-recent-text small{color:#7893a8;font-size:10px;display:block;margin-top:2px}.ict-flag{border-radius:6px;padding:5px 7px;font-size:10px;font-weight:730;white-space:nowrap}.ict-flag.received{color:#f8c488;background:#4d392b}.ict-flag.working{color:#a6c8ff;background:#2b3d60}.ict-flag.resolved{color:#90e5bc;background:#1e453f}.ict-status-progress{display:flex;height:16px;border-radius:7px;overflow:hidden;background:#273749;margin:30px 0 20px;gap:2px}.ict-status-progress span{height:100%;display:block;min-width:0;transition:width .3s}.ict-status-legend{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.ict-legend-item{display:flex;gap:9px;align-items:center;font-size:11px;color:#a0b8c9}.ict-legend-item:before{content:'';width:9px;height:9px;background:var(--dot);border-radius:3px;flex-shrink:0}.ict-legend-item b{margin-left:auto;font:700 12px var(--mono);color:#effaff}.ict-asset-notice{display:flex;gap:12px;margin-top:25px;border-top:1px solid #293d4e;padding-top:20px;color:#8dacc0}.ict-asset-notice span{font-size:20px;color:#83b3be}.ict-asset-notice p{margin:0;font-size:11px;line-height:1.75}.ict-empty{padding:34px 18px;text-align:center;color:#7390a4;font-size:12px;border:1px dashed #33495a;border-radius:11px}
.ict-suite-page .ict-pane{overflow:visible}.ict-table-pane{padding:0;overflow:hidden!important}.ict-table-toolbar{padding:21px 23px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #29394c}.ict-table-toolbar>div:first-child{display:flex;align-items:center;gap:10px}.ict-table-toolbar strong{font-size:14px}.ict-table-toolbar small{background:#1e3944;color:#95ddcf;font:700 11px var(--mono);padding:4px 9px;border-radius:7px}.ict-table-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ict-table-filters input,.ict-table-filters select{border:1px solid #334b5c;background:#0e1b2b;color:#d1e2ee;border-radius:8px;padding:9px 11px;min-height:38px;outline:0;font:12px var(--font)}.ict-table-filters input{min-width:250px}.ict-table-scroll{overflow-x:auto;min-height:150px}.ict-data-table{width:100%;min-width:980px;border-collapse:collapse;text-align:left}.ict-data-table th{padding:14px 20px;color:#7593a5;font:700 10px var(--font);letter-spacing:.015em;white-space:nowrap;background:#122234}.ict-data-table td{padding:17px 20px;border-top:1px solid #243749;font-size:11px;color:#b4c9d7;vertical-align:middle}.ict-data-table tr:hover td{background:#192f3f55}.ict-data-table td strong{display:block;color:#e0eff7;font-size:12px;line-height:1.5;font-weight:700}.ict-data-table td small{display:block;color:#7492a5;font-size:10px;margin-top:4px}.ict-table-action{padding:6px 10px;border:1px solid #36566a;border-radius:7px;background:#1c3443;color:#9cebdc;font-size:10px}.ict-table-action:hover{background:#215254}.ict-small-status{display:inline-flex;border-radius:6px;padding:5px 8px;background:#243d49;color:#c7e2e8;font-size:10px;font-weight:700;white-space:nowrap}.ict-small-status.maintenance,.ict-small-status.inspection{color:#f9c486;background:#463d30}.ict-small-status.disposed{color:#e3a1ad;background:#48303d}.ict-small-status.active{color:#82e4b1;background:#224b40}.ict-priority{font-weight:750;font-size:11px;color:#9db6c8}.ict-priority.urgent{color:#ff9ba4}.ict-priority.high{color:#f8c48d}
.ict-analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ict-analytics-bars{display:grid;gap:17px;padding:7px 1px}.ict-an-row{display:grid;grid-template-columns:70px minmax(0,1fr) 45px;gap:12px;align-items:center}.ict-an-row label{color:#afc4d2;font-size:11px}.ict-an-track{height:9px;border-radius:9px;background:#22374b;overflow:hidden}.ict-an-track i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#388eaa,#73e5d4)}.ict-an-row strong{font:700 12px var(--mono);text-align:right}.ict-trend-bars{min-height:240px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;align-items:end}.ict-trend-bar{height:220px;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:8px}.ict-trend-bar i{width:50%;max-width:44px;min-height:2px;background:linear-gradient(180deg,#77e9d9,#326b8d);border-radius:7px 7px 2px 2px}.ict-trend-bar strong{font:650 10px var(--mono);color:#bad8de}.ict-trend-bar small{font-size:10px;color:#789aab}.ict-analytics-foot{margin-top:14px}.ict-analytics-foot p{margin:5px 0;color:#96b1be;font-size:12px;line-height:1.9}
.ict-modal-backdrop{position:fixed;inset:0;z-index:160;background:#03101bcb;backdrop-filter:blur(11px);display:flex;justify-content:center;align-items:center;padding:22px;overflow-y:auto}.ict-modal{width:min(720px,100%);max-height:min(90vh,1000px);overflow:auto;background:linear-gradient(150deg,#182d3d,#0e1b2a);border:1px solid #3e6171;border-radius:19px;box-shadow:0 35px 100px #000b;padding:26px}.ict-modal-head{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #2b4657;padding-bottom:17px;margin-bottom:21px}.ict-modal-head h2{font-size:21px;margin:2px 0 0;letter-spacing:-.05em}.ict-close{border:1px solid #335064;background:#1b3141;width:32px;height:32px;border-radius:9px;font-size:20px;color:#b9d4e2}.ict-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 16px}.ict-form-grid label,.ict-full-label{font-size:11px;color:#a6c2d2;font-weight:680;display:block}.ict-form-grid label b,.ict-full-label b{color:#6ce6d1}.ict-form-grid input,.ict-form-grid select,.ict-full-label textarea{display:block;width:100%;min-height:42px;margin-top:8px;padding:9px 11px;border:1px solid #375267;background:#0e1b29;color:#e4f2fa;border-radius:8px;font:12px var(--font);outline:0}.ict-form-grid input:focus,.ict-form-grid select:focus,.ict-full-label textarea:focus{border-color:#75d6c9}.ict-form-grid input::placeholder,.ict-full-label textarea::placeholder{color:#5c788e}.ict-span2{grid-column:span 2}.ict-full-label{margin-top:16px}.ict-full-label textarea{resize:vertical;min-height:98px}.ict-form-note{font-size:10px;color:#7292a6;margin:14px 0}.ict-form-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:21px;border-top:1px solid #2a4354;padding-top:19px}
@media(min-width:1920px){.ict-kpi{min-height:176px}.ict-map-body{min-height:435px}.ict-map-stage{min-height:435px}.ict-pane{padding:26px}.ict-weather-focus{min-height:290px}.ict-weather-pane{min-height:530px}}
@media(max-width:1540px){.ict-kpi-grid{grid-template-columns:repeat(3,1fr)}.ict-kpi{min-height:130px}.ict-kpi-num{margin:9px 0}.ict-control-grid{grid-template-columns:minmax(0,1.3fr) minmax(300px,.9fr)}.ict-map-body{grid-template-columns:minmax(0,1fr) minmax(160px,.8fr)}.ict-map-pin{padding:5px}.ict-map-pin strong{font-size:9px}}
@media(max-width:1150px){.ict-control-grid,.ict-lower-grid,.ict-analytics-grid{grid-template-columns:1fr}.ict-weather-pane{min-height:0}.ict-weather-focus{min-height:200px}.ict-map-body{grid-template-columns:minmax(0,1.35fr) minmax(200px,.6fr)}.ict-auth-art-inner h1{font-size:clamp(36px,4vw,52px)}.ict-auth-visual{opacity:.35;right:-95px}}
@media(max-width:900px){.ict-auth-shell{grid-template-columns:1fr}.ict-auth-art{display:none}.ict-auth-side{padding:35px 24px}.ict-auth-side-footer{bottom:20px}.ict-page-lede{flex-direction:column;align-items:flex-start}.ict-heading-actions{justify-content:flex-start}.ict-current-role{display:none}.ict-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ict-map-stage{min-height:360px}.ict-table-toolbar{align-items:flex-start;flex-direction:column}.ict-table-filters{width:100%}.ict-table-filters input{min-width:0;flex:1}}
@media(max-width:600px){main{padding:21px 14px 25px}.ict-page-lede h1{font-size:30px}.ict-kpi-grid{gap:9px}.ict-kpi{padding:14px 12px;min-height:128px}.ict-kpi-upper{font-size:11px}.ict-kpi-num{font-size:31px}.ict-kpi small{font-size:9px}.ict-pane{padding:16px}.ict-map-body{grid-template-columns:1fr}.ict-map-stage{min-height:355px}.ict-region-list{padding:0}.ict-region-rows{grid-template-columns:repeat(2,1fr)}.ict-region-total{margin-top:9px}.ict-weather-focus{padding:13px}.ict-modal{padding:18px}.ict-form-grid{grid-template-columns:1fr}.ict-span2{grid-column:auto}.ict-form-footer{flex-wrap:wrap}.ict-kicker{font-size:9px}.topbar{height:64px;padding:0 15px}.top-chip,.top-clock{display:none}}
@media(prefers-reduced-motion:reduce){.ict-ping,.ict-orbit-b{animation:none!important}*,*:before,*:after{scroll-behavior:auto!important}}
.ict-detail-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:17px}.ict-detail-meta span{font-size:11px;padding:11px 12px;border:1px solid #2d4758;border-radius:8px;color:#88a4b5}.ict-detail-meta b{color:#e5f3f8;font-weight:700;margin-left:5px}.ict-detail-description{border:1px solid #2b4254;padding:15px;border-radius:9px;margin-bottom:12px}.ict-detail-description strong{font-size:11px;color:#83daca}.ict-detail-description p{font-size:12px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;color:#bfd4e0;margin:10px 0 0}@media(max-width:600px){.ict-detail-meta{grid-template-columns:1fr}}

.ict-lower-grid>.ict-pane:first-child{display:flex;flex-direction:column}.ict-lower-grid>.ict-pane:first-child .ict-recent-list{flex:1}.ict-live-strip{display:flex;align-items:center;gap:12px;margin-top:18px;padding:15px 14px;background:#1836417d;border:1px solid #2a565b;border-radius:10px}.ict-live-strip>div{flex:1;min-width:0}.ict-live-strip strong{display:block;color:#c9f7e9;font-size:11px}.ict-live-strip small{display:block;color:#85a9b7;font-size:10px;margin-top:3px;line-height:1.6}.ict-live-strip b{white-space:nowrap;font:750 17px var(--mono);color:#7fefcb}
@media(max-width:600px){.ict-weather-focus{grid-template-columns:1fr;min-height:0}.ict-weather-left{min-height:155px}.ict-weather-right{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border-top:1px solid #95bfd522;padding-top:12px}.ict-weather-right>div{display:flex;align-items:flex-start;flex-direction:column;gap:4px;padding:0 3px;border-bottom:0}.ict-weather-right span{white-space:nowrap}.ict-weather-right strong{font-size:10px;white-space:normal;overflow-wrap:anywhere}.ict-weather-temp{font-size:52px}}

/* v3.1 login customization + geographic map + inventory */
:root{--ict-login-art:#0a1c2d;--ict-login-panel:#0c1320;--ict-login-accent:#6ce9dc;--ict-login-img:none;--ict-login-img-opacity:.35;--ict-login-logo-size:56px}
.ict-auth-shell{--ict-accent:var(--ict-login-accent)}
.ict-auth-art{background:linear-gradient(120deg,var(--ict-login-art),#071221 96%);}
.ict-auth-art:after{content:"";position:absolute;inset:0;z-index:-1;background-image:var(--ict-login-img);background-position:center;background-size:cover;opacity:var(--ict-login-img-opacity);pointer-events:none}
.ict-auth-side{background:radial-gradient(ellipse 420px 350px at 110% 0%,#13364580,transparent 72%),var(--ict-login-panel)}
.ict-auth-art-inner h1 span{display:block}.ict-auth-art-inner h1 #ictLoginHeroTitle{color:#f0f8ff}.ict-auth-art-inner h1 #ictLoginHeroAccent{color:var(--ict-login-accent)}
.ict-auth-brand .ict-auth-brand-image{width:var(--ict-login-logo-size);height:var(--ict-login-logo-size);object-fit:contain;flex-shrink:0;border-radius:7px}.ict-auth-brand .ict-auth-brand-image[hidden]{display:none!important}
.ict-brand-symbol{background:linear-gradient(145deg,var(--ict-login-accent),#267d9b)}.ict-auth-brand em,.ict-form-cap{color:var(--ict-login-accent)}
.ict-login-submit{background:linear-gradient(110deg,var(--ict-login-accent),#5fcbce)}
.ict-login-design-trigger{position:absolute;right:24px;bottom:22px;display:flex;align-items:center;gap:7px;border:1px solid #314458;background:#142333;color:#9ab6c8;border-radius:9px;padding:9px 11px;font:600 11px var(--font);cursor:pointer;opacity:.85;transition:.2s}.ict-login-design-trigger:hover{opacity:1;color:#edfffa;border-color:#6edaca}.ict-login-design-trigger svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6}
.ict-admin-mode-switch{display:flex!important;gap:9px;align-items:center!important;justify-content:flex-end!important;margin:0 0 22px!important;color:#829bab!important;font-size:11px!important;cursor:pointer}.ict-admin-mode-switch input{width:15px;height:15px;accent-color:var(--ict-login-accent)}.ict-login-role-hint{color:#a5bacc;font-size:12px;font-weight:650;margin:0 0 8px}.ict-auth-box:has(#ictAdminMode:checked) .ict-login-role-hint:after{content:' · ICT 관리자';color:var(--ict-login-accent)}
.ict-auth-shell[data-login-layout=balanced]{grid-template-columns:1fr 1fr}.ict-auth-shell[data-login-layout=compact]{grid-template-columns:minmax(0,.8fr) minmax(460px,1.2fr)}.ict-auth-shell[data-login-layout=centered]{grid-template-columns:1fr}.ict-auth-shell[data-login-layout=centered] .ict-auth-art{display:none}.ict-auth-shell[data-login-layout=centered] .ict-auth-side{background:radial-gradient(circle at 50% 20%,#12576940,transparent 60%),var(--ict-login-panel)}
.ict-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.ict-kpi.is-g{--ict-light:#85d9ee}.ict-kpi.is-h{--ict-light:#6bc9ed}.ict-kpi.is-i{--ict-light:#e8b68b}.ict-kpi.is-j{--ict-light:#f5879a}
.ict-insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.ict-category-row{display:grid;grid-template-columns:125px 1fr 55px;align-items:center;gap:14px;padding:8px 0;color:#aebfd1;font-size:11px}.ict-category-row .ict-category-meter{height:8px;border-radius:6px;background:#263b4d;overflow:hidden}.ict-category-meter>i{display:block;height:100%;background:linear-gradient(90deg,#368bba,#74e2cc);border-radius:6px}.ict-category-row b{text-align:right;color:#eaf5fb}
.ict-risk-item{width:100%;display:flex;align-items:center;gap:12px;border:1px solid #2e4357;background:#142739;border-radius:10px;padding:13px;margin-top:8px;color:#bed4e1;text-align:left;cursor:pointer}.ict-risk-item>span{flex:1}.ict-risk-item strong{font:750 16px var(--font);color:#f2c9a0}.ict-risk-item:hover{border-color:#6bcbbe}
.ict-map-stage.ict-map-real{min-height:420px;display:flex;flex-direction:column;background:#071b2e;isolation:isolate}.ict-map-real .ict-geo-tools{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #2c5064;font:700 9px var(--mono);letter-spacing:.1em;color:#81d8c7}.ict-geo-tools>div{display:flex;gap:4px}.ict-geo-tools button{min-width:29px;height:26px;background:#122e40;border:1px solid #2f5268;border-radius:5px;color:#cfebf0;cursor:pointer}.ict-geo-tools button:hover{border-color:#71e5cf}.ict-geo-canvas{flex:1;min-height:335px;display:grid;place-items:center;overflow:hidden;position:relative;background:#071b2e}.ict-geo-svg{display:block;width:100%;height:100%;max-height:550px;min-height:335px;transition:transform .23s;transform-origin:center center}.ict-geo-pins .ict-geo-dot{cursor:pointer;outline:none}.ict-geo-dot .ict-geo-ring{fill:#42aab1;stroke:#9aefdf;stroke-width:2;opacity:.13}.ict-geo-dot .ict-geo-core{fill:#a3ffee;stroke:#1d768c;stroke-width:2}.ict-geo-dot:hover .ict-geo-ring,.ict-geo-dot.selected .ict-geo-ring{opacity:.55;stroke-width:4}.ict-geo-dot .ict-geo-amount{font:700 13px sans-serif;fill:#eafffa;paint-order:stroke;stroke:#071b2e;stroke-width:4}.ict-geo-legend{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:8px 12px;border-top:1px solid #204459;font-size:9px;color:#89afc0}.ict-geo-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#78eddb}.ict-geo-selected{padding:9px 12px;border-top:1px solid #204459;font-size:10px;color:#b6d3dc;line-height:1.5}.ict-map-real.is-expanded{position:fixed;inset:3vh 3vw;z-index:250;min-height:0;border:2px solid #4facae;box-shadow:0 0 0 100vmax #000c}.ict-map-real.is-expanded .ict-geo-canvas{min-height:0}.ict-map-real.is-expanded .ict-geo-svg{max-height:calc(90vh - 140px);min-height:0}
.ict-geo-no-data:not([hidden]){display:grid;place-items:center;position:absolute;inset:0;background:#071b2eb8;font-size:11px;color:#98b9c4;text-align:center;padding:15px}.ict-geo-no-data[hidden]{display:none!important}
.ict-bulk-modal{width:min(890px,100%)}.ict-bulk-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.ict-bulk-actions input{flex:1;min-width:200px;font-size:12px;color:#b4d7e4}.ict-bulk-status{margin:14px 0;background:#142d40;border:1px solid #355267;border-radius:9px;padding:12px;font-size:12px;color:#a8d2d6;line-height:1.7}.ict-bulk-status.error{color:#ffb5af;border-color:#ad6264}.ict-bulk-preview{max-height:260px;overflow:auto;border:1px solid #365365;border-radius:8px}.ict-bulk-preview table{width:100%;min-width:700px;border-collapse:collapse;font-size:11px}.ict-bulk-preview td,.ict-bulk-preview th{padding:9px 11px;border-bottom:1px solid #294454;text-align:left}.ict-bulk-preview th{position:sticky;top:0;background:#193144}.ict-bulk-preview .invalid{color:#f2a2a2}
@media(max-width:1540px){.ict-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1270px){.ict-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1150px){.ict-insight-grid{grid-template-columns:1fr}}
@media(max-width:900px){.ict-auth-shell[data-login-layout=compact],.ict-auth-shell[data-login-layout=balanced]{grid-template-columns:1fr}.ict-login-design-trigger{bottom:65px}.ict-auth-shell[data-login-layout=centered] .ict-auth-side{padding-top:65px}}
@media(max-width:600px){.ict-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ict-category-row{grid-template-columns:105px 1fr 38px;gap:8px}.ict-login-design-trigger{right:12px;bottom:61px}.ict-map-stage.ict-map-real{min-height:365px}}

.ict-modal-backdrop[hidden]{display:none!important}

/* v3.2 logo visibility fix: explicit hidden beats original display:grid rule */
.ict-auth-brand .ict-brand-symbol[hidden], .sidebar-logo .brand-mark[hidden], .sidebar-logo .d-brand-image[hidden] {display:none!important}
.ict-auth-brand .ict-auth-brand-image[hidden], .d-upload img[hidden], .d-mock img[hidden] {display:none!important}
.ict-auth-brand .ict-auth-brand-image {max-width:min(260px,50vw);background:transparent}
.ict-logo-sync-note{font-size:11px;line-height:1.6;color:#85b9b8;padding:9px 11px;border:1px solid #294c53;border-radius:9px;background:#122a3377;margin:8px 0 12px}
