/* Shared by Developer and Access; fill the available main column. */
.model-main { display: flex; min-width: 0; min-height: 0; overflow: auto; }
.model-api-mount { display: flex; flex: 1 1 0; width: 100%; min-width: 0; min-height: 0; }
.model-api-module { display: flex; flex: 1 1 0; flex-direction: column; width: 100%; min-width: 0; min-height: 100%; color: #25334a; background: #f5f7fb; }
.model-api-module * { box-sizing: border-box; }
.model-api-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px 32px 22px; background: #fff; }
.model-api-header h1 { margin: 6px 0 8px; font-size: 24px; letter-spacing: -.5px; }
.model-api-header p, .model-api-section-title p, .model-api-help { margin: 6px 0 0; color: #758197; font-size: 13px; line-height: 1.7; font-weight: 400; }
.model-api-kicker { color: #7b8ba4; font-size: 10px; font-weight: 650; letter-spacing: .12em; }
.model-api-status { max-width: 45%; padding: 8px 12px; color: #45607d; background: #f0f5fb; border-radius: 8px; font-size: 12px; overflow-wrap: anywhere; }
.model-api-tabs { display: flex; gap: 24px; padding: 0 32px; background: #fff; border-bottom: 1px solid #e2e8f1; }
.model-api-tabs button { padding: 14px 2px; color: #7a879b; background: transparent; border: 0; border-bottom: 2px solid transparent; cursor: pointer; font-size: 14px; }
.model-api-tabs button.active { color: #315ed1; border-color: #315ed1; font-weight: 650; }
.model-api-loading, .model-api-empty { display: grid; min-height: 180px; padding: 24px; place-items: center; color: #8c99ad; font-size: 13px; }
.model-api-workspace { display: grid; grid-template-columns: 300px minmax(0, 1fr); flex: 1 1 auto; min-height: 580px; margin: 24px 32px 32px; overflow: hidden; background: #fff; border: 1px solid #e0e6ef; border-radius: 16px; box-shadow: 0 4px 20px #20345b04; }
.model-api-tree { min-width: 0; padding: 20px 12px; background: #fbfcfe; border-right: 1px solid #e8edf4; }
.model-api-tree-head, .model-api-detail-title, .model-api-section-title { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.model-api-tree-head { padding: 0 8px 18px; border-bottom: 1px solid #e8edf4; }
.model-api-tree-head strong { display: block; margin-top: 5px; font-size: 15px; }
.model-api-module button { transition: background .15s, border-color .15s; }
.model-api-tree-head button, .model-api-add-child, .model-api-save, .model-api-probe-actions button { padding: 9px 14px; color: #45617e; background: #fff; border: 1px solid #d7e1ee; border-radius: 8px; cursor: pointer; white-space: nowrap; }
.model-api-save { color: #fff; background: #315ed1; border-color: #315ed1; box-shadow: 0 3px 8px #315ed118; }
.model-api-save:hover { background: #234ebf; }
.model-api-tree-list { padding-top: 14px; }
.model-api-tree-group { margin-bottom: 14px; }
.model-api-provider-row { display: flex; align-items: center; gap: 2px; }
.model-api-toggle { width: 18px; padding: 0; color: #8c99ad; background: transparent; border: 0; cursor: pointer; }
.model-api-tree-item { display: flex; align-items: center; gap: 9px; min-width: 0; flex: 1; padding: 10px 8px; color: #41516a; text-align: left; background: transparent; border: 0; border-radius: 8px; cursor: pointer; }
.model-api-tree-item:hover, .model-api-tree-item.selected { color: #2d58bd; background: #eaf0ff; }
.model-api-tree-item b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; font-weight: 550; }
.model-api-tree-icon { display: grid; width: 25px; height: 25px; flex: 0 0 25px; place-items: center; color: #5474ba; background: #eaf0ff; border-radius: 7px; font-size: 11px; }
.model-api-child { margin-left: 22px; width: calc(100% - 22px); }
.model-api-child .model-api-tree-icon { color: #8d75bd; background: #f0ebf9; }
.model-api-add-child { padding: 5px 7px; font-size: 11px; }
.model-api-detail { min-width: 0; padding: 30px 36px; }
.model-api-detail-form { width: 100%; max-width: 1040px; margin: 0 auto; }
.model-api-detail-title { margin-bottom: 26px; align-items: flex-start; }
.model-api-detail-title h2 { margin: 6px 0 0; font-size: 21px; overflow-wrap: anywhere; }
.model-api-form-section { padding: 22px 0 8px; border-top: 1px solid #edf0f5; }
.model-api-module h3 { margin: 0 0 18px; color: #3c4c65; font-size: 14px; }
.model-api-detail-form label, .model-api-defaults label, .model-api-agent-card label { display: block; margin-bottom: 18px; color: #5a6b83; font-size: 12px; font-weight: 550; }
.model-api-detail-form input, .model-api-detail-form select, .model-api-detail-form textarea, .model-api-defaults select, .model-api-agent-card select { display: block; width: 100%; min-width: 0; margin-top: 8px; padding: 11px 12px; color: #26364e; background: #fff; border: 1px solid #dce3ee; border-radius: 8px; font: inherit; font-size: 13px; }
.model-api-module input:focus, .model-api-module select:focus, .model-api-module textarea:focus { outline: 2px solid #315ed125; border-color: #7291df; }
.model-api-detail-form textarea { min-height: 110px; resize: vertical; font: 12px/1.6 ui-monospace, monospace; background: #fafbfd; }
.model-api-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 22px; }
.model-api-check { display: flex !important; align-items: center; gap: 9px; margin-top: 12px; }
.model-api-check input { width: 16px !important; height: 16px; margin: 0 !important; accent-color: #315ed1; }
.model-api-advanced { margin: 0; padding: 18px 0; border-top: 1px solid #edf0f5; }
.model-api-advanced summary { color: #52647e; font-size: 13px; font-weight: 600; cursor: pointer; }
.model-api-advanced summary span { margin-left: 12px; color: #99a4b6; font-size: 11px; font-weight: 400; }
.model-api-advanced[open] summary { margin-bottom: 20px; }
.model-api-verification { margin-top: 12px; padding-top: 24px; border-top: 1px solid #edf0f5; }
.model-api-section-title h3 { margin-bottom: 6px; }
.model-api-probe-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0; }
.model-api-probe-actions button { font-size: 12px; }
.model-api-probe-actions button:hover { background: #f2f6ff; border-color: #b2c5f4; }
.model-api-probe-group { padding: 16px 18px; margin-top: 12px; border: 1px solid #e5ebf3; border-radius: 10px; }
.model-api-probe-title, .model-api-probe-result { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 12px; }
.model-api-probe-title strong { font-size: 13px; }
.model-api-probe-title small, .model-api-probe-result small { color: #8491a5; overflow-wrap: anywhere; }
.model-api-probe-result { padding-top: 12px; }
.model-api-probe-result > span:first-child { min-width: 120px; }
.model-api-badge { display: inline-block; padding: 3px 8px; border-radius: 5px; color: #8a96a7; background: #f0f3f7; font-size: 11px; }
.model-api-badge.passed { color: #278564; background: #e8f6ef; }
.model-api-badge.failed, .model-api-badge.unsupported { color: #ba5a58; background: #fff0ed; }
.model-api-routing { margin: 24px 32px 32px; }
.model-api-routing > .model-api-section-title { margin-bottom: 20px; }
.model-api-section-title h2 { margin: 6px 0; font-size: 21px; }
.model-api-agent-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 540px), 1fr)); align-items: start; gap: 20px; }
.model-api-agent-card { min-width: 0; padding: 26px; background: #fff; border: 1px solid #e0e6ef; border-radius: 14px; }
.model-api-agent-card .model-api-detail-title h2 { font-size: 19px; }
.model-api-image-config { margin-top: 8px; padding: 20px; background: #f8faff; border: 1px solid #e9eef8; border-radius: 10px; }
.model-api-image-config h3 { margin-bottom: 4px; }
.model-api-image-config label { margin-top: 16px; }
.model-api-routing > .model-api-advanced { margin-top: 28px; }
.model-api-defaults > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 1050px) { .model-api-workspace { grid-template-columns: 245px minmax(0, 1fr); margin: 20px; } .model-api-detail { padding: 24px; } .model-api-header { padding: 24px; } .model-api-tabs { padding: 0 24px; } }
@media (max-width: 720px) { .model-api-workspace { grid-template-columns: 1fr; margin: 12px; } .model-api-tree { border-right: 0; border-bottom: 1px solid #e8edf4; } .model-api-detail { padding: 20px; } .model-api-routing { margin: 16px; } .model-api-form-grid, .model-api-defaults > div { grid-template-columns: 1fr; } .model-api-header { align-items: flex-start; padding: 20px; gap: 12px; } .model-api-status { font-size: 11px; } .model-api-detail-title { flex-wrap: wrap; } }

.admin-nav-brand { display: grid; gap: 3px; margin-bottom: 18px; }
.admin-nav-brand strong { font-size: 16px; font-weight: 800; }
.admin-nav-brand small { color: #94a3b8; font-size: 11px; }
.admin-nav-list { display: grid; gap: 12px; }
.admin-nav-group { display: grid; gap: 4px; }
.admin-nav-caption { padding: 0 8px 3px; color: #94a3b8; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.admin-nav-item { display: flex; align-items: center; gap: 8px; width: 100%; padding: 9px 10px; color: #cbd5e1; text-align: left; background: transparent; border: 0; border-radius: 8px; cursor: pointer; }
.admin-nav-item:hover, .admin-nav-item.active { color: #fff; background: #263449; }
.admin-nav-icon { display: inline-grid; width: 16px; place-items: center; color: #8fb3d5; }
.admin-nav-future { display: flex; align-items: center; gap: 8px; padding: 9px 10px; color: #64748b; font-size: 12px; }
.admin-nav-future small { margin-left: auto; color: #64748b; font-size: 10px; }
.admin-nav-footer { display: flex; gap: 7px; margin-top: auto; padding-top: 22px; color: #94a3b8; font-size: 10px; line-height: 1.5; }
.admin-nav-dot { width: 7px; height: 7px; flex: 0 0 7px; margin-top: 3px; background: #34c38f; border-radius: 50%; }
.model-api-probe-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.model-api-spinner{width:15px;height:15px;flex-shrink:0;animation:model-api-spin .8s linear infinite}
@keyframes model-api-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.model-api-spinner{animation-duration:2s}}
