*{box-sizing:border-box}:root{--surface: #ffffff;--surface-muted: #f8fafc;--page-bg: #eef3f9;--border: #d8e1ec;--border-soft: #e8eef6;--text: #142033;--muted: #5f6f85;--primary: #1e40af;--primary-soft: #dbeafe;--success: #16a34a;--warning: #d97706;--shadow-soft: 0 10px 30px rgba(15, 23, 42, .06)}body{margin:0;min-width:0;background:var(--page-bg);color:var(--text);font-family:Fira Sans,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.app-shell{min-height:100vh;background:linear-gradient(180deg,#dbeafea6,#eef3f900 220px),var(--page-bg)}.app-sider{position:sticky;top:0;height:100vh;overflow:hidden;border-right:1px solid var(--border);background:#fffffff5!important;box-shadow:8px 0 24px #0f172a0a}.brand{display:flex;align-items:center;gap:10px;height:72px;padding:0 20px;border-bottom:1px solid var(--border-soft);color:var(--primary)}.brand strong{display:block;font-size:16px;line-height:20px;color:var(--text)}.brand span{display:block;color:var(--muted);font-size:12px;line-height:18px}.app-menu{position:absolute;top:72px;right:0;bottom:70px;left:0;overflow-y:auto;overflow-x:hidden;border-inline-end:0!important;padding:8px 4px 10px}.logout{position:absolute;left:16px;right:16px;bottom:16px;width:calc(100% - 32px)}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:0 28px;border-bottom:1px solid var(--border);background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-context{min-width:0}.header-context h4{margin:0!important;color:var(--text);font-size:18px!important;line-height:24px!important}.header-eyebrow{display:block;color:var(--muted);font-family:Fira Code,SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:600;letter-spacing:0;text-transform:uppercase}.user-pill{display:inline-flex;max-width:44vw;align-items:center;gap:10px;padding:6px 12px 6px 8px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface);box-shadow:0 1px #0f172a08}.role-badge{flex:0 0 auto;padding:2px 6px;border-radius:5px;color:#1d4ed8;background:var(--primary-soft);font-family:Fira Code,SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:700;line-height:16px}.current-user-name{min-width:0;overflow:hidden;color:#1f2937;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.session-loading{display:flex;min-height:100vh;align-items:center;justify-content:center;color:#526071;background:#f5f7fa}.app-content{width:100%;max-width:1540px;padding:24px 28px 40px}.page-title{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px;gap:16px}.page-title h2{margin:0!important;color:var(--text);font-size:24px!important;letter-spacing:0}.page-title .ant-typography-secondary{display:block;margin-top:4px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-bottom:14px}.summary-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:14px}.summary-strip .ant-statistic,.summary-tile{min-height:72px;padding:14px 16px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.summary-tile{display:flex;flex-direction:column;justify-content:space-between;gap:8px;box-shadow:0 1px #11182705}.summary-value{display:flex;align-items:baseline;gap:8px;color:var(--text)}.summary-value span{font-size:24px;font-weight:650;line-height:28px}.summary-value small{color:var(--muted);font-size:12px}.overview-stat-card{position:relative;display:grid;min-height:126px;gap:10px;padding:16px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:linear-gradient(135deg,#fffffffa,#f8fafce6),var(--surface);box-shadow:var(--shadow-soft)}.overview-stat-card:before{position:absolute;top:0;right:0;left:0;height:3px;background:linear-gradient(90deg,var(--primary),#22c55e);content:""}.stat-card-heading{display:flex;min-width:0;align-items:center;gap:8px}.stat-card-heading .ant-typography{flex:1;min-width:0;font-weight:600}.stat-card-heading svg{flex:0 0 auto;color:#3b82f6}.overview-stat-card strong{color:var(--text);font-size:30px;font-weight:750;line-height:34px}.overview-stat-card small{color:var(--muted);font-family:Fira Code,SFMono-Regular,Consolas,monospace;font-size:11px}.status-dot{position:relative;flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:var(--muted)}.status-dot:after{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border:1px solid currentColor;border-radius:inherit;opacity:.25;content:""}.status-dot-ok{color:var(--success);background:var(--success)}.status-dot-warning{color:var(--warning);background:var(--warning)}.section-card{margin-bottom:14px;border-color:var(--border);border-radius:8px;box-shadow:0 1px #11182705,0 12px 26px #0f172a0a}.gateway-config-content,.codex-command-tabs{width:100%}.codex-command-tabs{margin-top:6px}.two-column{display:grid;grid-template-columns:minmax(340px,420px) minmax(0,1fr);gap:12px;align-items:start}.code-block{overflow-x:auto;margin:0;padding:12px;border:1px solid #cbd5e1;border-radius:6px;background:#0f172a;color:#e2e8f0;font-size:12px;line-height:1.55}.codex-command-block{padding:16px;font-size:14px;line-height:1.7}.doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch}.doc-card .ant-card-head-title{font-weight:650}.doc-card .ant-typography{margin-bottom:0}.doc-inline-alert{margin-bottom:14px}.doc-list{margin:0 0 14px;padding-left:20px;color:#344054;line-height:1.8}.desktop-doc-layout{display:grid;grid-template-columns:minmax(420px,560px) minmax(0,1fr);gap:18px;align-items:start}.desktop-config-shot{overflow:hidden;padding:18px 12px 0;border:1px solid #e6e8eb;border-radius:8px;background:#fdfdfd;box-shadow:inset 0 0 0 1px #11182705}.desktop-form-title{margin-bottom:12px;color:#1f2328;font-size:22px;font-weight:700;line-height:30px}.desktop-doc-link{margin-bottom:40px;color:#697386;font-size:12px}.desktop-form-panel{overflow:hidden;border:1px solid #e6e8eb;border-radius:8px;background:#fff}.desktop-config-field{display:grid;gap:8px;padding:11px 12px 8px;border-bottom:1px solid #eef0f3}.desktop-config-field span,.desktop-shot-section{color:#24292f;font-size:13px;font-weight:650}.desktop-config-field strong,.desktop-two-fields span{min-height:34px;overflow:hidden;padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;color:#111827;background:#fff;font-size:12px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.desktop-config-field strong.muted{color:#8c929d}.desktop-segmented{display:grid;grid-template-columns:1fr 1fr;height:32px;margin:0 0 8px;overflow:hidden;border:1px solid #e5e7eb;border-radius:8px;background:#f7f7f8}.desktop-segmented span,.desktop-segmented strong{display:flex;align-items:center;justify-content:center;color:#4b5563;font-size:12px;font-weight:600}.desktop-segmented strong{color:#1f2937;background:#c6c7c9;box-shadow:inset 0 1px 1px #ffffff47}.desktop-shot-section{margin:0;padding:10px 12px 8px}.desktop-two-fields{display:grid;grid-template-columns:1fr 1fr 24px;gap:8px;padding:0 12px;align-items:center}.desktop-two-fields i{color:#c5c9d0;font-size:12px;font-style:normal;text-align:center}.desktop-add-row{min-height:28px;margin:12px 12px 0;padding:5px 10px;border-radius:8px;color:#8a8f98;background:#f3f4f6;font-size:12px;text-align:center}.desktop-add-row:last-child{margin-bottom:8px}.desktop-save-row{display:flex;justify-content:flex-end;padding:8px 0 0}.desktop-save-row span{padding:6px 10px;border-radius:10px;color:#fff;background:#a7a9ad;font-size:12px;font-weight:650}.doc-check-grid{display:grid;grid-template-columns:minmax(420px,1fr) minmax(360px,1fr);gap:18px;align-items:start}.env-block{margin-top:12px}.token-result-panel{display:grid;gap:10px;padding:16px;border:1px solid #a7d98d;border-radius:8px;background:#f4ffec}.token-result-value{display:block;overflow-wrap:anywhere;word-break:break-all}.detail-list{display:grid;gap:10px}.detail-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:start;padding:8px 0;border-bottom:1px solid #eef2f6}.detail-row:last-child{border-bottom:0}.detail-value{min-width:0;overflow-wrap:anywhere}.service-hero,.management-panel{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px;border:1px solid #d9e0ea;border-radius:8px;background:#f8fafc}.service-hero .ant-typography{margin:0!important}.service-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;padding:4px 2px}.service-description{padding:12px 14px;border:1px solid #eef2f6;border-radius:8px;background:#fff}.service-description .ant-typography{margin-bottom:4px!important}.modal-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-section-title .ant-typography{margin:0!important}.credential-form{row-gap:10px}.gateway-token-input{width:320px}.full-width{width:100%}.login-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:radial-gradient(circle at 20% 18%,rgba(34,197,94,.14),transparent 28%),radial-gradient(circle at 82% 12%,rgba(59,130,246,.2),transparent 30%),var(--page-bg)}.login-card{width:min(100%,392px);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-soft)}.login-title{display:flex;align-items:center;gap:12px}.login-title h3{margin:0!important}.oauth-actions{width:100%}.menu-section-label{font-size:12px}.secret-help{display:block;margin-top:-8px;margin-bottom:16px}.selected-row td{background:#eef6ff!important}.wide-input{width:min(280px,100%)}.compact-input{width:112px}.role-select{width:150px}.small-select{width:112px}.subject-type-select{min-width:120px}.group-member-actions{display:flex;gap:8px;align-items:center}.audit-filter{width:min(220px,100%)}.filter-toolbar{display:flex;align-items:center;justify-content:space-between;padding:4px 0 12px}.table-card .ant-card-body{padding-top:10px!important}.detail-card .ant-tabs-nav{margin-bottom:14px}.detail-empty{min-height:168px;display:grid;place-items:center}.inline-form-card .ant-form-inline{row-gap:10px}.inline-alert{margin-top:12px}.form-actions{margin-top:16px}.ant-menu{border-inline-end:0!important}.ant-menu-light .ant-menu-item-selected,.ant-menu-light>.ant-menu .ant-menu-item-selected{font-weight:650}.ant-menu-item,.ant-menu-submenu-title,.ant-btn,.ant-select-selector,.ant-input,.ant-input-affix-wrapper,.ant-picker{transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,color .18s ease}.ant-btn,.ant-menu-item,.ant-menu-submenu-title,.ant-table-row{cursor:pointer}.ant-btn:focus-visible,.ant-menu-item:focus-visible,.ant-menu-submenu-title:focus-visible,.ant-select-selector:focus-visible,.ant-input:focus-visible,.ant-input-affix-wrapper:focus-visible,.ant-picker:focus-visible{outline:2px solid rgba(30,64,175,.45);outline-offset:2px}.ant-table-wrapper .ant-table{color:var(--text)}.ant-table-wrapper .ant-table-thead>tr>th{color:#344054;background:#f8fafc;font-size:12px;font-weight:700}.ant-table-wrapper .ant-table-tbody>tr:hover>td{background:#f0f7ff!important}.ant-card-head{border-bottom-color:var(--border-soft)!important}.ant-card-body{padding:16px!important}@media (max-width: 1200px){.doc-grid,.desktop-doc-layout,.doc-check-grid,.two-column{grid-template-columns:1fr}.desktop-config-shot{max-width:640px}}@media (max-width: 900px){.app-shell{display:block}.app-sider{position:relative;width:100%!important;max-width:none!important;min-width:0!important;height:auto;border-right:0;border-bottom:1px solid var(--border)}.brand{height:64px}.app-menu{position:static;max-height:42vh}.logout{position:static;width:calc(100% - 32px);margin:8px 16px 16px}.app-header{min-height:70px;padding:12px 18px}.app-content{padding:18px}.page-title{flex-direction:column;align-items:stretch}.filter-toolbar{align-items:stretch}.filter-toolbar .ant-space{width:100%}.filter-toolbar .ant-space-item,.filter-toolbar .ant-input,.filter-toolbar .ant-select,.filter-toolbar .ant-picker{max-width:100%}}@media (max-width: 640px){.app-header{align-items:flex-start;flex-direction:column;gap:10px}.user-pill{max-width:100%}.service-hero,.management-panel,.modal-section-title,.group-member-actions{flex-direction:column}.service-detail-grid,.desktop-two-fields{grid-template-columns:1fr}.detail-row{grid-template-columns:1fr;gap:4px}.gateway-token-input,.wide-input,.compact-input,.role-select,.small-select,.subject-type-select,.audit-filter{width:100%}}
