:root{--ink:#182533;--navy:#142332;--mint:#b4f6d7;--green:#147759;--text:#243543;--muted:#7d8992;--line:#e7ebee;--bg:#f4f6f8;--white:#fff;--radius:18px;font-family:Inter,Pretendard,"Noto Sans KR","Malgun Gothic",system-ui,sans-serif;color:var(--text);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #74bda6;outline-offset:3px}button{border:0}a{color:inherit;text-decoration:none}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink);letter-spacing:-.055em;line-height:1.35}h1{font-size:32px;font-weight:750;margin-bottom:12px}h2{font-size:21px;font-weight:720;margin-bottom:0}h3{font-size:17px;margin-bottom:3px}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:.15em;font-weight:750;color:#8e9ca7;margin-bottom:10px}.small-text{font-size:12px;line-height:1.7}.app-shell{min-height:100vh;display:grid;grid-template-columns:230px 1fr}.sidebar{background:var(--navy);color:#aab6c1;position:fixed;inset:0 auto 0 0;width:230px;padding:35px 22px;display:flex;flex-direction:column;z-index:3}.brand{display:flex;gap:12px;align-items:center;color:#fff;font-size:23px;font-weight:720;letter-spacing:-.07em;margin:0 6px 64px}.brand small{display:block;font-size:8px;letter-spacing:.19em;color:#8096a6;margin-top:2px;font-weight:500}.brand-mark{width:44px;height:44px;flex-shrink:0;border:2px solid var(--mint);border-radius:50%;display:grid;place-items:center;position:relative}.brand-mark:before{content:"";position:absolute;inset:6px;border:1px solid #81c5ab;border-radius:50%}.brand-mark span{height:9px;width:9px;background:var(--mint);border-radius:50%}.brand-mark.small{width:32px;height:32px}.brand-mark.small:before{inset:4px}.brand-mark.small span{width:6px;height:6px}.nav-label{font-size:9px;letter-spacing:.17em;font-weight:600;color:#64798b;margin:0 14px 16px}.nav-item{width:100%;background:none;color:#8c9ead;display:flex;align-items:center;text-align:left;padding:12px 14px;gap:12px;border-radius:9px;font-size:13px;font-weight:600;margin-bottom:7px}.nav-item>span:first-child{font-size:19px;line-height:1}.nav-item.active{color:var(--mint);background:#223c47}.nav-item:hover{background:#203441}.nav-arrow,.nav-count{margin-left:auto}.nav-arrow{font-size:17px}.nav-count{background:#324652;border-radius:6px;min-width:24px;text-align:center;font-size:10px;color:#c0cdd6}.sidebar-bottom{margin-top:auto;padding:0 10px;font-size:11px;color:#a8b9c6}.sidebar-bottom p{font-size:10px;line-height:1.9;color:#667f91;margin:12px 0 20px}.sidebar-dot{display:inline-block;height:6px;width:6px;background:var(--mint);border-radius:50%;margin-right:5px}.text-button{background:none;padding:0;color:inherit;font-size:12px;font-weight:600}.text-button:hover{color:var(--green)}.sidebar .text-button:hover{color:var(--mint)}.main{grid-column:2;min-width:0;padding:0 40px 36px;max-width:1700px;width:100%;margin:auto}.topbar{height:78px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-bottom:38px}.breadcrumb{font-size:11px;color:#8b98a1}.breadcrumb span{padding:0 11px;color:#bec7ce}.breadcrumb strong{font-weight:500;color:#536574}.connection{border:1px solid #dbe5e0;background:#f5fcf8;border-radius:20px;padding:6px 11px;font-size:10px;font-weight:600;color:#4a7663;display:flex;gap:7px;align-items:center;white-space:nowrap}.connection span{width:5px;height:5px;border-radius:50%;background:#58a47a}.connection.waiting{background:#fffaf0;color:#9b7b3e;border-color:#eee1c6}.connection.waiting span{background:#cca64d}.connection.error{background:#fff4f2;color:#ad675a;border-color:#f0d8d2}.connection.error span{background:#d58c7e}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:29px;gap:20px}.page-heading .muted{font-size:12px;margin-bottom:0}.page-heading .eyebrow{margin-bottom:9px}.heading-dot{color:#68ad91;padding-left:3px}.button{min-height:40px;padding:10px 17px;border-radius:8px;display:inline-flex;justify-content:center;align-items:center;gap:17px;font-size:12px;font-weight:650;white-space:nowrap;transition:background .15s,transform .15s}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--navy);color:#fff}.button.primary:hover{background:#2c4559}.button.secondary{background:#fff;border:1px solid #dfe5e9;color:#495c69}.button.secondary:hover{background:#f5f8f9}.button.danger{background:#a64949;color:#fff}.button.full{width:100%}.button.small{min-height:32px;padding:6px 10px;gap:8px;font-size:10px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:25px}.stat-card{border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:21px 24px 17px;min-height:153px}.stat-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#75838e;font-weight:500}.stat-symbol{height:28px;width:28px;display:grid;place-items:center;background:#f3f6f8;border-radius:8px;font-size:16px;color:#7b909c}.stat-symbol.mint{background:#eaf6ef;color:#4b8a6d}.stat-value{font-size:35px;color:var(--ink);font-weight:670;line-height:1.4;letter-spacing:-.06em;margin:7px 0 3px}.stat-value small{font-size:12px;font-weight:500;color:#9ba7b0;letter-spacing:0;padding-left:7px}.stat-card p{font-size:10px;color:#97a3ac;margin:0}.accent-card{background:#e8f5ed;border-color:#ddece2}.accent-card .stat-symbol{background:#d6ebdf;color:#4d8d6d}.accent-card .stat-value{color:#396d55}.accent-card .stat-top{color:#668575}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:22px;margin-bottom:23px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}.panel-heading .eyebrow{margin-bottom:5px}.panel-heading .text-button{color:#8a9aa4;font-size:11px}.host-cards{display:grid;gap:12px}.host-card{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid #e9edf0;border-radius:12px;position:relative}.avatar{height:45px;width:45px;border-radius:14px;background:#edf2f4;display:grid;place-items:center;color:#677d8c;font-size:18px;font-weight:650;flex-shrink:0}.avatar.tone-1{background:#eaf3ef;color:#639079}.avatar.tone-2{background:#f5efe8;color:#b18c69}.avatar.tone-3{background:#eef0f8;color:#7c87b0}.host-main{min-width:0;flex:1}.host-main h3{font-size:14px;letter-spacing:-.035em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.host-id{font-size:10px;color:#9ca9b3}.host-state{display:flex;align-items:center;gap:7px;margin-top:7px;flex-wrap:wrap}.badge{display:inline-flex;gap:4px;align-items:center;white-space:nowrap;padding:3px 7px;border-radius:5px;font-size:9px;font-weight:600;line-height:1.4;background:#f0f3f5;color:#7c8c96}.badge.green{background:#e8f5ed;color:#438264}.badge.amber{background:#fbf2dc;color:#aa8950}.badge.red{background:#fbebe7;color:#b16e60}.badge.blue{background:#edf1fb;color:#6d80b4}.badge:before{content:"";height:4px;width:4px;border-radius:50%;background:currentColor}.badge.plain:before{display:none}.host-open{background:#f7f9fa;color:#7a909d;font-size:15px;border:1px solid #eaf0f3;border-radius:8px;height:31px;width:31px;flex-shrink:0}.host-open:hover{background:#e8f5ed;color:#3a7a5b}.controls-panel h2{font-size:20px;margin-bottom:12px}.controls-panel>.eyebrow{font-size:8px;margin-bottom:7px}.controls-panel .small-text{font-size:11px}.switch-row{display:flex;align-items:center;gap:9px;justify-content:space-between;font-size:11px;font-weight:600;padding:15px 0 18px;cursor:pointer}.switch-row input{position:absolute;opacity:0;width:1px;height:1px}.switch-track{width:33px;height:19px;border-radius:20px;background:#dce4e7;position:relative;flex-shrink:0}.switch-track:after{content:"";position:absolute;left:3px;top:3px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0001;transition:transform .15s}.switch-row input:checked+.switch-track{background:#74b99a}.switch-row input:checked+.switch-track:after{transform:translateX(14px)}.switch-row input:focus-visible+.switch-track{outline:3px solid #74bda6;outline-offset:3px}.field-label{font-size:10px;color:#8b9aa5;display:block;margin-bottom:7px}select,input,textarea{border:1px solid #e0e7eb;border-radius:8px;background:#fff;color:#516675;padding:10px 12px;outline:none}select{width:100%;font-size:11px;padding:9px}.info-note{background:#f5f8f7;color:#8b9c95;border:1px solid #eaf0ed;border-radius:8px;font-size:10px;line-height:1.85;padding:12px;margin:16px 0}.info-note strong{font-weight:600;color:#728d80}.open-status{font-size:10px;color:#668575;margin-bottom:10px}.controls-panel>.small-text:last-child{margin:0;font-size:10px;color:#a4afb6}.timeline-panel{padding-bottom:10px}.count-label{display:inline-block;font-size:10px;letter-spacing:0;color:#9aacb6;background:#f1f5f6;padding:2px 6px;border-radius:5px;vertical-align:middle;margin-left:7px}.event-row{display:flex;gap:15px;border-top:1px solid #edf0f2;padding:18px 0}.event-icon{height:33px;width:33px;background:#eaf6ef;color:#5d9679;border-radius:10px;display:grid;place-items:center;font-size:16px;flex-shrink:0;margin-top:2px}.event-icon.synthetic{background:#f0f2f7;color:#a0a9b9}.event-info{flex:1;min-width:0}.event-title{font-size:12px;font-weight:650;color:#536877;margin-bottom:4px}.event-desc{font-size:10px;color:#9ba8b1}.event-top{display:flex;justify-content:space-between;gap:15px;align-items:start}.event-time{font-size:10px;color:#a8b2ba;white-space:nowrap}.event-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.event-details{font-size:10px;color:#98a6af;margin-top:8px}.event-details summary{cursor:pointer}.event-details dl{display:grid;grid-template-columns:95px 1fr;gap:4px 10px;margin-bottom:0}.event-details dd{margin:0;overflow-wrap:anywhere}.event-details dt{color:#a7b2bb}.bottom-note{font-size:10px;color:#9eabb4;text-align:center;margin:20px 0 0}.empty-state{text-align:center;padding:35px 15px;color:#8b9ca8}.empty-state .empty-icon{display:grid;place-items:center;margin:0 auto 13px;height:45px;width:45px;background:#f3f7f5;color:#9db7a8;border-radius:14px;font-size:21px}.empty-state h3{font-size:13px;color:#718693;letter-spacing:-.02em}.empty-state p{font-size:11px;color:#a3afb7;max-width:290px;margin:6px auto 14px}.management-grid{display:grid;grid-template-columns:335px minmax(0,1fr);gap:24px}.host-form-panel h2{margin-bottom:23px}.host-form-panel .eyebrow{margin-bottom:5px}form label:not(.checkbox-row){display:block;font-size:11px;font-weight:600;color:#627783;margin:17px 0 7px}form label:first-child{margin-top:0}form input:not([type=checkbox]):not([type=hidden]),form textarea{width:100%;font-size:12px}form textarea{resize:vertical;min-height:105px}.field-help{display:block;font-size:10px;color:#a1adb6;margin-top:5px}.required{color:#5eaa87;padding-left:3px}.optional{font-size:9px;font-weight:400;color:#a2afb7;padding-left:5px}.checkbox-row{display:flex;align-items:flex-start;gap:9px;font-size:11px;color:#6d808e;margin:17px 0;cursor:pointer}.checkbox-row input{accent-color:#4c9473;margin:4px 0 0;flex-shrink:0}.checkbox-row small{display:block;font-size:9px;line-height:1.7;color:#a0adb6;margin-top:5px}.readiness-check{background:#f7f9f8;padding:12px;border-radius:8px}.form-actions{display:flex;gap:9px;margin-top:22px;flex-wrap:wrap}.form-error{font-size:11px;color:#b36b61;min-height:17px;margin:12px 0 0}.registered-panel .info-note{margin-top:0}.manage-host-row{border-top:1px solid var(--line);padding:21px 0}.manage-host-top{display:flex;gap:12px;align-items:center}.manage-host-row .host-main h3{font-size:15px}.manage-buttons{display:flex;gap:8px;margin-left:auto}.icon-button{background:#f5f7f8;border:1px solid #e7ecef;border-radius:7px;color:#8b9ca6;font-size:10px;padding:6px 9px}.icon-button.danger-text{color:#b47e74}.alias-list{font-size:10px;color:#9aa9b3;margin-top:13px;overflow-wrap:anywhere}.alias-list strong{font-weight:500;color:#8a9ba6;padding-right:6px}.enabled-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;font-size:10px;color:#9ba9b1}.enabled-row label{display:flex;align-items:center;gap:6px;cursor:pointer}.enabled-row input{accent-color:#5c9c7c}.login-screen{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-card{max-width:365px;width:100%;align-self:center;justify-self:center;padding:35px 20px}.login-card>.brand-mark{border-color:#99cdb6;margin-bottom:40px}.login-card>.brand-mark span{background:#71ac90}.login-card h1{font-size:42px;line-height:1.4;margin-bottom:18px;letter-spacing:-.07em}.login-card>.muted{font-size:12px;margin-bottom:30px}.login-card .primary{margin-top:17px}.privacy-note{font-size:10px;color:#a7b3bb;margin-top:28px}.login-art{background:var(--navy);position:relative;overflow:hidden;display:grid;place-items:center}.orbit{position:absolute;border:1px solid #466c65;border-radius:50%;width:520px;height:520px}.orbit.two{width:750px;height:750px;border-color:#304d4c}.orbit.three{width:280px;height:280px;background:#b4f6d7;border:0;box-shadow:0 0 140px #8cdbb71a}.art-label{position:relative;z-index:1;font-size:45px;line-height:1.1;letter-spacing:-.065em;font-weight:750;color:#244137;text-align:center}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#243d36;color:#e5f8ed;box-shadow:0 5px 20px #12261b25;font-size:12px;border-radius:10px;padding:13px 21px;z-index:20;max-width:90vw}.global-notice{border:1px solid #e7dfc7;background:#fffaf0;color:#a18c59;border-radius:9px;padding:12px 15px;font-size:11px;margin:-15px 0 25px}dialog{border:1px solid var(--line);border-radius:18px;padding:27px;max-width:400px;width:calc(100% - 35px);box-shadow:0 20px 100px #13233220}dialog::backdrop{background:#14233270}dialog h2{margin-bottom:12px}dialog .muted{font-size:12px}
@media(min-width:1450px){.main{padding-left:55px;padding-right:55px}.content-grid{grid-template-columns:minmax(0,1fr) 310px}.host-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.host-card{padding:18px 15px;flex-wrap:wrap}.host-card .host-main{min-width:110px}.host-panel{min-height:300px}.host-cards .empty-state{grid-column:1/-1}.host-open{margin-left:auto}}
@media(max-width:1150px){.app-shell{grid-template-columns:190px 1fr}.sidebar{width:190px;padding:29px 15px}.brand{font-size:21px;gap:9px}.main{padding:0 25px 30px}.content-grid{grid-template-columns:minmax(0,1fr) 255px;gap:16px}.panel{padding:21px}.management-grid{grid-template-columns:300px 1fr;gap:17px}.stats-grid{gap:13px}.stat-card{padding:18px}.page-heading h1{font-size:28px}.host-card{gap:10px;padding:13px}.avatar{width:37px;height:37px;border-radius:11px}}
@media(max-width:950px){.content-grid{grid-template-columns:1fr}.controls-panel{display:grid;grid-template-columns:1fr 1fr;gap:8px 25px}.controls-panel>.eyebrow{grid-column:1/-1;margin:0}.controls-panel h2{grid-column:1}.controls-panel>.muted:first-of-type{grid-column:1;grid-row:3}.controls-panel .switch-row{grid-column:2;grid-row:2;margin:0;padding:0}.controls-panel .field-label{grid-column:2;grid-row:3;margin-bottom:0;align-self:end}.controls-panel select{grid-column:2;grid-row:4}.controls-panel .info-note{grid-column:1;grid-row:4/6;margin:0}.controls-panel .open-status{grid-column:2;grid-row:5}.controls-panel>.small-text:last-child{grid-column:1/-1;margin-top:5px}.management-grid{grid-template-columns:1fr}.host-form-panel form{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.host-form-panel form>input[type=hidden]{grid-column:1/-1}.host-form-panel form>label,.host-form-panel form>input,.host-form-panel form>textarea,.host-form-panel form>.field-help,.host-form-panel form>.form-actions,.host-form-panel form>.form-error{grid-column:1/-1}.page-heading{align-items:start}.topbar{margin-bottom:30px}.stats-grid{gap:10px}.stat-card{padding:16px}.stat-top{font-size:10px}.stat-card p{font-size:9px}.stat-symbol{width:24px;height:24px}}
@media(max-width:700px){.app-shell{display:block}.sidebar{position:static;width:100%;padding:16px 20px;display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center}.brand{margin:0;font-size:20px}.brand small{font-size:7px}.sidebar .nav-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;gap:5px}.nav-item{padding:9px;font-size:0;width:auto;margin:0;gap:0}.nav-item>span:first-child{font-size:20px}.nav-arrow,.nav-count{display:none}.main{padding:0 17px 25px}.topbar{height:63px;margin-bottom:27px}.page-heading{margin-bottom:22px;gap:12px}.page-heading h1{font-size:25px}.page-heading .eyebrow{font-size:8px}.page-heading .muted{font-size:10px}.page-heading>.button{font-size:10px;padding:8px 10px;gap:6px;min-height:34px}.stats-grid{gap:8px;margin-bottom:18px}.stat-card{padding:13px 12px;min-height:128px;border-radius:13px}.stat-top{font-size:9px;white-space:nowrap}.stat-symbol{display:none}.stat-value{font-size:30px;margin-top:12px}.stat-value small{font-size:10px;padding-left:4px}.stat-card p{font-size:8px;line-height:1.6}.panel{padding:20px;border-radius:14px}.panel-heading h2{font-size:19px}.panel-heading{margin-bottom:17px}.content-grid{gap:18px;margin-bottom:18px}.host-card{padding:13px}.host-main h3{font-size:13px}.controls-panel{display:block}.controls-panel>.eyebrow{margin-bottom:7px}.controls-panel .switch-row{padding:15px 0}.controls-panel .field-label{margin-bottom:7px}.controls-panel .info-note{margin:14px 0}.controls-panel>.small-text:last-child{margin-top:8px}.event-top{gap:8px}.event-row{gap:11px;padding:16px 0}.event-time{font-size:8px}.event-title{font-size:11px}.event-desc{font-size:9px}.event-icon{width:29px;height:29px;border-radius:9px}.event-details dl{grid-template-columns:75px 1fr;font-size:9px}.timeline-panel>.panel-heading>.muted{font-size:9px}.event-actions .button{font-size:9px}.manage-host-top{flex-wrap:wrap}.manage-buttons{margin-left:49px}.login-screen{grid-template-columns:1fr}.login-art{display:none}.login-card{padding:30px;max-width:390px}.login-card h1{font-size:39px}.global-notice{margin-top:-8px}.bottom-note{font-size:9px}.host-form-panel form{display:block}.readiness-check{display:flex}.registered-panel .wide{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.event-icon.room{background:#edf1fb;color:#6d80b4}
