:root{--navy:#0b1f3a;--navy2:#102b4f;--blue:#1769e0;--sky:#eaf2ff;--mint:#19a98b;--orange:#f28b38;--red:#e55252;--ink:#152033;--muted:#7c899c;--line:#e5eaf1;--bg:#f3f6fa;--white:#fff;--sidebar:264px}*{box-sizing:border-box}body{margin:0;font-family:'Noto Sans KR',sans-serif;color:var(--ink);background:var(--bg);font-size:14px}button,input,textarea,select{font:inherit}.hidden{display:none!important}.login-page{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;background:#fff}.login-brand{position:relative;overflow:hidden;background:linear-gradient(145deg,#07172d 0%,#0c2d53 62%,#0c3c72 100%);color:#fff;padding:58px 7vw;display:flex;flex-direction:column;justify-content:center}.brand-mark{position:absolute;left:7vw;top:52px;width:54px;height:54px;border-radius:16px;background:#fff;color:var(--navy);display:grid;place-items:center;font:800 27px Inter;letter-spacing:-4px;z-index:2;box-shadow:0 10px 24px #00122b55}.brand-mark span{color:#2687ff}.brand-copy{position:relative;z-index:2;max-width:650px}.eyebrow{font:700 11px Inter;letter-spacing:2.4px;color:#66aaff;margin:0 0 24px}.brand-copy h1{font-size:52px;line-height:1.28;letter-spacing:-3px;margin:0 0 26px}.brand-copy h1 em{font-style:normal;color:#59a2ff}.brand-copy>p:last-child{color:#adc0d5;font-size:16px;line-height:1.8}.login-stats{display:flex;gap:64px;margin-top:68px;position:relative;z-index:2}.login-stats div{display:flex;flex-direction:column;gap:5px}.login-stats strong{font:700 25px Inter}.login-stats span{font-size:12px;color:#8fa7c1}.blueprint-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to left,#000,transparent 70%)}.login-panel{display:flex;align-items:center;justify-content:center;position:relative;padding:50px}.login-box{width:min(410px,100%)}.mobile-logo{display:none}.blue{color:var(--blue)}.login-box h2{font-size:36px;line-height:1.35;letter-spacing:-2px;margin:0 0 12px}.login-help{color:var(--muted);margin:0 0 36px}.login-box form>label{display:block;font-weight:700;font-size:13px;margin-bottom:18px}.login-box input{width:100%;height:52px;border:1px solid var(--line);border-radius:8px;margin-top:8px;padding:0 16px;outline:none;transition:.2s}.login-box input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1769e012}.login-options{display:flex;justify-content:space-between;margin:-2px 0 24px;color:var(--muted);font-size:12px}.check{display:flex;align-items:center;gap:7px}.check input{width:15px;height:15px;margin:0}.text-btn{border:0;background:none;color:var(--muted);cursor:pointer}.primary-btn{border:0;border-radius:8px;background:var(--blue);color:#fff;height:52px;font-weight:700;cursor:pointer;box-shadow:0 8px 20px #1769e025}.login-btn{width:100%;display:flex;justify-content:center;align-items:center;gap:14px}.demo-accounts{border-top:1px solid var(--line);margin-top:30px;padding-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.demo-accounts>span{grid-column:1/-1;color:#9aa5b3;font:700 9px Inter;letter-spacing:1.5px}.demo-accounts button{border:1px solid var(--line);background:#fafbfc;border-radius:8px;padding:10px;text-align:left;cursor:pointer}.demo-accounts b,.demo-accounts small{display:block}.demo-accounts b{font-size:11px}.demo-accounts small{color:var(--muted);font:10px Inter;margin-top:3px}.error{color:var(--red);font-size:12px;height:15px}.login-panel footer{position:absolute;bottom:24px;color:#a7afba;font:10px Inter}.app{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar);background:var(--navy);color:#fff;padding:24px 16px;display:flex;flex-direction:column;z-index:20;overflow-y:auto}.logo-row{display:flex;align-items:center;gap:13px;padding:0 7px 26px}.brand-mark.small{position:static;width:38px;height:38px;border-radius:10px;font-size:19px}.logo-row b,.logo-row small{display:block;font-family:Inter}.logo-row b{font-size:14px;letter-spacing:.5px}.logo-row small{font-size:8px;color:#7087a3;letter-spacing:1px;margin-top:3px}.site-chip{background:#ffffff0c;border:1px solid #ffffff12;border-radius:10px;padding:11px;display:flex;align-items:center;gap:9px;margin-bottom:18px}.site-icon{display:grid;place-items:center;background:#2879e8;width:32px;height:32px;border-radius:7px}.site-chip div{min-width:0;flex:1}.site-chip small,.site-chip b{display:block}.site-chip small{font-size:9px;color:#7892af}.site-chip b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.site-chip button{background:none;color:#7e94ad;border:0;cursor:pointer}nav{flex:1}.nav-label{font:700 8px Inter;letter-spacing:1.7px;color:#546b86;margin:22px 10px 8px}.nav-item{width:100%;height:40px;border:0;background:transparent;color:#91a4ba;border-radius:7px;display:flex;align-items:center;gap:12px;padding:0 12px;cursor:pointer;text-align:left;font-weight:600;font-size:12px;margin:2px 0}.nav-item .nav-icon{width:20px;text-align:center;font-size:15px}.nav-item:hover{background:#ffffff08;color:#fff}.nav-item.active{background:var(--blue);color:#fff;box-shadow:0 7px 18px #00162e55}.nav-item i{margin-left:auto;font-style:normal;font-size:9px;background:#ec5f5f;color:#fff;border-radius:20px;padding:2px 6px}.sidebar-help{border:1px solid #ffffff12;background:#ffffff07;border-radius:8px;padding:11px;display:flex;gap:9px;align-items:center;margin-top:14px}.sidebar-help>span{display:grid;place-items:center;border-radius:50%;width:27px;height:27px;background:#183a61;color:#70a9ef}.sidebar-help b,.sidebar-help small{display:block;font-size:9px}.sidebar-help small{color:#697f99;margin-top:3px}.user-card{display:flex;align-items:center;gap:10px;border-top:1px solid #ffffff10;margin-top:17px;padding:17px 5px 0}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#dbeaff;color:#195ead;font-weight:800}.user-card b,.user-card small{display:block;font-size:10px}.user-card small{color:#6f839b;margin-top:2px}.user-card button{margin-left:auto;background:none;border:0;color:#70849b;cursor:pointer}.main{margin-left:var(--sidebar);min-height:100vh}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 32px;position:sticky;top:0;z-index:15}.menu-toggle{display:none}.breadcrumb{display:flex;gap:10px;font-size:11px}.breadcrumb span{color:#9ba6b4}.breadcrumb i{color:#d2d8df}.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.search{height:36px;width:210px;background:#f5f7fa;border-radius:7px;display:flex;align-items:center;padding:0 11px;color:#9aa5b3}.search input{border:0;background:none;outline:0;width:100%;padding-left:7px;font-size:11px}.icon-btn{width:34px;height:34px;border:1px solid var(--line);border-radius:7px;background:#fff;color:#718096;position:relative}.notify i{position:absolute;right:-3px;top:-4px;background:var(--red);color:#fff;font-size:8px;font-style:normal;width:14px;height:14px;border-radius:50%;display:grid;place-items:center}.date{border-left:1px solid var(--line);padding-left:15px;margin-left:4px}.date small,.date b{display:block}.date small{font:700 8px Inter;color:#a2acb8;letter-spacing:1px}.date b{font:600 11px Inter;margin-top:2px}.content{padding:30px 34px 50px;max-width:1600px;margin:auto}.page-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.page-title h1{margin:0;font-size:25px;letter-spacing:-1px}.page-title p{margin:7px 0 0;color:var(--muted);font-size:12px}.page-title .actions{display:flex;gap:8px}.outline-btn,.solid-btn{height:38px;border-radius:7px;padding:0 15px;font-weight:700;font-size:11px;cursor:pointer}.outline-btn{border:1px solid var(--line);background:#fff;color:#556274}.solid-btn{border:1px solid var(--blue);background:var(--blue);color:#fff}.hero-banner{background:linear-gradient(110deg,#0d2c52,#145295);border-radius:13px;color:#fff;padding:27px 31px;display:flex;align-items:center;position:relative;overflow:hidden;margin-bottom:20px}.hero-banner:after{content:'SAFE';position:absolute;right:25px;top:-28px;font:800 120px Inter;color:#ffffff08;letter-spacing:-10px}.hero-banner h2{font-size:21px;margin:0 0 8px}.hero-banner p{margin:0;color:#9db5d0;font-size:11px}.hero-banner .weather{margin-left:auto;display:flex;gap:28px;position:relative;z-index:2}.weather div{border-left:1px solid #ffffff22;padding-left:20px}.weather small,.weather b{display:block}.weather small{font-size:9px;color:#8ca9c8}.weather b{font:600 14px Inter;margin-top:5px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:20px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;display:flex;align-items:center;gap:15px}.stat-icon{width:43px;height:43px;border-radius:10px;display:grid;place-items:center;font-size:18px;background:var(--sky);color:var(--blue)}.stat-card:nth-child(2) .stat-icon{background:#e8f8f4;color:var(--mint)}.stat-card:nth-child(3) .stat-icon{background:#fff3e8;color:var(--orange)}.stat-card:nth-child(4) .stat-icon{background:#ffeded;color:var(--red)}.stat-card small,.stat-card strong{display:block}.stat-card small{font-size:10px;color:var(--muted);margin-bottom:3px}.stat-card strong{font:700 21px Inter}.stat-card em{font-style:normal;font-size:10px;color:var(--mint);margin-left:6px}.dashboard-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:16px}.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.card-header h3{font-size:14px;margin:0}.card-header button{border:0;background:none;color:#8c98a7;font-size:10px;cursor:pointer}.pdca-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.pdca-box{border:1px solid var(--line);border-radius:8px;padding:14px;cursor:pointer;transition:.2s}.pdca-box:hover{transform:translateY(-2px);box-shadow:0 8px 18px #1c385810}.pdca-box>b{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#e9f2ff;color:var(--blue);font:800 13px Inter}.pdca-box:nth-child(2)>b{background:#e7f8f4;color:var(--mint)}.pdca-box:nth-child(3)>b{background:#fff2e7;color:var(--orange)}.pdca-box:nth-child(4)>b{background:#f1ebff;color:#8659d7}.pdca-box span{display:block;font-size:10px;font-weight:700;margin:10px 0 8px}.progress{height:4px;background:#edf0f4;border-radius:5px;overflow:hidden}.progress i{display:block;height:100%;background:var(--blue)}.pdca-box small{display:block;color:#8d99a8;font:9px Inter;margin-top:7px}.doc-list{margin:0;padding:0;list-style:none}.doc-list li{display:flex;align-items:center;padding:11px 3px;border-top:1px solid #eef1f4;gap:10px}.doc-list li:first-child{border:0}.doc-type{width:30px;height:30px;background:#f0f4f9;border-radius:6px;display:grid;place-items:center;color:#58718e;font-size:10px;font-weight:800}.doc-info{flex:1;min-width:0}.doc-info b,.doc-info small{display:block}.doc-info b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-info small{font-size:9px;color:#9aa5b3;margin-top:3px}.badge{font-size:9px;border-radius:20px;padding:4px 8px;background:#fff3e4;color:#d17a24;white-space:nowrap}.badge.done{background:#e8f7f2;color:#168b73}.badge.review{background:#e9f1ff;color:#3473ca}.notice-list div{padding:12px 0;border-top:1px solid #eef1f4}.notice-list div:first-child{border:0}.notice-list b{font-size:11px}.notice-list p{margin:4px 0 0;font-size:9px;color:#97a2b1}.table-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.toolbar{display:flex;padding:16px;border-bottom:1px solid var(--line);gap:8px}.toolbar input,.toolbar select{height:36px;border:1px solid var(--line);border-radius:6px;padding:0 11px;background:#fff;font-size:11px}.toolbar input{flex:1;max-width:310px}.toolbar .solid-btn{margin-left:auto}table{width:100%;border-collapse:collapse}th{text-align:left;background:#f8fafc;color:#7c8998;font-size:10px;padding:12px 16px}td{padding:14px 16px;border-top:1px solid #edf0f4;font-size:11px}tr:hover td{background:#fbfcfe}.category-tabs{display:flex;gap:6px;margin-bottom:17px;overflow-x:auto}.category-tabs button{border:1px solid var(--line);background:#fff;color:#687586;border-radius:20px;padding:8px 14px;white-space:nowrap;font-size:10px;font-weight:700;cursor:pointer}.category-tabs button.active{background:var(--navy);border-color:var(--navy);color:#fff}.menu-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.menu-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:18px;cursor:pointer;transition:.2s}.menu-card:hover{border-color:#8eb8ef;box-shadow:0 7px 20px #1e4f8c10}.menu-card .folder{font-size:20px;color:var(--blue)}.menu-card h3{font-size:12px;margin:12px 0 7px}.menu-card p{font-size:9px;color:#8d99a8;margin:0}.menu-card footer{display:flex;align-items:center;justify-content:space-between;margin-top:17px;padding-top:11px;border-top:1px solid #eef1f4;color:#94a0af;font-size:9px}.site-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.site-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;cursor:pointer}.site-card:hover{border-color:var(--blue)}.site-card .site-top{display:flex;justify-content:space-between}.site-card h3{font-size:13px;margin:12px 0 5px}.site-card p{font-size:10px;color:var(--muted);margin:0 0 16px}.site-card dl{display:grid;grid-template-columns:1fr 1fr;margin:0;background:#f7f9fc;padding:10px;border-radius:7px}.site-card dt{font-size:9px;color:#909baa}.site-card dd{font-size:11px;font-weight:700;margin:3px 0 0}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center}.modal-backdrop{position:absolute;inset:0;background:#07152599;backdrop-filter:blur(2px)}.modal-card{position:relative;background:#fff;width:min(620px,calc(100% - 32px));max-height:90vh;overflow:auto;border-radius:12px;padding:28px;box-shadow:0 25px 70px #00132855}.modal-close{position:absolute;right:18px;top:14px;background:none;border:0;font-size:25px;color:#8390a0;cursor:pointer}.modal h2{font-size:19px;margin:0 0 5px}.modal .sub{font-size:11px;color:var(--muted);margin:0 0 24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{font-size:10px;font-weight:700}.form-grid label.full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;margin-top:7px;border:1px solid var(--line);border-radius:7px;padding:10px;outline:0}.upload-box{border:1px dashed #9fb9dc;background:#f7faff;border-radius:8px;text-align:center;padding:22px!important;color:#6781a2}.approval-line{display:flex;align-items:center;gap:7px;margin-top:8px}.approver{background:#eef4fb;border-radius:7px;padding:9px 11px;font-size:10px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:23px}.toast{position:fixed;right:25px;bottom:25px;background:#102b4f;color:#fff;border-radius:8px;padding:13px 18px;font-size:11px;transform:translateY(80px);opacity:0;transition:.3s;z-index:200}.toast.show{transform:none;opacity:1}
@media(max-width:1050px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.menu-cards,.site-grid{grid-template-columns:repeat(2,1fr)}.login-brand{padding:50px}.brand-copy h1{font-size:42px}.login-stats{gap:30px}}
@media(max-width:760px){.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-panel{min-height:100vh;padding:30px}.mobile-logo{display:flex;align-items:center;gap:10px;font:700 13px Inter;margin-bottom:60px}.mobile-logo .brand-mark{position:static;width:36px;height:36px;font-size:18px}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.main{margin-left:0}.menu-toggle{display:block;border:0;background:none;margin-right:10px}.topbar{padding:0 16px}.top-actions .search,.date{display:none}.content{padding:24px 16px}.hero-banner{padding:22px}.hero-banner .weather{display:none}.stats-grid{grid-template-columns:1fr 1fr}.pdca-row{grid-template-columns:1fr 1fr}.menu-cards,.site-grid{grid-template-columns:1fr}.page-title{align-items:flex-start}.page-title .actions{margin-top:10px}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.table-card{overflow-x:auto}table{min-width:700px}}
@media(max-width:430px){.stats-grid{grid-template-columns:1fr}.pdca-row{grid-template-columns:1fr 1fr}.page-title{display:block}.demo-accounts{grid-template-columns:1fr}.login-box h2{font-size:31px}}
