:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif;color:#223530;background:#f4f6f5}*{box-sizing:border-box}body{margin:0}.console-shell{min-height:100vh;background:#f4f6f5}.console-sidebar{border-right:1px solid #dce5e0}.console-sidebar .ant-layout-sider-children{display:flex;flex-direction:column;padding:24px 10px}.brand{display:flex;align-items:center;gap:10px;padding:2px 12px 25px;font-size:18px;font-weight:650;line-height:1.15}.brand-mark{display:grid;place-items:center;width:31px;height:31px;flex:none;border-radius:7px;background:#147660;color:#fff}.brand small{display:block;margin-top:5px;font-size:10px;font-weight:500;color:#62746d}.brand b{color:#a93932;font-weight:650}.console-sidebar .ant-menu{border-inline-end:0!important}.console-sidebar .ant-menu-item-group{border-top:1px solid #dce5e0;padding-top:8px;margin-top:12px}.console-sidebar .ant-menu-item-group:first-child{border-top:0;margin-top:0}.console-sidebar .ant-menu-item-group-title{color:#62746d;font-size:11px;font-weight:600}.console-sidebar .ant-menu-item{height:39px;line-height:39px;font-size:13px}.workspace{min-width:0}.console-header{display:flex;align-items:center;gap:12px;min-height:52px;height:auto;padding:6px 28px;background:#fff;border-bottom:1px solid #dce5e0}.game-selector{min-width:190px;width:min(320px,100%)}.header-end{margin-left:auto;display:flex;align-items:center;gap:10px}.console-content{width:100%;max-width:1560px;margin:0 auto;padding:27px 30px 48px;min-width:0}.page-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:20px}.page-head .ant-typography{margin:0;font-size:25px;font-weight:650}.eyebrow{display:block;margin-bottom:4px;color:#147660;font-size:11px;font-weight:600}.page-actions{display:flex;flex-wrap:wrap;gap:8px}.section{margin:0 0 22px;padding:16px 0 24px;border-bottom:1px solid #dce5e0;min-width:0}.section .section{margin-top:18px;margin-bottom:0;padding:16px 0 0;border:0;border-top:1px solid #dce5e0}.section-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:14px}.section-heading .ant-typography{margin:0;font-size:16px;font-weight:620}.table-region{max-width:100%;overflow-x:auto}.table-region:focus-visible{outline:2px solid #2b8eac;outline-offset:2px}.table-region .ant-table{background:transparent}.table-region .ant-table-thead>tr>th{background:#f8faf9;color:#62746d;font-size:11px;white-space:nowrap}.table-region .ant-table-tbody>tr>td{color:#223530;font-size:13px}.table-region small{display:block;color:#62746d;font-size:11px}.table-region .ant-btn-link{padding:0;height:auto;text-align:left}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:12px 0}.metric{border:1px solid #dce5e0;border-radius:6px;padding:16px;min-width:0;background:#fafcfb}.metric .ant-statistic-content{font-size:26px;font-variant-numeric:tabular-nums}.metric .ant-statistic-title{min-height:34px}.metadata{margin-top:12px;color:#62746d;font-size:12px;line-height:1.6}.metadata p{margin:5px 0 0}.operator-option{display:grid;min-width:0;line-height:1.45}.operator-option small{color:#62746d;overflow-wrap:anywhere}.operator-search-popup .ant-select-item-option-content,.operator-search-popup .operator-option small{white-space:normal}.operator-picker .ant-select{width:100%}.access-operator,.access-identity{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}.access-operator small{font-family:ui-monospace,SFMono-Regular,monospace}.access-drawer-root .ant-drawer-content-wrapper{max-width:100vw}.access-drawer .ant-drawer-footer{display:flex;justify-content:flex-end}.access-drawer .ant-drawer-body{overflow-wrap:anywhere}.access-drawer h3{margin:24px 0 12px;font-size:14px}.access-scope{color:#62746d;font-size:12px;margin:0 0 18px}.access-identity strong{font-size:16px}.access-identity span,.access-identity code{color:#62746d;font-size:12px}.access-roles,.access-actions{list-style:none;padding:0;margin:0;display:grid;gap:8px}.access-roles li{padding:10px 12px;border:1px solid #dce5e0;border-radius:6px;background:#fafcfb}.access-actions li{font-size:12px}.access-review,.access-review .ant-descriptions-item-content{overflow-wrap:anywhere}.access-role-editor .ant-modal-content{padding:28px 28px 24px}.access-role-editor .ant-modal-title{color:#223530;font-size:24px;line-height:1.3;margin-bottom:24px}.access-role-editor .ant-modal-body{max-height:min(70vh,680px);overflow-y:auto;overflow-wrap:anywhere}.access-role-editor .ant-modal-footer{margin-top:24px}.access-role-editor .ant-modal-footer .ant-btn{min-height:40px;padding-inline:16px}.access-editor-context{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,1.2fr);column-gap:20px;row-gap:16px;align-items:start;margin-bottom:22px;font-size:15px}.access-editor-context>span{color:#62746d}.access-editor-context>strong{min-width:0;font-weight:500;overflow-wrap:anywhere}.access-editor-context code{font-weight:400}.access-editor-operator.ant-form-item{min-width:0;margin:-5px 0 0}.access-editor-role-set{min-width:0;margin:0;padding:18px;border:1px solid #dce5e0;border-radius:7px}.access-editor-role-set legend{padding:0 5px;color:#223530;font-size:15px;font-weight:600}.access-editor-role-options.ant-checkbox-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;width:100%}.access-editor-role-options .ant-checkbox-wrapper{margin-inline-start:0;min-width:0;font-size:15px;font-weight:600;overflow-wrap:anywhere}.access-editor-note{margin:18px 0;color:#62746d;font-size:14px;line-height:1.6}.access-role-editor .ant-form-item-label>label{color:#223530;font-weight:600}.access-role-editor .ant-input-textarea textarea{min-height:88px}.operator-selection{margin-top:6px;font-size:12px;color:#62746d;overflow-wrap:anywhere}.filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:0 0 15px}.filters .ant-input-search{max-width:320px}.filters .ant-select{min-width:140px}.audit-filters{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.audit-filters .ant-form-item{margin:0;min-width:0}.audit-filters .ant-form-item-control,.audit-filters .ant-input{width:100%}.notification-preview{max-width:320px;margin:16px 0;padding:16px;border:7px solid #e1e7e2;border-radius:8px;background:#f8faf9;overflow-wrap:anywhere}.notification-preview strong{display:block;margin-bottom:7px}.notification-preview p{margin:0}.result-summary{padding:10px 0 18px;border-bottom:1px solid #dce5e0;line-height:1.6}.result-summary p{margin:5px 0}.registry-layout{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr);gap:20px;align-items:start}.registry-layout .section{margin:0;padding:20px;border:1px solid #dce5e0;border-radius:8px;background:#fff}.registry-layout .section-heading{margin-bottom:18px}.catalog-list{display:grid}.catalog-row{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;height:auto;margin:0;padding:13px 8px;border:0;border-bottom:1px solid #dce5e0;border-radius:0;text-align:left;white-space:normal}.catalog-row.selected{background:#eaf4ee;box-shadow:inset 3px 0 #147660}.catalog-row strong{overflow-wrap:anywhere}.game-catalog-panel .ant-btn.catalog-row{min-height:66px;padding:12px;gap:16px;border:0;border-bottom:1px solid #dce5e0;border-radius:0;box-shadow:none;color:#223530}.game-catalog-panel .ant-btn.catalog-row:last-child{border-bottom:0}.game-catalog-panel .ant-btn.catalog-row:hover{background:#f5faf7;border-color:#dce5e0;color:#223530}.game-catalog-panel .ant-btn.catalog-row.selected,.game-catalog-panel .ant-btn.catalog-row.selected:hover{background:#eaf4ee;box-shadow:inset 3px 0 #147660}.game-catalog-panel .catalog-row:focus-visible{outline:2px solid #2b8eac;outline-offset:-2px}.catalog-identity{display:grid;gap:3px;min-width:0}.catalog-identity strong{line-height:1.35}.catalog-identity small{color:#62746d;font-size:12px;font-variant-numeric:tabular-nums}.game-catalog-panel .ant-tag,.game-detail-state .ant-tag{margin-inline-end:0}.game-detail-summary{display:flex;justify-content:space-between;align-items:start;flex-wrap:wrap;gap:16px}.game-detail-name{min-width:0;font-size:20px;line-height:1.35;overflow-wrap:anywhere}.game-detail-state{display:grid;justify-items:start;gap:7px}.game-detail-state span:first-child,.game-detail-id span{color:#62746d;font-size:12px}.game-detail-id{display:grid;justify-items:start;gap:6px;margin-top:22px}.game-detail-id code{font-size:14px;font-variant-numeric:tabular-nums}.game-detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid #dce5e0}.game-detail-actions .ant-btn{min-width:120px}.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.role-tile{border:1px solid #dce5e0;border-radius:6px;padding:14px;background:#fafcfb;min-width:0}.role-tile p{color:#62746d;margin:8px 0}.role-tile ul{padding-left:17px;columns:2;font-size:12px;overflow-wrap:anywhere}.loading-state{min-height:100px;display:grid;place-items:center;color:#62746d}.ant-alert{margin-bottom:12px}.setup-actions{display:flex;margin-top:10px}.ant-btn:focus-visible,.ant-select:focus-visible{outline:2px solid #2b8eac;outline-offset:2px}.provider-scope,.binding-review,.provider-layout,.app-registry,.dispatch-tree{overflow-wrap:anywhere;min-width:0}.provider-layout .catalog-row{cursor:pointer;background:transparent;color:inherit;font:inherit}.provider-layout .catalog-row.selected{background:#eaf4ee}.provider-layout .catalog-row:focus-visible{outline:2px solid #2b8eac}.provider-layout .ant-descriptions-item-label{min-width:130px}.affected-bindings{max-height:240px;overflow:auto;overflow-wrap:anywhere}.app-registry-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid #dce5e0}.apps-section{border-bottom:0}.app-registry-row small,.dispatch-tree small{display:block;color:#62746d;font-size:12px;line-height:1.6}.app-editor-modal .ant-modal-body{max-height:min(70vh,680px);overflow-y:auto;overflow-wrap:anywhere}.app-editor-modal .ant-typography{font-size:14px;margin:14px 0}.dispatch-tree-head,.dispatch-tree-row{display:grid;grid-template-columns:minmax(200px,1.3fr) minmax(100px,.6fr) minmax(125px,.6fr) minmax(160px,1fr);gap:16px}.dispatch-tree-head{padding:10px 12px;background:#f8faf9;color:#62746d;font-size:12px}.dispatch-tree-row{padding:13px 12px;border-bottom:1px solid #dce5e0;font-size:13px;align-items:start}.dispatch-tree-row>div{min-width:0}.dispatch-game{background:#eaf4ee}.dispatch-app{background:#f8faf9}.dispatch-target{position:relative}.dispatch-target strong{display:block}.target-type{display:block;color:#62746d;font-size:11px;margin-bottom:3px}.dispatch-app .dispatch-target{padding-left:24px}.dispatch-binding .dispatch-target{padding-left:48px}.dispatch-app .dispatch-target:before,.dispatch-binding .dispatch-target:before{content:"";position:absolute;top:-14px;left:8px;height:32px;width:10px;border-left:1px solid #b8c9c0;border-bottom:1px solid #b8c9c0}.dispatch-binding .dispatch-target:before{left:32px}.dispatch-status{display:inline-block;font-weight:600;margin-bottom:4px}.dispatch-status.eligible{color:#147660}.dispatch-status.paused{color:#94651c}.dispatch-status.blocked{color:#a93932}@media(max-width:1100px){.dispatch-tree-head{display:none}.dispatch-tree-row{grid-template-columns:minmax(0,1fr);gap:9px}.dispatch-tree-row>div[data-label]{display:grid;grid-template-columns:minmax(100px,.6fr) minmax(0,1fr);gap:10px;padding-left:24px}.dispatch-tree-row>div[data-label]:before{content:attr(data-label);color:#62746d;font-size:12px}.dispatch-tree-row>div[data-label] small{grid-column:2}.dispatch-tree-row .ant-switch{justify-self:start}.dispatch-binding .dispatch-target{padding-left:32px}.dispatch-binding .dispatch-target:before{left:18px}.app-registry-row{grid-template-columns:minmax(0,1fr);gap:10px}}@media(max-width:1080px){.console-sidebar{flex:0 0 180px!important;max-width:180px!important;min-width:180px!important;width:180px!important}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.registry-layout{grid-template-columns:1fr}.audit-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.console-shell{display:block}.console-sidebar{flex:none!important;min-width:100%!important;width:100%!important;max-width:100%!important;border:0;border-bottom:1px solid #dce5e0}.console-shell>.workspace{flex:none;width:100%!important;min-width:0}.console-sidebar .ant-layout-sider-children{padding:14px 12px}.brand{padding-bottom:9px}.console-sidebar .ant-menu-item-group{margin:3px 0;padding:0}.console-sidebar .ant-menu-item-group-list{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.console-sidebar .ant-menu-item{flex:none;width:auto;padding-inline:10px!important;margin:2px;height:35px;line-height:35px}.console-header{padding:9px 14px;flex-wrap:wrap}.header-end{flex:none}.game-selector{min-width:0;flex:1 1 180px}.console-content{padding:18px 14px 32px}.page-head .ant-typography{font-size:22px}.section{padding:15px 0}.metric-grid,.role-grid,.audit-filters{grid-template-columns:1fr}.role-tile ul{columns:1}.filters .ant-input-search{max-width:none}}@media(max-width:480px){.registry-layout .section{padding:16px}.game-detail-actions .ant-btn{width:100%}.access-role-editor .ant-modal-content{padding:22px 18px 18px}.access-role-editor .ant-modal-title{font-size:21px;margin-bottom:20px}.access-editor-context{grid-template-columns:minmax(0,1fr);row-gap:5px;font-size:14px}.access-editor-context>strong,.access-editor-context>.ant-form-item{margin-bottom:12px}.access-editor-role-set{padding:14px}.access-editor-role-options.ant-checkbox-group{grid-template-columns:minmax(0,1fr);gap:14px}}
