@font-face{font-family:"Pretendard Variable";src:url('/assets/fonts/PretendardVariable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{color-scheme:light;--ground:#f1f4f6;--surface:#fff;--raised:#f6f8fa;--active:#e7ecef;--border:#e6eaee;--rule:#edf0f3;--control:#cbd2d8;--text:#171c23;--muted:#626e79;--faint:#727d86;--accent:#1b6c80;--positive:#247044;--positive-bg:#edf7f0;--negative:#b53a3a;--negative-bg:#fdf0ef;--warning:#886019;--warning-bg:#fffbef;--gap:24px;--radius:10px;--font:"Pretendard Variable","Malgun Gothic",sans-serif}
*{box-sizing:border-box}html{min-width:320px}body{margin:0;background:var(--ground);color:var(--text);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}button{color:inherit}svg{flex-shrink:0}img{max-width:100%}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #1b6c8033;outline-offset:0;border-color:var(--accent)}[hidden]{display:none!important}.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.mono{font-family:ui-monospace,"Cascadia Code",Consolas,monospace;letter-spacing:-.35px}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:12px}.strong{font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}h1,h2,h3,p{margin:0}h1{font-size:26px;line-height:1.3;font-weight:650;letter-spacing:-.8px}h2{font-size:17px;line-height:1.4;font-weight:620;letter-spacing:-.35px}h3{font-size:15px;line-height:1.4;font-weight:620}button{border:0;background:none}.app-shell{display:grid;grid-template-columns:228px minmax(0,1fr);grid-template-rows:64px minmax(calc(100vh - 64px),auto)}
/* 1440px = 228 navigation + 1204 sheet + 8 inset. Sheet content: 1204 - 2×24 = 1156px. */
.sidebar{grid-column:1;grid-row:1/3;position:sticky;top:0;height:100vh;padding:26px 16px 16px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;padding:0 8px;font-size:21px;font-weight:760;letter-spacing:-.7px}.brand-mark{width:32px;height:36px;fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round}.brand-caption{display:block;font-weight:450;font-size:11px;letter-spacing:0;color:var(--muted);margin-top:2px}.workspace-switch{margin:31px 4px 30px;padding:12px 9px;border:1px solid #dce2e7;border-radius:8px;display:flex;align-items:center;gap:10px}.workspace-symbol{display:grid;place-items:center;width:30px;height:30px;border:1px solid #d3dce2;border-radius:7px;background:#fff;font-size:14px;font-weight:650}.workspace-switch strong{font-size:13px;font-weight:600;display:block}.workspace-switch small{display:block;color:var(--muted);font-size:11px}.workspace-lock{margin-left:auto;color:#6c7884}.workspace-lock .icon{width:15px;height:15px}.nav-group-title{font-size:11px;color:var(--muted);font-weight:550;padding:0 12px;margin-bottom:10px}.nav-link{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:7px;font-size:13px;font-weight:500;color:#5b6774;min-height:42px;margin:3px 0}.nav-link .icon{width:17px;height:17px}.nav-link:hover{background:#e9eef1;color:var(--text)}.nav-link.active{background:#e4eaee;color:#1c2631;font-weight:650}.nav-link.active .icon{color:#303f4b}.nav-link .nav-count{margin-left:auto;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.nav-divider{height:1px;background:#dee5ea;margin:20px 12px}.sidebar-bottom{margin-top:auto;padding-top:26px}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;color:var(--muted);font-size:13px;padding:6px 0}.text-button:hover{color:var(--text)}.help-button{width:100%;justify-content:flex-start;padding:9px 12px}.help-button .icon{width:16px;height:16px}.connection-note{display:flex;align-items:center;gap:7px;margin:14px 12px 22px;font-size:11px;color:var(--muted)}.neutral-dot{display:inline-block;flex-shrink:0;width:5px;height:5px;border-radius:50%;background:#7b8790}.account-row{border-top:1px solid #dfe5e9;padding:16px 7px 0;display:flex;align-items:center;gap:10px}.avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#e5edef;color:#325d65;font-size:12px;font-weight:650;flex-shrink:0}.avatar.alt{background:#eeecf1;color:#64586c}.account-row strong{display:block;font-size:12px}.account-row small{display:block;font-size:11px;color:var(--muted)}.account-row .icon-button{margin-left:auto}.topbar{grid-column:2;grid-row:1;display:flex;align-items:center;gap:24px;min-width:0;padding:0 26px 0 24px}.breadcrumb{font-size:12px;color:#72808b;white-space:nowrap}.breadcrumb span{color:#bac3ca;margin:0 10px}.breadcrumb strong{font-weight:500;color:#3a4752}.global-search{margin-left:auto;display:flex;align-items:center;gap:8px;width:283px;height:32px;border:1px solid #dce2e7;background:#f9fafb;border-radius:6px;color:#78828b;padding:0 10px;font-size:12px;text-align:left}.global-search .icon{width:15px;height:15px}.global-search kbd{margin-left:auto;border:1px solid #dfe3e7;border-radius:3px;padding:0 4px;font:10px var(--font);color:#818b95}.demo-badge{height:28px;display:flex;align-items:center;gap:6px;color:#5f6d77;font-size:11px;white-space:nowrap}.demo-badge .icon{width:13px;height:13px}.main-sheet{grid-column:2;grid-row:2;background:var(--surface);margin:0 8px 8px 0;min-width:0;border:1px solid var(--border);border-radius:16px;padding:30px 30px 18px;outline:none}.mobile-menu{display:none}.nav-scrim{display:none}.page-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.page-sub{color:var(--muted);font-size:13px;margin-top:9px;line-height:1.6}.header-actions{display:flex;gap:8px;flex-shrink:0}.button{display:inline-flex;justify-content:center;align-items:center;gap:7px;border:1px solid var(--control);border-radius:6px;min-height:34px;padding:7px 12px;background:#fff;font-size:12px;font-weight:550;white-space:nowrap;line-height:1.4}.button:hover:not(:disabled){background:var(--raised);border-color:#aab6c0}.button.primary{background:#222c36;color:#fff;border-color:#222c36}.button.primary:hover:not(:disabled){background:#101923;border-color:#101923}.button .icon{width:15px;height:15px}.button.small{min-height:28px;padding:4px 9px;font-size:11px}.button.danger{color:var(--negative);border-color:#e8cccc;background:#fff}.button.danger:hover{background:var(--negative-bg)}.button.ghost{border-color:transparent;background:transparent;color:var(--muted)}.button.ghost:hover{background:var(--raised)}.button.wide{width:100%;min-height:42px}.icon-button{height:32px;width:32px;display:inline-grid;place-items:center;border-radius:6px;color:var(--muted);flex-shrink:0}.icon-button:hover{background:var(--raised);color:var(--text)}.icon-button .icon{width:17px;height:17px}.stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border);border-radius:8px;margin-bottom:28px;padding:20px 0}.stat-cell{padding:0 24px;border-left:1px solid var(--border)}.stat-cell:first-child{border-left:0}.stat-label{font-size:12px;color:var(--muted)}.stat-value{display:flex;align-items:baseline;gap:6px;font-size:28px;line-height:1.4;font-weight:520;letter-spacing:-.8px;margin:7px 0 4px;font-variant-numeric:tabular-nums}.stat-unit{font-size:12px;font-weight:450;letter-spacing:0;color:var(--muted)}.stat-foot{font-size:11px;color:var(--muted)}.stat-value.admin{font-size:24px;letter-spacing:-.7px}.stat-online{width:6px;height:6px;border-radius:50%;background:var(--positive);align-self:center;margin-left:4px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.section-heading small{margin-left:9px;font-size:12px;color:var(--muted);font-weight:400}.section-heading .section-title-wrap{display:flex;align-items:baseline;gap:8px}.count{font-size:12px;color:#77838e;font-weight:450;font-variant-numeric:tabular-nums}.freshness{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:7px}.list-tabs{display:flex;gap:24px;border-bottom:1px solid var(--border);margin-bottom:20px;overflow:auto}.list-tab{font-size:12px;color:var(--muted);padding:10px 0 13px;border-bottom:2px solid transparent;white-space:nowrap}.list-tab.active{color:var(--text);font-weight:650;border-bottom-color:#283440}.list-tab span{margin-left:6px;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.filter-bar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:14px}.filter-left,.filter-right{display:flex;align-items:center;gap:10px;min-width:0}.search-field{position:relative;display:flex;align-items:center;min-width:0}.search-field .icon{position:absolute;left:11px;width:15px;height:15px;color:#7a8792;pointer-events:none}.search-field input{padding-left:34px;width:290px;height:34px;font-size:12px}.filter-count{font-size:11px;color:var(--muted);white-space:nowrap}.control,input,select,textarea{border:1px solid var(--control);border-radius:6px;background:#fff;color:var(--text);padding:8px 10px;min-height:34px;min-width:0}input::placeholder,textarea::placeholder{color:#7c8792}select{font-size:12px;padding-right:25px}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed}.data-table th{color:var(--muted);font-weight:450;font-size:11px;padding:8px 12px 11px}.data-table th:first-child,.data-table td:first-child{padding-left:0}.data-table th:last-child,.data-table td:last-child{padding-right:0}.data-table td{padding:19px 12px;border-top:1px solid var(--rule);vertical-align:middle;font-size:13px;word-break:break-word;overflow-wrap:anywhere}.data-table th.numeric,.data-table td.numeric{text-align:right;font-variant-numeric:tabular-nums}.data-table th.actions,.data-table td.actions{text-align:right}.device-identity{display:flex;align-items:center;gap:13px}.device-outline{width:23px;height:38px;position:relative;flex-shrink:0;border:1.3px solid #b7c3cc;border-radius:5px;background:#fafbfc}.device-outline:before{content:"";position:absolute;top:3px;left:8px;width:5px;height:1.5px;background:#b6c2cb;border-radius:1px}.device-outline:after{content:"";position:absolute;bottom:3px;left:7px;width:7px;height:1px;background:#c2cbd2}.device-id{font-size:12px;color:#26333e;letter-spacing:-.35px;display:block;font-weight:550}.device-model{font-size:12px;color:var(--muted);margin-top:3px;display:block}.device-phone{font-size:11px;color:var(--muted);display:block;margin-top:3px;font-variant-numeric:tabular-nums}.owner-cell{display:flex;align-items:center;gap:9px}.owner-cell .avatar{width:27px;height:27px;font-size:11px}.owner-cell b{font-size:12px;font-weight:500;display:block}.cell-sub{display:block;color:var(--muted);font-size:11px;margin-top:3px}.battery-cell{font-size:12px;text-align:right;font-variant-numeric:tabular-nums}.battery{display:flex;justify-content:flex-end;gap:6px;align-items:center}.battery-shape{width:22px;height:10px;border:1px solid #9aa8b3;border-radius:2px;position:relative;padding:1px;display:flex;align-items:center}.battery-shape:after{content:"";position:absolute;right:-3px;top:2px;width:2px;height:4px;background:#9aa8b3}.battery-shape meter{width:100%;height:6px;display:block;appearance:none;border:0;background:none}.battery-shape meter::-webkit-meter-bar{background:#f1f4f6;border:0;border-radius:0}.battery-shape meter::-webkit-meter-optimum-value{background:#587586;border-radius:0}.status{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:11px;font-weight:500;line-height:1.4;padding:4px 7px;border-radius:5px;background:#f0f3f5;color:#626e79}.status:before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor;flex-shrink:0}.status.online,.status.active{background:var(--positive-bg);color:var(--positive)}.status.expired,.status.ended{background:#f0f3f5;color:#68747e}.status.ring{background:var(--warning-bg);color:var(--warning)}.memo-cell{display:flex;gap:8px;align-items:center}.memo-text{font-size:12px;color:#626e79;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.memo-cell .icon-button{width:25px;height:28px;flex-shrink:0;margin-left:auto}.memo-cell .icon{width:13px;height:13px}.row-actions{display:flex;justify-content:flex-end;align-items:center;gap:2px}.row-actions .button{min-width:48px}.list-bottom{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px;padding:16px 0 23px;border-bottom:1px solid var(--border)}.bottom-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;margin-top:26px;align-items:start}.panel{border:1px solid var(--border);border-radius:8px;padding:20px;min-width:0}.panel .section-heading{margin-bottom:16px}.panel .section-heading h2{font-size:14px}.panel .section-heading .text-button{font-size:11px}.quiet-note{display:flex;gap:8px;align-items:flex-start;font-size:11px;color:var(--muted);line-height:1.7}.quiet-note .icon{width:14px;height:14px;margin-top:2px}.empty-live{display:flex;align-items:center;gap:15px;padding:13px 0 21px}.empty-live .icon{width:27px;height:27px;color:#b4bec7}.empty-live strong{font-size:13px;font-weight:550;display:block}.empty-live p{font-size:11px;color:var(--muted);margin-top:4px}.panel-foot{border-top:1px solid var(--rule);padding-top:13px;display:flex;align-items:center;justify-content:space-between;gap:12px}.activity-mini{list-style:none;padding:0;margin:0}.activity-mini li{padding:9px 0;display:flex;gap:10px;border-top:1px solid var(--rule)}.activity-mini li:first-child{border:0;padding-top:0}.activity-mark{width:6px;height:6px;border:1px solid #81939f;border-radius:50%;margin:6px 2px 0;flex-shrink:0}.activity-mini strong{display:block;font-weight:450;font-size:12px}.activity-mini small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.activity-mini time{margin-left:auto;color:var(--muted);font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums}.page-footer{padding:25px 0 0;display:flex;gap:10px;justify-content:space-between;color:var(--muted);font-size:11px}.page-footer .footer-version{color:#7b8791}.notice{border:1px solid #e7dfc3;background:#fffcf3;border-radius:7px;padding:12px 14px;color:#7d6428;font-size:12px;line-height:1.7;display:flex;align-items:flex-start;gap:9px;margin:0 0 20px}.notice .icon{width:15px;height:15px;margin-top:2px}.notice.neutral{background:var(--raised);border-color:var(--border);color:var(--muted)}.empty-state{padding:28px 18px;text-align:center;color:var(--muted);font-size:13px;border:1px dashed #dbe2e7;border-radius:7px;line-height:1.8}.empty-state .icon{width:27px;height:27px;color:#96a5b0;margin-bottom:11px}.empty-state strong{display:block;color:#3e4c58;font-size:14px;font-weight:550;margin-bottom:4px}.simple-table td{padding-top:17px;padding-bottom:17px}.role{display:inline-block;font-size:11px;color:#526470;padding:3px 7px;background:#f0f3f5;border-radius:4px;margin:2px 3px 2px 0}.identity-title{font-size:13px;font-weight:550}.operator-summary{display:flex;gap:24px;margin:0 0 24px;padding:0 0 24px;border-bottom:1px solid var(--border)}.operator-summary .summary-item{padding-right:24px;border-right:1px solid var(--border)}.operator-summary .summary-item:last-child{border:0}.operator-summary b{font-size:22px;font-weight:500;display:block;font-variant-numeric:tabular-nums}.operator-summary span{font-size:12px;color:var(--muted)}.favorites-strip{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:20px}.favorite-chip{display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:6px;background:#fafbfc;padding:8px 11px;font-size:12px}.favorite-chip .icon{width:13px;height:13px;color:var(--warning)}.star-button .icon{width:16px;height:16px}.star-button.selected .icon{fill:#eae1c9;stroke:#8d7029}.directory-name{font-size:13px;font-weight:500}.download-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.download-card{border:1px solid var(--border);border-radius:8px;padding:22px;display:flex;flex-direction:column}.download-art{height:110px;background:#f5f7f9;border-radius:6px;display:flex;justify-content:center;align-items:center;margin-bottom:21px}.download-art .icon{width:36px;height:36px;stroke:#8495a3;stroke-width:1}.download-card h2{font-size:15px;margin-bottom:6px}.download-card p{font-size:12px;color:var(--muted);line-height:1.8}.download-card .button{margin-top:21px}.download-meta{display:flex;justify-content:space-between;gap:8px;padding-top:15px;font-size:11px;color:var(--muted)}.audit-tag{font-size:11px;color:#536573;background:#f3f6f8;border-radius:4px;padding:3px 6px;white-space:nowrap}.danger-text{color:var(--negative)}.inline-error{color:var(--negative);font-size:12px;padding-top:8px;line-height:1.6}.toast-region{position:fixed;bottom:24px;left:calc(50% + 110px);transform:translateX(-50%);z-index:200;display:grid;gap:8px;max-width:calc(100vw - 32px)}.toast{border:1px solid #dce4e9;background:#fff;box-shadow:0 4px 24px #152a3c12;border-radius:8px;padding:12px 17px;display:flex;gap:9px;align-items:center;font-size:12px;color:#354753;max-width:480px}.toast .icon{color:var(--positive);width:16px;height:16px}.toast.error{color:var(--negative)}.toast.error .icon{color:var(--negative)}
.overlay{position:fixed;inset:0;background:#16222d59;z-index:80;display:flex;align-items:center;justify-content:center;padding:24px}.dialog{background:#fff;border:1px solid #dde3e8;border-radius:12px;width:min(570px,100%);max-height:calc(100dvh - 48px);display:flex;flex-direction:column;box-shadow:0 12px 48px #142c3c20;min-width:0}.dialog.large{width:min(810px,100%)}.dialog-head{padding:21px 24px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;flex-shrink:0}.dialog-head h2{font-size:18px;letter-spacing:-.4px}.dialog-head .icon-button{margin-left:auto}.dialog-sub{color:var(--muted);font-size:12px;margin-top:4px}.dialog-body{padding:22px 24px;overflow-y:auto;min-height:0}.dialog-foot{padding:15px 24px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0}.dialog-foot .foot-note{font-size:11px;color:var(--muted);margin-right:auto}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:550;color:#3a4855}.field input,.field select,.field textarea{font-size:13px;width:100%;min-height:38px}.field textarea{resize:vertical;min-height:100px;line-height:1.6}.field-help{font-size:11px;color:var(--muted);line-height:1.6}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.detail-item{padding:14px 0;border-bottom:1px solid var(--rule)}.detail-item dt{font-size:11px;color:var(--muted);margin-bottom:6px}.detail-item dd{margin:0;font-size:13px;word-break:break-word}.detail-item.full{grid-column:1/-1}.detail-memo{background:var(--raised);border-radius:7px;padding:14px;margin-top:20px;white-space:pre-wrap;font-size:13px;line-height:1.8}.detail-memo h3{font-size:12px;margin-bottom:7px}.overlay.drawer-overlay{padding:0;justify-content:flex-end;align-items:stretch}.drawer{width:min(790px,100vw);height:100dvh;border-radius:0;background:white;display:flex;flex-direction:column;box-shadow:-8px 0 40px #1225321c}.drawer .dialog-head{padding:23px 26px}.drawer-id{font-size:11px;color:var(--muted);margin-top:4px}.drawer-device-title{display:flex;align-items:center;gap:11px}.drawer .dialog-head h2{font-size:18px}.drawer-notice{margin:0;padding:12px 26px;border-radius:0;border:0;border-bottom:1px solid #ece7d9;background:#fffcf4;color:#816628;font-size:11px;line-height:1.65}.settings-layout{display:grid;grid-template-columns:145px minmax(0,1fr);flex:1;min-height:0}.settings-nav{border-right:1px solid var(--border);padding:16px 10px;overflow-y:auto}.settings-nav button{display:flex;align-items:center;gap:9px;white-space:nowrap;width:100%;text-align:left;padding:11px 10px;font-size:12px;color:#657480;border-radius:5px;margin:2px 0}.settings-nav button:hover{background:var(--raised)}.settings-nav button.active{background:#edf1f4;color:#263b4c;font-weight:600}.settings-nav .icon{width:16px;height:16px}.settings-pane{overflow-y:auto;padding:25px 26px;min-width:0}.settings-pane h3{font-size:16px;margin-bottom:8px}.pane-sub{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:22px}.settings-pane .field{margin-bottom:18px}.settings-actions{display:flex;gap:7px;flex-wrap:wrap}.settings-separator{height:1px;background:var(--border);margin:23px 0}.mini-device-info{display:flex;align-items:center;gap:10px;margin-bottom:21px;padding-bottom:21px;border-bottom:1px solid var(--rule)}.mini-device-info strong{display:block;font-size:13px}.mini-device-info small{font-size:11px;color:var(--muted)}.check-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;border-bottom:1px solid var(--rule);font-size:12px}.switch{appearance:none;width:30px;height:18px;min-height:0;border:0;border-radius:10px;background:#c5cdd4;position:relative;padding:0;cursor:pointer;transition:background .15s}.switch:before{content:"";position:absolute;left:2px;top:2px;width:14px;height:14px;background:#fff;border-radius:50%;transition:transform .15s}.switch:checked{background:#3d6a7a}.switch:checked:before{transform:translateX(12px)}.sim-stage{height:263px;background:#f3f6f8;border:1px solid #e5ebef;border-radius:8px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;margin-bottom:15px}.sim-stage .sim-watermark{position:absolute;top:12px;left:13px;font-size:10px;color:#677d8b;letter-spacing:.5px}.sim-stage .sim-date{position:absolute;bottom:12px;right:13px;color:#718390;font-size:10px}.sim-phone{width:94px;height:170px;border:2px solid #acbac5;border-radius:18px;position:relative;background:#f9fbfc;display:flex;align-items:center;justify-content:center;color:#96a9b8;transition:transform .2s}.sim-phone:before{content:"";position:absolute;width:25px;height:3px;top:9px;left:32px;border-radius:2px;background:#b9c6d0}.sim-phone .icon{width:31px;height:31px;stroke-width:1}.sim-phone.running{border-color:#587f8e;background:#edf4f6;color:var(--accent)}.sim-phone.rotate-90{transform:rotate(90deg)}.sim-phone.rotate-180{transform:rotate(180deg)}.sim-phone.rotate-270{transform:rotate(270deg)}.sim-status{font-size:12px;color:var(--muted);margin-bottom:15px;min-height:19px}.media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.media-card{position:relative;border:1px solid var(--border);border-radius:7px;overflow:hidden;text-align:left;padding:0;background:#fff}.media-card:hover{border-color:#a4b4bf}.media-card svg{display:block;width:100%;height:auto}.media-card .media-label{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;font-size:11px;color:var(--muted)}.media-tools{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.media-tools span{font-size:11px;color:var(--muted)}.contact-list{padding:0;margin:0;list-style:none}.contact-list li{display:flex;gap:11px;align-items:center;padding:11px 0;border-bottom:1px solid var(--rule)}.contact-list .avatar{width:29px;height:29px;font-size:11px}.contact-list strong{font-weight:500;font-size:12px}.contact-list .mono{margin-left:auto;color:var(--muted);font-size:11px}.map-stage{height:225px;border:1px solid var(--border);border-radius:7px;background:#f5f8f8;position:relative;margin:18px 0}.map-stage svg{width:100%;height:100%}.map-legend{position:absolute;left:12px;top:10px;color:#5c757f;font-size:10px;background:#ffffffdf;border-radius:3px;padding:3px 5px}.map-coordinate{font-family:ui-monospace,Consolas,monospace;font-size:14px;color:#305664;background:#f3f7f8;border-radius:5px;padding:11px 12px;margin:12px 0}.outgoing-list{list-style:none;padding:0;margin:0 0 21px}.outgoing-list li{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--rule)}.outgoing-list strong{font-size:12px;font-weight:500}.outgoing-list .mono{font-size:11px;color:var(--muted);display:block;margin-top:3px}.outgoing-list .icon-button{margin-left:auto}.call-cards{display:grid;gap:10px}.call-item{border:1px solid var(--border);border-radius:7px;padding:13px;display:flex;gap:10px;align-items:center}.call-item .icon{color:#7b8f9d;width:19px;height:19px}.call-item-main{min-width:0}.call-item strong{font-size:12px;font-weight:550;display:block}.call-item small{font-size:11px;color:var(--muted)}.call-item .call-item-actions{margin-left:auto;display:flex;gap:5px;flex-shrink:0}.call-timer{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.test-number-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:20px 0}.test-number-grid .button{font-family:ui-monospace,Consolas,monospace;font-weight:450}.demo-call-graphic{margin:20px auto;width:112px;height:112px;display:flex;align-items:center;justify-content:center;background:#f5f8f9;border-radius:50%;border:1px solid #e4ebee;color:#537a89}.demo-call-graphic .icon{width:35px;height:35px;stroke-width:1.3}.centered-copy{text-align:center}.confirm-layer{position:fixed;inset:0;z-index:120;background:#13223060;display:flex;align-items:center;justify-content:center;padding:20px}.confirm-box{background:#fff;border-radius:12px;max-width:440px;width:100%;border:1px solid #e1e7eb;box-shadow:0 14px 45px #13273820;padding:25px}.confirm-box h2{font-size:18px;margin-bottom:11px}.confirm-box p{color:var(--muted);font-size:13px;line-height:1.9;white-space:pre-line}.confirm-box .confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.viewer-stage{margin:0 auto;max-width:550px;background:#f4f7f8;border-radius:8px;overflow:hidden}.viewer-stage svg{display:block;width:100%;height:auto}.viewer-nav{display:flex;justify-content:space-between;align-items:center;margin-top:17px;color:var(--muted);font-size:12px}.login-screen{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-brand-side{background:#edf2f5;display:flex;flex-direction:column;justify-content:space-between;padding:42px 10%}.login-brand-side .brand{padding:0}.login-story h1{font-size:38px;font-weight:620;line-height:1.45;letter-spacing:-1.7px;margin:24px 0 18px}.login-story p{font-size:14px;color:#667784;line-height:1.9;max-width:350px}.login-illustration{margin-top:36px;width:100%;max-width:370px}.login-illustration svg{display:block;width:100%;height:auto}.login-brand-foot{font-size:11px;color:#6e7b86;line-height:1.8;margin-top:35px}.login-form-side{display:flex;align-items:center;justify-content:center;padding:50px 30px}.login-card{width:340px;max-width:100%}.login-card h2{font-size:25px;letter-spacing:-.7px;margin-bottom:9px}.login-card>p{color:var(--muted);font-size:13px;margin-bottom:30px;line-height:1.8}.login-card .field{margin:18px 0}.login-card .field input{min-height:42px}.login-demo{border:1px solid var(--border);border-radius:7px;background:#fafbfc;padding:13px 15px;font-size:12px;color:var(--muted);margin:22px 0 18px;line-height:1.9}.login-demo code{font-family:ui-monospace,Consolas,monospace;color:#334d5d;font-size:11px}.loading-state{padding:20px}.loading-line{display:block;height:24px;background:#eef1f4;border-radius:4px;max-width:260px;margin-bottom:16px}.loading-line.short{max-width:420px;height:13px}.loading-state p{font-size:12px;color:var(--muted);margin-top:35px}.error-block{border:1px solid #eddddd;background:#fffafa;border-radius:8px;padding:20px;color:#8c4a4a}.error-block p{font-size:13px;margin-bottom:14px}.form-button-row{display:flex;justify-content:flex-end;gap:7px;margin-top:24px}.information-list{padding-left:19px;color:var(--muted);font-size:13px;line-height:2}.help-version{border-top:1px solid var(--border);margin-top:20px;padding-top:15px;color:var(--muted);font-size:11px}.call-history{table-layout:auto;min-width:520px}.audit-table{table-layout:auto;min-width:600px}.directory-table{table-layout:auto}.drawer .dialog-foot{padding:14px 24px}.form-row{display:flex;gap:8px;align-items:flex-end}.form-row .field{flex:1}.form-row>.button{margin-bottom:18px;min-height:38px}.flash-highlight{outline:2px solid #1b6c8055;outline-offset:3px}
@media(min-width:1600px){.main-sheet{padding:34px 40px 22px}.topbar{padding-right:38px;padding-left:34px}.page-header{margin-bottom:30px}}
@media(max-width:1250px){.main-sheet{padding:26px 24px 18px}.device-id{font-size:11px}.data-table td{padding-left:9px;padding-right:9px}.device-outline{display:none}.device-identity{gap:0}.global-search{width:240px}.stat-cell{padding-left:18px;padding-right:18px}.stat-foot{font-size:11px}.memo-text{font-size:11px}.data-table.device-table{min-width:790px}}
@media(max-width:1100px){.app-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:58px minmax(calc(100vh - 58px),auto)}.sidebar{position:fixed;left:0;top:0;width:250px;background:var(--ground);transform:translateX(-100%);transition:transform .18s}.nav-open .sidebar{transform:translateX(0)}.nav-open .nav-scrim{display:block;position:fixed;inset:0;background:#18242e66;z-index:19}.topbar{grid-column:1;grid-row:1;padding:0 22px;gap:14px}.mobile-menu{display:inline-grid}.main-sheet{grid-column:1;grid-row:2;margin-left:8px;padding:27px 24px 18px}.global-search{width:250px}.toast-region{left:50%}.download-grid{gap:16px}.directory-table{min-width:620px}.simple-table{min-width:680px}}
@media(max-width:700px){.app-shell{grid-template-rows:54px minmax(calc(100vh - 54px),auto)}.topbar{height:54px;padding:0 15px;gap:9px}.breadcrumb{font-size:11px}.breadcrumb>span{margin:0 6px}.demo-badge{margin-left:auto;font-size:10px;gap:5px}.demo-badge .icon{display:none}.global-search{display:none}.main-sheet{margin:0;border-radius:0;border-left:0;border-right:0;border-bottom:0;padding:24px 18px}.page-header{gap:13px;margin-bottom:22px;align-items:flex-start}.page-header h1{font-size:23px}.page-sub{font-size:12px;margin-top:8px;max-width:245px}.header-actions{gap:5px}.header-actions .button{font-size:11px;min-height:32px;padding:6px 9px}.header-actions .mobile-hide{display:none}.header-actions .button.icon-mobile{width:32px;min-width:32px;padding:0}.header-actions .button.icon-mobile .button-label{display:none}.stat-strip{grid-template-columns:repeat(2,minmax(0,1fr));padding:0;margin-bottom:24px}.stat-cell{padding:15px 17px;border-bottom:1px solid var(--border)}.stat-cell:nth-child(3){border-left:0;border-bottom:0}.stat-cell:nth-child(4){border-bottom:0}.stat-value{font-size:26px;margin-top:4px}.stat-value.admin{font-size:23px}.stat-label{font-size:12px}.stat-foot{font-size:11px}.list-tabs{gap:22px;margin-bottom:16px}.list-tab{padding-top:6px;font-size:12px}.filter-bar{flex-wrap:wrap;gap:9px}.filter-left{flex:1}.filter-left .search-field{width:100%}.search-field input{width:100%;height:38px;font-size:12px}.filter-right{justify-content:space-between;width:100%}.filter-right select{height:34px;min-height:34px}.filter-right .filter-count{margin-left:auto}.device-table{min-width:0!important;display:block}.device-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.device-table tbody{display:block}.device-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);padding:17px 0 13px;border-top:1px solid var(--border);column-gap:15px;row-gap:12px}.device-table td{display:block;padding:0!important;border:0;min-width:0;word-break:normal}.device-table td.identity-col{grid-column:1;grid-row:1/3}.device-table td.owner-col{grid-column:2;grid-row:1}.device-table td.os-col{grid-column:1;grid-row:3;display:flex;gap:6px;align-items:center}.device-table td.os-col:before{content:'OS';color:var(--muted);font-size:11px}.device-table td.battery-col{grid-column:2;grid-row:3;text-align:left}.device-table td.status-col{grid-column:2;grid-row:2}.device-table td.memo-col{grid-column:1/3;grid-row:4}.device-table td.actions{grid-column:1/3;grid-row:5}.device-outline{display:block;width:21px;height:37px}.device-identity{gap:10px;align-items:flex-start}.device-id{font-size:10.8px;letter-spacing:-.7px;overflow-wrap:anywhere}.device-model{font-size:11px;line-height:1.6;margin-top:5px}.device-phone{font-size:11px;margin-top:3px}.owner-cell{gap:8px}.owner-cell .avatar{width:24px;height:24px;font-size:10px}.owner-cell b{font-size:11px}.cell-sub{font-size:11px}.battery{justify-content:flex-start}.battery:before{content:'배터리';font:11px var(--font);color:var(--muted);margin-right:3px}.status{font-size:11px;padding:3px 6px}.memo-cell{background:#f7f9fa;border-radius:5px;padding:8px 9px}.memo-text{font-size:11px}.memo-cell .icon-button{height:22px}.row-actions{justify-content:flex-end;gap:6px}.row-actions .button{min-height:32px;padding:5px 14px;font-size:11px}.device-table td.actions .icon-button{width:32px;height:32px}.list-bottom{padding:13px 0 18px;font-size:10px;align-items:flex-start;gap:12px}.bottom-grid{grid-template-columns:1fr;gap:18px;margin-top:23px}.panel{padding:18px}.page-footer{font-size:10px;flex-direction:column;gap:4px;padding-top:23px}.section-heading small{font-size:11px;margin-left:2px}.section-heading{margin-bottom:15px}.freshness{font-size:10px}.empty-live{padding-bottom:19px}.download-grid{grid-template-columns:1fr;gap:16px}.download-card{display:grid;grid-template-columns:62px minmax(0,1fr);gap:0 16px;padding:19px}.download-art{height:70px;margin:0;grid-column:1;grid-row:1/3}.download-art .icon{width:28px;height:28px}.download-card h2{grid-column:2}.download-card p{grid-column:2}.download-meta{grid-column:1/3;margin-top:10px}.download-card .button{grid-column:1/3;margin-top:15px}.operator-summary{gap:15px}.operator-summary .summary-item{padding-right:15px}.operator-summary span{font-size:11px}.operator-summary b{font-size:23px}.notice{font-size:11px;padding:11px 12px}.directory-table{min-width:560px}.simple-table{min-width:580px}.table-wrap:has(.simple-table),.table-wrap:has(.directory-table),.table-wrap:has(.audit-table){padding-bottom:4px}.favorites-strip{gap:6px}.favorite-chip{font-size:11px;padding:6px 8px}.overlay{padding:12px}.dialog{max-height:calc(100dvh - 24px);border-radius:10px}.dialog-head{padding:18px}.dialog-head h2{font-size:17px}.dialog-body{padding:18px}.dialog-foot{padding:13px 18px}.fields{gap:15px;grid-template-columns:1fr}.field.full{grid-column:1}.detail-grid{gap:0 18px}.detail-item dd{font-size:12px}.dialog-foot .foot-note{font-size:10px;max-width:45%}.drawer .dialog-head{padding:18px}.drawer .dialog-head h2{font-size:16px}.drawer-notice{padding:11px 18px;font-size:11px}.settings-layout{display:flex;flex-direction:column}.settings-nav{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid var(--border);padding:4px 10px;flex-shrink:0;gap:3px}.settings-nav button{padding:10px 9px;width:auto;flex-shrink:0;font-size:11px;border-radius:0;border-bottom:2px solid transparent}.settings-nav button.active{background:none;border-bottom-color:#354955}.settings-nav .icon{width:14px;height:14px}.settings-pane{padding:21px 18px;flex:1}.settings-pane h3{font-size:15px}.sim-stage{height:230px}.media-grid{gap:10px}.call-item{flex-wrap:wrap}.call-item .call-item-actions{margin-left:auto}.panel-foot .quiet-note{font-size:10px}.login-screen{grid-template-columns:1fr;background:var(--ground)}.login-brand-side{padding:29px 23px 24px;background:transparent;display:block}.login-story{display:none}.login-brand-foot{display:none}.login-form-side{padding:5px 23px 38px;align-items:flex-start}.login-card{width:100%;background:#fff;border:1px solid var(--border);border-radius:10px;padding:27px 22px}.login-card h2{font-size:23px}.login-card>p{font-size:12px;margin-bottom:23px}.toast-region{bottom:16px;width:max-content;max-width:calc(100vw - 24px)}.toast{font-size:12px;padding:11px 13px}.confirm-box{padding:22px}.form-row{flex-wrap:wrap}.form-row>.button{margin-bottom:10px}.empty-state{font-size:12px;padding:23px 14px}.call-timer{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Legibility floor for Korean metadata, including the phone layout. */
.login-illustration text{font-size:11px}
.breadcrumb,.global-search,.global-search kbd,.page-footer{color:#5d6b77}
.page-footer .footer-version{color:#5d6b77}
.small,.role,.operator-summary span,.download-card p,.download-meta,.notice,.login-demo,.field label,.breadcrumb,.global-search{font-size:13px}
.status.expired,.status.ended{color:#56636d}
.login-story h2{font-size:32px;font-weight:620;line-height:1.45;letter-spacing:-1px;margin:24px 0 18px}
.login-story p,.login-brand-foot{color:#52616d}
.login-brand-foot{font-size:13px}
.login-card h1{font-size:25px;letter-spacing:-.7px;margin-bottom:9px}
.login-card>p{font-size:13px}
.login-demo code{font-size:12px}
.connection-note,.brand-caption,.workspace-switch small,.account-row small,.demo-badge,.nav-group-title{font-size:12px}
.account-row strong{font-size:13px}
@media(min-width:701px){.download-card .download-meta{margin-top:auto}}
body:has(#overlay:not([hidden])),body:has(#confirmLayer:not([hidden])){overflow:hidden}
.drawer{width:min(790px,100%);max-width:100%;min-width:0}
.drawer-device-title{min-width:0}
.mobile-menu{display:none}
.button,.button.small,.stat-label,.stat-foot,.stat-unit,.list-tab,.list-tab span,.search-field input,select,.data-table th,.device-model,.owner-cell b,.battery-cell,.status,.memo-text,.activity-mini strong,.activity-mini small,.activity-mini time,.empty-live p,.list-bottom,.freshness,.section-heading small,.filter-count,.panel .section-heading .text-button{font-size:13px}
.device-id,.device-phone,.cell-sub,.quiet-note,.panel-foot .quiet-note,.page-footer{font-size:12px}
.battery{white-space:nowrap}
@media(max-width:1100px){.mobile-menu{display:inline-grid}}
/* The full seven-column list becomes readable cards before tablet controls clip. */
@media(min-width:701px) and (max-width:950px){
 .device-table{min-width:0!important;display:block}
 .device-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 .device-table tbody{display:block}
 .device-table tr{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,.7fr);padding:20px 0;border-top:1px solid var(--border);gap:14px 22px}
 .device-table td{display:block;padding:0!important;border:0;min-width:0}
 .device-table td.identity-col{grid-column:1;grid-row:1/3}
 .device-table td.owner-col{grid-column:2;grid-row:1}
 .device-table td.status-col{grid-column:3;grid-row:1}
 .device-table td.os-col{grid-column:2;grid-row:2}
 .device-table td.battery-col{grid-column:3;grid-row:2;text-align:left}
 .device-table td.memo-col{grid-column:1/3;grid-row:3}
 .device-table td.actions{grid-column:3;grid-row:3}
 .device-outline{display:block}.device-identity{gap:10px}.device-id{font-size:12px}
 .memo-cell{background:#f7f9fa;border-radius:5px;padding:7px 10px}.row-actions{justify-content:flex-end}
}
@media(max-width:700px){
 .button,.header-actions .button,.stat-label,.stat-foot,.stat-unit,.list-tab,.list-tab span,.search-field input,select,.device-model,.owner-cell b,.status,.memo-text,.row-actions .button,.list-bottom,.freshness,.section-heading small,.filter-count,.panel .section-heading .text-button{font-size:13px}
 .device-phone,.cell-sub,.quiet-note,.panel-foot .quiet-note,.page-footer{font-size:12px}
 .device-id{font-size:11.5px;letter-spacing:-.65px}
 .device-table tr{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);column-gap:12px}
 .bottom-grid{margin-top:20px}.panel-foot{gap:8px}
}
.global-search kbd,.sim-stage .sim-watermark,.sim-stage .sim-date,.map-legend{font-size:11px}
@media(max-width:700px){.demo-badge,.device-id,.owner-cell .avatar,.list-bottom,.page-footer,.freshness,.dialog-foot .foot-note,.panel-foot .quiet-note{font-size:11px}.device-id{letter-spacing:-.6px}}
