:root{--ink:#18212f;--muted:#758195;--line:#e8edf3;--bg:#f4f6f9;--panel:#fff;--nav:#171c29;--primary:#5b5ce2;--green:#20a779;--red:#e35d6a;--amber:#e5a62f;--coral:#eb735d;--shadow:0 8px 28px rgba(28,39,58,.06)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,'Noto Sans KR',sans-serif;font-size:14px}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:var(--nav);color:#fff;padding:27px 18px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 30px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#7778ef,#5253d8);font-size:20px;font-weight:800;box-shadow:0 8px 25px rgba(91,92,226,.35)}.brand strong,.brand small{display:block}.brand strong{font-size:19px;letter-spacing:-.5px}.brand small{font-size:11px;color:#8992a7;margin-top:3px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.nav-item{border:0;background:none;color:#9099ad;text-align:left;padding:12px 14px;border-radius:9px;font:600 13px inherit;cursor:pointer;transition:.2s}.nav-item span{display:inline-block;width:27px;font-size:17px}.nav-item:hover,.nav-item.active{background:#252b3b;color:#fff}.sidebar-foot{margin-top:auto;border-top:1px solid #2b3141;padding:20px 8px 0;display:flex;align-items:center;gap:10px}.sidebar-foot b,.sidebar-foot small{display:block}.sidebar-foot b{font-size:11px}.sidebar-foot small{color:#737e94;font-size:10px;margin-top:3px}.status-dot{width:9px;height:9px;border-radius:50%;background:#24c58d;box-shadow:0 0 0 5px rgba(36,197,141,.12)}main{margin-left:238px;padding:34px 40px 55px;max-width:1700px}header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px}h1{font-size:25px;margin:4px 0 0;letter-spacing:-1px}.eyebrow{font-size:10px;letter-spacing:1.4px;font-weight:800;color:#9aa4b3;margin:0}.header-actions{display:flex;align-items:center;gap:19px}.demo-badge{background:#fff1d6;color:#a86b00;border:1px solid #f3d99f;padding:7px 10px;border-radius:7px;font-size:10px;font-weight:800}.updated span,.updated strong{display:block;text-align:right}.updated span{color:#9aa4b3;font-size:10px}.updated strong{font-size:12px;margin-top:3px}.notice{display:flex;align-items:center;gap:10px;background:#eeeffe;border:1px solid #dfe0fb;color:#5152b8;border-radius:9px;padding:10px 13px;margin-bottom:18px;font-size:11px}.notice b{background:#5b5ce2;color:#fff;border-radius:5px;padding:4px 7px}.view{display:none}.view.active{display:block}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:15px}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:19px;display:flex;align-items:center;gap:14px}.kpi-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;font-size:19px;font-weight:700}.kpi-icon.indigo{background:#eeeeff;color:#5b5ce2}.kpi-icon.coral{background:#fff0ed;color:#e46c59}.kpi-icon.green{background:#e9f8f3;color:#15966b}.kpi-icon.amber{background:#fff5df;color:#cd8c17}.kpi span,.kpi strong,.kpi small{display:block}.kpi span{font-size:11px;color:var(--muted);font-weight:600}.kpi strong{font-size:20px;letter-spacing:-.6px;margin:4px 0}.kpi small{font-size:9px;color:#9da6b4}.panel-grid{display:grid;grid-template-columns:1.65fr .75fr;gap:15px;margin-bottom:15px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.panel-head{padding:19px 21px 14px;display:flex;align-items:center;justify-content:space-between}.panel-head h2{font-size:14px;margin:0 0 5px;letter-spacing:-.3px}.panel-head p{font-size:10px;color:#929daf;margin:0}.pill{border:1px solid var(--line);color:#8390a3;border-radius:6px;padding:5px 8px;font-size:9px;font-weight:700}.provider-chart{padding:5px 22px 21px}.provider-row+.provider-row{margin-top:19px}.provider-title{display:flex;align-items:center;gap:8px}.provider-title strong{margin-left:auto;font-size:12px}.source{display:inline-flex;align-items:center;justify-content:center;min-width:31px;padding:3px 5px;border-radius:4px;font-size:8px;font-weight:800}.source.pg{background:#edecff;color:#595bd3}.source.ota{background:#e8f8f2;color:#168b66}.bar{height:8px;background:#f0f2f6;border-radius:5px;margin:9px 0 5px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,#6869e5,#8485ef);border-radius:5px}.provider-row:nth-child(2) .bar i{background:linear-gradient(90deg,#27ad80,#5bc8a3)}.bar-detail{display:flex;justify-content:space-between;color:#909bad;font-size:9px}.donut-wrap{display:grid;place-items:center;padding:8px 0 16px}.donut{--rate:0deg;width:128px;height:128px;border-radius:50%;background:conic-gradient(var(--green) 0 var(--rate),#edf0f4 var(--rate) 360deg);display:grid;place-items:center;position:relative}.donut:after{content:'';width:91px;height:91px;background:#fff;border-radius:50%;position:absolute}.donut div{position:relative;z-index:1;text-align:center}.donut strong,.donut span{display:block}.donut strong{font-size:22px}.donut span{color:#9aa3b2;font-size:9px;margin-top:3px}.legend{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:9px;padding:14px 20px;font-size:10px}.legend span{color:#778396}.green-dot,.red-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px}.green-dot{background:var(--green)}.red-dot{background:var(--red)}.text-button{border:0;background:none;color:#5b5ce2;font:700 10px inherit;cursor:pointer}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{background:#fafbfc;color:#8b96a8;font-size:9px;text-transform:uppercase;letter-spacing:.25px;text-align:left;padding:11px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{font-size:10px;padding:13px 20px;border-bottom:1px solid #eff2f5;color:#657184}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcfe}td b,td.strong{color:#293445;font-weight:700}.right{text-align:right}.negative{color:#d85f6b}code{background:#f2f4f7;color:#536074;padding:3px 5px;border-radius:4px;font:600 9px Inter,monospace}.provider{display:flex;align-items:center;gap:7px}.status{display:inline-block;padding:4px 7px;border-radius:5px;background:#f0f2f5;color:#778297;font-size:8px;font-weight:800}.status.matched,.status.paid,.status.success,.status.approved,.status.connected,.status.collected{background:#e8f7f1;color:#168a66}.status.scheduled{background:#fff4dd;color:#b5770a}.status.partial_refund{background:#fff1e7;color:#c56b2e}.status.cancelled,.status.no_settlement_required{background:#f0f2f5;color:#7b8696}.status.amount_difference,.status.failed,.status.unmatched{background:#ffeaec;color:#cb4f5b}.status.research{background:#eef0ff;color:#5b5dc7}.muted-cell{color:#99a3b2}.provider-code{display:block;color:#9aa4b3;font-size:8px;margin-top:4px}.cap-mini{display:inline-block;margin:2px 3px 2px 0;padding:3px 5px;border-radius:4px;font-size:8px;font-weight:700}.cap-mini.yes{background:#e8f7f1;color:#168a66}.cap-mini.partial{background:#fff4dd;color:#a86f08}.unknown{color:#9aa4b3;font-size:9px}.portal-panel{margin-bottom:15px}.portal-connections{padding:0 20px 18px;display:grid;gap:9px}.portal-row{display:grid;grid-template-columns:45px minmax(210px,1.4fr) .8fr .9fr minmax(235px,auto);align-items:center;gap:14px;border:1px solid var(--line);border-radius:9px;padding:13px}.portal-row small,.portal-stat span,.portal-stat b,.portal-name em{display:block}.portal-row small,.portal-stat span{color:#929dae;font-size:9px;margin-top:4px}.portal-name em{color:#8b96a7;font-size:8px;font-style:normal;margin-top:5px}.portal-stat b{font-size:10px;margin-top:4px}.portal-state{text-align:right}.portal-actions{display:flex;justify-content:flex-end;gap:5px;margin-top:8px}.portal-button{border:1px solid var(--line);background:#fff;color:#657184;border-radius:5px;padding:5px 7px;font:700 8px inherit;cursor:pointer}.portal-button.primary{background:#5b5ce2;border-color:#5b5ce2;color:#fff}.portal-button.danger{color:#c95763}.portal-button:disabled{background:#f3f5f7;color:#9ca6b5;cursor:not-allowed}.status.terms_review_required,.status.reauth_required{background:#fff4dd;color:#a86f08}.status.disconnected{background:#f0f2f5;color:#778297}.empty-state{text-align:center;color:#9aa4b3;padding:22px;font-size:10px}.roadmap-panel{margin-bottom:15px}.filters{background:#f4f6f9;border-radius:7px;padding:3px}.filter{border:0;background:none;padding:6px 10px;border-radius:5px;color:#8b96a7;font:700 9px inherit;cursor:pointer}.filter.active{background:#fff;color:#4f51cd;box-shadow:0 1px 5px rgba(20,30,50,.1)}.diff{display:block;color:#d3525f;margin-top:3px}.connector-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px}.connector-card{padding:20px}.connector-top{display:flex;align-items:center;gap:12px}.connector-top>.status{margin-left:auto}.connector-logo{width:45px;height:45px;border-radius:11px;display:grid;place-items:center;font-size:11px;font-weight:800}.connector-logo.pg{background:#e9e9ff;color:#5b5ce2}.connector-logo.ota{background:#e7f8f1;color:#168b66}.connector-top h2{font-size:14px;margin:0 0 5px}.connector-top p{margin:0}.connector-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0 15px;padding:13px;background:#f8f9fb;border-radius:8px}.connector-meta span,.connector-meta b{display:block}.connector-meta span{font-size:8px;color:#97a1b1}.connector-meta b{color:#4a5668;font-size:9px;margin-top:5px}.capabilities{display:flex;flex-wrap:wrap;gap:6px}.capabilities span{padding:5px 7px;border-radius:5px;font-size:8px;font-weight:700}.capabilities .on{background:#eaf7f2;color:#168a66}.capabilities .off{background:#f0f2f5;color:#9aa3b1}.architecture{padding-bottom:20px}.flow{display:flex;align-items:center;justify-content:center;gap:18px;padding:20px}.flow div{border:1px solid var(--line);border-radius:9px;padding:13px 22px;text-align:center;font-size:11px;font-weight:700}.flow small{color:#939eaf;font-size:8px;font-weight:500}.flow b{color:#aeb7c4}@media(max-width:1100px){.kpi-grid{grid-template-columns:1fr 1fr}.panel-grid{grid-template-columns:1fr}.connector-grid{grid-template-columns:1fr}.portal-row{grid-template-columns:45px 1fr auto}.portal-stat{display:none}.flow{flex-wrap:wrap}}@media(max-width:760px){.sidebar{position:static;width:auto;height:auto;padding:15px}.brand{padding-bottom:12px}.sidebar nav{flex-direction:row;overflow-x:auto}.nav-item{white-space:nowrap}.sidebar-foot{display:none}main{margin:0;padding:20px 14px}.kpi-grid{grid-template-columns:1fr}.header-actions{display:none}.notice{align-items:flex-start}.connector-meta{grid-template-columns:1fr}.portal-row{grid-template-columns:1fr}.portal-row>.connector-logo{display:none}.portal-state{text-align:left}.portal-actions{justify-content:flex-start;flex-wrap:wrap}.flow b{transform:rotate(90deg)}}
.connect-modal[hidden]{display:none}.connect-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}.connect-modal-backdrop{position:absolute;inset:0;background:rgba(16,24,40,.58);backdrop-filter:blur(4px);animation:modal-fade .18s ease}.connect-modal-card{position:relative;width:min(520px,100%);background:#fff;border:1px solid rgba(255,255,255,.65);border-radius:22px;padding:25px 30px 28px;box-shadow:0 28px 90px rgba(18,29,49,.28);animation:modal-rise .22s ease}.connect-modal-close{position:absolute;right:17px;top:15px;border:0;background:#f1f3f7;color:#657187;width:32px;height:32px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer}.connect-modal-brand{display:flex;align-items:center;gap:11px;padding-right:40px}.connect-modal-brand>span{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:linear-gradient(135deg,#7778ef,#5253d8);color:#fff;font-weight:800}.connect-modal-brand b,.connect-modal-brand small{display:block}.connect-modal-brand b{font-size:14px}.connect-modal-brand small{font-size:10px;color:#929cab;margin-top:3px}.connect-modal-icon{width:76px;height:76px;margin:27px auto 16px;border-radius:50%;display:grid;place-items:center;background:#eef0ff;color:var(--primary)}.connect-modal-icon i{width:28px;height:28px;border:3px solid currentColor;border-right-color:transparent;border-radius:50%;animation:modal-spin .85s linear infinite}.connect-modal-icon.success{background:#e9f8f2;color:var(--green)}.connect-modal-icon.success i{border:0;animation:none}.connect-modal-icon.success i:after{content:'✓';font:800 34px/1 Inter}.connect-modal-icon.warning{background:#fff4dc;color:#c68410}.connect-modal-icon.warning i{border:0;animation:none}.connect-modal-icon.warning i:after{content:'!';font:800 34px/1 Inter}.connect-modal-icon.error{background:#ffeaed;color:var(--red)}.connect-modal-card h2{text-align:center;font-size:20px;margin:0 0 9px}.connect-modal-card>p{text-align:center;color:#6f7b8d;line-height:1.65;margin:0 auto;max-width:410px}.connect-steps{display:grid;grid-template-columns:repeat(3,1fr);position:relative;margin:27px 0 20px}.connect-steps:before{content:'';position:absolute;top:15px;left:16%;right:16%;height:2px;background:#e5e9ef}.connect-steps>div{position:relative;z-index:1;text-align:center;color:#a0a8b5}.connect-steps i{display:grid;place-items:center;margin:0 auto 7px;width:31px;height:31px;border-radius:50%;background:#edf0f4;color:#8792a3;font-style:normal;font-size:11px;font-weight:800}.connect-steps span{font-size:10px;font-weight:700}.connect-steps .active,.connect-steps .done{color:var(--primary)}.connect-steps .active i{background:var(--primary);color:#fff;box-shadow:0 0 0 5px rgba(91,92,226,.12)}.connect-steps .done i{background:#e8e9ff;color:var(--primary)}.connect-modal-detail{border:1px solid #e8edf3;background:#f8fafc;color:#6f7b8d;border-radius:10px;padding:12px 14px;font-size:11px;line-height:1.55;text-align:center}.connect-modal-actions{display:flex;justify-content:center;gap:8px;margin-top:20px}.connect-modal-actions .portal-button{min-width:105px;padding:10px 15px}.connect-modal-actions button[hidden]{display:none}@keyframes modal-spin{to{transform:rotate(360deg)}}@keyframes modal-fade{from{opacity:0}}@keyframes modal-rise{from{opacity:0;transform:translateY(12px) scale(.98)}}@media(max-width:560px){.connect-modal{padding:12px}.connect-modal-card{padding:22px 18px 24px;border-radius:17px}.connect-modal-card h2{font-size:18px}.connect-steps span{font-size:9px}}
.connect-modal-card{max-height:calc(100vh - 24px);overflow-y:auto}.connect-auth-form[hidden]{display:none}.connect-auth-form{display:grid;gap:12px;margin-top:16px;padding:16px;border:1px solid #e4e9f1;border-radius:12px;background:#fbfcfe}.connect-auth-form label{display:grid;gap:7px;color:#566276;font-size:11px;font-weight:700}.connect-auth-form input{width:100%;height:42px;border:1px solid #dce2eb;border-radius:8px;background:#fff;padding:0 12px;color:#1f2938;font:500 13px Inter,'Noto Sans KR',sans-serif;outline:none}.connect-auth-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(91,92,226,.12)}.connect-auth-form .connect-submit{height:42px;font-size:11px}.connect-auth-error{color:#c94e5a;font-size:10px;text-align:center}@media(max-width:560px){.connect-modal-icon{width:62px;height:62px;margin:18px auto 12px}.connect-steps{margin:20px 0 15px}.connect-auth-form{padding:13px}.connect-modal-actions{margin-top:13px}}
.settlement-query{display:grid;gap:14px;padding:17px 20px;margin:0 20px 18px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.settlement-query-form{display:grid;gap:14px}.settlement-filter-top{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap}.settlement-filter-bottom{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.settlement-query-form label,.settlement-periods legend{display:grid;gap:6px;color:#667287;font-size:10px;font-weight:800}.settlement-query-form input,.settlement-query-form select{width:155px;height:38px;padding:0 10px;border:1px solid #dce2eb;border-radius:8px;background:#fff;color:var(--ink);font:600 12px Inter,'Noto Sans KR',sans-serif;outline:none}.settlement-query-form select{width:210px;cursor:pointer}.settlement-query-form input:focus,.settlement-query-form select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(91,92,226,.11)}.settlement-query-form .portal-button{height:38px;padding:0 15px;font-size:10px}.settlement-periods{display:flex;align-items:flex-end;gap:0;margin:0;padding:0;border:0;flex-wrap:wrap}.settlement-periods legend{margin-bottom:6px;width:100%}.period-button{height:38px;padding:0 13px;border:1px solid #dce2eb;border-right:0;background:#fff;color:#7c8798;font:700 10px Inter,'Noto Sans KR',sans-serif;cursor:pointer}.period-button:first-of-type{border-radius:8px 0 0 8px}.period-button:last-of-type{border-right:1px solid #dce2eb;border-radius:0 8px 8px 0}.period-button:hover{background:#f4f4ff;color:var(--primary)}.period-button.active{position:relative;background:#5b5ce2;border-color:#5b5ce2;color:#fff;box-shadow:0 3px 9px rgba(91,92,226,.2)}.period-button.active+.period-button{border-left-color:#5b5ce2}.date-range-mark{align-self:flex-end;height:38px;display:grid;place-items:center;color:#8994a6;font-weight:700}.settlement-query-meta{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:12px;border-top:1px solid #e6eaf0}.settlement-query-meta span{font-size:10px;color:#8a95a6;white-space:nowrap}.settlement-query-meta strong{font-size:11px;color:#465267;text-align:right}.settlement-query-meta strong.error{color:var(--red)}.empty-table-row td{text-align:center!important;padding:34px 15px!important;color:#8994a6}@media(max-width:1100px){.settlement-filter-top{align-items:stretch;flex-direction:column}.settlement-query-form select{width:100%}.settlement-periods{width:100%}.period-button{flex:1;min-width:70px}.settlement-query-meta{align-items:flex-start;flex-direction:column}.settlement-query-meta strong{text-align:left}}@media(max-width:560px){.settlement-query{margin:0 12px 14px;padding:13px}.settlement-filter-bottom{display:grid;grid-template-columns:1fr 16px 1fr}.settlement-query-form input{width:100%}.settlement-query-form .portal-button{grid-column:span 1}#settlement-query-submit{grid-column:1}#settlement-query-reset{grid-column:3}.settlement-periods{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.period-button,.period-button:first-of-type,.period-button:last-of-type{border:1px solid #dce2eb;border-radius:7px;padding:0 5px}.date-range-mark{align-self:end}.settlement-query-meta{line-height:1.5}}

.status-dot.unknown{background:#738096;box-shadow:0 0 0 5px rgba(115,128,150,.14)}.status-dot.healthy{background:#24c58d;box-shadow:0 0 0 5px rgba(36,197,141,.12)}.status-dot.warning{background:var(--amber);box-shadow:0 0 0 5px rgba(229,166,47,.14)}.notice b{white-space:nowrap;flex-shrink:0}

[hidden]{display:none!important}.modal-open{overflow:hidden}.product-details{display:grid;gap:3px;white-space:nowrap}.auth-button{border:1px solid #dce2eb;border-radius:9px;background:#fff;padding:9px 12px;color:#354054;font:700 12px Inter,'Noto Sans KR';cursor:pointer}.auth-button:hover{border-color:var(--primary);color:var(--primary)}.auth-modal{position:fixed;inset:0;z-index:1500;display:grid;place-items:center;padding:20px}.auth-modal-backdrop{position:absolute;inset:0;background:rgba(12,18,30,.72);backdrop-filter:blur(7px)}.auth-card{position:relative;width:min(410px,100%);border-radius:22px;background:#fff;padding:30px;box-shadow:0 30px 100px rgba(0,0,0,.35)}.auth-card h2{margin:24px 0 8px;font-size:24px}.auth-card>p{margin:0 0 20px;color:var(--muted)}.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:7px;color:#566276;font-size:11px;font-weight:800}.auth-form input{height:46px;border:1px solid #dce2eb;border-radius:10px;padding:0 13px;font:500 14px Inter,'Noto Sans KR'}.auth-form input:focus{outline:3px solid rgba(91,92,226,.13);border-color:var(--primary)}.auth-form .portal-button{height:46px;margin-top:2px}.auth-error{min-height:18px!important;margin:0!important;color:var(--red)!important;font-size:12px;font-weight:700}.auth-modal:not([hidden])~.connect-modal{display:none}
@media(max-width:640px){.auth-card{padding:24px 20px}.header-actions{gap:7px}.auth-button{max-width:115px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
.bar-progress{display:block;width:100%;height:8px;border:0;border-radius:10px;overflow:hidden;background:#edf0f6}.bar-progress::-webkit-progress-bar{background:#edf0f6;border-radius:10px}.bar-progress::-webkit-progress-value{background:linear-gradient(90deg,#7374ed,#5657dc);border-radius:10px}.bar-progress::-moz-progress-bar{background:#5b5ce2;border-radius:10px}.donut[data-complete="true"]{border-color:var(--green)}
.operations-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 20px}.operations-head h2{font-size:20px;margin:5px 0 6px}.operations-head>div>p:last-child{margin:0;color:var(--muted);font-size:11px}.operations-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.operations-kpi{display:grid;gap:5px;background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:18px 20px;box-shadow:var(--shadow)}.operations-kpi span{font-size:11px;color:var(--muted);font-weight:700}.operations-kpi strong{font-size:27px}.operations-kpi small{font-size:9px;color:#a1aaba;font-weight:800;letter-spacing:.8px}.operations-kpi.danger strong{color:var(--red)}.service-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.service-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow);border-top:3px solid #a2acbb}.service-card.healthy{border-top-color:var(--green)}.service-card.stale{border-top-color:var(--red)}.service-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.service-card-head span,.service-card-head strong{display:block}.service-card-head span{font-size:10px;color:var(--muted);font-weight:700}.service-card-head strong{font-size:16px;margin-top:4px}.service-card-head i{width:11px;height:11px;border-radius:50%;background:#a2acbb}.service-card.healthy .service-card-head i{background:var(--green);box-shadow:0 0 0 6px rgba(32,167,121,.1)}.service-card.stale .service-card-head i{background:var(--red);box-shadow:0 0 0 6px rgba(227,93,106,.1)}.service-card dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.service-card dl div{padding-top:10px;border-top:1px solid var(--line)}.service-card dt{font-size:9px;color:#96a0b0;font-weight:700}.service-card dd{font-size:11px;font-weight:700;margin:5px 0 0;overflow-wrap:anywhere}.operations-jobs td code{font-size:10px}.operations-jobs td .provider-code{display:block;margin-top:3px;color:#98a2b2;font-size:9px}
@media(max-width:1100px){.operations-kpi-grid{grid-template-columns:repeat(2,1fr)}.service-cards{grid-template-columns:1fr}}
@media(max-width:560px){.operations-head{align-items:stretch;flex-direction:column}.operations-kpi-grid{grid-template-columns:1fr 1fr;gap:9px}.operations-kpi{padding:14px}.service-card{padding:16px}.service-card dl{grid-template-columns:1fr}}
@media(max-width:760px){header{align-items:stretch;flex-direction:column;gap:10px}.header-actions{display:flex;justify-content:flex-end}.header-actions .demo-badge,.header-actions .updated{display:none}.header-actions .auth-button{display:block;max-width:100%;margin-left:auto}}
.auth-mode-toggle{border:0;background:transparent;color:var(--primary);font:inherit;font-size:12px;font-weight:800;cursor:pointer;padding:7px}.auth-mode-toggle:hover{text-decoration:underline}.user-header-actions{display:flex;align-items:center;gap:9px}.user-create-modal-card>h2{margin:22px 0 7px}.user-create-modal-card>p{margin:0;color:var(--muted);font-size:12px;line-height:1.65}.user-create-modal-form{margin-top:18px}.user-create-modal-form select{width:100%;height:42px;border:1px solid #dce2eb;border-radius:8px;background:#fff;padding:0 12px;color:var(--ink);font:600 13px Inter,'Noto Sans KR';appearance:auto}.user-create-modal-form .auth-error{min-height:18px;margin:0}.user-create-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:2px}.user-create-modal-actions .portal-button{min-width:96px}.users-panel .portal-button{padding:7px 10px;font-size:10px}.users-action-message{margin:0 20px 10px;min-height:0}.status.pending{background:#fff3d9;color:#966500}.status.active{background:#e4f8ef;color:#08784e}.status.disabled{background:#f1f3f6;color:#687384}.status.viewer{background:#eaf0ff;color:#3558b8}.status.admin{background:#eeeaff;color:#6247c8}@media(max-width:560px){.user-header-actions{width:100%}.user-header-actions .portal-button{flex:1}.user-create-modal-card{padding:24px 20px}.user-create-modal-actions .portal-button{flex:1}.users-panel .table-wrap{overflow-x:auto}}
.hotel-access-panel{margin-bottom:18px}.hotels-list{display:grid;gap:10px}.hotel-name-row{display:flex;align-items:end;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfcff}.hotel-name-row label{display:grid;gap:6px;flex:1;font-size:12px;color:var(--muted);font-weight:700}.hotel-name-row input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:9px;padding:0 12px;background:#fff;color:var(--text)}.hotel-access-list,.user-row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.hotel-access-chip,.hotel-access-all,.hotel-access-none{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.hotel-access-chip{background:#eaf1ff;color:#2458ac}.hotel-access-all{background:#e8f7ef;color:#23764a}.hotel-access-none{background:#fff0ef;color:#ad3b35}.hotel-assign-modal-card{max-width:480px}.hotel-assign-options{display:grid;gap:9px;max-height:330px;overflow:auto;padding:2px}.hotel-assign-option{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:11px;cursor:pointer;background:#fbfcff}.hotel-assign-option:has(input:checked){border-color:#7da7ed;background:#edf4ff}.hotel-assign-option input{width:18px;height:18px;accent-color:var(--primary);flex:none}.hotel-assign-option span{display:grid;gap:3px}.hotel-assign-option small{color:var(--muted)}@media(max-width:560px){.hotel-name-row{align-items:stretch;flex-direction:column}.hotel-name-row .portal-button{width:100%}.hotel-assign-options{max-height:42vh}}
