:root{color-scheme:light;--gx-bg:#f5f7f4;--gx-surface:#fff;--gx-text:#182520;--gx-muted:#65746c;--gx-line:#e2e8e2;--gx-soft:#f0f4ef;--gx-green:#267246;--gx-green-soft:#eaf5ec;--gx-warn:#966000;--gx-warn-soft:#fff5df;--gx-red:#b5343e;--gx-red-soft:#fff0f0;--gx-primary:#243b2c;--gx-on-primary:#fff;--gx-shadow:0 3px 18px #18252005}
:root[data-theme=dark]{color-scheme:dark;--gx-bg:#101612;--gx-surface:#151d18;--gx-text:#edf3ee;--gx-muted:#a0afa6;--gx-line:#2d3931;--gx-soft:#1d2821;--gx-green:#a7df91;--gx-green-soft:#203c2b;--gx-warn:#f2c56b;--gx-warn-soft:#392e18;--gx-red:#ffabb1;--gx-red-soft:#3b2227;--gx-primary:#b3dea3;--gx-on-primary:#17291c;--gx-shadow:none}
html{background:var(--gx-bg);color:var(--gx-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;font-synthesis:none}
body{background:var(--gx-bg);color:var(--gx-text);font-family:inherit;font-size:14px;line-height:1.5}button,input,select,textarea{font-family:inherit}button,a{touch-action:manipulation}button{cursor:pointer}[hidden]{display:none!important}
:is(button,a,input,select,textarea,[role=button]):focus-visible{outline:2px solid var(--gx-green);outline-offset:4px}button:disabled{opacity:.45;cursor:not-allowed}
.sb{width:224px;background:var(--gx-surface);border-color:var(--gx-line);position:sticky;top:0;height:100dvh;min-height:0;overflow-y:auto}.sb-brand{padding:25px 20px;gap:10px;border-color:var(--gx-line)}.sb-icon,.icon{background:var(--gx-text);color:var(--gx-surface);box-shadow:none}.gx-mark{font-size:13px;font-weight:750;letter-spacing:-1px}.sbp,.sbp2,.p1,.p2{display:none}.sb-name{font-size:19px;letter-spacing:-.6px}.sb-name,.sb-name span,.brand,.brand span,.name,.name span{color:var(--gx-text)}.sb-nav{padding:18px 12px}.sb-grp{font-size:10px;font-weight:600;letter-spacing:1.5px;color:var(--gx-muted);padding:20px 12px 8px}.sb-grp:first-child{padding-top:0}.sb-item{min-height:42px;padding:10px 12px;gap:10px;font-size:13px;color:var(--gx-muted);border-radius:8px;margin-bottom:3px}.sb-item i{font-size:18px;width:20px}.sb-item:hover{background:var(--gx-soft);color:var(--gx-text)}.sb-item.active{background:var(--gx-soft);color:var(--gx-text);font-weight:650;box-shadow:inset 3px 0 var(--gx-green)}.sb-foot{padding:18px 16px;border-color:var(--gx-line)}.sb-av,.avatar{background:var(--gx-soft);color:var(--gx-green)}.sb-un{color:var(--gx-text)}.live-pip{animation:none;background:var(--gx-green)}
.topbar{min-height:76px;padding:18px 32px;background:var(--gx-surface);border-color:var(--gx-line);gap:14px;flex-wrap:wrap}.pg-title{font-size:14px;font-weight:500;color:var(--gx-muted)}.topbar .gx-theme{margin-left:auto}.content{padding:30px 32px;width:100%;max-width:1440px;margin:0 auto;overflow:visible}.gx-intro{margin:0 0 25px}.gx-eyebrow{font-size:11px;letter-spacing:.12em;color:var(--gx-muted);text-transform:uppercase;margin-bottom:7px}.gx-intro h1{font-size:29px;line-height:1.2;letter-spacing:-1px;font-weight:650;margin:0;color:var(--gx-text)}.gx-intro p{font-size:13px;margin:9px 0 0;color:var(--gx-muted)}
.kgrid3,.kgrid2,.g2{gap:18px;margin-bottom:18px}.kpi{background:var(--gx-surface);border:1px solid var(--gx-line)!important;border-radius:13px;padding:21px 22px;box-shadow:var(--gx-shadow)}.kpi-lbl{font-size:11px;text-transform:none;letter-spacing:0;color:var(--gx-muted);gap:7px;margin-bottom:14px}.kpi-lbl i{font-size:15px}.kpi-val{font-size:28px;font-weight:600;letter-spacing:-.8px;line-height:1.2;color:var(--gx-text)!important;font-variant-numeric:tabular-nums}.kpi-sub{font-size:11px;color:var(--gx-muted);margin-top:9px}.card{background:var(--gx-surface);border:1px solid var(--gx-line);border-radius:14px;padding:22px;margin-bottom:18px;box-shadow:var(--gx-shadow)}.g2>.card{margin-bottom:0}.card-ttl{font-size:14px;text-transform:none;letter-spacing:-.15px;color:var(--gx-text);font-weight:600;margin-bottom:18px}.card-ttl-l{gap:8px}.card-ttl i{font-size:17px;color:var(--gx-muted)}.srow,.hist-row{padding:13px 0;border-color:var(--gx-line);gap:12px}.slbl,.slbl i,.ssub{color:var(--gx-muted)}.sname{color:var(--gx-text);font-weight:600}.sbox,.kick-status,.module{background:var(--gx-soft);border-color:var(--gx-line);border-radius:10px;padding:15px}.sbox{gap:12px}.badge,.pill{font-size:11px;padding:4px 9px;border-radius:6px}.b-off,.pm,.status{background:var(--gx-soft);color:var(--gx-muted);border-color:var(--gx-line)}.b-live,.pg,.status.on{background:var(--gx-green-soft);color:var(--gx-green);border-color:transparent}.b-idle,.pw{background:var(--gx-warn-soft);color:var(--gx-warn);border-color:transparent}.pb{background:var(--gx-soft);color:var(--gx-text)}
.btn,.btn-icon,.gx-theme{min-height:38px;padding:9px 13px;background:var(--gx-surface);border:1px solid var(--gx-line);color:var(--gx-text);font-size:12px;font-weight:500;border-radius:8px;line-height:1.4}.btn:hover,.btn-icon:hover,.gx-theme:hover{background:var(--gx-soft)}.btn-p,.primary{background:var(--gx-primary);border-color:var(--gx-primary);color:var(--gx-on-primary)}.btn-p:hover,.primary:hover{background:var(--gx-primary);filter:brightness(.94)}.btn-g{color:var(--gx-green);border-color:var(--gx-line)}.btn-g:hover{background:var(--gx-green-soft)}.btn-r,.danger{color:var(--gx-red);border-color:var(--gx-line)}.btn-r:hover,.danger:hover{background:var(--gx-red-soft)}.btn-row{gap:8px}.gx-theme{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.gx-theme:before{content:'◐';font-size:16px;line-height:1}.input,input:not([type=checkbox]):not([type=range]),select,textarea{min-width:0;background:var(--gx-surface);color:var(--gx-text);border-color:var(--gx-line);border-radius:8px;padding:11px 12px;font-size:13px}input::placeholder{color:var(--gx-muted)}.input-row{gap:8px}.input-row>.input{min-width:0}.upload-area{background:var(--gx-soft);border-color:var(--gx-line);color:var(--gx-muted);padding:32px 18px}.upload-area:hover{background:var(--gx-green-soft)}.warn-box,.blk{color:var(--gx-warn);background:var(--gx-warn-soft);border-color:transparent;padding:12px;font-size:12px}.divider{background:var(--gx-line)}.msg-ok{color:var(--gx-green)}.msg-err{color:var(--gx-red)}
header.top,body.gx-effects>header{background:var(--gx-surface);border-color:var(--gx-line);padding:21px max(24px,calc((100vw - 1180px)/2));gap:22px;align-items:center;flex-wrap:wrap}.brand{font-size:20px;letter-spacing:-.7px;white-space:nowrap}.back,nav{color:var(--gx-muted)}main{max-width:1180px;padding-top:35px}.heading h1{font-size:30px;font-weight:650;color:var(--gx-text)}.eyebrow,.hint,.count,.meta,.note,.foot,.mini,.refresh,p,.line span,.module small{color:var(--gx-muted)}.eyebrow{font-size:11px;letter-spacing:.12em}.hint,.note,.foot,.mini,.refresh{font-size:12px}.heading{margin-bottom:26px}.grid{gap:22px}.gx-users .card{padding:0}.card-head,.person,.actions,.line,.checks{border-color:var(--gx-line)}.check{font-size:13px}.checks input{accent-color:var(--gx-green)}.message{background:var(--gx-green-soft);color:var(--gx-green)}.message.error,.err{background:var(--gx-red-soft);color:var(--gx-red);border-color:transparent}.badge.inactive{background:var(--gx-red-soft);color:var(--gx-red)}.preset{background:var(--gx-soft);color:var(--gx-text);border-color:var(--gx-line);font-size:12px}.preset b{color:var(--gx-muted)}.preset.selected{background:var(--gx-green-soft);color:var(--gx-green);border-color:var(--gx-green)}.notice{border-color:var(--gx-green)}label{color:var(--gx-text)}
.gx-login{background:var(--gx-bg);color:var(--gx-text);padding:65px 20px 30px}.gx-login .bg{display:none}.gx-login .logo{margin-bottom:28px;gap:12px}.gx-login .icon{width:42px;height:42px;border-radius:10px}.gx-login .gx-mark{font-size:18px}.gx-login .name{font-size:26px;letter-spacing:-1px}.gx-login .sub{color:var(--gx-muted);letter-spacing:1.5px;font-size:10px}.gx-login .dot{background:var(--gx-green);animation:none}.gx-login .box{background:var(--gx-surface);border:1px solid var(--gx-line);border-radius:16px;box-shadow:var(--gx-shadow);padding:32px;max-width:410px}.gx-login .box-tag{color:var(--gx-muted);font-size:10px;letter-spacing:1.3px;text-align:left}.gx-login .box-title{color:var(--gx-text);font-size:24px;letter-spacing:-.5px;text-align:left}.gx-login .box-sub{text-align:left;color:var(--gx-muted);margin-bottom:25px}.gx-login .field label{color:var(--gx-text)}.gx-login .field-wrap input{padding:13px 42px 13px 12px;outline-offset:3px}.gx-login .field-wrap input:focus{background:var(--gx-surface);border-color:var(--gx-green)}.gx-login .btn{background:var(--gx-primary);color:var(--gx-on-primary);min-height:44px}.gx-login .footer{color:var(--gx-muted);opacity:1}.gx-login>.gx-theme{position:absolute;top:20px;right:24px}.gx-login .ico{color:var(--gx-muted);font-size:12px;padding:6px}
.log-box.event-list{background:var(--gx-surface);color:var(--gx-text);border:0;border-radius:0;padding:0 3px;height:320px;scrollbar-color:var(--gx-line) transparent}.event-day{display:flex;align-items:center;gap:12px;color:var(--gx-muted);font-size:11px;font-weight:500;text-transform:none;padding:12px 0}.event-day:after{content:'';height:1px;background:var(--gx-line);flex:1}.event-row{grid-template-columns:60px 24px minmax(0,1fr);gap:12px;padding:13px 0 18px;border:0}.event-time{grid-column:1;grid-row:1;text-align:left;color:var(--gx-muted);font-size:11px;padding-top:3px}.event-icon{grid-column:2;grid-row:1;background:transparent!important;color:var(--gx-muted);position:relative;border-radius:0;width:24px;height:24px}.event-icon:after{content:'';position:absolute;top:28px;left:50%;height:calc(100% + 14px);width:1px;background:var(--gx-line)}.event-row:last-child .event-icon:after{display:none}.event-content{grid-column:3;grid-row:1;min-width:0}.event-message{color:var(--gx-text);font-size:13px;line-height:1.5;font-weight:600}.event-meta{color:var(--gx-muted);font-size:12px;gap:7px}.event-source{color:var(--gx-muted);font-size:10px;border:1px solid var(--gx-line);border-radius:4px;padding:0 5px}.event-detail{flex-basis:100%}.event-detail:before{display:none}.event-success .event-icon{color:var(--gx-green)}.event-warning .event-icon,.event-level{color:var(--gx-warn)}.event-error .event-icon,.event-error .event-level{color:var(--gx-red)}.event-empty,.event-hint,.event-footer,[data-log-status],.event-tools label{color:var(--gx-muted);font-size:12px}.event-tools{gap:10px;margin:20px 0}.event-tools input,.event-tools select{background:var(--gx-surface);color:var(--gx-text);border-color:var(--gx-line)}[data-log-status]{background:var(--gx-soft);padding:10px 12px;border-radius:7px}[data-log-status][data-state=live]:before{background:var(--gx-green)}.gx-history-link{font-size:12px;color:var(--gx-muted);background:transparent;border:0;padding:5px 0;white-space:nowrap}
@media(min-width:1100px){#page-dashboard>.g2{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr)}}
@media(max-width:1000px){.sb{width:190px}.content{padding:25px 22px}.topbar{padding:16px 22px}.kpi{padding:18px}.card{padding:19px}.g2{grid-template-columns:1fr}.kpi-val{font-size:25px}}
@media(max-width:768px){body.gx-studio{flex-direction:column!important}.sb{position:relative;width:100%!important;height:auto;min-height:0!important;border-right:0}.sb-brand{padding:16px 18px!important}.sb-nav{display:flex!important;flex-direction:row!important;overflow-x:auto;padding:8px 12px!important;gap:4px}.sb-grp{display:none!important}.sb-item{flex-shrink:0;white-space:nowrap;font-size:12px!important;padding:10px 12px!important}.sb-item i{display:none}.sb-foot{display:none}.topbar{height:auto!important;min-height:65px;padding:12px 18px!important}.content{padding:22px 16px!important}.kgrid3{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px}.kgrid2,.g2{gap:12px}.g2{grid-template-columns:1fr!important}.gx-intro h1{font-size:25px}.gx-intro{margin-bottom:22px}.kpi{padding:16px 13px}.kpi-val{font-size:23px}.kpi-lbl{font-size:11px}.kpi-lbl i{display:none}.kpi-sub{font-size:11px}.grid{grid-template-columns:1fr}.heading,header.top,body.gx-effects>header{flex-wrap:wrap}.gx-users .top,.gx-effects>header{padding:18px}.gx-users .top .brand{margin-right:auto}.gx-login>.gx-theme{right:18px}}
@media(max-width:480px){.kgrid3{grid-template-columns:1fr!important}.kgrid2{grid-template-columns:1fr 1fr!important}.kgrid3 .kpi{display:grid;grid-template-columns:1fr auto;column-gap:12px}.kgrid3 .kpi-lbl{margin:0}.kgrid3 .kpi-val{grid-column:2;grid-row:1/3;align-self:center;font-size:23px}.kgrid3 .kpi-sub{margin-top:4px}.input-row{flex-wrap:wrap}.input-row>.input{flex-basis:calc(100% - 55px)!important}.input-row>.btn-p{flex:1}.srow{font-size:12px;flex-wrap:wrap}.sbox{flex-wrap:wrap}.card{padding:17px}.event-row{grid-template-columns:50px 20px minmax(0,1fr);gap:8px}.event-icon{width:20px}.event-time{font-size:10px}.event-message{font-size:13px}.event-meta{font-size:11px}.gx-login .box{padding:26px}.voice{flex-wrap:wrap}.voice .btn{flex-basis:100%}.topbar .badge{font-size:10px}.card-ttl{gap:10px;flex-wrap:wrap}}
@media(pointer:coarse){.btn,.btn-icon,.gx-theme,.sb-item,.gx-history-link{min-height:44px}input:not([type=checkbox]):not([type=range]),select,textarea{font-size:16px;min-height:44px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

.gx-module-frame{display:block;width:100%;border:0;background:transparent;min-width:0;color-scheme:normal}

.gx-unified-header{padding:24px 32px;align-items:center;gap:24px;flex-wrap:nowrap}
.gx-unified-header .gx-intro{margin:0;min-width:0;flex:1}
.gx-unified-header .gx-eyebrow{margin-bottom:12px}
.gx-unified-header .gx-title-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.gx-unified-header h1{font-size:25px;line-height:1.2;letter-spacing:-.8px}
.gx-unified-header .gx-intro p{font-size:12px;margin-top:8px;max-width:540px}
.gx-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:320px}
.gx-header-actions .gx-theme{margin:0;order:-1}
#gx-page-actions{display:flex;gap:8px;flex-wrap:wrap}
#gx-page-actions:empty{display:none}
.gx-unified-header .badge{white-space:nowrap}
@media(max-width:1000px){.gx-unified-header{padding:22px;gap:18px}.gx-header-actions{max-width:220px}}
@media(max-width:768px){.gx-unified-header{height:auto!important;padding:20px 18px!important;flex-direction:column;align-items:flex-start;gap:16px}.gx-header-actions{max-width:none;justify-content:flex-start}.gx-unified-header h1{font-size:23px}}

/* Studio header: approved compact layout. */
.gx-unified-header{padding:22px 32px;gap:22px}
.gx-header-identity{display:flex;align-items:center;gap:15px;min-width:0;flex:1}
.gx-studio-icon{width:44px;height:44px;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid var(--gx-line);border-radius:12px;background:var(--gx-soft);color:var(--gx-green);font-size:23px}
.gx-unified-header .gx-eyebrow{display:flex;align-items:center;gap:6px;font-size:11px;letter-spacing:0;text-transform:none;margin:0 0 3px;color:var(--gx-muted)}
.gx-unified-header .gx-eyebrow strong{font-weight:600;letter-spacing:-.2px;color:var(--gx-text)}
.gx-unified-header h1{font-size:24px;line-height:1.25;letter-spacing:-.8px;font-weight:650}
.gx-unified-header .gx-intro p{max-width:360px;margin:6px 0 0;font-size:12px;line-height:1.5}
.gx-header-actions{max-width:none;gap:14px;flex-shrink:0}
.gx-header-status{padding-right:16px;border-right:1px solid var(--gx-line);order:0}
.gx-status-caption{display:block;color:var(--gx-muted);font-size:11px;line-height:1.4}
.gx-header-status .badge{display:block;background:transparent;border:0;padding:0;border-radius:0;color:var(--gx-text);font-size:12px;line-height:1.5;font-weight:500}
.gx-header-status .b-live{color:var(--gx-green)}
.gx-header-status .b-idle{color:var(--gx-warn)}
.gx-header-actions .gx-theme{order:1;margin:0;color:var(--gx-muted)}
#gx-page-actions{order:2}
@media(max-width:1100px){.gx-header-actions{max-width:300px;gap:10px}.gx-unified-header{gap:18px}.gx-studio-icon{width:40px;height:40px}}
@media(max-width:768px){.gx-unified-header{padding:20px 18px!important;gap:18px;align-items:stretch}.gx-header-actions{max-width:none;justify-content:flex-start;padding-top:14px;border-top:1px solid var(--gx-line);gap:12px}.gx-header-status{border:0;padding:0;margin-right:auto}.gx-studio-icon{width:44px;height:44px}.gx-unified-header h1{font-size:24px}}
@media(max-width:370px){.gx-header-identity{gap:11px}.gx-studio-icon{width:36px;height:36px;border-radius:9px;font-size:20px}.gx-unified-header h1{font-size:22px}#gx-page-actions:not(:empty){flex-basis:100%}}
