:root{--ink:#19251f;--muted:#68736d;--canvas:#f3f5f3;--surface:#fff;--line:#dce3dd;--accent:#236747;--accent-hover:#1a5137;--gold:#c2a15b;--danger:#b13232;--danger-soft:#fff0ef;--radius:12px;--shadow:0 10px 32px #12281d0b;--font:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",system-ui,sans-serif;--mono:Consolas,"SFMono-Regular",monospace}
.release-keys{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--line)}.release-key-heading,.release-key-value-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.release-key-heading p,.release-key-binding{font-size:12px;margin-top:6px}.release-key-id{overflow-wrap:anywhere}.release-key-values{display:grid;gap:14px;margin-top:16px}.release-key-value{min-width:0;padding:14px;background:var(--canvas);border:1px solid var(--line);border-radius:8px}.release-key-value-heading{margin-bottom:8px}.release-key-value pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-all;user-select:text}.release-key-value strong{font-size:13px}.release-key-binding{overflow-wrap:anywhere}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:15px/1.6 var(--font)}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible{outline:3px solid #bda367;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #8aa997;outline-offset:1px;border-color:var(--accent)}h1,h2,h3,p{margin:0}h1{font-size:29px;line-height:1.35;letter-spacing:-.5px}h2{font-size:18px;font-weight:700}h3{font-size:17px}a{color:inherit}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:700;color:var(--muted);margin-bottom:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.button{min-height:44px;border-radius:8px;border:1px solid transparent;padding:10px 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s}.primary{background:var(--accent);color:#fff}.primary:hover{background:var(--accent-hover)}.secondary{background:#fff;border-color:var(--line);color:var(--ink)}.secondary:hover{background:#f0f4f0;border-color:#b7c6bc}.danger{color:var(--danger);border-color:#e5baba;background:#fff}.danger:hover{background:var(--danger-soft)}.ghost{background:transparent;color:var(--muted)}.ghost:hover{background:#f0f4f0}.small{padding:8px 12px;min-height:44px;font-size:13px}.mono{font-family:var(--mono);font-size:13px}.muted{color:var(--muted)}.nowrap{white-space:nowrap}.truncate{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boot{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:13px;color:var(--muted)}.spinner{width:20px;height:20px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;display:inline-block;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.login-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;background:radial-gradient(ellipse at top,#e2ebe3 0,transparent 60%),var(--canvas)}.login-card{width:100%;max-width:440px;padding:42px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 70px #14351f0c}.brand-mark{width:52px;height:52px;border-radius:14px;background:#edf4ee;color:var(--accent);display:grid;place-items:center;margin-bottom:26px}.brand-mark svg{width:29px;height:29px}.login-card h1{font-size:28px}.login-intro{color:var(--muted);margin:12px 0 30px;font-size:14px}.login-card label{display:block;margin-bottom:9px;font-size:14px;font-weight:600}.key-field{position:relative;display:flex;align-items:center}.key-field input{padding-right:65px;min-width:0;width:100%;font-family:var(--mono)}.key-toggle{position:absolute;right:3px;min-height:44px;padding:0 12px;border:0;background:transparent;color:var(--accent);font-size:13px}.login-submit{margin-top:24px;width:100%;justify-content:space-between}.login-footnote{margin-top:22px;color:var(--muted);font-size:12px}.login-bottom{margin-top:28px;font-size:12px;color:var(--muted)}input,select,textarea{border:1px solid #cdd7cf;border-radius:8px;background:#fff;color:var(--ink);min-height:46px;padding:10px 13px}input::placeholder,textarea::placeholder{color:#7d8781}select{padding-right:30px}textarea{width:100%;resize:vertical;min-height:100px}.form-error{font-size:13px;color:var(--danger);background:var(--danger-soft);border-radius:7px;margin-top:14px;padding:10px 12px}.inline-error{margin-bottom:20px;border:1px solid #ecd0cf;padding:12px 16px;border-radius:8px;color:var(--danger);background:#fff6f5;font-size:14px}
.app-shell{min-height:100vh;display:grid;grid-template-columns:232px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:#19271f;color:#d4dfd6;display:flex;flex-direction:column;padding:32px 18px 18px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;padding:0 9px;margin-bottom:42px;font-size:16px;font-weight:700;color:#f0f6f0;line-height:1.3}.brand small{display:block;font-size:11px;font-weight:400;color:#9fb4a4;margin-top:5px;letter-spacing:2px}.brand-symbol{width:33px;height:37px;display:grid;place-items:center;background:#2f4537;border:1px solid #59704c;border-radius:9px;color:#e2cca0;font-family:Georgia,serif;font-size:24px}.nav-label{font-size:11px;color:#97aa9b;letter-spacing:1px;margin:0 16px 12px}.nav-item{width:100%;min-height:48px;display:flex;align-items:center;gap:13px;margin:4px 0;border:0;border-radius:8px;padding:12px 15px;background:transparent;color:#c6d3c9;text-align:left;font-size:14px}.nav-item:hover{background:#26372c;color:#fff}.nav-item.active{background:#344638;color:#fff;box-shadow:inset 3px 0 var(--gold)}.nav-item svg{color:#a8bbac}.nav-item.active svg{color:#ddcda7}.sidebar-footer{margin-top:auto;padding-top:28px}.session-state{display:flex;gap:10px;align-items:flex-start;padding:16px 14px;border-top:1px solid #354639;font-size:12px;color:#dce6dd}.status-dot{width:7px;height:7px;border-radius:50%;background:#84b69b;margin-top:6px;flex-shrink:0}.session-state small{display:block;color:#9fb0a3;font-size:11px;margin-top:4px}.logout-button{display:flex;align-items:center;gap:12px;min-height:44px;width:100%;background:transparent;color:#c6d3c9;border:0;border-radius:8px;padding:10px 13px;font-size:13px}.logout-button:hover{background:#344638;color:#fff}.workspace{width:100%;max-width:1700px;padding:38px 44px 25px;min-width:0}.page-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.page-header>div>p:last-child{margin-top:10px;color:var(--muted);font-size:14px}.overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:30px}.stat-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:20px 22px;position:relative;box-shadow:var(--shadow)}.stat-card:before{content:"";position:absolute;top:21px;right:22px;width:7px;height:7px;border-radius:50%;background:#a5b8a9}.stat-card:nth-child(2):before{background:#2f8157}.stat-card:nth-child(3):before{background:#c2856a}.stat-card:nth-child(4):before{background:#bda166}.stat-label{font-size:13px;color:#526158}.stat-card strong{display:block;font-size:31px;font-weight:650;line-height:1.3;margin:11px 0 5px;font-variant-numeric:tabular-nums}.stat-card small{color:var(--muted);font-size:11px}.section-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.panel-heading{padding:24px 24px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.panel-heading p{margin-top:5px;color:var(--muted);font-size:13px}.filter-bar{padding:0 24px 22px;display:flex;align-items:center;gap:10px}.search-field{position:relative;min-width:140px;flex:1;max-width:460px}.search-field svg{position:absolute;left:13px;top:13px;color:#77847b}.search-field input{width:100%;padding-left:42px;font-size:14px}.filter-bar select{font-size:14px;min-width:153px}.list-content{min-height:300px}.table-scroll{overflow:auto;width:100%;overscroll-behavior-x:contain}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}th{color:#637168;font-size:12px;font-weight:500;background:#f6f8f6;padding:13px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap}td{padding:17px 20px;border-bottom:1px solid #edf0ed;vertical-align:middle}th:first-child,td:first-child{padding-left:24px}th:last-child,td:last-child{padding-right:24px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcfb}.table-link{border:0;background:transparent;color:var(--accent);font-family:var(--mono);font-size:13px;padding:8px 0;min-height:44px;text-align:left;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#b5cbbb}.table-link:hover{color:#103f29}.table-sub{font-size:11px;color:var(--muted);display:block;margin-top:3px}.badge{font-size:11px;display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:5px;padding:3px 8px;white-space:nowrap}.badge.good{background:#edf6ef;color:#246344;border-color:#d3e8d9}.badge.bad{background:#fff1ef;color:#a3372d;border-color:#f0d7d0}.badge.neutral{background:#f1f3f1;color:#5e6a62;border-color:#e2e7e3}.badge.gold{background:#fcf7e8;color:#7d651c;border-color:#eae0bd}.state-block{padding:56px 24px;text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:280px}.state-block h3{color:var(--ink);font-size:16px}.state-block p{max-width:450px;font-size:13px}.state-block svg{width:30px;height:30px;color:#889b8c}.state-block.error h3{color:var(--danger)}.pagination{padding:17px 24px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-size:12px}.pagination-actions{display:flex;align-items:center;gap:8px}.page-counter{margin:0 7px;color:#536357;font-variant-numeric:tabular-nums}.workspace-note{color:var(--muted);font-size:11px;padding:18px 2px}.policy-form{padding:12px 28px 36px;max-width:600px}.policy-icon{display:grid;place-items:center;width:52px;height:52px;background:#edf4ee;border:1px solid #dae7dd;color:var(--accent);border-radius:12px;margin-bottom:21px}.policy-icon svg{width:26px;height:26px}.policy-form>p{margin-top:10px;color:var(--muted);font-size:14px}.policy-form>label{display:block;font-size:13px;font-weight:600;margin:25px 0 8px}.number-field{display:flex;align-items:center;gap:12px}.number-field input{width:190px;font-size:18px;font-variant-numeric:tabular-nums}.number-field span{font-size:14px;color:var(--muted)}.policy-form .field-help{font-size:12px;margin-top:9px}.policy-form>.button{margin-top:24px}.saved-note{color:var(--accent)!important;font-size:13px!important}
.dialog{padding:0;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);box-shadow:0 24px 100px #10241e2b;max-height:calc(100dvh - 48px);width:calc(100% - 40px);max-width:720px}.dialog::backdrop{background:#10241e70;backdrop-filter:blur(3px)}.editor-dialog{max-width:540px}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 25px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1}.dialog-heading .eyebrow{margin-bottom:4px}.dialog-heading h2{font-size:19px}.icon-button{width:44px;height:44px;border:0;background:#f2f5f2;border-radius:8px;font-size:25px;font-weight:300;color:#637368;flex-shrink:0}.icon-button:hover{background:#e8eee8;color:var(--ink)}.dialog-content{padding:24px 25px 28px}.detail-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.detail-summary .mono{font-size:17px;word-break:break-all}.detail-summary p{font-size:12px;color:var(--muted);margin-top:8px}.detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:19px;background:#f6f8f6;border:1px solid #e6ece7;border-radius:9px;margin-bottom:28px}.detail-grid dt{font-size:11px;color:var(--muted);margin-bottom:5px}.detail-grid dd{margin:0;font-size:13px;word-break:break-all}.detail-subheading{font-size:15px;margin:25px 0 14px;display:flex;align-items:center;gap:9px}.detail-subheading span{font-size:11px;border-radius:12px;background:#eaf0eb;padding:2px 8px;color:#4b6653}.device-card{border:1px solid var(--line);border-radius:9px;padding:17px;margin-bottom:13px}.device-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:15px}.device-card-heading>div{display:flex;gap:6px;flex-wrap:wrap}.device-fields{margin:0;display:grid;gap:13px}.device-fields dt{font-size:11px;color:var(--muted);margin-bottom:3px}.device-fields dd{margin:0;font-size:12px;display:flex;align-items:flex-start;gap:6px;word-break:break-all}.device-fields .mono{font-size:12px;flex:1}.copy-button{padding:3px 5px;border:0;background:transparent;color:var(--accent);min-height:32px;font-size:11px;white-space:nowrap}.copy-button:hover{background:#edf4ee}.device-times{font-size:11px;color:var(--muted);display:flex;gap:14px;flex-wrap:wrap;margin-top:16px}.device-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.session-card{padding:12px 15px;border:1px solid var(--line);border-radius:8px;margin-bottom:10px;font-size:12px}.session-card .mono{word-break:break-all;font-size:11px}.session-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.session-card p{color:var(--muted);font-size:11px;margin-top:3px}.empty-detail{font-size:13px;color:var(--muted);padding:18px;background:#f7f9f7;border-radius:8px}.editor-form label{font-size:13px;font-weight:600;display:block;margin:19px 0 8px}.editor-form label:first-child{margin-top:0}.editor-form input,.editor-form select{width:100%}.editor-form input[readonly]{background:#f4f6f4;color:#68766d}.editor-form .field-help{font-size:12px;color:var(--muted);margin-top:8px}.editor-intro{font-size:13px;color:var(--muted);margin-bottom:22px;line-height:1.7}.editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}.confirmation-id{padding:12px;background:#f4f7f4;border:1px solid var(--line);border-radius:8px;font-family:var(--mono);font-size:13px;word-break:break-all;margin-bottom:16px}.confirmation-note{font-size:13px;color:var(--muted)}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);border-radius:9px;padding:13px 22px;background:#203a2a;color:#fff;box-shadow:0 5px 30px #122c2633;z-index:10;font-size:14px;max-width:calc(100% - 32px);text-align:center}.toast.error{background:#84302d}
@media(min-width:1450px){.workspace{padding-right:60px;padding-left:60px}}@media(max-width:1100px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.sidebar{padding-left:12px;padding-right:12px}.workspace{padding:30px 26px}.stat-card{padding:18px}.stat-card:before{right:18px}.overview{gap:12px}td,th{padding-left:16px;padding-right:16px}.filter-bar{flex-wrap:wrap}}@media(max-width:800px){.app-shell{display:block}.sidebar{height:auto;position:static;padding:17px 20px 12px}.brand{margin:0;padding:0;font-size:15px}.brand-symbol{width:30px;height:32px;font-size:22px}.brand small{display:inline;margin-left:9px;letter-spacing:1px}.nav-label{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:17px}.nav-item{justify-content:center;padding:10px 7px;gap:7px;white-space:nowrap;font-size:13px;min-height:44px}.nav-item.active{box-shadow:inset 0 -3px var(--gold)}.nav-item svg{width:17px;height:17px}.sidebar-footer{position:absolute;right:20px;top:12px;padding:0}.session-state{display:none}.logout-button{width:auto;font-size:12px;padding:9px}.logout-button svg{width:17px;height:17px}.workspace{padding:27px 22px 18px}.overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:24px}.stat-card strong{font-size:28px}.page-header{margin-bottom:23px}.panel-heading{padding:21px}.filter-bar{padding:0 21px 21px;gap:9px}.search-field{max-width:none}.dialog{max-height:calc(100dvh - 32px)}.dialog-heading,.dialog-content{padding-left:21px;padding-right:21px}}@media(max-width:480px){body{font-size:16px}.login-page{padding:24px 18px}.login-card{padding:30px 26px}.login-card h1{font-size:26px}.login-intro{font-size:13px}.sidebar{padding:15px 13px 10px}.brand small{display:none}.sidebar-footer{right:10px;top:10px}.nav-item{font-size:11px;gap:5px;padding:10px 3px}.nav-item svg{width:15px;height:15px}.workspace{padding:25px 14px 16px}.page-header{gap:10px;align-items:flex-start}.page-header h1{font-size:24px}.page-header>div>p:last-child{font-size:12px;margin-top:8px}.page-header>.button{padding:8px 12px;font-size:12px}.page-header .eyebrow{font-size:10px}.stat-card{padding:15px}.stat-label{font-size:12px}.stat-card small{font-size:10px}.stat-card:before{top:19px;right:15px;width:5px;height:5px}.overview{gap:10px}.panel-heading{padding:18px 16px;align-items:flex-start;gap:10px}.panel-heading h2{font-size:16px}.panel-heading p{font-size:11px}.panel-heading>.button{padding:8px 10px;font-size:12px}.filter-bar{padding:0 16px 17px;display:grid;grid-template-columns:1fr auto}.search-field{grid-column:1/-1;width:100%}.filter-bar select{min-width:0;width:100%}.filter-bar input,.filter-bar select{font-size:16px}.filter-bar>.button{font-size:13px}.pagination{padding:15px 16px;flex-wrap:wrap;font-size:11px}.pagination .small{font-size:12px;padding:8px 11px}.pagination-actions{gap:5px}.dialog{width:calc(100% - 22px);max-height:calc(100dvh - 22px);border-radius:11px}.dialog-heading{padding:16px}.dialog-content{padding:19px 16px 23px}.dialog-heading h2{font-size:17px}.detail-summary{gap:8px}.detail-summary .mono{font-size:14px}.detail-grid{gap:15px;padding:15px}.device-card{padding:14px}.policy-form{padding:10px 20px 26px}.policy-form h3{font-size:16px}.policy-form>p{font-size:13px}.editor-form input,.editor-form select,.editor-form textarea{font-size:16px}.workspace-note{font-size:10px}.table-link{font-size:12px}.login-card input{font-size:16px}}
.compact-actions{margin-bottom:0}.status-stack{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.copy-button{min-height:44px}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline-color:#936f2a}input::placeholder,textarea::placeholder{color:#69766d}
/* The console prioritizes records. Keep login sizing separate from the workspace. */
.app-shell{height:100dvh;min-height:0;grid-template-columns:176px minmax(0,1fr)}
.sidebar{height:100dvh;padding:16px 10px 10px}
.brand{gap:8px;padding:0 6px;margin-bottom:22px;font-size:14px}
.brand small{font-size:10px;margin-top:3px;letter-spacing:1px}
.brand-symbol{width:28px;height:31px;border-radius:5px;font-size:21px}
.nav-label{margin:0 10px 6px;font-size:10px}
.nav-item{min-height:34px;padding:7px 10px;gap:9px;margin:2px 0;font-size:12px;border-radius:5px}
.nav-item svg{width:17px;height:17px}
.sidebar-footer{padding-top:12px}
.session-state{padding:10px 7px;font-size:11px;gap:7px}
.session-state small{font-size:10px;margin-top:2px}
.logout-button{min-height:32px;padding:6px 7px;font-size:12px;gap:8px}
.workspace{display:flex;flex-direction:column;gap:10px;max-width:none;height:100dvh;padding:12px 16px 6px;overflow:hidden}
.page-header{gap:12px;margin-bottom:0;flex:none;min-height:32px}
.page-header>div{display:flex;align-items:baseline;gap:12px;min-width:0}
.page-header .eyebrow{display:none}
.page-header h1{font-size:19px;letter-spacing:0;white-space:nowrap}
.page-header>div>p:last-child{margin-top:0;font-size:12px}
.workspace .button,.dialog .button{min-height:30px;padding:4px 10px;gap:5px;font-size:12px;border-radius:5px}
.workspace .button svg{width:15px;height:15px}
.workspace input,.workspace select,.dialog input,.dialog select{min-height:30px;padding:4px 9px;font-size:12px;border-radius:5px}
.workspace .inline-error{margin:0;padding:7px 10px;font-size:12px;flex:none}
.overview{gap:0;margin:0;border:1px solid var(--line);border-radius:5px;background:var(--surface);flex:none;overflow:hidden}
.stat-card{display:flex;align-items:center;gap:10px;min-width:0;padding:6px 12px;border:0;border-right:1px solid var(--line);border-radius:0;box-shadow:none}
.stat-card:last-child{border-right:0}
.stat-card:before{display:none}
.stat-label{font-size:12px;white-space:nowrap}
.stat-card strong{display:inline;font-size:20px;line-height:1.3;margin:0;font-weight:650}
.stat-card:nth-child(2) strong{color:var(--accent)}
.stat-card:nth-child(3) strong{color:var(--danger)}
.stat-card small{display:none}
.section-panel{display:flex;flex-direction:column;flex:1;min-height:0;border-radius:5px;box-shadow:none}
.panel-toolbar{display:flex;align-items:center;gap:12px;padding:8px 10px;flex:none}
.panel-toolbar h2{font-size:13px;white-space:nowrap;flex:none}
.panel-toolbar .filter-bar{flex:1;padding:0;gap:7px;min-width:0}
.search-field{max-width:440px;min-width:160px}
.search-field svg{left:9px;top:7px;width:16px;height:16px}
.workspace .search-field input{padding-left:31px}
.filter-bar select{min-width:124px}
.list-content{flex:1;min-height:0;overflow:hidden}
.table-scroll{height:100%;overflow:auto;overscroll-behavior:contain}
.workspace table{font-size:12px;line-height:1.4}
.workspace th{position:sticky;top:0;z-index:1;font-size:11px;font-weight:600;background:#eef2ee;padding:7px 10px;box-shadow:0 1px var(--line)}
.workspace td{padding:6px 10px}
.workspace th:first-child,.workspace td:first-child{padding-left:10px}
.workspace th:last-child,.workspace td:last-child{padding-right:10px}
.workspace tbody tr:nth-child(even){background:#f8faf8}
.workspace tbody tr:hover{background:#edf4ee}
.workspace .table-link{min-height:22px;padding:1px 0;font-size:12px;line-height:1.4;text-underline-offset:3px}
.workspace .mono{font-size:12px}
.workspace .table-sub{font-size:11px;line-height:1.3;margin-top:1px}
.workspace .badge,.dialog .badge{font-size:11px;line-height:1.4;padding:1px 6px;border-radius:3px}
.workspace .status-stack{gap:2px}
.workspace .compact-actions{gap:5px;flex-wrap:nowrap;margin-bottom:0}
.workspace .truncate{max-width:330px}
.audit-inline{display:flex;align-items:center;gap:7px}
.workspace .audit-code{font-size:11px}
#accounts-content table{min-width:870px}
#devices-content table{min-width:1040px}
#access-content table,#system-content table{min-width:1080px}
#access-content .badge,#system-content .badge{max-width:240px;overflow:hidden;text-overflow:ellipsis}
.workspace .state-block{padding:22px 12px;min-height:140px;gap:8px}
.pagination{flex:none;min-height:40px;padding:5px 10px;gap:10px;font-size:11px}
.pagination-summary,.page-size-label,.page-jump{display:flex;align-items:center;gap:6px}
.pagination-summary{flex-wrap:wrap;gap:12px}
.pagination-actions{gap:5px}
.page-size{width:96px;min-width:96px;flex-shrink:0}
.workspace select.page-size{padding-right:28px}
.page-counter{margin:0 3px;white-space:nowrap}
.page-jump input{width:56px;text-align:center;font-variant-numeric:tabular-nums}
.page-jump input::-webkit-inner-spin-button{margin:0}
.workspace-note{padding:0 2px;font-size:10px;flex:none}
#section-policy{flex:0 0 auto}
#section-policy .panel-heading{padding:10px 12px}
#section-policy .panel-heading h2{font-size:14px}
#section-policy .panel-heading p{font-size:12px;margin-top:3px}
.policy-form{padding:0 12px 14px;max-width:720px}
.policy-icon{display:none}
.policy-form h3{font-size:13px}
.policy-form>p{font-size:12px;margin-top:5px}
.policy-form>label{font-size:12px;margin:12px 0 5px}
.number-field{gap:7px}
.number-field input{width:110px}
.number-field span{font-size:12px}
.policy-form .field-help{font-size:11px;margin-top:5px}
.policy-form>.button{margin-top:12px}
.dialog{border-radius:7px;max-width:920px;max-height:calc(100dvh - 32px)}
.editor-dialog{max-width:540px}
.dialog-heading{padding:10px 14px;gap:10px}
.dialog-heading .eyebrow{font-size:10px;margin-bottom:1px}
.dialog-heading h2{font-size:15px}
.icon-button{width:30px;height:30px;border-radius:5px;font-size:22px}
.dialog-content{padding:12px 14px 16px}
.detail-summary{margin-bottom:10px;gap:12px}
.detail-summary .mono{font-size:15px}
.detail-summary p{margin-top:3px;font-size:11px}
.detail-actions{margin-bottom:12px;gap:6px}
.detail-grid{margin:0 0 14px;padding:10px;gap:9px 14px;border-radius:5px}
.detail-grid dt{margin-bottom:2px}
.detail-grid dd{font-size:12px}
.detail-subheading{margin:14px 0 8px;font-size:13px;gap:6px}
.device-card{padding:10px;margin-bottom:8px;border-radius:5px}
.device-card-heading{margin-bottom:7px}
.device-fields{gap:5px}
.device-fields>div{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:start;gap:8px}
.device-fields dt{margin:5px 0 0;font-size:11px}
.device-fields dd{align-items:center;font-size:11px;gap:8px;min-width:0}
.device-fields .mono{font-size:11px;min-width:0}
.dialog .copy-button{min-height:26px;padding:2px 6px;flex:none}
.device-times{margin-top:7px;gap:12px}
.device-actions{margin-top:8px;gap:6px}
.session-card{padding:8px 10px;margin-bottom:6px;border-radius:5px}
.session-card>div:first-child{margin-bottom:3px}
.session-card p{margin-top:1px}
.empty-detail{padding:10px;font-size:12px}
.editor-form label{font-size:12px;margin:12px 0 5px}
.editor-form .field-help{font-size:11px;margin-top:4px}
.editor-intro{font-size:12px;line-height:1.5;margin-bottom:12px}
.editor-actions{margin-top:14px;padding-top:10px;gap:6px}
.dialog textarea{font-size:12px;padding:6px 9px;min-height:76px;border-radius:5px}
.confirmation-id{padding:8px;font-size:12px;margin-bottom:10px}
.confirmation-note{font-size:12px}
@media(min-width:1450px){.workspace .truncate{max-width:460px}}
@media(max-width:1100px){
  .app-shell{grid-template-columns:156px minmax(0,1fr)}
  .workspace{padding:10px 12px 6px;gap:8px}
  .panel-toolbar{gap:8px;flex-wrap:wrap}
  .panel-toolbar .filter-bar{flex-wrap:wrap}
  .workspace .truncate{max-width:240px}
}
@media(max-width:800px){
  .app-shell{display:flex;flex-direction:column;height:100dvh}
  .sidebar{position:relative;height:auto;flex:none;padding:10px 12px 6px}
  .brand{margin:0;font-size:14px;padding:0}
  .brand-symbol{width:25px;height:28px;font-size:19px}
  .brand small{display:inline;margin-left:7px}
  .sidebar nav{margin-top:8px;gap:4px}
  .nav-item{min-height:40px;padding:6px 4px;font-size:12px;margin:0;gap:5px}
  .sidebar-footer{right:10px;top:8px;padding:0}
  .logout-button{min-height:32px}
  .workspace{height:auto;flex:1;padding:9px 10px 5px;gap:8px}
  .page-header h1{font-size:17px}
  .page-header>div>p:last-child{display:none}
  .overview{grid-template-columns:repeat(4,minmax(0,1fr))}
  .stat-card{padding:5px 8px;gap:6px;flex-wrap:wrap}
  .stat-label{font-size:11px}
  .stat-card strong{font-size:18px}
  .panel-toolbar h2{font-size:12px}
  .panel-toolbar{padding:7px 8px}
  .search-field{min-width:130px;max-width:none}
  .panel-toolbar .filter-bar{display:flex}
  .pagination{padding:5px 8px;flex-wrap:wrap;gap:6px}
  .pagination-summary{gap:8px}
  .dialog .button,.workspace .button,.workspace input,.workspace select,.dialog input,.dialog select{min-height:40px}
  .workspace .table-link{min-height:32px}
  .search-field svg{top:12px}
  .workspace .compact-actions .button{min-height:36px}
  .dialog .copy-button{min-height:36px}
  .dialog .icon-button{width:40px;height:40px}
}
@media(max-width:480px){
  .nav-item{font-size:11px;min-height:44px}
  .nav-item svg{width:14px;height:14px}
  .workspace{padding:8px 8px 4px;gap:7px}
  .overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat-card{padding:3px 8px;flex-wrap:nowrap}
  .stat-card:nth-child(2){border-right:0}
  .stat-card:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .stat-card strong{font-size:17px}
  .panel-toolbar h2{flex:1}
  .panel-toolbar>.button{order:1}
  .panel-toolbar .filter-bar{order:2;flex-basis:100%;gap:6px}
  .search-field{width:auto;flex:1 1 100%;grid-column:auto}
  .filter-bar select{width:auto;flex:1;min-width:0}
  .workspace .filter-bar input,.workspace .filter-bar select,.editor-form input,.editor-form select,.dialog textarea{font-size:16px}
  .pagination-actions{flex-wrap:wrap}
  .pagination-summary{width:100%;justify-content:space-between}
  .workspace .button,.dialog .button,.workspace input,.workspace select,.dialog input,.dialog select{min-height:44px}
  .workspace .table-link{min-height:36px}
  .search-field svg{top:14px}
  .dialog-content{padding:10px 12px 14px}
  .device-fields>div{display:block}
  .device-fields dt{margin:0 0 2px}
  .dialog .copy-button{min-height:44px}
  .detail-grid{grid-template-columns:1fr;gap:7px}
  .workspace-note{font-size:10px;line-height:1.3}
}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Compact payment settings retain the record-oriented console sizing. */
.settings-panel{overflow:auto;flex:0 1 auto;max-height:100%}
.settings-panel .panel-toolbar{border-bottom:1px solid var(--line);gap:9px;flex-wrap:wrap}
.settings-note{font-size:11px;color:var(--muted)}
.settings-form{padding:10px 12px 12px;max-width:1320px}
.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px}
.settings-field{min-width:0}
.settings-field.full-width{grid-column:1/-1}
.settings-form label{display:block;font-size:12px;font-weight:600;margin-bottom:4px}
.settings-form input:not([type=checkbox]),.settings-form select{width:100%;min-width:0}
.settings-form .field-help{font-size:11px;color:var(--muted);margin-top:3px;line-height:1.5}
.settings-form .checkbox-field{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:400;margin:4px 0 0;cursor:pointer}
.settings-form input[type=checkbox]{width:14px;height:14px;min-height:14px;padding:0;margin:0;accent-color:var(--accent);flex:none}
.settings-form .token-clear{color:var(--danger)}
.settings-details{margin-top:10px;border-top:1px solid var(--line);padding-top:7px}
.settings-details summary{font-size:12px;font-weight:600;cursor:pointer;margin-bottom:7px}
.settings-details summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.webhook-field{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}
.webhook-value{display:flex;gap:6px;align-items:center}
.webhook-value input{flex:1;background:#f7f9f7}
.webhook-value .button{flex:none}
.settings-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px}
.product-url-field{display:flex;align-items:stretch;gap:5px}
.product-url-field input{flex:1;min-width:0}
.product-url-field .button{flex:none;padding-left:8px;padding-right:8px}
.product-result{font-size:12px;color:var(--accent);margin-top:8px}
.auto-rule-grid{margin-top:10px;padding-top:8px;border-top:1px solid var(--line)}
.settings-form input[readonly]{background:#f5f7f5;color:#59665e}
.sku-choice-field{margin-top:8px;max-width:640px}
.settings-form .inline-setting{display:flex;align-items:center;gap:6px;margin:0 4px 0 0;white-space:nowrap}
.settings-form .inline-setting select{width:auto}
.settings-result{font-size:12px;color:var(--accent)}
.settings-form .form-error{margin-top:8px;font-size:12px;padding:6px 9px}
#orders-content table{min-width:1450px}
#orders-content .truncate{max-width:210px}
#orders-content .compact-actions{margin-bottom:0}
@media(max-width:1100px){.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-field.full-width{grid-column:1/-1}}
@media(max-width:800px){.sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-form{padding:8px 10px 10px}.settings-grid{gap:9px 10px}.settings-panel .panel-toolbar{gap:6px}.settings-note{width:100%}.settings-form .checkbox-field{min-height:32px}.settings-form input[type=checkbox]{width:17px;height:17px}.webhook-value input{font-size:11px}}
@media(max-width:480px){.settings-grid{grid-template-columns:minmax(0,1fr);gap:8px}.settings-form input:not([type=checkbox]),.settings-form select{font-size:16px}.settings-field.full-width{grid-column:auto}.settings-form .checkbox-field{min-height:40px}.settings-form input[type=checkbox]{width:19px;height:19px}.settings-actions .button{flex:1}.webhook-value{align-items:stretch}.webhook-value input{font-size:12px}.settings-note{font-size:10px}.settings-form label{font-size:12px}.settings-panel{flex:1;max-height:none}}

/* Account entitlements and device access are independent records. */
.overview{grid-template-columns:repeat(6,minmax(0,1fr))}
.overview{grid-template-columns:repeat(8,minmax(0,1fr))}
.stat-card:nth-child(7) strong{color:var(--danger)}
.ip-notice{flex:none;margin:0;padding:7px 14px;border-top:1px solid var(--line);background:#fcf7e8;color:#7d651c;font-size:11px;line-height:1.6}
.ip-detail-notice{margin:0 0 14px;padding:9px 12px;border:1px solid #eae0bd;background:#fcf7e8;border-radius:5px;color:#7d651c;font-size:12px;line-height:1.6}
.ip-identity{white-space:nowrap}
#ips-content table{min-width:1070px}
.detail-relation-pagination{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:8px;font-size:11px}
.detail-relation-group{min-width:0}
.identity-link{max-width:100%;word-break:break-all}
#detail-dialog[open]{display:flex;flex-direction:column;overflow:hidden}
#detail-dialog .dialog-heading{flex:none;position:static}
#detail-content{flex:0 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}
.badge.risk{background:#a82014;color:#fff;border-color:#76150c;font-weight:800;font-size:12px;padding:5px 9px;letter-spacing:.4px}
.risk-callout{margin:0 0 14px;padding:11px 13px;border:2px solid #a82014;border-radius:5px;background:#fff0e9;color:#8d1c12;font-size:13px;font-weight:700;line-height:1.7}
.risk-stat{background:#fff0e9}.risk-stat .stat-label,.risk-stat strong{color:#8d1c12!important;font-weight:800}
.overview{grid-template-columns:repeat(9,minmax(0,1fr))}
@media(min-width:801px) and (max-width:1250px){.overview{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card:nth-child(4){border-right:0}.stat-card:nth-child(-n+4){border-bottom:1px solid var(--line)}}
.stat-card:nth-child(3) strong,.stat-card:nth-child(5) strong{color:var(--danger)}
#accounts-content table{min-width:1120px}
.account-identity{white-space:nowrap}
#new-grant.danger{background:var(--danger);border-color:var(--danger);color:#fff}
#new-grant.danger:hover{background:#962929;border-color:#962929}
.workspace .account-identity .table-sub{display:inline;margin-left:8px}
.device-link{display:inline-block;vertical-align:middle;max-width:280px!important}
.request-id{display:inline-block;max-width:160px!important;vertical-align:middle}
.detail-summary>div:first-child{min-width:0;flex:1}
.detail-status{display:flex;align-items:flex-start;gap:5px;flex-wrap:wrap;flex:none}
.relation-table .table-scroll{height:auto;max-height:340px;border:1px solid var(--line);border-radius:4px}
.relation-table table{min-width:660px;font-size:12px;line-height:1.4}
.relation-table th{position:sticky;top:0;z-index:1;padding:6px 8px;background:#eef2ee}
.relation-table td{padding:5px 8px}
.relation-table th:first-child,.relation-table td:first-child{padding-left:8px}
.relation-table th:last-child,.relation-table td:last-child{padding-right:8px}
.relation-table .table-link{min-height:24px;padding:1px 0;font-size:11px}
.relation-table .mono{font-size:11px}
.relation-table .device-link{max-width:190px!important}
.detail-subheading{flex-wrap:wrap}
.detail-subheading .relation-title{background:transparent;color:var(--ink);font-size:13px;padding:0;border-radius:0}
.detail-subheading small{font-size:11px;font-weight:400}
.detail-grid dd{white-space:pre-wrap}
.device-environment{margin:8px 0 12px;font-size:12px}
.device-environment summary{cursor:pointer;font-weight:600;margin-bottom:8px}
.device-environment summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.security-form{max-width:1120px;padding-top:2px}
.security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px}
.security-grid label{display:block;font-size:12px;font-weight:600;margin-bottom:4px}
.security-grid input,.security-grid select{width:100%}
@media(max-width:1100px){.stat-card{padding:5px 8px;gap:6px}.stat-label{font-size:11px}.stat-card strong{font-size:18px}}
@media(max-width:800px){.overview{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card:nth-child(3){border-right:0}.stat-card:nth-child(-n+3){border-bottom:1px solid var(--line)}.relation-table .table-link{min-height:32px}.security-grid{gap:10px 14px}}
@media(max-width:480px){.overview{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card{flex-wrap:wrap;gap:2px 5px}.stat-card:nth-child(2){border-right:1px solid var(--line)}.stat-card:nth-child(3){border-right:0}.stat-label{font-size:10px}.stat-card strong{font-size:15px}.security-grid{grid-template-columns:minmax(0,1fr)}.relation-table .table-link{min-height:36px}.security-grid input,.security-grid select{font-size:16px}}

.release-key-values[hidden]{display:none}
/* Session history loads on demand in its own compact paginated window. */
.release-note{padding:0 12px 8px;color:var(--muted);font-size:12px;line-height:1.6}
#section-versions{overflow:auto}
#section-versions .panel-toolbar h3{font-size:13px;white-space:nowrap}
#section-versions .list-content{min-height:100px;flex:none}
#releases-content .table-scroll{height:auto;max-height:240px}
#versions-content .table-scroll{height:auto;max-height:240px}
.release-files-dialog{max-width:1120px}
.release-file-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;font-size:12px}
.release-file-summary .button{margin-left:auto}
.release-manifest-date{font-size:12px;margin-bottom:6px}
.release-manifest-hash{font-size:11px;overflow-wrap:anywhere;color:var(--muted);margin-bottom:10px}
.release-manifest .table-scroll{height:auto;max-height:50dvh}
.release-manifest table{min-width:800px;font-size:12px}
.release-file-name{overflow-wrap:anywhere}
.release-md5{white-space:nowrap}
.sessions-dialog{max-width:1260px;height:fit-content;max-height:min(760px,calc(100dvh - 40px));overflow:hidden}
.sessions-dialog[open]{display:flex;flex-direction:column}
.sessions-dialog .dialog-heading{flex:none}
.sessions-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);flex:none;font-size:12px}
#sessions-owner{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.sessions-toolbar label{white-space:nowrap}
#sessions-page-size{width:96px;min-width:96px;flex-shrink:0;padding-right:28px}
.sessions-dialog .list-content{flex:0 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}
.sessions-dialog .table-scroll{height:auto;overflow:visible}
.sessions-dialog table{min-width:1060px;font-size:12px;line-height:1.4}
.sessions-dialog th{position:sticky;top:0;z-index:1;padding:7px 8px;font-size:11px;background:#eef2ee;box-shadow:0 1px var(--line)}
.sessions-dialog td{padding:5px 8px}
.sessions-dialog td:first-child,.sessions-dialog th:first-child{padding-left:10px}
.sessions-dialog td:last-child,.sessions-dialog th:last-child{padding-right:10px}
.sessions-dialog tbody tr:nth-child(even){background:#f8faf8}
.sessions-dialog tbody tr:hover{background:#edf4ee}
.sessions-dialog .table-link{min-height:24px;padding:1px 0;font-size:12px;line-height:1.4}
.sessions-dialog .device-link{max-width:220px!important}
.sessions-dialog .session-id{max-width:180px;display:inline-block;vertical-align:middle}
.sessions-dialog .state-block{min-height:120px;padding:20px 12px}
.session-record-dialog{max-width:760px}
.session-record-dialog .detail-summary .mono{font-size:13px}
.session-record-dialog .detail-grid{grid-template-columns:minmax(0,1fr)}
.session-record-dialog .detail-grid>div{display:grid;grid-template-columns:106px minmax(0,1fr);gap:8px;align-items:center}
.session-record-dialog .detail-grid dd{display:flex;align-items:center;gap:8px;min-width:0}
.session-record-dialog .detail-grid dd>.mono{min-width:0;flex:1;font-size:11px;word-break:break-all}
.session-record-dialog .copy-button{flex:none}
.session-note{font-size:12px;color:var(--muted)}
@media(max-width:800px){.sessions-dialog{max-height:calc(100dvh - 32px)}.sessions-dialog .table-link{min-height:32px}.sessions-toolbar{gap:6px;padding:7px 10px}}
@media(max-width:480px){.sessions-dialog{max-height:calc(100dvh - 22px)}.sessions-toolbar{flex-wrap:wrap}.sessions-toolbar #sessions-owner{flex-basis:100%}.sessions-dialog .table-link{min-height:36px}.session-record-dialog .detail-grid>div{display:block}.session-record-dialog .detail-grid dd{margin-top:3px}.session-record-dialog .detail-summary{flex-wrap:wrap}}
.steam-persona-name{display:block;font-size:12px;overflow-wrap:anywhere;margin:3px 0}
.steam-profile-group{border-top:1px solid var(--line);padding-top:14px;margin-top:18px}
.steam-profile-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.steam-profile-heading h3{flex:1;margin:0}
.steam-profile-group .detail-grid dd{overflow-wrap:anywhere}
.steam-profile-data{margin:12px 0;border:1px solid var(--line);border-radius:6px;padding:10px}
.steam-profile-data summary{cursor:pointer;font-size:13px}
.steam-profile-data pre{font-size:11px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto}
