:root{--navy:#0c2436;--navy2:#071927;--orange:#ed6c21;--red:#e34242;--blue:#1768e5;--green:#1d9a68;--ink:#172b3a;--muted:#74838e;--line:#e3e9ee;--canvas:#f4f7f9;--white:#fff;--shadow:0 8px 30px rgba(13,37,54,.055)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo",Arial,sans-serif}button,input,select,textarea{font:inherit}button{color:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:244px;display:flex;flex-direction:column;color:#d9e4ec;background:linear-gradient(180deg,var(--navy),var(--navy2));border-top:4px solid var(--orange);box-shadow:10px 0 34px rgba(5,22,34,.08)}
.brand{height:88px;display:flex;align-items:center;gap:13px;padding:0 22px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;color:#fff;background:linear-gradient(145deg,#f3833c,#e25715);box-shadow:0 8px 20px rgba(237,108,33,.25);font-size:24px;font-weight:800}.brand strong{display:block;color:#fff;font-size:23px;line-height:1;letter-spacing:.05em}.brand span{display:block;margin-top:6px;color:#91a6b5;font-size:12px}.site-label{margin:23px 24px 9px;color:#668194;font-size:10px;font-weight:700;letter-spacing:.16em}.main-nav{padding:0 12px}.main-nav button,.main-nav a{position:relative;width:100%;min-height:45px;display:flex;align-items:center;gap:12px;margin:3px 0;padding:0 13px;border:0;border-radius:9px;color:#9eb1be;background:transparent;cursor:pointer;text-align:left;text-decoration:none;transition:.18s}.main-nav button:hover,.main-nav a:hover{color:#fff;background:rgba(255,255,255,.06)}.main-nav button.active,.main-nav a.active{color:#fff;background:linear-gradient(90deg,rgba(237,108,33,.23),rgba(237,108,33,.08))}.main-nav button.active:before,.main-nav a.active:before{content:"";position:absolute;left:-12px;width:3px;height:25px;border-radius:0 3px 3px 0;background:var(--orange)}.nav-icon{width:20px;text-align:center;font-size:19px;font-weight:400}.main-nav button>span:last-of-type,.main-nav a>span:last-of-type{font-size:14px;font-weight:600}.main-nav em{margin-left:auto;min-width:20px;height:20px;display:grid;place-items:center;padding:0 6px;border-radius:999px;color:#fff;background:var(--red);font-size:11px;font-style:normal}.sidebar-foot{margin:auto 15px 18px;padding:17px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.045)}.score-head{display:grid;grid-template-columns:1fr auto;align-items:end}.score-head span{grid-column:1/-1;margin-bottom:6px;color:#91a6b5;font-size:11px}.score-head strong{color:#fff;font-size:27px;letter-spacing:-.04em}.score-head small{color:#55d69e;font-size:12px;font-weight:700}.score-track{height:4px;margin:10px 0 8px;overflow:hidden;border-radius:4px;background:rgba(255,255,255,.1)}.score-track i{display:block;width:92%;height:100%;background:linear-gradient(90deg,#1cac72,#57d69e)}.sidebar-foot p{margin:0;color:#718a9b;font-size:10px}
.main-content{min-height:100vh;margin-left:244px}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.95);backdrop-filter:blur(10px)}.topbar-left,.topbar-right,.site-selector,.profile{display:flex;align-items:center}.site-selector{gap:9px;color:#425462;font-size:13px}.site-selector i{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(29,154,104,.12)}.site-selector select{max-width:230px;padding:7px 27px 7px 9px;border:1px solid #dfe7ec;border-radius:7px;color:#425462;background:#fff;font:inherit;font-weight:700;cursor:pointer;appearance:none}.site-selector select:disabled{padding-right:9px;border-color:transparent;color:#425462;background:transparent;cursor:default;opacity:1}.site-selector span,.profile>span{margin-left:-25px;pointer-events:none;color:#8fa0ad}.site-selector select:disabled+span{display:none}.topbar-right{gap:19px}.notification{position:relative;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:#536675;background:#fff;cursor:pointer;font-size:22px}.notification b{position:absolute;top:-4px;right:-3px;width:18px;height:18px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;color:#fff;background:var(--red);font-size:9px}.profile{gap:10px;padding-left:17px;border-left:1px solid var(--line)}.avatar{width:37px;height:37px;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(145deg,#245270,#102d42);font-size:14px;font-weight:700}.profile div strong,.profile div span{display:block}.profile div strong{font-size:13px}.profile div span{margin-top:3px;color:#8997a3;font-size:10px}.mobile-menu{display:none;border:0;background:transparent;font-size:23px;cursor:pointer}
.content-wrap{max-width:1580px;margin:auto;padding:31px 34px 22px}.welcome-row{display:flex;align-items:flex-end;justify-content:space-between;gap:26px}.eyebrow{margin:0 0 7px!important;color:var(--orange)!important;font-size:11px!important;font-weight:800}.welcome-row h1{margin:0;color:#172b3a;font-size:clamp(25px,2vw,33px);line-height:1.25;letter-spacing:-.045em}.welcome-row>div>p:last-child{margin:9px 0 0;color:var(--muted);font-size:13px}.welcome-actions{display:flex;align-items:center;gap:10px}.zero-days{min-height:42px;display:flex;align-items:center;gap:7px;padding:0 10px 0 14px;border:1px solid #b9e4d1;border-radius:8px;color:var(--green);background:#f2fbf7}.zero-days small{color:#687b86}.zero-days strong{white-space:nowrap}.zero-days-adjust{height:26px;margin-left:3px;padding:0 8px;border:1px solid #a9d9c4;border-radius:6px;color:#167552;background:#fff;font-size:10px;font-weight:800;cursor:pointer}.zero-days-adjust:hover{background:#e7f7ef}.zero-days-adjust[hidden],[data-super-admin][hidden]{display:none!important}.primary-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 17px;border:0;border-radius:8px;color:#fff;background:var(--orange);box-shadow:0 7px 16px rgba(237,108,33,.18);font-size:13px;font-weight:700;cursor:pointer;transition:.18s}.primary-button:hover{background:#d85a11;transform:translateY(-1px)}
.urgent-banner{min-height:64px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;margin-top:25px;padding:10px 17px;border:1px solid #ffd3be;border-radius:10px;background:linear-gradient(90deg,#fff4ee,#fffaf7)}.urgent-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;color:var(--orange);background:#ffe3d3;font-weight:900}.urgent-banner strong,.urgent-banner span{display:block}.urgent-banner strong{color:#593624;font-size:13px}.urgent-banner div span{margin-top:4px;color:#9a6d55;font-size:11px}.urgent-banner button{border:0;color:var(--orange);background:transparent;font-size:12px;font-weight:800;cursor:pointer}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}.kpi-card{position:relative;min-height:152px;padding:20px 20px 17px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.kpi-card:after{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:currentColor}.kpi-top{display:flex;align-items:center;justify-content:space-between;color:#5f707c;font-size:12px;font-weight:700}.kpi-top i{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 5px color-mix(in srgb,currentColor 12%,transparent)}.kpi-value{display:flex;align-items:baseline;gap:5px;margin-top:10px;color:var(--ink)}.kpi-value strong{font-size:32px;letter-spacing:-.06em}.kpi-value span{color:#778791;font-size:12px}.progress{height:4px;margin-top:13px;overflow:hidden;border-radius:4px;background:#edf1f4}.progress i{display:block;height:100%;border-radius:inherit;background:currentColor}.kpi-card p{margin:9px 0 0;color:#7d8b95;font-size:10px}.kpi-card.blue{color:var(--blue)}.kpi-card.red{color:var(--red)}.kpi-card.orange{color:var(--orange)}.kpi-card.green{color:var(--green)}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr);gap:14px;margin-top:14px}.panel{border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:20px 21px 0}.panel-head h2{margin:0;color:#263a49;font-size:15px}.panel-head p{margin:6px 0 0;color:#8996a0;font-size:10px}.outline-button{min-height:31px;padding:0 10px;border:1px solid var(--line);border-radius:7px;color:#60717e;background:#fff;font-size:10px;cursor:pointer}.chart-summary{display:flex;align-items:baseline;gap:13px;margin:15px 22px 0}.chart-summary strong{font-size:25px;letter-spacing:-.05em}.chart-summary span{color:#87949e;font-size:10px}.chart-summary b{color:var(--green)}.bar-chart{height:155px;display:flex;align-items:flex-end;gap:clamp(12px,2.6vw,34px);margin:4px 25px 20px;padding-top:28px;border-bottom:1px solid #e7ecef;background-image:linear-gradient(to bottom,#edf1f4 1px,transparent 1px);background-size:100% 38px}.bar-chart>div{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.bar-chart i{position:relative;width:min(24px,70%);min-height:5px;border-radius:5px 5px 0 0;background:linear-gradient(180deg,#4d91ef,#1768e5)}.bar-chart i b{position:absolute;top:-18px;left:50%;transform:translateX(-50%);color:#71808b;font-size:9px;font-style:normal;white-space:nowrap}.bar-chart>div>span{width:24px;margin:7px 0 -19px;color:#87949d;font-size:9px;text-align:center}.bar-chart span.today{width:22px;height:18px;display:grid;place-items:center;margin-bottom:-21px;border-radius:4px;color:#fff;background:var(--orange)}
.text-button,.risk-link{border:0;color:var(--blue);background:transparent;font-size:10px;font-weight:700;cursor:pointer}.schedule-list{padding:11px 20px 13px}.schedule-item{min-height:48px;display:grid;grid-template-columns:38px 8px 1fr auto;align-items:center;gap:10px;border-bottom:1px solid #eef1f3}.schedule-item:last-child{border:0}.schedule-item time{font-size:10px;font-weight:700}.schedule-item>i{width:7px;height:7px;border-radius:50%;background:#b7c1c8}.schedule-item>i.done{background:var(--green)}.schedule-item>i.active{background:var(--orange);box-shadow:0 0 0 4px #fff0e7}.schedule-item div strong{display:block;color:#2c404f;font-size:11px}.schedule-item div span{display:block;margin-top:4px;color:#8a97a0;font-size:9px}.schedule-item em{min-width:45px;height:20px;display:grid;place-items:center;border-radius:5px;color:#74838e;background:#f0f3f5;font-size:9px;font-style:normal}.schedule-item em.done{color:var(--green);background:#e9f8f1}.schedule-item em.active{color:var(--orange);background:#fff0e7}
.lower-grid{grid-template-columns:minmax(650px,1.5fr) minmax(300px,.5fr)}.table-head{align-items:center;flex-wrap:wrap}.table-actions,.filters{display:flex;align-items:center}.table-actions{gap:8px}.filters{padding:2px;border-radius:7px;background:#f2f5f7}.filters button{height:27px;padding:0 9px;border:0;border-radius:5px;color:#7a8994;background:transparent;font-size:9px;cursor:pointer}.filters button.active{color:#233a4b;background:#fff;box-shadow:0 2px 7px rgba(23,45,60,.08);font-weight:700}.table-wrap{overflow-x:auto;padding:13px 20px 16px}table{width:100%;border-collapse:collapse;white-space:nowrap}th{padding:8px;border-bottom:1px solid var(--line);color:#93a0a9;background:#f7f9fa;font-size:9px;font-weight:600;text-align:left}td{height:43px;padding:7px 8px;border-bottom:1px solid #eef1f3;color:#657581;font-size:9px}td strong{color:#354957;font-size:10px}tr.completed{opacity:.48}.risk-badge,.status-badge{min-width:34px;height:20px;display:inline-grid;place-items:center;padding:0 7px;border-radius:5px;font-size:9px;font-weight:700}.risk-badge.urgent{color:#fff;background:var(--red)}.risk-badge.high{color:#d75b13;background:#fff0e5}.risk-badge.normal{color:#6e7e89;background:#eff3f5}.status-badge.delayed{color:var(--red);background:#fff0f0}.status-badge.working{color:var(--blue);background:#eaf2ff}.status-badge.review{color:#846b16;background:#fff8d9}.status-badge.complete{color:var(--green);background:#e9f8f1}.due-today{color:var(--red);font-weight:800}.complete-button{height:24px;padding:0 8px;border:1px solid #cad6de;border-radius:5px;color:#526774;background:#fff;font-size:9px;cursor:pointer}
.dots{border:0;color:#8796a0;background:transparent;letter-spacing:2px}.risk-legend{display:grid;grid-template-columns:repeat(2,1fr);gap:7px 10px;margin:15px 22px 8px}.risk-legend span{display:flex;align-items:center;gap:5px;color:#72828e;font-size:9px}.risk-legend i{width:7px;height:7px;border-radius:2px}.critical{background:#e65050!important}.high{background:#f2994a!important}.medium{background:#f1c84b!important}.low{background:#5cbf8d!important}.matrix-wrap{position:relative;margin:13px 24px 5px 37px;padding-bottom:20px}.risk-matrix{display:grid;grid-template-columns:repeat(5,1fr);gap:3px}.risk-matrix div{position:relative;aspect-ratio:1.2;display:grid;place-items:center;border-radius:3px;color:#fff;font-size:9px;font-weight:700}.risk-matrix div span{opacity:.75}.risk-matrix b{position:absolute;top:3px;right:4px;min-width:15px;height:15px;display:grid;place-items:center;border-radius:50%;color:#253746;background:#fff;font-size:8px;box-shadow:0 2px 5px rgba(20,35,45,.15)}.axis-y{position:absolute;left:-25px;top:50%;transform:translate(-50%,-50%) rotate(-90deg);color:#93a0aa;font-size:8px;white-space:nowrap}.axis-x{position:absolute;right:0;bottom:3px;color:#93a0aa;font-size:8px}.risk-link{display:block;margin:0 20px 14px auto}footer{display:flex;justify-content:space-between;margin-top:16px;padding:9px 3px 0;color:#98a4ac;font-size:9px}footer span:last-child{color:#6f9e87}
.modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:rgba(4,17,27,.62);backdrop-filter:blur(4px)}.modal-backdrop[hidden]{display:none}.modal{width:min(620px,100%);overflow:hidden;border-radius:15px;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.24);animation:modalIn .22s ease}@keyframes modalIn{from{opacity:0;transform:translateY(10px) scale(.98)}}.modal-head{display:flex;justify-content:space-between;padding:25px 27px 20px;border-bottom:1px solid var(--line)}.modal-head span{color:var(--orange);font-size:9px;font-weight:800;letter-spacing:.16em}.modal-head h2{margin:6px 0 0;font-size:22px}.modal-head p{margin:7px 0 0;color:#81909a;font-size:11px}.modal-head>button{width:35px;height:35px;border:0;border-radius:50%;color:#687985;background:#f2f5f7;font-size:24px;cursor:pointer}.modal form{padding:22px 27px 25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{display:grid;gap:7px;color:#465b69;font-size:11px;font-weight:700}.form-grid label.full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #d9e1e6;border-radius:8px;color:#273d4c;background:#fff;outline:0;font-size:12px}.form-grid input,.form-grid select{height:41px;padding:0 12px}.form-grid textarea{padding:11px 12px;resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,104,229,.09)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.secondary-button{min-height:42px;padding:0 18px;border:1px solid #d8e0e5;border-radius:8px;color:#5f7280;background:#fff;font-size:12px;font-weight:700;cursor:pointer}.toast{position:fixed;z-index:100;right:26px;bottom:25px;display:flex;align-items:center;gap:9px;padding:13px 17px;border-radius:9px;color:#fff;background:#17394f;box-shadow:0 15px 45px rgba(5,24,36,.28);font-size:12px;opacity:0;pointer-events:none;transform:translateY(8px);transition:.22s}.toast.show{opacity:1;transform:translateY(0)}.sidebar-backdrop{display:none}
.accident-free-modal{width:min(520px,100%)}.accident-free-current{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px;padding:14px 16px;border:1px solid #c9e7da;border-radius:9px;background:#f2fbf7}.accident-free-current span{color:#5c7168;font-size:11px}.accident-free-current strong{color:var(--green);font-size:23px;letter-spacing:-.04em}.accident-free-modal .form-grid small{color:#82918a;font-size:10px;font-weight:400;line-height:1.55}
.chart-period{display:inline-flex;align-items:center;cursor:default}.chart-summary b.down{color:var(--red)}.chart-summary b.neutral{color:#7b8a94}.bar-chart i.no-data{min-height:2px;background:#d7e0e6}.bar-chart i.is-today{background:linear-gradient(180deg,#ff9a52,#ed6c21)}.weekly-chart-empty{width:100%;height:100%;display:grid!important;place-items:center!important;color:#8997a1;font-size:11px}.bar-chart .weekly-chart-empty{margin:0!important}
@media(max-width:1180px){.sidebar{width:218px}.main-content{margin-left:218px}.content-wrap,.topbar{padding-left:24px;padding-right:24px}.lower-grid{grid-template-columns:1fr}.risk-panel{display:grid;grid-template-columns:1fr 1fr}.risk-panel .panel-head{grid-column:1/-1}.risk-link{align-self:end}}
@media(max-width:900px){.sidebar{width:244px;transform:translateX(-102%);transition:.22s}.sidebar.open{transform:translateX(0)}.sidebar-backdrop.open{position:fixed;inset:0;z-index:25;display:block;border:0;background:rgba(5,18,27,.5)}.main-content{margin-left:0}.mobile-menu{display:block;margin-right:12px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:640px){.topbar{height:62px;padding:0 16px}.profile>div:not(.avatar),.profile>span,.site-selector>span{display:none}.content-wrap{padding:24px 15px 18px}.welcome-row{align-items:flex-start;flex-direction:column}.welcome-actions{width:100%}.zero-days,.primary-button{flex:1}.urgent-banner{grid-template-columns:auto 1fr}.urgent-banner button{grid-column:2;justify-self:start;padding:0}.kpi-grid{gap:9px}.kpi-card{min-height:138px;padding:17px 15px}.kpi-value strong{font-size:28px}.table-head{align-items:flex-start}.table-actions{width:100%;overflow-x:auto}.filters{flex:1}.filters button{flex:1}.risk-panel{display:block}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.modal-head,.modal form{padding-left:19px;padding-right:19px}footer{gap:12px;flex-direction:column}}
@media(max-width:640px){.site-selector select{max-width:130px}.site-selector select:not(:disabled){padding-right:10px}.topbar-right{gap:8px}.profile{padding-left:8px}}

/* v14: 의미가 분명한 미처리 업무 링크 */
.pending-work-link{position:relative;width:auto;min-width:104px;height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 8px 0 11px;border:1px solid #dce5eb;border-radius:19px;color:#405765;background:#fff;font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap;cursor:pointer}
.pending-work-link:hover{color:#165dbd;border-color:#b9cfee;background:#f5f9ff}
.pending-work-link b{position:static;width:auto;min-width:22px;height:20px;display:inline-grid;place-items:center;padding:0 6px;border:0;border-radius:10px;color:#fff;background:var(--red);font-size:10px;font-weight:800;line-height:1}
.pending-work-link.is-empty b{color:#677985;background:#e7edf1}
@media(max-width:640px){.site-selector select{max-width:105px}.pending-work-link{min-width:72px;padding:0 7px;font-size:10px}.pending-work-link span{font-size:0}.pending-work-link span:after{content:"미처리";font-size:10px}.pending-work-link b{min-width:20px;padding:0 5px}.profile .avatar{display:none}}

/* 로그인 및 운영데이터 연동 화면 */
.logout-button{min-height:30px;padding:0 10px;border:1px solid var(--line);border-radius:7px;color:#687b88;background:#fff;font-size:10px;cursor:pointer}.logout-button:hover{color:var(--red);border-color:#f0b6b6}.risk-link{text-decoration:none}.risk-legend b{color:#435866;font-size:9px}
.login-page{min-height:100vh;background:#071927}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.15fr) minmax(430px,.85fr)}.login-story{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:52px clamp(45px,7vw,110px);color:#fff;background:radial-gradient(circle at 80% 20%,rgba(30,117,153,.35),transparent 34%),linear-gradient(145deg,#071927,#0c3148)}.login-story:after{content:"";position:absolute;right:-130px;bottom:-180px;width:500px;height:500px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 65px rgba(255,255,255,.025),0 0 0 130px rgba(255,255,255,.018)}.login-brand{position:relative;z-index:1;display:flex;align-items:center;gap:13px}.login-brand>span{width:45px;height:45px;display:grid;place-items:center;border-radius:12px;background:var(--orange);font-size:25px;font-weight:800}.login-brand strong,.login-brand small{display:block}.login-brand strong{font-size:25px;letter-spacing:.08em}.login-brand small{margin-top:4px;color:#8da8b8;font-size:11px}.login-copy{position:relative;z-index:1;margin:auto 0}.login-copy>p{color:#5fd1a0;font-size:11px;font-weight:800;letter-spacing:.2em}.login-copy h1{margin:18px 0 22px;font-size:clamp(31px,3.5vw,53px);line-height:1.28;letter-spacing:-.055em}.login-copy h1 em{color:#ff8b48;font-style:normal}.login-copy>span{max-width:610px;display:block;color:#a7bac6;font-size:15px;line-height:1.9}.login-proof{position:relative;z-index:1;display:flex;gap:35px}.login-proof div{min-width:90px;padding-left:14px;border-left:2px solid rgba(255,255,255,.12)}.login-proof strong,.login-proof span{display:block}.login-proof strong{font-size:25px}.login-proof span{margin-top:5px;color:#7894a5;font-size:10px}.login-panel{display:flex;flex-direction:column;padding:45px clamp(35px,6vw,92px);background:#fff}.login-form-wrap{width:min(420px,100%);margin:auto}.login-form-wrap h2{margin:9px 0 10px;font-size:29px;letter-spacing:-.04em}.login-intro{margin:0 0 32px;color:#83919b;font-size:13px}.login-form-wrap form{display:grid;gap:18px}.login-form-wrap label{display:grid;gap:8px;color:#415563;font-size:12px;font-weight:700}.login-form-wrap input{height:50px;padding:0 15px;border:1px solid #d7e0e6;border-radius:9px;outline:0}.login-form-wrap input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,104,229,.09)}.login-submit{width:100%;min-height:50px;margin-top:4px}.login-error{margin:0;padding:11px 13px;border-radius:8px;color:#c73939;background:#fff0f0;font-size:11px}.login-notice{display:flex;gap:10px;margin-top:25px;padding:15px;border:1px solid #e5eaee;border-radius:9px;color:#74848f;background:#f8fafb;font-size:10px;line-height:1.6}.login-notice b{color:var(--green)}.login-panel>footer{width:min(420px,100%);margin:0 auto;color:#a1abb2}
.risk-workspace{padding-top:37px}.page-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:24px}.page-title-row h1{margin:5px 0 8px;font-size:31px;letter-spacing:-.045em}.page-title-row>div>p:last-child{margin:0;color:#778792;font-size:12px}.risk-summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}.risk-summary-grid article{position:relative;overflow:hidden;padding:19px 20px;border:1px solid var(--line);border-radius:11px;background:#fff!important;box-shadow:var(--shadow)}.risk-summary-grid article:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#99a7b0}.risk-summary-grid article.critical:before{background:var(--red)}.risk-summary-grid article.high:before{background:#f2994a}.risk-summary-grid article.medium:before{background:#e7bd30}.risk-summary-grid article.complete:before{background:var(--green)}.risk-summary-grid span{display:block;margin-bottom:9px;color:#7f8e98;font-size:10px}.risk-summary-grid strong{font-size:26px;letter-spacing:-.04em}.risk-summary-grid small{margin-left:4px;color:#89969f;font-size:10px}.risk-list-panel{min-height:400px}.risk-toolbar{display:flex;gap:8px;padding:18px 20px 3px}.search-box{min-width:270px;flex:1;display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border:1px solid #dce4e9;border-radius:8px;background:#fff}.search-box span{color:#7c8d98;font-size:19px}.search-box input{width:100%;border:0;outline:0;font-size:11px}.risk-toolbar select{height:38px;padding:0 28px 0 11px;border:1px solid #dce4e9;border-radius:8px;color:#526875;background:#fff;font-size:10px}.risk-toolbar .outline-button{height:38px}.risk-data-table{padding-top:12px}.risk-data-table td{height:55px}.hazard-cell{max-width:320px;white-space:normal}.hazard-cell b,.hazard-cell span{display:block}.hazard-cell b{margin-bottom:4px;color:#3a4e5c}.hazard-cell span{color:#7e8c95;line-height:1.45}.level-badge,.workflow-badge{display:inline-grid;place-items:center;min-height:23px;padding:0 8px;border-radius:5px;font-size:9px;font-weight:800}.level-badge.critical{color:#fff;background:var(--red)!important}.level-badge.high{color:#bd530f;background:#fff0e5!important}.level-badge.medium{color:#7d6713;background:#fff7d3!important}.level-badge.low{color:#17714d;background:#e7f7ef!important}.workflow-badge.open{color:#c13c3c;background:#fff0f0}.workflow-badge.in_progress{color:#1768e5;background:#eaf2ff}.workflow-badge.completed{color:#16825a;background:#e8f7f0}.workflow-badge.accepted{color:#6b7780;background:#eef2f4}.loading-cell{height:170px!important;text-align:center;color:#84929c}.error-text{color:var(--red)}.risk-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.risk-guide>div{position:relative;padding:19px 20px 18px 55px;border:1px solid var(--line);border-radius:10px;background:#fff}.risk-guide>div>span{position:absolute;left:18px;top:19px;color:var(--orange);font-size:12px;font-weight:800}.risk-guide strong{font-size:12px}.risk-guide p{margin:7px 0 0;color:#83919b;font-size:10px;line-height:1.55}.risk-modal{width:min(760px,100%);max-height:94vh;overflow-y:auto}.risk-form-grid{grid-template-columns:repeat(2,1fr)}.risk-score-preview{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:13px 15px;border:1px solid #dfe6ea;border-radius:9px;background:#f7f9fa}.risk-score-preview span{color:#60717d;font-size:11px;font-weight:700}.risk-score-preview strong{font-size:25px}.risk-score-preview em{min-width:55px;display:grid;place-items:center;height:25px;border-radius:5px;color:#fff;font-size:10px;font-style:normal}.risk-score-preview em.critical{background:var(--red)!important}.risk-score-preview em.high{background:#f2994a!important}.risk-score-preview em.medium{color:#634f08;background:#f1c84b!important}.risk-score-preview em.low{background:#5cbf8d!important}.risk-score-preview small{grid-column:1/-1;color:#929da4;font-size:9px}.toast.error{background:#a72d2d}
@media(max-width:900px){.login-shell{grid-template-columns:1fr}.login-story{min-height:330px;padding:35px}.login-copy{margin:45px 0}.login-copy h1{font-size:33px}.login-panel{min-height:600px}.risk-summary-grid{grid-template-columns:repeat(3,1fr)}.risk-toolbar{flex-wrap:wrap}.search-box{flex-basis:100%}}
@media(max-width:640px){.logout-button{padding:0 7px}.page-title-row{align-items:flex-start;flex-direction:column}.page-title-row .primary-button{width:100%}.risk-summary-grid{grid-template-columns:repeat(2,1fr)}.risk-toolbar select{flex:1}.risk-guide{grid-template-columns:1fr}.risk-form-grid{grid-template-columns:1fr}.risk-score-preview.full{grid-column:auto}.login-story{min-height:390px;padding:28px 24px}.login-proof{gap:14px}.login-proof div{min-width:0;flex:1}.login-panel{min-height:570px;padding:34px 24px}}

/* 안전점검 운영 화면 */
.primary-button,.text-button{text-decoration:none}.schedule-empty{min-height:205px;display:grid;place-items:center;padding:30px;color:#8a98a2;font-size:11px;text-align:center}.schedule-empty a{color:var(--blue);font-weight:700;text-decoration:none}
.inspection-workspace{padding-top:37px}.inspection-summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}.inspection-summary-grid article{position:relative;overflow:hidden;padding:19px 20px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:var(--shadow)}.inspection-summary-grid article:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#91a1ab}.inspection-summary-grid article.today:before{background:var(--blue)}.inspection-summary-grid article.scheduled:before{background:#7c8d98}.inspection-summary-grid article.progressing:before{background:var(--orange)}.inspection-summary-grid article.completed:before{background:var(--green)}.inspection-summary-grid span{display:block;margin-bottom:9px;color:#7f8e98;font-size:10px}.inspection-summary-grid strong{font-size:26px;letter-spacing:-.04em}.inspection-summary-grid small{margin-left:4px;color:#89969f;font-size:10px}
.inspection-flow{display:flex;align-items:center;justify-content:center;gap:28px;margin-bottom:16px;padding:16px 24px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:var(--shadow)}.inspection-flow>div{display:flex;align-items:center;gap:10px}.inspection-flow i{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#82939e;font-size:11px;font-style:normal;font-weight:800}.inspection-flow i.running{background:var(--orange)}.inspection-flow i.finished{background:var(--green)}.inspection-flow b,.inspection-flow small{display:block}.inspection-flow b{color:#354b59;font-size:11px}.inspection-flow small{margin-top:4px;color:#8a98a1;font-size:9px}.inspection-flow>em{color:#c2cbd1;font-size:17px;font-style:normal}
.inspection-list-panel{min-height:440px}.inspection-toolbar{display:flex;align-items:end;gap:8px;padding:18px 20px 3px}.inspection-toolbar>.search-box{min-width:240px}.inspection-toolbar>select{height:38px;padding:0 28px 0 11px;border:1px solid #dce4e9;border-radius:8px;color:#526875;background:#fff;font-size:10px}.inspection-toolbar .outline-button{height:38px}.date-filter{display:grid;gap:3px;color:#84929c;font-size:8px}.date-filter input{height:38px;padding:0 9px;border:1px solid #dce4e9;border-radius:8px;color:#526875;background:#fff;font-size:10px}.inspection-data-table{padding-top:12px}.inspection-data-table td{height:61px}.inspection-data-table td:first-child strong{display:inline-block;color:#263f50}.overdue-tag{display:block;width:max-content;margin-top:5px;padding:2px 5px;border-radius:4px;color:#fff;background:var(--red);font-size:8px;font-weight:800}.schedule-cell b,.schedule-cell span,.inspection-subject b,.inspection-subject span,.inspector-cell b,.inspector-cell span{display:block}.schedule-cell b,.inspection-subject b,.inspector-cell b{color:#354b59;font-size:10px}.schedule-cell span,.inspection-subject span,.inspector-cell span{margin-top:5px;color:#8b98a1;font-size:9px}.inspection-summary-cell{max-width:330px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspection-status{min-width:57px;height:23px;display:inline-grid;place-items:center;padding:0 8px;border-radius:5px;font-size:9px;font-weight:800}.inspection-status.scheduled{color:#5a6d79;background:#edf2f5}.inspection-status.in_progress{color:#d25b14;background:#fff0e6}.inspection-status.completed{color:#148057;background:#e7f7ef}.inspection-status.cancelled{color:#858f96;background:#f0f2f3}.cancelled-row{opacity:.55}.inspection-row-actions{display:flex;gap:5px}.inspection-action{height:26px;padding:0 9px;border:0;border-radius:5px;color:#fff;font-size:9px;font-weight:700;cursor:pointer;white-space:nowrap}.inspection-action.start{background:var(--orange)}.inspection-action.complete{background:var(--green)}.inspection-action:hover{filter:brightness(.93)}.no-action{color:#a5afb5}
.inspection-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.inspection-guide>div{position:relative;padding:19px 20px 18px;border:1px solid var(--line);border-radius:10px;background:#fff}.inspection-guide span{display:block;margin-bottom:8px;color:var(--orange);font-size:9px;font-weight:800;letter-spacing:.13em}.inspection-guide strong{font-size:12px}.inspection-guide p{margin:7px 0 0;color:#83919b;font-size:10px;line-height:1.55}.inspection-modal{width:min(680px,100%)}.result-modal{width:min(620px,100%)}.result-notice{display:flex;gap:9px;margin-top:14px;padding:12px 13px;border-radius:8px;color:#657984;background:#edf8f3;font-size:10px;line-height:1.6}.result-notice b{color:var(--green)}
@media(max-width:1200px){.inspection-toolbar{flex-wrap:wrap}.inspection-toolbar>.search-box{flex-basis:100%}.inspection-summary-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.inspection-summary-grid{grid-template-columns:repeat(2,1fr)}.inspection-flow{align-items:flex-start;flex-direction:column;gap:11px}.inspection-flow>em{display:none}.inspection-flow>div{width:100%}.inspection-toolbar>select,.date-filter{flex:1}.inspection-guide{grid-template-columns:1fr}.inspection-summary-grid article{padding:16px}.inspection-data-table{padding-left:12px;padding-right:12px}}

/* 개선조치 운영 화면 */
.dashboard-action-link{display:inline-grid;place-items:center;text-decoration:none}.action-workspace{padding-top:37px}.action-summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}.action-summary-grid article{position:relative;overflow:hidden;padding:19px 20px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:var(--shadow)}.action-summary-grid article:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#91a1ab}.action-summary-grid article.urgent:before{background:var(--red)}.action-summary-grid article.overdue:before{background:#a62e2e}.action-summary-grid article.progressing:before{background:var(--orange)}.action-summary-grid article.completed:before{background:var(--green)}.action-summary-grid span{display:block;margin-bottom:9px;color:#7f8e98;font-size:10px}.action-summary-grid strong{font-size:26px;letter-spacing:-.04em}.action-summary-grid small{margin-left:4px;color:#89969f;font-size:10px}
.action-flow{display:flex;align-items:center;justify-content:center;gap:21px;margin-bottom:16px;padding:16px 24px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:var(--shadow)}.action-flow>div{display:flex;align-items:center;gap:10px}.action-flow i{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#82939e;font-size:11px;font-style:normal;font-weight:800}.action-flow i.running{background:var(--orange)}.action-flow i.reviewing{background:#8b6fc0}.action-flow i.finished{background:var(--green)}.action-flow b,.action-flow small{display:block}.action-flow b{color:#354b59;font-size:11px}.action-flow small{margin-top:4px;color:#8a98a1;font-size:9px}.action-flow>em{color:#c2cbd1;font-size:17px;font-style:normal}
.action-list-panel{min-height:455px}.action-toolbar{display:flex;align-items:end;gap:8px;padding:18px 20px 3px}.action-toolbar>.search-box{min-width:230px}.action-toolbar>select{height:38px;padding:0 27px 0 10px;border:1px solid #dce4e9;border-radius:8px;color:#526875;background:#fff;font-size:10px}.action-toolbar .outline-button{height:38px}.action-data-table{padding-top:12px}.action-data-table td{height:65px}.action-source-cell{max-width:245px}.action-source-cell strong,.action-source-cell span,.action-title-cell b,.action-title-cell span,.action-manager-cell b,.action-manager-cell span,.action-due-cell b,.action-due-cell span{display:block}.action-source-cell strong{color:#263f50;font-size:10px}.action-source-cell span{max-width:235px;overflow:hidden;margin-top:5px;color:#84929c;font-size:9px;text-overflow:ellipsis}.action-source-cell i{margin-right:5px;padding:2px 5px;border-radius:4px;color:#557183;background:#edf3f6;font-size:8px;font-style:normal;font-weight:700}.action-title-cell{max-width:330px;white-space:normal}.action-title-cell b{color:#344a58;font-size:10px}.action-title-cell span{max-width:320px;overflow:hidden;margin-top:5px;color:#87949d;font-size:9px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.action-manager-cell b,.action-due-cell b{color:#405561;font-size:10px}.action-manager-cell span,.action-due-cell span{margin-top:5px;color:#8a98a1;font-size:9px}.action-due-cell.overdue-due b,.action-due-cell.overdue-due span,.action-due-cell.today-due b,.action-due-cell.today-due span{color:var(--red)}.action-due-cell.completed-due span{color:var(--green)}
.action-priority,.action-status{min-width:51px;height:23px;display:inline-grid;place-items:center;padding:0 8px;border-radius:5px;font-size:9px;font-weight:800}.action-priority.urgent{color:#fff;background:var(--red)}.action-priority.high{color:#c75511;background:#fff0e5}.action-priority.medium{color:#766213;background:#fff7d5!important}.action-priority.low{color:#17714d;background:#e7f7ef!important}.action-status.open{color:#596d79;background:#eef2f4}.action-status.in_progress{color:#d45c13;background:#fff0e6}.action-status.review{color:#694c9b;background:#f1ebfa}.action-status.completed{color:#16825a;background:#e7f7ef}.action-status.overdue{color:#fff;background:#b43535}.action-row-buttons{display:flex;gap:5px}.action-workflow-button{height:27px;padding:0 9px;border:0;border-radius:5px;color:#fff;font-size:9px;font-weight:700;cursor:pointer;white-space:nowrap}.action-workflow-button.start{background:var(--orange)}.action-workflow-button.review{background:#7a5ca8}.action-workflow-button.complete{background:var(--green)}.action-workflow-button:hover{filter:brightness(.93)}
.action-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.action-guide>div{padding:19px 20px 18px;border:1px solid var(--line);border-radius:10px;background:#fff}.action-guide span{display:block;margin-bottom:8px;color:var(--orange);font-size:9px;font-weight:800;letter-spacing:.13em}.action-guide strong{font-size:12px}.action-guide p{margin:7px 0 0;color:#83919b;font-size:10px;line-height:1.55}.action-modal{width:min(760px,100%);max-height:94vh;overflow-y:auto}.action-status-modal{width:min(620px,100%)}.action-form-grid{grid-template-columns:repeat(2,1fr)}
@media(max-width:1280px){.action-toolbar{flex-wrap:wrap}.action-toolbar>.search-box{flex-basis:100%}.action-summary-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.action-summary-grid{grid-template-columns:repeat(2,1fr)}.action-flow{align-items:flex-start;flex-direction:column;gap:11px}.action-flow>em{display:none}.action-flow>div{width:100%}.action-toolbar>select,.action-toolbar .date-filter{flex:1}.action-guide{grid-template-columns:1fr}.action-form-grid{grid-template-columns:1fr}.action-form-grid .full{grid-column:auto}.action-summary-grid article{padding:16px}.action-data-table{padding-left:12px;padding-right:12px}}
.main-nav [data-admin-menu]{display:none}
