:root{color:#15233b;font-synthesis:none;background:#f4f7fb;font-family:Inter,Pretendard Variable,Noto Sans KR,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}.console-shell{min-height:100vh;display:flex}.sidebar{color:#fff;z-index:20;background:#072e63;flex-direction:column;width:230px;display:flex;position:fixed;inset:0 auto 0 0}.brand{border-bottom:1px solid #ffffff1c;align-items:center;gap:10px;height:64px;padding:0 20px;display:flex}.brand>svg{color:#48a6ff;width:25px}.brand b{font-size:18px}.brand button{display:none}.sidebar nav{gap:4px;padding:14px 8px;display:grid}.sidebar nav button{color:#c9dcf3;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:13px;padding:11px 14px;font-size:14px;display:flex}.sidebar nav button svg{width:18px}.sidebar nav button.active,.sidebar nav button:hover{color:#fff;background:#0c68d9}.control-plane{color:#c9dcf3;border-top:1px solid #ffffff26;align-items:center;gap:10px;margin:auto 16px 18px;padding-top:15px;font-size:13px;display:flex}.control-plane svg{width:16px}.workspace{flex:1;min-width:0;margin-left:230px}.workspace>header{background:#fff;border-bottom:1px solid #dae1ea;justify-content:space-between;align-items:center;height:64px;padding:0 22px;display:flex}.workspace h1{margin:0;font-size:19px}.workspace>header>div{color:#66758a;align-items:center;gap:15px;font-size:12px;display:flex}.workspace>header button,.menu{color:#42516a;cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.workspace>header svg{width:18px}.workspace>header i{color:#fff;background:#0968db;border-radius:50%;place-items:center;width:31px;height:31px;font-size:12px;font-style:normal;display:grid}.workspace>header .menu{display:none}.content{max-width:1600px;margin:auto;padding:16px}.error{color:#a62121;background:#fff2f2;border:1px solid #ffd0d0;align-items:center;gap:9px;margin-bottom:12px;padding:11px 14px;display:flex}.error svg{width:17px}.error button{color:inherit;background:#fff;border:1px solid;border-radius:5px;margin-left:auto;padding:5px 9px}.metrics{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px;display:grid}.metric{background:#fff;border:1px solid #dce3ec;border-radius:7px;min-height:105px;padding:18px}.metric p{color:#4b5c73;margin:0 0 17px;font-size:13px}.metric strong{letter-spacing:-.02em;font-size:25px;font-weight:650}.metric small{margin-left:4px;font-size:12px}.metric.blue{border-top:2px solid #1e78df}.metric.red{border-top:2px solid #e34b4b}.metric.amber{border-top:2px solid #e79a25}.panel{background:#fff;border:1px solid #dce3ec;border-radius:7px;overflow:hidden}.panel-title{border-bottom:1px solid #e2e7ee;justify-content:space-between;align-items:center;min-height:52px;padding:10px 14px;display:flex}.panel-title h2{margin:0;font-size:15px}.panel-title>div{gap:8px;display:flex}.panel-title input,.panel-title select{color:#44536a;background:#fff;border:1px solid #d7dee8;border-radius:5px;height:32px;padding:0 10px;font-size:12px}.panel-title input{width:210px}.panel-title>span{color:#78869a;font-size:11px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;min-width:1000px;font-size:12px}th{text-align:left;color:#536178;background:#f9fbfd;font-weight:600}th,td{white-space:nowrap;border-bottom:1px solid #e4e8ee;height:42px;padding:0 13px}tbody tr:hover{background:#f7faff}td b{font-weight:600}.plan,.status,.health,.job{color:#42516a;background:#eef2f7;border-radius:4px;padding:3px 7px;font-size:11px;display:inline-flex}.plan.pro{color:#1767c6;background:#eaf3ff}.plan.premium{color:#6940c2;background:#f1eaff}.status.active,.health.healthy,.job.succeeded{color:#198150;background:#e7f7ee}.status.failed,.health.offline,.job.failed{color:#bd3030;background:#ffecec}.status.past_due,.status.readonly,.health.warning,.job.retry_scheduled{color:#a65b00;background:#fff2df}.status.provisioning,.status.setup_pending,.job.running{color:#1767c6;background:#e8f2ff}.empty{text-align:center!important;color:#8490a1!important;padding:24px!important}.lower{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.queue,.audit{margin:0;padding:0;list-style:none}.queue li,.audit li{border-bottom:1px solid #e6eaf0;align-items:center;gap:10px;min-height:57px;padding:9px 14px;font-size:12px;display:flex}.queue li>svg{color:#2874c9;width:17px}.queue p,.audit p{flex:1;gap:4px;margin:0;display:grid}.queue small,.audit small{color:#758398}.queue time,.audit time{color:#8290a2;font-size:10px}.audit li>i{background:#32a06c;border-radius:50%;width:7px;height:7px}.backdrop{display:none}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1000px){.metrics{grid-template-columns:1fr 1fr}.lower{grid-template-columns:1fr}.sidebar{transition:transform .2s;transform:translate(-100%)}.sidebar.is-open{transform:translate(0);box-shadow:10px 0 30px #14213d3b}.brand button{color:#fff;background:0 0;border:0;margin-left:auto;display:grid}.backdrop{z-index:15;background:#081a324f;border:0;display:block;position:fixed;inset:0}.workspace{margin-left:0}.menu{display:grid!important}}@media (width<=620px){.content{padding:10px}.workspace>header{padding:0 13px}.workspace>header>div>span{display:none}.metrics{grid-template-columns:1fr 1fr;gap:7px}.metric{min-height:88px;padding:13px}.metric p{margin-bottom:12px}.metric strong{font-size:18px}.panel-title{flex-direction:column;align-items:flex-start;gap:10px}.panel-title>div{width:100%}.panel-title input{width:100%;min-width:0}.lower{gap:9px}}.operator{width:31px;height:31px;font-size:12px;color:#fff!important;background:#0968db!important;border-radius:50%!important}.auth-page{background:#f4f7fb;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fff;border:1px solid #dce3ec;border-radius:10px;gap:16px;width:min(100%,390px);padding:34px;display:grid;box-shadow:0 14px 40px #14213d12}.auth-logo{color:#0c68d9}.auth-card h1{margin:0;font-size:22px}.auth-card p{color:#6a788d;margin:-7px 0 5px;font-size:13px;line-height:1.6}.auth-card label{color:#42516a;gap:7px;font-size:12px;display:grid}.auth-card input{border:1px solid #ccd6e2;border-radius:6px;outline:none;height:42px;padding:0 12px}.auth-card input:focus{border-color:#0c68d9;box-shadow:0 0 0 3px #0c68d918}.auth-card>button{color:#fff;cursor:pointer;background:#0c68d9;border:0;border-radius:6px;height:42px;font-weight:600}.auth-card>button:disabled{opacity:.55;cursor:not-allowed}.auth-card>button.secondary{color:#42516a;background:#eef3f8}.auth-card>span{color:#b32d2d;font-size:12px}.auth-card small{color:#78869a;align-items:center;gap:6px;display:flex}.auth-card small svg{width:14px}.sidebar nav button em{color:#0c68d9;text-align:center;background:#fff;border-radius:9px;min-width:20px;margin-left:auto;padding:2px 5px;font-size:10px;font-style:normal}.notice{color:#187346;background:#edf9f2;border:1px solid #bce8d0;align-items:center;gap:10px;margin-bottom:12px;padding:11px 14px;font-size:12px;display:flex}.notice button{color:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto}.loading-state{color:#728096;place-items:center;min-height:280px;font-size:13px;display:grid}.console-page{gap:12px;display:grid}.page-heading{justify-content:space-between;align-items:center;min-height:52px;display:flex}.page-heading h2{margin:0;font-size:20px}.page-heading p{color:#6e7c90;margin:6px 0 0;font-size:12px}.mini-metrics{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.mini-metrics article{background:#fff;border:1px solid #dce3ec;border-radius:7px;gap:8px;min-height:74px;padding:13px 16px;display:grid}.mini-metrics span{color:#647287;font-size:12px}.mini-metrics strong{font-size:21px}.master-detail{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:12px;display:grid}.master-table table{min-width:850px}tbody tr.selected{box-shadow:inset 3px 0 #1475e3;background:#edf5ff!important}.master-table tbody tr,.environment-list tbody tr{cursor:pointer}.detail-panel{max-height:calc(100vh - 96px);position:sticky;top:80px;overflow:auto}.detail-title{border-bottom:1px solid #e2e7ee;align-items:center;gap:8px;min-height:54px;padding:14px 16px;display:flex}.detail-title h3{margin:0 auto 0 0;font-size:15px}.detail-panel dl,.identity dl{grid-template-columns:105px 1fr;gap:0;margin:0;padding:10px 16px;display:grid}.detail-panel dt,.detail-panel dd,.identity dt,.identity dd{border-bottom:1px solid #eef1f5;align-items:center;min-height:38px;margin:0;font-size:12px;display:flex}.detail-panel dt,.identity dt{color:#6d7b8e}.detail-form{gap:12px;padding:14px 16px;display:grid}.detail-form label,.access-form label{color:#546379;gap:6px;font-size:12px;display:grid}.detail-form input,.detail-form select,.detail-form textarea,.access-form select,.access-form textarea,.inline-operation select{color:#26364e;width:100%;font:inherit;resize:vertical;background:#fff;border:1px solid #cfd8e4;border-radius:5px;padding:9px 10px}.safe-note{color:#77500e;background:#fff9eb;border:1px solid #f2d398;border-radius:5px;align-items:flex-start;gap:8px;margin:0;padding:10px;font-size:11px;line-height:1.5;display:flex}.safe-note svg{width:16px;min-width:16px}.detail-actions{background:#fff;border-top:1px solid #e1e6ed;gap:8px;padding:12px 16px;display:flex;position:sticky;bottom:0}.detail-actions button,.access-form>button{color:#2b405d;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:5px;flex:1;min-height:36px;font-size:12px}.detail-actions button.approve,.access-form>button{color:#187b4c;border-color:#187b4c}.detail-actions button.reject{color:#b52e2e;border-color:#d74747}button:disabled{opacity:.45;cursor:not-allowed!important}.environment-layout{grid-template-columns:500px minmax(0,1fr);align-items:start;gap:12px;display:grid}.environment-list{position:sticky;top:80px}.environment-list table{min-width:490px}.environment-detail{gap:10px;min-width:0;display:grid}.identity dl{grid-template-columns:105px minmax(120px,1fr) 105px minmax(120px,1fr)}.operation-block{overflow:hidden}.inline-operation{align-items:center;gap:12px;padding:12px;font-size:12px;display:flex}.inline-operation select{width:220px;margin-left:auto}.inline-operation button,.row-actions button{color:#1767c6;cursor:pointer;background:#fff;border:1px solid #b9c8da;border-radius:4px;min-height:29px;padding:5px 9px;font-size:11px}.operation-block table{min-width:680px}.row-actions{gap:5px;display:flex}.row-actions svg{vertical-align:middle;width:12px}code{text-overflow:ellipsis;color:#42516a;vertical-align:middle;max-width:230px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;display:inline-block;overflow:hidden}.row-select{color:#173f6d;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.detail-panel h4{margin:16px 16px 8px;font-size:12px}.reference-row{color:#4d5d73;background:#f7f9fc;align-items:center;gap:7px;margin:0 16px 8px;padding:9px;font-size:11px;display:flex}.reference-row svg{width:14px}.reference-row code{margin-left:auto}.reference-row button{color:#1767c6;cursor:pointer;background:#fff;border:1px solid #b9c8da;border-radius:4px;padding:5px 8px;font-size:10px}.command-bar{align-items:center;gap:8px;padding:10px;display:flex;overflow-x:auto}.command-bar input,.command-bar select{color:#34445c;background:#fff;border:1px solid #cfd8e4;border-radius:5px;min-width:150px;height:34px;padding:0 9px;font-size:11px}.command-bar code{min-width:170px}.command-bar button,.section-stack table button{white-space:nowrap;color:#1767c6;cursor:pointer;background:#fff;border:1px solid #1475e3;border-radius:5px;min-height:32px;padding:5px 10px;font-size:11px}.section-stack{gap:12px;display:grid}.cell-subtitle{color:#78869a;margin-top:3px;font-size:10px;display:block}.danger-text{color:#b52e2e}.success-result{color:#187b4c;align-items:center;gap:5px;display:inline-flex}.success-result svg{width:14px}.access-layout{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:12px;display:grid}.access-form{gap:13px;padding:16px;display:grid}.access-form h3{margin:0 0 5px;font-size:15px}.access-list table{min-width:900px}.status.applied,.status.reviewing{color:#1767c6;background:#e8f2ff}.status.approved{color:#198150;background:#e7f7ee}.status.rejected,.status.failed,.status.sev1,.status.sev2{color:#bd3030;background:#ffecec}@media (width<=1200px){.master-detail{grid-template-columns:1fr}.detail-panel{max-height:none;position:static}.environment-layout{grid-template-columns:1fr}.environment-list{position:static}.access-layout{grid-template-columns:1fr}}@media (width<=620px){.page-heading{min-height:42px}.page-heading h2{font-size:18px}.page-heading p{line-height:1.5}.mini-metrics{grid-template-columns:1fr 1fr;gap:7px}.mini-metrics article{min-height:64px}.identity dl{grid-template-columns:90px 1fr}.inline-operation{flex-direction:column;align-items:stretch}.inline-operation select{width:100%;margin:0}.detail-actions{flex-wrap:wrap}.detail-actions button{min-width:120px}.command-bar{flex-direction:column;align-items:stretch}.command-bar input,.command-bar select,.command-bar code{width:100%;min-width:0}}
