/* Palette and compact table treatment adapted from the user's Holizz/source/public/assets/app.css. */
:root{color-scheme:dark;font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;--void:#0b0d0f;--chrome:#16181b;--bg:#1b1e22;--panel:#202328;--input:#101214;--border:#2c3036;--text:#e6e9eb;--muted:#8b939c;--accent:#3fc4b6;--green:#6fcf97;--amber:#dcb24f;--red:#e2726c}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:12px;line-height:1.6;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:26px;letter-spacing:-1px;margin-bottom:7px;font-weight:650}h2{font-size:13px;margin:0}h3{font-size:14px}.muted,.hint{color:var(--muted)}.hint{font-size:11px;line-height:1.7;margin-bottom:16px}.eyebrow{text-transform:uppercase;letter-spacing:1.4px;font-size:10px;color:var(--muted);margin-bottom:8px}.hidden{display:none!important}
.titlebar{height:70px;background:var(--chrome);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1400px)/2));gap:15px}.brand{display:flex;align-items:center;gap:12px;font-size:12px}.brand strong{letter-spacing:1.5px}.mark{width:31px;height:34px;border:1px solid #2f6b62;background:#16312d;display:grid;place-items:center;border-radius:7px;color:var(--accent);font-weight:bold;font-size:20px}.brand-divider{height:19px;width:1px;background:#3c424a;margin:0 4px}.header-actions{display:flex;align-items:center;gap:20px}.environment{color:var(--muted);font-size:10px;white-space:nowrap}.environment i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:7px;box-shadow:0 0 0 3px #6fcf9712}
.dashboard{max-width:1456px;margin:auto;padding:32px 28px 18px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.ghost,.primary,.danger{min-height:36px;padding:8px 12px;border-radius:5px;border:1px solid #3c424a;background:transparent;color:var(--text);transition:background .15s,border .15s}.ghost:hover{background:#ffffff06;border-color:#636b76}.primary{background:var(--accent);color:#06231f;border-color:var(--accent);font-weight:bold}.primary:hover{background:#4fd8c9}.danger{border-color:#603a37;color:var(--red)}.danger:hover{background:#e2726c12}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:7px;overflow:hidden;gap:1px;background:var(--border);margin-bottom:24px}.stat{background:var(--panel);padding:18px 22px;display:flex;flex-direction:column;gap:12px;min-height:101px}.stat span{color:var(--muted);font-size:11px}.stat strong{font-size:27px;line-height:1}.stat.green strong{color:var(--green)}.stat.amber strong{color:var(--amber)}.columns{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.panel{background:var(--panel);border:1px solid var(--border);border-radius:7px;overflow:hidden;margin-bottom:20px}.section-heading{padding:16px 18px;min-height:61px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border)}.count,.tiny-tag{font-size:10px;border:1px solid #3c424a;color:var(--muted);border-radius:4px;padding:2px 6px;font-weight:normal}.count{margin-left:7px}.key-panel .section-heading input{width:265px;height:32px;font-size:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}th{font-size:10px;font-weight:normal;color:var(--muted);height:40px;background:#1c1f23}th,td{padding:12px 16px;border-bottom:1px solid var(--border)}td{font-size:11px;height:73px}td:first-child{min-width:190px}td small{display:block;color:var(--muted);font-size:10px;max-width:210px;overflow:hidden;text-overflow:ellipsis}.key-prefix{color:#e5eded;font-size:12px}.row-selected td{background:#3fc4b607}.row-open{background:none;border:1px solid #3c424a;color:var(--muted);border-radius:4px;padding:3px 9px}.row-open:hover{color:var(--accent);border-color:var(--accent)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:10px}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.badge.active{color:var(--green)}.badge.pending{color:var(--muted)}.badge.blocked{color:var(--amber)}.badge.revoked,.badge.expired{color:var(--red)}.table-foot{padding:13px 16px;font-size:10px;color:var(--muted);background:#1c1f23}.empty{text-align:center;padding:55px 15px}.empty p{color:var(--muted);font-size:11px}.empty h3{margin-bottom:6px}.empty-icon{font-size:28px;color:#69727d;display:block;margin-bottom:12px}
label{display:grid;gap:7px;font-size:11px;color:var(--muted)}input,select{background:var(--input);color:var(--text);border:1px solid var(--border);border-radius:5px;height:38px;padding:0 10px;min-width:0;width:100%;outline:none}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #3fc4b61a}input::placeholder{color:#737b84}input[type=number]{appearance:textfield}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}form{padding:18px;display:grid;gap:16px}form .hint{margin:0}.create-panel .primary{width:100%;margin-top:1px}.events{margin:0;padding:5px 18px 12px;list-style:none}.events li{padding:12px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:12px;font-size:10px}.events li:last-child{border:0}.events time{color:var(--muted);white-space:nowrap}.events span{overflow:hidden;text-overflow:ellipsis}.inspector-body{padding:18px}.inspector-body dl{margin:0 0 18px}.inspector-body dl>div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--border);padding:9px 0;font-size:10px}.inspector-body dt{color:var(--muted)}.inspector-body dd{margin:0;text-align:right}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:16px}.action-grid button{font-size:10px}.icon-button{border:0;background:none;color:var(--muted);font-size:23px;padding:0 3px;line-height:1}footer{display:flex;justify-content:space-between;gap:15px;padding-top:14px;border-top:1px solid var(--border);color:#737b84;font-size:10px;margin-top:9px}.notice{padding:12px 16px;border:1px solid #2f6b62;background:#16312d;color:#b6e4dc;border-radius:5px;margin-bottom:20px}.notice.failure{border-color:#603a37;background:#2c1a19;color:var(--red)}
.login-view{max-width:700px;margin:clamp(24px,7vh,64px) auto;padding:0 24px}.login-layout{display:grid;grid-template-columns:184px minmax(0,1fr);gap:16px;align-items:center;padding:20px;background:var(--panel);border:1px solid var(--border);border-radius:8px}.login-art{height:264px;display:flex;justify-content:center;align-items:center}.login-art img{display:block;width:100%;height:100%;object-fit:contain}.login-entry{min-width:0}.login-card{padding:0;border:0;background:transparent;gap:16px}.login-card h1{font-size:21px;margin-bottom:0}.login-card>.eyebrow{margin:0}.login-card>p.muted{font-size:11px;margin:0 0 3px}.login-card .primary{display:flex;justify-content:space-between}.login-foot{text-align:center;color:#737b84;font-size:10px;margin:18px 0}.error{color:var(--red);font-size:11px;margin:0}.error:empty{display:none}dialog{color:var(--text);background:var(--panel);border:1px solid #3c424a;border-radius:9px;padding:28px;width:min(560px,calc(100vw - 32px));box-shadow:0 24px 120px #0009}dialog::backdrop{background:#080b10c9;backdrop-filter:blur(3px)}.dialog-heading h2{font-size:20px;margin:10px 0}.dialog-heading p{font-size:11px}.success-icon{font-size:20px;color:var(--accent)}.dialog-actions{display:flex;gap:10px;margin-top:20px}.dialog-actions .primary{flex:1}#created-key{font-size:11px;height:44px}#copy-status{margin:12px 0 0}
@media(max-width:1050px){.columns{grid-template-columns:minmax(0,1fr) 290px;gap:16px}.dashboard{padding:25px 18px}.titlebar{padding:0 18px}.brand .muted,.brand-divider{display:none}.key-panel .section-heading{align-items:flex-start;flex-direction:column}.key-panel .section-heading input{width:100%}th,td{padding:12px}.stats{margin-bottom:18px}.stat{padding:16px}}
@media(max-width:760px){.columns{grid-template-columns:1fr}.columns aside{display:grid;grid-template-columns:1fr;gap:0}.stats{grid-template-columns:repeat(2,1fr)}.environment{font-size:9px}.header-actions{gap:10px}.brand{gap:8px}.titlebar{padding:0 14px}.dashboard{padding:22px 14px}.page-heading{gap:12px}h1{font-size:23px}footer{flex-direction:column;gap:4px}.create-panel{order:-1}.table-wrap{max-width:100%}.login-view{max-width:430px;margin:26px auto;padding:0 16px}.login-layout{grid-template-columns:minmax(0,1fr);gap:12px;padding:20px}.login-art{height:135px}.login-art img{width:auto;max-width:100%}.stat{min-height:85px}.stats .stat strong{font-size:24px}.header-actions .ghost{padding:6px 9px}}

.mark{width:36px;height:38px;border:0;background:transparent;border-radius:0}.mark img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:lighten}

@media(max-width:760px){
  button{touch-action:manipulation}
  .ghost,.primary,.danger,.row-open,.icon-button{min-height:44px;min-width:44px}
  input,select,.key-panel .section-heading input,#created-key{min-height:44px;font-size:16px}
  .columns aside{display:contents}
  .create-panel{order:0}.key-panel{order:1}#inspector{order:2}.events-panel{order:3}
  .key-panel table,.key-panel tbody{display:block;white-space:normal}
  .key-panel thead{display:none}
  .key-panel tr{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:12px 16px;border-bottom:1px solid var(--border);gap:8px 14px}
  .key-panel td{display:block;border:0;padding:0;height:auto;min-width:0}
  .key-panel td:first-child{grid-column:1;min-width:0;align-self:center}
  .key-panel td:nth-child(2){grid-column:2;align-self:center}
  .key-panel td:nth-child(3),.key-panel td:nth-child(4){grid-column:1}
  .key-panel td:nth-child(4){color:var(--muted)}
  .key-panel td:last-child{grid-column:2;grid-row:2 / span 2;align-self:center}
  .key-panel td small{max-width:none}
  .key-panel tr.row-selected{background:#3fc4b607}.row-selected td{background:transparent}
  .inspector-body dd{min-width:0;overflow-wrap:anywhere}
  .dialog-actions{flex-wrap:wrap}.dialog-actions button{flex:1 1 100%}
}
@media(max-width:400px){.environment{display:none}.login-layout{padding:18px}.login-card h1{font-size:20px}.action-grid{grid-template-columns:1fr}}
#resource-form{display:grid;gap:14px}#resource-form textarea{box-sizing:border-box;width:100%;resize:vertical;background:var(--input);color:var(--text);border:1px solid var(--border);border-radius:5px;padding:12px;font:13px/1.5 ui-monospace,monospace}#resource-form .resource-enabled{display:flex;align-items:center;gap:10px}#resource-enabled{width:18px;height:18px;min-height:18px;flex:none}#resources-dialog{max-height:calc(100dvh - 32px);overflow-y:auto}.page-heading .header-actions{flex-wrap:wrap;justify-content:flex-end}@media(max-width:760px){#resource-form textarea{font-size:16px}.page-heading{flex-wrap:wrap}.page-heading .header-actions{gap:6px}}
