/* API Studio — tableau de bord Sysimple. Scoped to preserve the shared shell. */
body.api-tool-page[data-theme] { margin:0; height:100dvh; display:flex; flex-direction:column; overflow:hidden; }
body.api-tool-page > #apiStudio {
  --api-bg:#17191d; --api-surface:#202328; --api-secondary:#272b31; --api-line:#3b4048; --api-text:#f5f7fa; --api-muted:#b0b7c1; --api-accent:#5cb8ff; --api-success:#65cf9d; --api-warning:#ffc36b; --api-danger:#ff9485;
  --adm-panel:var(--api-surface); --adm-surface:var(--api-surface); --adm-input-bg:var(--api-surface); --adm-text:var(--api-text); --adm-border:var(--api-line); --adm-border-soft:var(--api-line); --ux-text:var(--api-text); --ux-border:var(--api-line);
  display:grid; grid-template-columns:300px minmax(0,1fr); flex:1; height:auto!important; min-height:0!important; background:var(--api-bg); color:var(--api-text); font:13px 'Inter','Segoe UI',sans-serif;
}
body.api-tool-page[data-theme="sysimple"] > #apiStudio { --api-bg:#101317; --api-surface:#1c2128; --api-secondary:#232933; }
body.api-tool-page[data-theme="light"] > #apiStudio { --api-bg:#f3f5f7; --api-surface:#fff; --api-secondary:#f9fafb; --api-line:#d5dade; --api-text:#263238; --api-muted:#63717a; --api-accent:#2877a4; --api-success:#087c48; --api-warning:#895600; --api-danger:#b53727; }
body.api-tool-page #apiStudio * { box-sizing:border-box; }
body.api-tool-page #apiStudio :is(button,input,select,textarea) { font:inherit; }
body.api-tool-page #apiStudio :is(input,select,textarea) { min-width:0; border-radius:2px!important; }
body.api-tool-page #apiStudio :is(button,input,select,textarea):focus-visible { outline:2px solid var(--api-accent)!important; outline-offset:2px; }
body.api-tool-page #apiStudio :is(.sidebar,.panel,.sidebar-list,.topbar) { background:var(--api-surface)!important; color:var(--api-text)!important; border:1px solid var(--api-line)!important; border-radius:0!important; box-shadow:none!important; }
body.api-tool-page #apiStudio .sidebar { display:flex; flex-direction:column; gap:14px; padding:14px; min-height:0; overflow:auto; border-width:0 1px 0 0!important; }
body.api-tool-page #apiStudio .brand { display:flex; align-items:center; gap:10px; padding-bottom:14px; border-bottom:1px solid var(--api-line); }
body.api-tool-page #apiStudio .brand-logo { flex:0 0 38px; height:38px; display:grid; place-items:center; background:color-mix(in srgb,var(--api-accent) 12%,var(--api-surface)); border:1px solid var(--api-line); color:var(--api-accent); font-weight:700; }
body.api-tool-page #apiStudio .brand-title { font-size:16px; line-height:1.3; font-weight:600; color:var(--api-text)!important; }
body.api-tool-page #apiStudio .brand-subtitle { font-size:12px; color:var(--api-muted)!important; margin-top:3px; letter-spacing:0; }
body.api-tool-page #apiStudio .sidebar-actions { display:grid; gap:8px; }
body.api-tool-page #apiStudio .sidebar-section { display:flex; flex-direction:column; gap:8px; min-height:0; flex-shrink:0; }
body.api-tool-page #apiStudio .catalog-section { flex:1 0 240px; }
body.api-tool-page #apiStudio .sidebar-title { font-size:12px; font-weight:600; color:var(--api-muted); }
body.api-tool-page #apiStudio .sidebar-list { display:flex; flex-direction:column; gap:0; padding:0; overflow:auto; min-height:0; max-height:160px; }
body.api-tool-page #apiStudio #sysimpleApiCatalog { flex:1; max-height:none; }
body.api-tool-page #apiStudio .sidebar-item { display:block!important; flex:none; height:auto!important; min-height:44px!important; width:100%; padding:9px 10px!important; text-align:left; border:0!important; border-bottom:1px solid var(--api-line)!important; border-radius:0!important; background:var(--api-surface)!important; color:var(--api-text)!important; cursor:pointer; }
body.api-tool-page #apiStudio .sidebar-item:last-child { border-bottom:0!important; }
body.api-tool-page #apiStudio .sidebar-item:hover { background:var(--api-secondary)!important; }
body.api-tool-page #apiStudio .sidebar-item[aria-current="true"] { background:color-mix(in srgb,var(--api-accent) 12%,var(--api-surface))!important; box-shadow:inset 3px 0 var(--api-accent)!important; }
body.api-tool-page #apiStudio .sidebar-item-head { display:flex; align-items:flex-start; gap:9px; }
body.api-tool-page #apiStudio .sidebar-item-title { min-width:0; overflow-wrap:anywhere; font-size:12px; font-weight:500; line-height:1.5; }
body.api-tool-page #apiStudio .sidebar-item-sub { color:var(--api-muted); font-size:11px; line-height:1.5; margin:0; overflow-wrap:anywhere; }
body.api-tool-page #apiStudio .method-pill { display:inline-flex; justify-content:center; align-items:center; min-width:53px; flex:none; padding:3px 4px; font-size:10px; line-height:1.3; font-weight:700; color:var(--api-accent); background:color-mix(in srgb,var(--api-accent) 12%,var(--api-surface)); }
body.api-tool-page #apiStudio .method-GET { color:var(--api-success); }
body.api-tool-page #apiStudio :is(.method-PUT,.method-PATCH) { color:var(--api-warning); }
body.api-tool-page #apiStudio .method-DELETE { color:var(--api-danger); }
body.api-tool-page #apiStudio .empty-state { margin:0; padding:14px 10px; color:var(--api-muted); font-size:12px; line-height:1.5; }
body.api-tool-page #apiStudio .main { display:flex; flex-direction:column; min-width:0; min-height:0; padding:14px; gap:14px; }
body.api-tool-page #apiStudio .topbar { padding:12px; margin:0; }
body.api-tool-page #apiStudio :is(.request-row,.toolbar-row,.status-group,.actions-group) { display:flex; align-items:center; gap:8px; }
body.api-tool-page #apiStudio .toolbar-row { justify-content:space-between; flex-wrap:wrap; margin-top:10px; }
body.api-tool-page #apiStudio :is(.status-group,.actions-group) { flex-wrap:wrap; }
body.api-tool-page #apiStudio .input { width:100%; min-height:34px; }
body.api-tool-page #apiStudio .method-select { width:104px; flex:none; appearance:auto; font-weight:700; }
body.api-tool-page #apiStudio select option { background:var(--api-surface); color:var(--api-text); }
body.api-tool-page #apiStudio .url-input { flex:1; }
body.api-tool-page #apiStudio .btn { min-height:34px!important; height:auto; border-radius:2px!important; cursor:pointer; white-space:nowrap; }
body.api-tool-page #apiStudio #btnSave { background:color-mix(in srgb,var(--api-success) 12%,var(--api-surface))!important; border-color:var(--api-success)!important; color:var(--api-success)!important; }
body.api-tool-page #apiStudio .icon-btn { width:34px; padding:0!important; }
body.api-tool-page #apiStudio .icon-trash { width:14px; height:14px; fill:currentColor; }
body.api-tool-page #apiStudio .badge { padding:5px 8px; border:1px solid var(--api-line); font-size:11px; color:var(--api-muted); }
body.api-tool-page #apiStudio .badge-success { color:var(--api-success); }
body.api-tool-page #apiStudio .badge-danger { color:var(--api-danger); }
body.api-tool-page #apiStudio .badge-warning { color:var(--api-warning); }
body.api-tool-page #apiStudio .proxy-toggle { display:flex; align-items:center; gap:6px; font-size:12px; cursor:pointer; }
body.api-tool-page #apiStudio input[type="checkbox"] { accent-color:var(--api-accent); }
body.api-tool-page #apiStudio .info-banner { padding:10px 12px; border:1px solid color-mix(in srgb,var(--api-warning) 35%,var(--api-line)); background:color-mix(in srgb,var(--api-warning) 9%,var(--api-surface)); color:var(--api-warning); font-size:12px; line-height:1.5; }
body.api-tool-page #apiStudio .content { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; padding:0; flex:1; min-height:0; }
body.api-tool-page #apiStudio .panel { display:flex; flex-direction:column; min-width:0; min-height:0; overflow:hidden; margin:0; }
body.api-tool-page #apiStudio .tabs { display:flex; flex-wrap:wrap; border-bottom:1px solid var(--api-line); background:var(--api-secondary); }
body.api-tool-page #apiStudio :is(.tab,.subtab) { background:transparent!important; color:var(--api-muted)!important; border:0!important; border-radius:0!important; font-size:12px; padding:10px!important; cursor:pointer; }
body.api-tool-page #apiStudio :is(.tab,.subtab).active { background:color-mix(in srgb,var(--api-accent) 12%,var(--api-surface))!important; color:var(--api-accent)!important; box-shadow:inset 0 -2px var(--api-accent)!important; }
body.api-tool-page #apiStudio .panel-body { padding:14px; flex:1; min-height:0; overflow:auto; }
body.api-tool-page #apiStudio .panel-response .panel-body { padding:0; }
body.api-tool-page #apiStudio :is(.tab-panel,.subpanel) { display:none; }
body.api-tool-page #apiStudio :is(.tab-panel,.subpanel).active { display:block; }
body.api-tool-page #apiStudio .tab-panel { height:100%; }
body.api-tool-page #apiStudio .panel-top-actions { display:flex; justify-content:flex-end; gap:8px; margin-bottom:12px; }
body.api-tool-page #apiStudio .split { justify-content:space-between; align-items:end; flex-wrap:wrap; }
body.api-tool-page #apiStudio .inline-field { display:flex; flex-direction:column; gap:6px; color:var(--api-muted); }
body.api-tool-page #apiStudio .helper-text { color:var(--api-muted); font-size:12px; margin-bottom:10px; }
body.api-tool-page #apiStudio .subtabs { display:flex; margin-bottom:12px; }
body.api-tool-page #apiStudio .kv-table { width:100%; table-layout:fixed; border-collapse:collapse; }
body.api-tool-page #apiStudio .kv-table :is(th,td) { padding:7px 5px; text-align:left; border-bottom:1px solid var(--api-line); }
body.api-tool-page #apiStudio .kv-table th { font-size:11px; }
body.api-tool-page #apiStudio .kv-table :is(th,td):nth-last-child(-n+2) { width:44px; text-align:center; }
body.api-tool-page #apiStudio .kv-input { width:100%; }
body.api-tool-page #apiStudio .code-area { width:100%; height:350px; resize:vertical; padding:12px; font:12px/1.55 Consolas,monospace; }
body.api-tool-page #apiStudio .auth-layout { display:grid; gap:12px; }
body.api-tool-page #apiStudio .response-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:12px; border-bottom:1px solid var(--api-line); }
body.api-tool-page #apiStudio .search-input { flex:1 1 140px; width:0; }
body.api-tool-page #apiStudio .viewer-shell { display:grid; grid-template-columns:40px minmax(0,1fr); min-height:100%; }
body.api-tool-page #apiStudio :is(.viewer,.line-numbers) { margin:0; padding:14px 10px; font:12px/1.55 Consolas,monospace; white-space:pre; }
body.api-tool-page #apiStudio .line-numbers { color:var(--api-muted); text-align:right; background:var(--api-secondary); border-right:1px solid var(--api-line); user-select:none; }
body.api-tool-page #apiStudio .viewer { overflow:auto; background:var(--api-surface); color:var(--api-text); }
body.api-tool-page #apiStudio .viewer:empty::before { content:attr(data-empty); color:var(--api-muted); white-space:normal; font:12px/1.5 'Inter','Segoe UI',sans-serif; }
body.api-tool-page #apiStudio .json-key { color:var(--api-accent); }
body.api-tool-page #apiStudio .json-string { color:var(--api-success); }
body.api-tool-page #apiStudio :is(.json-number,.json-bool) { color:var(--api-warning); }
body.api-tool-page #apiStudio .json-null { color:var(--api-muted); }
body.api-tool-page #apiStudio .hidden { display:none!important; }
body.api-tool-page #apiStudio mark { background:#f4c96b; color:#263238; }
body.api-tool-page #apiStudio .themed-scroll { scrollbar-width:thin; scrollbar-color:var(--api-line) transparent; }
@media(max-width:1150px) {
  body.api-tool-page #apiStudio .content { grid-template-columns:1fr; overflow:auto; }
  body.api-tool-page #apiStudio .panel { min-height:350px; }
}
@media(max-width:760px) {
  body.api-tool-page[data-theme] { height:auto; min-height:100dvh; overflow:auto; }
  body.api-tool-page[data-theme] > #apiStudio { display:flex; flex-direction:column; }
  body.api-tool-page #apiStudio .sidebar { display:flex; width:100%; overflow:visible; }
  body.api-tool-page #apiStudio .catalog-section { flex:none; }
  body.api-tool-page #apiStudio #sysimpleApiCatalog { max-height:230px; flex:auto; }
  body.api-tool-page #apiStudio .sidebar-list { max-height:120px; }
  body.api-tool-page #apiStudio .main { padding:10px; }
  body.api-tool-page #apiStudio .content { overflow:visible; }
  body.api-tool-page #apiStudio .request-row { flex-wrap:wrap; }
  body.api-tool-page #apiStudio .url-input { flex-basis:calc(100% - 112px); }
  body.api-tool-page #apiStudio #btnSend { width:100%; }
  body.api-tool-page #apiStudio .panel { min-height:360px; }
}
body.api-tool-page #apiStudio { background:var(--api-bg)!important; }
body.api-tool-page #apiStudio .main { background:var(--api-bg)!important; }
body.api-tool-page #apiStudio :is(.sidebar-title,.empty-state,.sidebar-item-sub) { color:var(--api-muted)!important; }
body.api-tool-page #apiStudio .brand-logo { border-radius:0!important; background:color-mix(in srgb,var(--api-accent) 12%,var(--api-surface))!important; color:var(--api-accent)!important; }
body.api-tool-page #apiStudio .kv-table th { background:var(--api-secondary)!important; color:var(--api-muted)!important; }
body.api-tool-page #apiStudio .line-numbers { background:var(--api-secondary)!important; color:var(--api-muted)!important; }
body.api-tool-page #apiStudio .badge { background:var(--api-secondary)!important; }
body.api-tool-page #apiStudio .method-pill { background:color-mix(in srgb,currentColor 10%,var(--api-surface))!important; }
/* Navigation is not an execution action, including templates whose HTTP verb is DELETE. */
@layer sysimple-actions {
  #apiStudio .sidebar-item { background:var(--api-surface)!important; color:var(--api-text)!important; border:0!important; border-bottom:1px solid var(--api-line)!important; border-radius:0!important; box-shadow:none!important; }
  #apiStudio .sidebar-item:hover { background:var(--api-secondary)!important; }
  #apiStudio .sidebar-item[aria-current="true"] { background:color-mix(in srgb,var(--api-accent) 12%,var(--api-surface))!important; box-shadow:inset 3px 0 var(--api-accent)!important; }
  #apiStudio :is(.tab,.subtab) { background:transparent!important; color:var(--api-muted)!important; border:0!important; border-radius:0!important; }
  #apiStudio :is(.tab,.subtab).active { background:color-mix(in srgb,var(--api-accent) 12%,var(--api-surface))!important; color:var(--api-accent)!important; box-shadow:inset 0 -2px var(--api-accent)!important; }
}
