
:root{
 --nav:#071620;--nav2:#0b202c;--bg:#f3f7f6;--panel:#fff;--line:#dce7e3;--line2:#e9efed;
 --ink:#0a1924;--text:#2b3d47;--muted:#74858f;--mint:#16d38a;--mint2:#5ce8b6;--mintsoft:#e8fbf4;
 --amber:#efa83d;--ambersoft:#fff5df;--red:#ec5c5c;--redsoft:#fff0f0;--blue:#4e7cf4;--bluesoft:#edf2ff;
 --shadow:0 16px 48px rgba(7,22,32,.07)
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:"Noto Sans KR","Noto Sans CJK KR","Malgun Gothic",Arial,sans-serif;color:var(--ink);background:var(--bg);word-break:keep-all}
a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}.icon{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.screen{height:100vh;overflow:hidden}.shell{position:relative;width:100%;height:100%;min-width:1180px;background:linear-gradient(180deg,#f4f8f7,#f1f5f4)}
.sidebar{position:absolute;left:0;top:0;bottom:0;width:232px;background:linear-gradient(180deg,var(--nav),var(--nav2));padding:0 14px;color:#d9e6e7}
.brand{height:82px;display:flex;align-items:center;gap:12px;padding:0 9px;border-bottom:1px solid rgba(255,255,255,.075);font-size:21px;font-weight:900;letter-spacing:-.03em}
.brandmark{width:30px;height:30px;border-radius:9px;border:1px solid #214854;background:#0e2a36;position:relative;flex:none}.brandmark:before{content:"";position:absolute;left:6px;right:6px;top:14px;height:2px;background:var(--mint)}.brandmark:after{content:"";position:absolute;width:12px;height:12px;border-left:2px solid var(--mint);border-bottom:2px solid var(--mint);transform:rotate(-45deg);left:8px;top:7px}
.navgroup{padding-top:18px}.glabel{font-size:9px;letter-spacing:.12em;color:#66808b;font-weight:900;padding:0 12px 7px}.navitem{height:48px;margin:3px 0;border-radius:10px;display:flex;align-items:center;gap:12px;padding:0 12px;position:relative;color:#aebfc6;font-size:13px;font-weight:750}.navitem .icon{width:19px;height:19px}.navitem.active{background:#11392f;color:#63efba}.navitem.active:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;background:#22dc93;border-radius:0 4px 4px 0}
.sidebar-footer{position:absolute;left:14px;right:14px;bottom:14px;border-top:1px solid rgba(255,255,255,.075);padding-top:10px}.user{height:54px;display:flex;align-items:center;gap:9px;padding:0 8px}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#123946;color:#67edbd;font-size:11px;font-weight:900}.user b{font-size:11px}.user small{display:block;color:#6f8993;margin-top:3px;font-size:9px}
.topbar{position:absolute;left:232px;right:0;top:0;height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;z-index:10}.area{font-size:13px;font-weight:900;min-width:120px}.search{width:430px;height:40px;border:1px solid #d8e3df;background:#f8faf9;border-radius:10px;display:flex;align-items:center;gap:8px;padding:0 12px;color:#86969f;font-size:11px;margin-left:18px}.search input{border:0;outline:0;background:transparent;width:100%;font-size:11px}.search .icon{width:16px;height:16px}.top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.iconbtn{width:40px;height:40px;border:1px solid #d9e3e0;border-radius:10px;background:#fff;display:grid;place-items:center;color:#647681}.main{position:absolute;left:232px;right:0;top:72px;bottom:0;padding:30px 32px 32px;overflow:auto}
.pagehead{min-height:106px;display:flex;align-items:flex-start}.eyebrow{font-size:10px;letter-spacing:.14em;color:#0d9968;font-weight:900;margin-bottom:7px}.pagehead h1{font-size:30px;letter-spacing:-.04em;margin:0}.sub{font-size:11px;color:#768791;margin-top:7px;line-height:1.5}.actions{margin-left:auto;display:flex;gap:8px}
.btn{height:42px;padding:0 15px;border:1px solid #d7e1de;border-radius:9px;background:#fff;color:#334650;font-size:11px;font-weight:850;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn.primary,.btn.dark{background:var(--nav);color:#fff;border-color:var(--nav)}.btn.mint{background:var(--mint);color:#062116;border-color:var(--mint)}.btn.danger{background:var(--redsoft);color:#b74646;border-color:#f1c4c4}
.grid{display:grid;gap:12px}.cols5{grid-template-columns:repeat(5,1fr)}.cols4{grid-template-columns:repeat(4,1fr)}.cols3{grid-template-columns:repeat(3,1fr)}.cols2{grid-template-columns:1fr 1fr}
.card{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 3px 15px rgba(7,22,32,.022)}.pad{padding:18px}.card h3{font-size:14px;margin:0 0 12px}.kpi{height:112px;padding:17px}.kpi small{font-size:10px;color:#7d8e97}.kpi b{display:block;font-size:24px;margin-top:8px}.kpi em{font-style:normal;font-size:9px;color:#0b9968}
.badge{display:inline-flex;height:25px;align-items:center;padding:0 9px;border-radius:999px;font-size:9px;font-weight:900;white-space:nowrap}.badge.ok{background:var(--mintsoft);color:#087b55}.badge.warn{background:var(--ambersoft);color:#a86e11}.badge.bad{background:var(--redsoft);color:#bc4646}.badge.info{background:var(--bluesoft);color:#466bd2}.badge.gray{background:#eef2f2;color:#6e7e87}
.table{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}.tr{display:grid;align-items:center;min-height:58px;padding:0 16px;border-bottom:1px solid var(--line2);font-size:11px}.tr:last-child{border-bottom:0}.th{min-height:46px;background:#f7faf9;color:#788892;font-size:10px;font-weight:850}.rowtitle{font-size:12px;font-weight:850}.muted{color:#81919a}.selectable{cursor:pointer}.selectable:hover,.selected{background:#f1faf6}
.tabs{height:48px;border-bottom:1px solid #e4ebe8;display:flex;gap:26px;align-items:flex-end;margin-bottom:14px}.tab{height:47px;display:flex;align-items:center;position:relative;color:#75858e;font-size:11px;font-weight:800}.tab.active{color:#087b55}.tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--mint)}
.alert{border-radius:10px;padding:12px 13px;font-size:10px;line-height:1.55}.alert.red{background:var(--redsoft);border:1px solid #efc3c3;color:#a84646}.alert.amber{background:#fff8e9;border:1px solid #efdeb1;color:#7d6024}.alert.green{background:#edfbf6;border:1px solid #c9ecdf;color:#2d715a}
.timeline{position:relative}.event{position:relative;padding:0 0 18px 38px;min-height:68px}.event:before{content:"";position:absolute;left:13px;top:28px;bottom:-2px;width:1px;background:#dbe5e1}.event:last-child:before{display:none}.event .dot{position:absolute;left:3px;top:3px;width:21px;height:21px;border-radius:7px;background:var(--mintsoft);border:1px solid #c7eadc}.event b{font-size:11px}.event p{font-size:9.5px;color:#7a8b95;margin:4px 0 0}
.formrow{margin-bottom:13px}.formrow label{display:block;font-size:10px;font-weight:850;color:#52646f;margin-bottom:6px}.input{height:42px;border:1px solid #d7e1de;background:#fff;border-radius:9px;padding:0 11px;font-size:10.5px;color:#50616b;width:100%;outline:none}.textarea{height:84px;padding-top:10px;resize:none}.toggle{width:38px;height:20px;border-radius:999px;background:#ccd8d4;position:relative;cursor:pointer;display:inline-block}.toggle.on{background:var(--mint)}.toggle:after{content:"";position:absolute;width:16px;height:16px;top:2px;left:2px;background:#fff;border-radius:50%}.toggle.on:after{left:20px}
.signal-band{height:12px;border-radius:999px;background:#e8efec;display:grid;grid-template-columns:repeat(24,1fr);gap:2px;overflow:hidden}.signal-band i{background:#bfeeda}.signal-band.warn i:nth-child(16),.signal-band.warn i:nth-child(17),.signal-band.warn i:nth-child(19){background:#f7d790}.signal-band.bad i:nth-child(14),.signal-band.bad i:nth-child(15),.signal-band.bad i:nth-child(16),.signal-band.bad i:nth-child(18),.signal-band.bad i:nth-child(19){background:#f5b0b0}
.health-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.healthbox{border:1px solid var(--line);border-radius:10px;padding:13px}.healthbox b{font-size:11px}.healthbox p{font-size:9px;color:#7a8a94;margin:5px 0 9px}
.empty{height:760px;border:1px dashed #cbdad5;background:#fff;border-radius:13px;display:grid;place-items:center}.empty .box{text-align:center;max-width:460px}.empty .orb{width:76px;height:76px;border-radius:22px;background:var(--mintsoft);margin:0 auto 18px;display:grid;place-items:center;color:#0b9867}
.dim{position:fixed;left:232px;right:0;top:72px;bottom:0;background:rgba(5,17,27,.45);z-index:30}.modal{position:fixed;z-index:40;left:calc(50% + 58px);top:50%;transform:translate(-50%,-50%);background:#fff;border:1px solid #dbe5e1;border-radius:15px;box-shadow:0 28px 80px rgba(5,17,27,.26);overflow:hidden}.mhead{height:66px;border-bottom:1px solid var(--line2);display:flex;align-items:center;padding:0 20px}.mhead h2{font-size:17px;margin:0}.mhead .x{margin-left:auto;border:0;background:transparent;font-size:20px;color:#82929b}.mbody{padding:20px}.mfoot{height:64px;border-top:1px solid var(--line2);display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 18px}
.week{display:grid;grid-template-columns:120px repeat(7,1fr);border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff}.week>div{min-height:68px;border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);padding:10px;font-size:9px}.week .head{background:#f7faf9;font-weight:850;min-height:42px}.maint-chip{display:block;background:#e9fbf4;border:1px solid #c7eadc;border-radius:7px;padding:6px 7px;color:#087b55;font-weight:800;margin-top:5px}.maint-chip.warn{background:#fff6e2;border-color:#efd79f;color:#96640f}
.admin-shell .sidebar{width:258px}.admin-shell .topbar{left:258px}.admin-shell .main{left:258px}.admin-shell .dim{left:258px}.admin-shell .navitem{height:42px;font-size:11px}.admin-shell .navgroup{padding-top:12px}.admin-shell .modal{left:calc(50% + 65px)}
.public{background:#fbfcfb;min-height:100vh}.pubnav{height:84px;border-bottom:1px solid #e2eae7;background:#fff;display:flex;align-items:center}.pubwrap{width:min(2260px,calc(100% - 160px));margin:auto}.pubrow{display:flex;align-items:center}.pubbrand{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:900}.publinks{display:flex;gap:40px;margin-left:70px;font-size:13px;font-weight:800}.publinks a{color:#4c5e69}.publinks a.active{color:#0a9564}.pubactions{margin-left:auto;display:flex;gap:9px}.hero{padding:92px 0 84px;background-image:linear-gradient(rgba(7,22,32,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(7,22,32,.028) 1px,transparent 1px);background-size:30px 30px}.herogrid{display:grid;grid-template-columns:.86fr 1.14fr;gap:80px;align-items:center}.hero h1{font-size:72px;line-height:1.08;letter-spacing:-.055em;margin:18px 0 22px}.hero p{font-size:18px;line-height:1.75;color:#586b76;max-width:760px}.heroactions{display:flex;gap:10px;margin-top:28px}.hero .btn{height:52px;font-size:13px;padding:0 20px}.product-window{border:1px solid #1d3b48;background:#081a26;border-radius:18px;overflow:hidden;box-shadow:0 30px 85px rgba(7,22,32,.21);color:#eaf7f1}.pwtop{height:55px;border-bottom:1px solid #1b3440;display:flex;align-items:center;padding:0 15px}.pwlive{margin-left:auto;font-size:8px;color:#5fe8b6}.pwbody{display:grid;grid-template-columns:145px 1fr}.pwside{padding:11px;border-right:1px solid #193541}.pws{height:38px;border-radius:8px;display:flex;align-items:center;padding:0 10px;font-size:8px;color:#9fb2bb}.pws.on{background:#10372f;color:#62ebb8}.pwdash{padding:14px}.pwstats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.pwstat{background:#102735;border:1px solid #1b3c49;border-radius:9px;padding:10px}.pwstat small{font-size:6.5px;color:#78929e}.pwstat b{display:block;font-size:13px;margin-top:5px}.pwtable{margin-top:9px;background:#102735;border:1px solid #1b3c49;border-radius:10px;padding:10px}.pwrow{display:grid;grid-template-columns:1.2fr 70px 80px 1fr;align-items:center;min-height:42px;border-bottom:1px solid #193745;font-size:7px}.pwrow:last-child{border-bottom:0}.pwbar{height:8px;border-radius:999px;background:#1b3845;overflow:hidden}.pwbar i{display:block;height:100%}
.pubsection{padding:96px 0}.pubsection.soft{background:#f3f8f6}.pubsection h2{font-size:42px;letter-spacing:-.04em;margin:8px 0 16px}.pubsection p{font-size:15px;line-height:1.75;color:#667985}.flow4{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:26px}.flow4>div{padding:22px;border-right:1px solid var(--line);background:#fff;min-height:190px}.flow4>div:last-child{border-right:0}
.help-layout{display:grid;grid-template-columns:270px 1fr 360px;gap:14px}.helpnav,.helpcol,.helpaside{background:#fff;border:1px solid var(--line);border-radius:13px}.helpnav{padding:10px}.helpnav a{height:42px;border-radius:8px;display:flex;align-items:center;padding:0 10px;font-size:10px;color:#5d707a}.helpnav a.active{background:var(--mintsoft);color:#087b55;font-weight:850}.helpcol{padding:16px}.faq{min-height:58px;border-bottom:1px solid var(--line2);display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:800;cursor:pointer}.faq-answer{font-size:10px;color:var(--muted);padding:10px 0 18px;display:none}.faq.open+.faq-answer{display:block}.helpaside{padding:16px}.quick{padding:11px 0;border-bottom:1px solid var(--line2);font-size:10px}
.legal{display:grid;grid-template-columns:260px 1fr;gap:18px}.toc{background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px;height:max-content}.toc a{display:block;font-size:10px;color:#667985;padding:8px}.article{background:#fff;border:1px solid var(--line);border-radius:13px;padding:24px}.article h2{font-size:18px}.article p,.article li{font-size:10.5px;color:#667985;line-height:1.75}
.authbg{min-height:100vh;background:radial-gradient(circle at 80% 15%,rgba(22,211,138,.15),transparent 28%),linear-gradient(135deg,#f7fbf9,#eef7f3);display:grid;place-items:center}.authbox{width:980px;min-height:590px;border-radius:20px;overflow:hidden;background:#fff;border:1px solid #dbe6e2;box-shadow:0 28px 80px rgba(7,22,32,.12);display:grid;grid-template-columns:.9fr 1.1fr}.authleft{background:#071620;color:#fff;padding:50px;position:relative}.authleft h1{font-size:32px;line-height:1.25;margin:70px 0 15px}.authleft p{font-size:12px;line-height:1.75;color:#a8bbc3}.authright{padding:50px}.authright h2{font-size:25px}.authmini{position:absolute;left:50px;right:50px;bottom:45px;border:1px solid #1f3b47;border-radius:12px;padding:12px}.authmini .r{display:flex;height:29px;align-items:center;font-size:8px}.authmini .r span:last-child{margin-left:auto;color:#5fe5b3}
.statuspage{min-height:100vh;background:#f5f9f7}.statuswrap{width:min(1120px,calc(100% - 36px));margin:auto;padding:70px 0}.statushero{background:#fff;border:1px solid var(--line);border-top:4px solid var(--mint);border-radius:15px;padding:24px;margin-top:36px}.statushero.bad{border-top-color:var(--red)}.component{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;margin-top:10px}.component .row{display:flex;align-items:center}.component .row .badge{margin-left:auto}
.mobile-only{width:390px;height:844px;overflow:hidden;background:#f4f8f6;position:relative}.mtop{height:56px;background:#071620;color:#fff;display:flex;align-items:center;padding:0 12px;font-weight:900}.mtop .brandmark{width:24px;height:24px;margin-right:7px}.mbody{padding:12px}.mtitle{display:flex;align-items:center}.mtitle h1{font-size:21px;margin:0}.mtitle .badge{margin-left:auto}.mcard{background:#fff;border:1px solid #dce7e3;border-radius:11px;padding:11px;margin-top:9px}.mrow{min-height:50px;border-bottom:1px solid #e9efed;display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center}.mrow:last-child{border-bottom:0}.mico{width:26px;height:26px;border-radius:7px;background:#e8fbf4;display:grid;place-items:center;color:#078259}.mico .icon{width:15px;height:15px}.mrow b{font-size:8px}.mrow p{font-size:6.5px;color:#7a8a94;margin:2px 0 0}.mbottom{position:absolute;left:0;right:0;bottom:0;height:54px;background:#fff;border-top:1px solid #dce7e3;display:grid;grid-template-columns:repeat(4,1fr)}.mbottom a{display:grid;place-items:center;font-size:7px;color:#778790}.mbottom a.active{color:#07865a;font-weight:900}
.toast{position:fixed;right:30px;top:90px;min-width:320px;padding:14px 16px;border-radius:10px;background:#edfbf6;border:1px solid #c9ecdf;color:#2d715a;font-size:11px;font-weight:800;z-index:50}
@media(max-width:1280px){.pubwrap{width:calc(100% - 48px)}.hero h1{font-size:56px}.herogrid{gap:40px}}
